mirror of
https://github.com/penpot/penpot.git
synced 2026-09-30 15:56:17 +00:00
🌐 Clean up en translations (#11853)
Drop 277 keys nothing references from en.po (verified against frontend/src and common/src) and let sync propagate the deletions to every locale. Clear all 10 fuzzy entries: fill the 5 empty translations, keep the 4 valid ones, and drop the duplicated max-quote-reached in favor of max-quota-reached (the backend code stays, the UI maps it to the quota text). Recover 22 used-but-missing keys with translations: the 19 shortcuts section/subsection labels plus connected-to, pixel-grid-color and tokens.add-set. Make the rest statically visible to rehash instead: :label fns on shortcut commands, sections and subsections (one debug-only and one colorpicker-local id exempt); case branches in place of dm/str-built keys (export modal, text decoration and transform, undo history with raw-key fallback); hoist conditionals out of tr calls; pre-translate modal props and role labels; replace the lone (i18n/tr ...) site with tr. Turn static :error/code data into eager :error/fn calls in the common schemas and the auth/password forms. Rename the two keys containing spaces and point team leave at max-quota-reached. Backend-driven keys stay dynamic by design, declared with (tr ...) comments: the five weak-password details, team and organization notifications. Tooling: rehash also scans common/src and no longer treats a missing -l as no locale; new clj-kondo tr-dynamic warning flags non-literal tr args (lint scripts use --fail-level error so it never fails CI); tr docstring states the literal-only rule. Tests cover the shortcut label wiring, the undo-history fallback and the :error/fn schemas. Translations memory rewritten to match; es check word list gains three entries. Rebased onto develop: adopt the register field-error UX (the weak-password declarations move onto the :options code), keep develop's newer keys (connection-error, account-locked, save-retrying, tokens-source strings) with fresh references, and reword the shortcuts.cljs prose comment so rehash does not invent a "literal" key. AI-assisted-by: muse-spark-1.3-contributor
This commit is contained in:
parent
76b9c1c859
commit
4b978767ea
@ -22,6 +22,8 @@
|
|||||||
rumext.v2/defc hooks.export/rumext-defc
|
rumext.v2/defc hooks.export/rumext-defc
|
||||||
rumext.v2/lazy-component hooks.export/rumext-lazycomponent
|
rumext.v2/lazy-component hooks.export/rumext-lazycomponent
|
||||||
shadow.lazy/loadable hooks.export/rumext-lazycomponent
|
shadow.lazy/loadable hooks.export/rumext-lazycomponent
|
||||||
|
app.util.i18n/tr hooks.i18n/tr-dynamic
|
||||||
|
app.common.i18n/tr hooks.i18n/tr-dynamic
|
||||||
}}
|
}}
|
||||||
|
|
||||||
:output
|
:output
|
||||||
@ -45,6 +47,9 @@
|
|||||||
:potok/reify-type
|
:potok/reify-type
|
||||||
{:level :error}
|
{:level :error}
|
||||||
|
|
||||||
|
:penpot/tr-dynamic
|
||||||
|
{:level :warning}
|
||||||
|
|
||||||
:redundant-primitive-coercion
|
:redundant-primitive-coercion
|
||||||
{:level :off}
|
{:level :off}
|
||||||
|
|
||||||
|
|||||||
17
.clj-kondo/hooks/i18n.clj
Normal file
17
.clj-kondo/hooks/i18n.clj
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
(ns hooks.i18n
|
||||||
|
(:require [clj-kondo.hooks-api :as api]))
|
||||||
|
|
||||||
|
(defn tr-dynamic
|
||||||
|
[{:keys [:node]}]
|
||||||
|
(let [[_ code & _] (:children node)]
|
||||||
|
(when (and (some? code)
|
||||||
|
(not (api/string-node? code)))
|
||||||
|
(let [{:keys [:row :col :end-row :end-col]} (meta code)]
|
||||||
|
(api/reg-finding! {:message "dynamic key in (tr ...) is invisible to rehash; use a string literal or declare it with ;; (tr \"key\")"
|
||||||
|
:type :penpot/tr-dynamic
|
||||||
|
:row row
|
||||||
|
:col col
|
||||||
|
;; end positions are required for #_:clj-kondo/ignore to match
|
||||||
|
:end-row end-row
|
||||||
|
:end-col end-col}))))
|
||||||
|
{:node node})
|
||||||
@ -6,77 +6,52 @@ high-coverage support reference, never the base.
|
|||||||
|
|
||||||
## Workflow
|
## Workflow
|
||||||
|
|
||||||
- Canonicalize with `node ./scripts/translations.js sync -l <locale>`
|
- Canonicalize with `node ./scripts/translations.js sync -l <locale>` from `frontend/`: sorts entries, syncs `#:` comments from `en`, deletes keys missing in `en`.
|
||||||
from `frontend/`: sorts entries, syncs `#:` comments from `en`,
|
- `sync` copies ALL comment flags from `en`, including `#, fuzzy`. Translated entries must NOT stay fuzzy: strip the flag after translating (mirror `es.po`, which keeps fuzzy only on genuinely untranslated entries). Fuzzy entries are excluded from `msgfmt --statistics` translated counts.
|
||||||
deletes keys missing in `en`.
|
- Canonical files carry NO `#~` obsolete blocks (`en`/`es` have zero). Drop them; `sync` does not resurrect them.
|
||||||
- `sync` copies ALL comment flags from `en`, including `#, fuzzy`.
|
- Definition of done: `msgfmt --check <locale>.po` exit 0 and `msgfmt --statistics` shows 0 fuzzy, 0 untranslated.
|
||||||
Translated entries must NOT stay fuzzy: strip the flag after
|
- `rehash` scans `frontend/src` AND `common/src` for `(tr "key"` occurrences (any line counts, including `;;` comments) and refreshes `#:` refs in `en`, marking unreferenced keys `#, unused`.
|
||||||
translating (mirror `es.po`, which keeps fuzzy only on genuinely
|
- Dynamic keys are invisible to `rehash`: eliminate them instead of
|
||||||
untranslated entries). Fuzzy entries are excluded from
|
declaring them. Preference order: literal `(tr "key")` args only;
|
||||||
`msgfmt --statistics` translated counts.
|
never put a branch inside `tr`, hoist it out (`(if cond (tr "a") (tr "b"))`);
|
||||||
- Canonical files carry NO `#~` obsolete blocks (`en`/`es` have zero).
|
resolve code→message maps with `case` returning literal calls;
|
||||||
Drop them; `sync` does not resurrect them.
|
key-forwarding components take pre-translated strings (callers translate
|
||||||
- Definition of done: `msgfmt --check <locale>.po` exit 0 and
|
with literals). Only when no simple fix exists (open key sets sent by the
|
||||||
`msgfmt --statistics` shows 0 fuzzy, 0 untranslated.
|
backend, large data-driven matrices like `shortcuts.*`) declare each key
|
||||||
|
with a `;; (tr "the.key")` comment next to the call site (grouped under
|
||||||
|
`;; Execution time translation strings:`), otherwise the next `rehash`
|
||||||
|
flags them `unused`. The declaration convention is legacy fallback, not
|
||||||
|
the default: never introduce new declarations where a hoist or
|
||||||
|
pre-translation works, and remove existing ones when fixing the call
|
||||||
|
site. Same for `:error/code "key"` data: prefer `:error/fn #(tr "key")`. Any non-literal first arg to `tr` is reported by the `:penpot/tr-dynamic` clj-kondo warning (hook in `.clj-kondo/hooks/i18n.clj`, registered for `app.util.i18n/tr` and `app.common.i18n/tr`) and forbidden by the `tr` docstring: only `(tr "literal" ...)` is statically resolvable. Translation keys must not contain spaces (use `-` or `.`).
|
||||||
|
- Shortcut command/section/subsection labels (`shortcuts.*`, including `shortcuts.section.*` and `shortcuts.subsection.*`) resolve through `:label` fns holding static `(tr "literal")` calls, executed at render time: commands carry `:label` on their definitions in the `app.main.data.*.shortcuts` namespaces, sections/subsections in static registries in `app.main.ui.shortcuts` next to `translation-keyname` (id lookup with raw-key fallback for stale custom ids). When adding, renaming, or removing commands/sections/subsections, add/update/remove the `:label`/registry entry; `rehash` sees the literals with no comment needed, and the exhaustiveness test fails otherwise. Exempt, untranslated by design: debug `:preview-frame` and colorpicker `:delete-stop` (no PO keys).
|
||||||
|
|
||||||
## Entry rules
|
## Entry rules
|
||||||
|
|
||||||
|
- Keys resolved dynamically from server-provided data carry a `#, backend`
|
||||||
|
flag (set it in `en`, `sync` copies it to the locales): do not remove or
|
||||||
|
rename these entries, and keep their `%s` placeholders (the backend only
|
||||||
|
sends the key). The code side keeps a `;; (tr "key")` marker for `rehash`
|
||||||
|
plus a `#_{:clj-kondo/ignore [:penpot/tr-dynamic]}` on the call site.
|
||||||
- New entries take `#:` refs from `en`; copy `#, unused`, never `#, fuzzy`.
|
- New entries take `#:` refs from `en`; copy `#, unused`, never `#, fuzzy`.
|
||||||
- `en` keys with empty `msgstr` (or `#, fuzzy` + empty): translate from
|
- `en` keys with empty `msgstr` (or `#, fuzzy` + empty): translate from `es`/source context, never leave empty.
|
||||||
`es`/source context, never leave empty.
|
- Entries whose `en` uses `msgid_plural` need `msgstr[0]`/`msgstr[1]` (header: `nplurals=2; plural=n != 1`). Keep the `msgid_plural` line: a singular `msgstr` on a plural key silently breaks count selection at runtime (the app build reads 1-elem `msgstr` as singular).
|
||||||
- Entries whose `en` uses `msgid_plural` need `msgstr[0]`/`msgstr[1]`
|
- `sync` re-adds `#, fuzzy` on EVERY run for entries fuzzy in `en`; re-strip after the last sync, never before it.
|
||||||
(header: `nplurals=2; plural=n != 1`). Keep the `msgid_plural` line:
|
- Preserve verbatim: `%s`/`%d`, `{var}`/`{{...}}`, markdown `[text](%s)`, HTML tags, `\n` positions, brand names (Penpot), key names (Ctrl/Shift/Alt), technical terms (SVG, CSS, HSV, RGB).
|
||||||
a singular `msgstr` on a plural key silently breaks count selection
|
|
||||||
at runtime (the app build reads 1-elem `msgstr` as singular).
|
|
||||||
- `sync` re-adds `#, fuzzy` on EVERY run for entries fuzzy in `en`;
|
|
||||||
re-strip after the last sync, never before it.
|
|
||||||
- Preserve verbatim: `%s`/`%d`, `{var}`/`{{...}}`, markdown
|
|
||||||
`[text](%s)`, HTML tags, `\n` positions, brand names (Penpot),
|
|
||||||
key names (Ctrl/Shift/Alt), technical terms (SVG, CSS, HSV, RGB).
|
|
||||||
|
|
||||||
## Catalan (ca) conventions
|
## Catalan (ca) conventions
|
||||||
|
|
||||||
- Normative IEC/Termcat Catalan. Address the user in VOSALTRES
|
- Normative IEC/Termcat Catalan. Address the user in VOSALTRES (2nd person plural): "Deseu", "Creeu", "Ja teniu un compte?". Buttons/menus use short imperatives ("Crea", "Mou", "Restaura").
|
||||||
(2nd person plural): "Deseu", "Creeu", "Ja teniu un compte?".
|
- Established glossary (reuse exactly, do not re-coin): layer=capa, board=tauler, stroke=traç, fill=Emplenat, blur=Difuminat, shadow=Ombra, clipboard=porta-retalls, delete=Elimina, rename=Canvia el nom, shortcut=drecera, grid=graella (keep "grid" where the file already does, e.g. grid-layout editing), plugins/extensions UI=extensions, layout=Disposició, gradient=Degradat, wireframing kept as loanword.
|
||||||
Buttons/menus use short imperatives ("Crea", "Mou", "Restaura").
|
|
||||||
- Established glossary (reuse exactly, do not re-coin): layer=capa,
|
|
||||||
board=tauler, stroke=traç, fill=Emplenat, blur=Difuminat,
|
|
||||||
shadow=Ombra, clipboard=porta-retalls, delete=Elimina,
|
|
||||||
rename=Canvia el nom, shortcut=drecera, grid=graella (keep "grid"
|
|
||||||
where the file already does, e.g. grid-layout editing),
|
|
||||||
plugins/extensions UI=extensions, layout=Disposició,
|
|
||||||
gradient=Degradat, wireframing kept as loanword.
|
|
||||||
- Ela geminada uses the middle dot: Cancel·la, paral·lel, al·lega.
|
- Ela geminada uses the middle dot: Cancel·la, paral·lel, al·lega.
|
||||||
- ALL-CAPS source stays ALL-CAPS in Catalan; keep `$175`-style
|
- ALL-CAPS source stays ALL-CAPS in Catalan; keep `$175`-style amounts in IEC format (`175 $/mes`) only where `es` already adapts.
|
||||||
amounts in IEC format (`175 $/mes`) only where `es` already adapts.
|
- Shortcut/action names (`shortcuts.*`) are noun/infinitive labels, not sentences. Error strings are direct, no hedging.
|
||||||
- Shortcut/action names (`shortcuts.*`) are noun/infinitive labels,
|
- Same English source in different contexts may legitimately differ (verb "Copia" vs noun "Còpia"; "Desactivat" vs "Deshabilitada" agreeing with "drecera"). Normalize only true duplicates.
|
||||||
not sentences. Error strings are direct, no hedging.
|
|
||||||
- Same English source in different contexts may legitimately differ
|
|
||||||
(verb "Copia" vs noun "Còpia"; "Desactivat" vs "Deshabilitada"
|
|
||||||
agreeing with "drecera"). Normalize only true duplicates.
|
|
||||||
|
|
||||||
## QA before commit
|
## QA before commit
|
||||||
|
|
||||||
- Run `node ./scripts/translations.js check -l <locale>` from
|
- Run `node ./scripts/translations.js check -l <locale>` from `frontend/` (no default locale: pass `-l` explicitly): 0 errors required; review warnings by hand. Word lists live in `frontend/scripts/check-translations/words.<locale>.txt` (`[elision]` `[function]` `[common]` `[ok]` `[brands]`); new valid words that trip the gate go to `[ok]`; `check --self-test` covers the detector rules. Without a catalog only the universal checks run. `#, fuzzy` entries are skipped (known-pending, owned elsewhere).
|
||||||
`frontend/` (no default locale: pass `-l` explicitly): 0 errors
|
- Placeholder parity per entry (singular AND each plural form, also enforced by the script); verify `%s` against the `tr` call site when `en`/`es`/code disagree (a `%s` the code never passes renders literally; a dropped one swallows the argument). On `#, unused` keys the script only warns: never "fix" them by deleting placeholders or links, a reactivation may need them.
|
||||||
required; review warnings by hand. Word lists live in
|
- Glued words (AI batches drop spaces at wrap boundaries): the script flags function-word splits (`del'equip`, `lapolítica`, `sinecessiteu`), `,/.`/`:` without following space, lowercase+Uppercase joins (`delPenpot`, `oCapitalize`) and `%s` glued to a word.
|
||||||
`frontend/scripts/check-translations/words.<locale>.txt`
|
- Balanced `[]`/`()` in markdown links; no double spaces; no glued words around `·`; trailing spaces match the source.
|
||||||
(`[elision]` `[function]` `[common]` `[ok]` `[brands]`); new valid
|
|
||||||
words that trip the gate go to `[ok]`; `check --self-test`
|
|
||||||
covers the detector rules. Without a catalog only the universal
|
|
||||||
checks run. `#, fuzzy` entries are skipped (known-pending,
|
|
||||||
owned elsewhere).
|
|
||||||
- Placeholder parity per entry (singular AND each plural form,
|
|
||||||
also enforced by the script); verify `%s` against the `tr` call
|
|
||||||
site when `en`/`es`/code disagree (a `%s` the code never passes
|
|
||||||
renders literally; a dropped one swallows the argument). On
|
|
||||||
`#, unused` keys the script only warns: never "fix" them by
|
|
||||||
deleting placeholders or links, a reactivation may need them.
|
|
||||||
- Glued words (AI batches drop spaces at wrap boundaries): the
|
|
||||||
script flags function-word splits (`del'equip`, `lapolítica`,
|
|
||||||
`sinecessiteu`), `,/.`/`:` without following space,
|
|
||||||
lowercase+Uppercase joins (`delPenpot`, `oCapitalize`) and `%s`
|
|
||||||
glued to a word.
|
|
||||||
- Balanced `[]`/`()` in markdown links; no double spaces; no glued
|
|
||||||
words around `·`; trailing spaces match the source.
|
|
||||||
- `git diff --stat` must touch only `frontend/translations/<locale>.po`.
|
- `git diff --stat` must touch only `frontend/translations/<locale>.po`.
|
||||||
|
|||||||
@ -20,7 +20,7 @@
|
|||||||
"ws": "^8.21.1"
|
"ws": "^8.21.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint:clj": "clj-kondo --config-dir ../.clj-kondo --lint ../common/src src/",
|
"lint:clj": "clj-kondo --fail-level error --config-dir ../.clj-kondo --lint ../common/src src/",
|
||||||
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
||||||
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
||||||
"test:e2e": "node --test --test-concurrency=1 test/e2e/*.test.mjs"
|
"test:e2e": "node --test --test-concurrency=1 test/e2e/*.test.mjs"
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
"date-fns": "^4.4.0"
|
"date-fns": "^4.4.0"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"lint:clj": "clj-kondo --config-dir ../.clj-kondo --lint src/",
|
"lint:clj": "clj-kondo --fail-level error --config-dir ../.clj-kondo --lint src/",
|
||||||
"lint:js": "exit 0",
|
"lint:js": "exit 0",
|
||||||
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
||||||
"check-fmt:js": "prettier -c src/**/*.js",
|
"check-fmt:js": "prettier -c src/**/*.js",
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
#?(:clj [malli.dev.pretty :as mdp])
|
#?(:clj [malli.dev.pretty :as mdp])
|
||||||
#?(:clj [malli.dev.virhe :as v])
|
#?(:clj [malli.dev.virhe :as v])
|
||||||
[app.common.data :as d]
|
[app.common.data :as d]
|
||||||
|
[app.common.i18n :as i18n :refer [tr]]
|
||||||
[app.common.json :as json]
|
[app.common.json :as json]
|
||||||
[app.common.math :as mth]
|
[app.common.math :as mth]
|
||||||
[app.common.pprint :as pp]
|
[app.common.pprint :as pp]
|
||||||
@ -493,7 +494,7 @@
|
|||||||
:type-properties
|
:type-properties
|
||||||
{:title "email"
|
{:title "email"
|
||||||
:description "string with valid email address"
|
:description "string with valid email address"
|
||||||
:error/code "errors.invalid-email"
|
:error/fn #(tr "errors.invalid-email")
|
||||||
:gen/gen (sg/email)
|
:gen/gen (sg/email)
|
||||||
:decode/string (fn [v] (or (parse-email v) v))
|
:decode/string (fn [v] (or (parse-email v) v))
|
||||||
:decode/json (fn [v] (or (parse-email v) v))
|
:decode/json (fn [v] (or (parse-email v) v))
|
||||||
@ -1059,23 +1060,23 @@
|
|||||||
(and (string? value)
|
(and (string? value)
|
||||||
(number? max)
|
(number? max)
|
||||||
(> (count value) max))
|
(> (count value) max))
|
||||||
{:code ["errors.field-max-length" max]}
|
(tr "errors.field-max-length" (i18n/c max))
|
||||||
|
|
||||||
(and (string? value)
|
(and (string? value)
|
||||||
(number? min)
|
(number? min)
|
||||||
(< (count value) min))
|
(< (count value) min))
|
||||||
{:code ["errors.field-min-length" min]}
|
(tr "errors.field-min-length" (i18n/c min))
|
||||||
|
|
||||||
(and (string? value)
|
(and (string? value)
|
||||||
(str/empty? value))
|
(str/empty? value))
|
||||||
{:code "errors.field-missing"}
|
(tr "errors.field-missing")
|
||||||
|
|
||||||
(and (string? value)
|
(and (string? value)
|
||||||
(str/blank? value))
|
(str/blank? value))
|
||||||
{:code "errors.field-not-all-whitespace"}
|
(tr "errors.field-not-all-whitespace")
|
||||||
|
|
||||||
:else
|
:else
|
||||||
{:code "errors.invalid-text"})))}})
|
(tr "errors.invalid-text"))))}})
|
||||||
|
|
||||||
(register!
|
(register!
|
||||||
{:type ::password
|
{:type ::password
|
||||||
@ -1088,7 +1089,7 @@
|
|||||||
{:title "password"
|
{:title "password"
|
||||||
:gen/gen (->> (sg/word-string)
|
:gen/gen (->> (sg/word-string)
|
||||||
(sg/filter #(>= (count %) 8)))
|
(sg/filter #(>= (count %) 8)))
|
||||||
:error/code "errors.password-too-short"
|
:error/fn #(tr "errors.password-too-short")
|
||||||
::oapi/type "string"
|
::oapi/type "string"
|
||||||
::oapi/format "password"}})
|
::oapi/format "password"}})
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,8 @@
|
|||||||
|
|
||||||
(defn- translate-code
|
(defn- translate-code
|
||||||
[code]
|
[code]
|
||||||
|
;; validation codes are dynamic by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(if (vector? code)
|
(if (vector? code)
|
||||||
(tr (nth code 0) (i18n/c (nth code 1)))
|
(tr (nth code 0) (i18n/c (nth code 1)))
|
||||||
(tr code)))
|
(tr code)))
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
(ns app.common.types.team
|
(ns app.common.types.team
|
||||||
(:require
|
(:require
|
||||||
|
[app.common.i18n :refer [tr]]
|
||||||
[app.common.schema :as sm]))
|
[app.common.schema :as sm]))
|
||||||
|
|
||||||
(def valid-roles
|
(def valid-roles
|
||||||
@ -23,7 +24,7 @@
|
|||||||
(def schema:team-name
|
(def schema:team-name
|
||||||
[:and
|
[:and
|
||||||
[::sm/text {:max 250}]
|
[::sm/text {:max 250}]
|
||||||
[:fn {:error/code "errors.team-name-invalid-chars"}
|
[:fn {:error/fn #(tr "errors.team-name-invalid-chars")}
|
||||||
(fn [s] (not (re-find #"[.:/]" s)))]])
|
(fn [s] (not (re-find #"[.:/]" s)))]])
|
||||||
|
|
||||||
;; FIXME: specify more fields
|
;; FIXME: specify more fields
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
"build": "pnpm run clear:shadow-cache && pnpm run build:app",
|
"build": "pnpm run clear:shadow-cache && pnpm run build:app",
|
||||||
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
||||||
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
"check-fmt:clj": "cljfmt check --parallel=true src/ test/",
|
||||||
"lint:clj": "clj-kondo --parallel --lint src/ test/",
|
"lint:clj": "clj-kondo --fail-level error --parallel --lint src/ test/",
|
||||||
"build:test": "clojure -M:dev:shadow-cljs compile test",
|
"build:test": "clojure -M:dev:shadow-cljs compile test",
|
||||||
"test": "pnpm run build:test && PENPOT_SECRET_KEY=${PENPOT_SECRET_KEY:-test-secret-key} node target/tests/test.js",
|
"test": "pnpm run build:test && PENPOT_SECRET_KEY=${PENPOT_SECRET_KEY:-test-secret-key} node target/tests/test.js",
|
||||||
"test:quiet": "node ./scripts/test-quiet.js"
|
"test:quiet": "node ./scripts/test-quiet.js"
|
||||||
|
|||||||
@ -30,7 +30,7 @@
|
|||||||
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
"fmt:clj": "cljfmt fix --parallel=true src/ test/",
|
||||||
"fmt:js": "prettier -c src/**/*.stories.jsx -c playwright/**/*.js -c scripts/**/*.js -c text-editor/**/*.js -w",
|
"fmt:js": "prettier -c src/**/*.stories.jsx -c playwright/**/*.js -c scripts/**/*.js -c text-editor/**/*.js -w",
|
||||||
"fmt:scss": "prettier -c resources/styles -c src/**/*.scss -w",
|
"fmt:scss": "prettier -c resources/styles -c src/**/*.scss -w",
|
||||||
"lint:clj": "clj-kondo --config-dir ../.clj-kondo --lint ../common/src src/",
|
"lint:clj": "clj-kondo --fail-level error --config-dir ../.clj-kondo --lint ../common/src src/",
|
||||||
"lint:js": "exit 0",
|
"lint:js": "exit 0",
|
||||||
"lint:scss": "pnpm exec stylelint '{src,resources}/**/*.scss'",
|
"lint:scss": "pnpm exec stylelint '{src,resources}/**/*.scss'",
|
||||||
"build:test": "pnpm run build:wasm && clojure -M:dev:shadow-cljs compile test",
|
"build:test": "pnpm run build:wasm && clojure -M:dev:shadow-cljs compile test",
|
||||||
|
|||||||
@ -230,6 +230,7 @@ ayudarnos
|
|||||||
ayudarte
|
ayudarte
|
||||||
borradores
|
borradores
|
||||||
borrarlo
|
borrarlo
|
||||||
|
bloquearla
|
||||||
cambiada
|
cambiada
|
||||||
caracteres
|
caracteres
|
||||||
como
|
como
|
||||||
@ -251,11 +252,13 @@ contexto
|
|||||||
danos
|
danos
|
||||||
demás
|
demás
|
||||||
desactivarlos
|
desactivarlos
|
||||||
|
desbloquearla
|
||||||
deseleccionar
|
deseleccionar
|
||||||
desuscripción
|
desuscripción
|
||||||
durante
|
durante
|
||||||
editores
|
editores
|
||||||
eje
|
eje
|
||||||
|
eliminarla
|
||||||
eliminarlo
|
eliminarlo
|
||||||
eliminarlos
|
eliminarlos
|
||||||
ella
|
ella
|
||||||
|
|||||||
@ -60,7 +60,12 @@ async function* scanLocales() {
|
|||||||
async function processLocale(options, f) {
|
async function processLocale(options, f) {
|
||||||
let locales = options.locale;
|
let locales = options.locale;
|
||||||
if (typeof locales === "string") {
|
if (typeof locales === "string") {
|
||||||
locales = locales.split(/,/);
|
// getopts yields "" (not undefined) when -l is absent: an empty
|
||||||
|
// list must mean "all locales", never "no locale".
|
||||||
|
locales = locales.split(/,/).filter((s) => s !== "");
|
||||||
|
if (locales.length === 0) {
|
||||||
|
locales = undefined;
|
||||||
|
}
|
||||||
} else if (Array.isArray(locales)) {
|
} else if (Array.isArray(locales)) {
|
||||||
} else if (locales === undefined) {
|
} else if (locales === undefined) {
|
||||||
} else {
|
} else {
|
||||||
@ -185,20 +190,24 @@ async function rehash(options, ...other) {
|
|||||||
const used = await (async function () {
|
const used = await (async function () {
|
||||||
const result = {};
|
const result = {};
|
||||||
|
|
||||||
for await (const f of getFiles("src")) {
|
// Both frontend and shared sources: common holds schemas and
|
||||||
if (!fileRe.test(f)) continue;
|
// helpers whose translation keys must stay alive as well.
|
||||||
|
for (const dir of ["src", "../common/src"]) {
|
||||||
|
for await (const f of getFiles(dir)) {
|
||||||
|
if (!fileRe.test(f)) continue;
|
||||||
|
|
||||||
for await (const [n, line] of readLines(f)) {
|
for await (const [n, line] of readLines(f)) {
|
||||||
const strings = getTranslationStrings(line);
|
const strings = getTranslationStrings(line);
|
||||||
|
|
||||||
strings.forEach((key) => {
|
strings.forEach((key) => {
|
||||||
const entry = `${f}:${n}`;
|
const entry = `${f}:${n}`;
|
||||||
if (result[key] !== undefined) {
|
if (result[key] !== undefined) {
|
||||||
result[key].push(entry);
|
result[key].push(entry);
|
||||||
} else {
|
} else {
|
||||||
result[key] = [entry];
|
result[key] = [entry];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -720,7 +729,7 @@ Available subcommands (run from \`frontend/\`):
|
|||||||
const COMMANDS = {
|
const COMMANDS = {
|
||||||
rehash: {
|
rehash: {
|
||||||
args: "",
|
args: "",
|
||||||
help: 'Scan ./src for (tr "key") usages and update en.po references.',
|
help: 'Scan ./src and ../common/src for (tr "key") usages and update en.po references.',
|
||||||
run: (options, params) => rehash(options, ...params),
|
run: (options, params) => rehash(options, ...params),
|
||||||
},
|
},
|
||||||
sync: {
|
sync: {
|
||||||
|
|||||||
@ -247,7 +247,10 @@
|
|||||||
|
|
||||||
(defn handle-change-team-organization
|
(defn handle-change-team-organization
|
||||||
"Handle :team-organization-change websocket messages on dashboard and workspace.
|
"Handle :team-organization-change websocket messages on dashboard and workspace.
|
||||||
Updates local team organization data and redirects to SSO when required."
|
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."
|
||||||
[{:keys [team notification]}]
|
[{:keys [team notification]}]
|
||||||
(ptk/reify ::handle-change-team-organization
|
(ptk/reify ::handle-change-team-organization
|
||||||
ptk/WatchEvent
|
ptk/WatchEvent
|
||||||
@ -259,6 +262,11 @@
|
|||||||
current-team?)
|
current-team?)
|
||||||
(rx/concat
|
(rx/concat
|
||||||
(when notification
|
(when notification
|
||||||
|
;; Execution time translation strings (keys sent by the backend):
|
||||||
|
;; (tr "dashboard.team-belong-organization")
|
||||||
|
;; (tr "dashboard.team-no-longer-belong-organization")
|
||||||
|
;; notification is a server-provided key, dynamic by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(rx/of (ntf/show {:content (tr notification (:name organization))
|
(rx/of (ntf/show {:content (tr notification (:name organization))
|
||||||
:type :toast
|
:type :toast
|
||||||
:level :info
|
:level :info
|
||||||
|
|||||||
@ -655,6 +655,11 @@
|
|||||||
(modal/hide)))))
|
(modal/hide)))))
|
||||||
|
|
||||||
(defn- handle-user-organization-change
|
(defn- handle-user-organization-change
|
||||||
|
"Handle :user-organization-change websocket messages.
|
||||||
|
`organization-id`, `organization-name` and `notification` come from the
|
||||||
|
server-published message (see backend app.rpc.notifications/
|
||||||
|
notify-user-organization-change); `notification` is a translation key
|
||||||
|
resolved here, dynamic by design."
|
||||||
[{:keys [organization-id organization-name notification]}]
|
[{:keys [organization-id organization-name notification]}]
|
||||||
(ptk/reify ::handle-user-organization-change
|
(ptk/reify ::handle-user-organization-change
|
||||||
ptk/WatchEvent
|
ptk/WatchEvent
|
||||||
@ -662,6 +667,10 @@
|
|||||||
(when (and notification (contains? cf/flags :admin-console))
|
(when (and notification (contains? cf/flags :admin-console))
|
||||||
(let [team-id (:current-team-id state)
|
(let [team-id (:current-team-id state)
|
||||||
team (dm/get-in state [:teams team-id])]
|
team (dm/get-in state [:teams team-id])]
|
||||||
|
;; Execution time translation strings (keys sent by the backend):
|
||||||
|
;; (tr "dashboard.user-no-longer-belong-organization")
|
||||||
|
;; notification is a server-provided key, dynamic by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(rx/of (ntf/show {:content (tr notification organization-name)
|
(rx/of (ntf/show {:content (tr notification organization-name)
|
||||||
:type :toast
|
:type :toast
|
||||||
:level :info
|
:level :info
|
||||||
|
|||||||
@ -11,11 +11,13 @@
|
|||||||
[app.main.data.event :as ev]
|
[app.main.data.event :as ev]
|
||||||
[app.main.data.profile :as du]
|
[app.main.data.profile :as du]
|
||||||
[app.main.data.shortcuts :as ds]
|
[app.main.data.shortcuts :as ds]
|
||||||
[app.main.store :as st]))
|
[app.main.store :as st]
|
||||||
|
[app.util.i18n :refer [tr]]))
|
||||||
|
|
||||||
;; Shortcuts definitions
|
;; Shortcuts definitions
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
{:toggle-theme {:tooltip (ds/alt "M")
|
{:toggle-theme {:tooltip (ds/alt "M")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-theme"))
|
||||||
:command (ds/a-mod "m")
|
:command (ds/a-mod "m")
|
||||||
:section [:dashboard]
|
:section [:dashboard]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
@ -24,12 +26,14 @@
|
|||||||
|
|
||||||
(def shortcuts-sidebar-navigation
|
(def shortcuts-sidebar-navigation
|
||||||
{:go-to-drafts {:tooltip "G D"
|
{:go-to-drafts {:tooltip "G D"
|
||||||
|
:label (fn [] (tr "shortcuts.go-to-drafts"))
|
||||||
:command "g d"
|
:command "g d"
|
||||||
:section [:dashboard]
|
:section [:dashboard]
|
||||||
:subsections [:navigation-dashboard]
|
:subsections [:navigation-dashboard]
|
||||||
:fn #(st/emit! (dcm/go-to-dashboard-files :project-id :default))}
|
:fn #(st/emit! (dcm/go-to-dashboard-files :project-id :default))}
|
||||||
|
|
||||||
:go-to-libs {:tooltip "G L"
|
:go-to-libs {:tooltip "G L"
|
||||||
|
:label (fn [] (tr "shortcuts.go-to-libs"))
|
||||||
:command "g l"
|
:command "g l"
|
||||||
:section [:dashboard]
|
:section [:dashboard]
|
||||||
:subsections [:navigation-dashboard]
|
:subsections [:navigation-dashboard]
|
||||||
@ -37,6 +41,7 @@
|
|||||||
|
|
||||||
(def shortcut-search
|
(def shortcut-search
|
||||||
{:go-to-search {:tooltip (ds/meta "F")
|
{:go-to-search {:tooltip (ds/meta "F")
|
||||||
|
:label (fn [] (tr "shortcuts.go-to-search"))
|
||||||
:command (ds/c-mod "f")
|
:command (ds/c-mod "f")
|
||||||
:section [:dashboard]
|
:section [:dashboard]
|
||||||
:subsections [:navigation-dashboard]
|
:subsections [:navigation-dashboard]
|
||||||
@ -44,6 +49,7 @@
|
|||||||
|
|
||||||
(def shortcut-create-new-project
|
(def shortcut-create-new-project
|
||||||
{:create-new-project {:tooltip "+"
|
{:create-new-project {:tooltip "+"
|
||||||
|
:label (fn [] (tr "shortcuts.create-new-project"))
|
||||||
:command "+"
|
:command "+"
|
||||||
:section [:dashboard]
|
:section [:dashboard]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
|
|||||||
@ -185,31 +185,34 @@
|
|||||||
(remove :is-default)
|
(remove :is-default)
|
||||||
(remove #(dm/get-in % [:permissions :is-owner])))})
|
(remove #(dm/get-in % [:permissions :is-owner])))})
|
||||||
|
|
||||||
(def ^:private team-leave-error-messages
|
(defn- team-leave-message
|
||||||
{:only-owner-can-delete-team "errors.team-leave.only-owner-can-delete"
|
[code]
|
||||||
:no-enough-members-for-leave "errors.team-leave.insufficient-members"
|
(case code
|
||||||
:member-does-not-exist "errors.team-leave.member-does-not-exists"
|
:only-owner-can-delete-team (tr "errors.team-leave.only-owner-can-delete")
|
||||||
:owner-cant-leave-team "errors.team-leave.owner-cant-leave"})
|
:no-enough-members-for-leave (tr "errors.team-leave.insufficient-members")
|
||||||
|
:member-does-not-exist (tr "errors.team-leave.member-does-not-exists")
|
||||||
|
:owner-cant-leave-team (tr "errors.team-leave.owner-cant-leave")
|
||||||
|
nil))
|
||||||
|
|
||||||
(defn team-leave-on-error
|
(defn team-leave-on-error
|
||||||
[error]
|
[error]
|
||||||
(let [code (-> error ex-data :code)]
|
(let [code (-> error ex-data :code)]
|
||||||
(if-let [tr-key (get team-leave-error-messages code)]
|
(if-let [message (team-leave-message code)]
|
||||||
(rx/of (ntf/error (tr tr-key)))
|
(rx/of (ntf/error message))
|
||||||
(rx/throw error))))
|
(rx/throw error))))
|
||||||
|
|
||||||
(def ^:private organization-leave-error-messages
|
|
||||||
(merge team-leave-error-messages
|
|
||||||
{:not-valid-teams "errors.organization-leave.no-valid-teams"
|
|
||||||
:organization-owner-cannot-leave "errors.organization-leave.organization-owner-cannot-leave"}))
|
|
||||||
|
|
||||||
(defn org-leave-on-error
|
(defn org-leave-on-error
|
||||||
[error]
|
[error]
|
||||||
(let [code (-> error ex-data :code)]
|
(let [code (-> error ex-data :code)
|
||||||
(if-let [tr-key (get organization-leave-error-messages code)]
|
message (or (team-leave-message code)
|
||||||
|
(case code
|
||||||
|
:not-valid-teams (tr "errors.organization-leave.no-valid-teams")
|
||||||
|
:organization-owner-cannot-leave (tr "errors.organization-leave.organization-owner-cannot-leave")
|
||||||
|
nil))]
|
||||||
|
(if (some? message)
|
||||||
(rx/of (dt/fetch-teams)
|
(rx/of (dt/fetch-teams)
|
||||||
(modal/hide)
|
(modal/hide)
|
||||||
(ntf/error (tr tr-key)))
|
(ntf/error message))
|
||||||
(rx/throw error))))
|
(rx/throw error))))
|
||||||
|
|
||||||
(defn leave-organization
|
(defn leave-organization
|
||||||
@ -501,18 +504,18 @@
|
|||||||
(fn [organizations-allowed]
|
(fn [organizations-allowed]
|
||||||
(let [has-filtered? (< (count organizations) (count all-organizations))
|
(let [has-filtered? (< (count organizations) (count all-organizations))
|
||||||
extra-props (when has-filtered?
|
extra-props (when has-filtered?
|
||||||
{:info-message-key "dashboard.select-organization-modal.permission-info-add"})]
|
{:info-message (tr "dashboard.select-organization-modal.permission-info-add")})]
|
||||||
(modal/show :select-organization-modal
|
(modal/show :select-organization-modal
|
||||||
(merge {:organizations organizations
|
(merge {:organizations organizations
|
||||||
:organizations-allowed organizations-allowed
|
:organizations-allowed organizations-allowed
|
||||||
:current-organization current-organization
|
:current-organization current-organization
|
||||||
:on-confirm on-confirm
|
:on-confirm on-confirm
|
||||||
:team-id team-id
|
:team-id team-id
|
||||||
:title-key "dashboard.select-organization-modal.title"
|
:title (tr "dashboard.select-organization-modal.title")
|
||||||
:choose-key "dashboard.select-organization-modal.choose"
|
:choose (tr "dashboard.select-organization-modal.choose")
|
||||||
:placeholder-key "dashboard.select-organization-modal.select"
|
:placeholder (tr "dashboard.select-organization-modal.select")
|
||||||
:accept-key "dashboard.select-organization-modal.accept"
|
:accept (tr "dashboard.select-organization-modal.accept")
|
||||||
:cancel-key "labels.cancel"}
|
:cancel (tr "labels.cancel")}
|
||||||
extra-props))))]
|
extra-props))))]
|
||||||
(if (empty? organizations)
|
(if (empty? organizations)
|
||||||
(rx/of (dt/teams-fetched teams)
|
(rx/of (dt/teams-fetched teams)
|
||||||
@ -577,7 +580,7 @@
|
|||||||
(let [valid-organizations (filterv #(true? (get organizations-allowed (:id %))) selectable-organizations)
|
(let [valid-organizations (filterv #(true? (get organizations-allowed (:id %))) selectable-organizations)
|
||||||
has-filtered? (< (count organizations) (count all-organizations))
|
has-filtered? (< (count organizations) (count all-organizations))
|
||||||
extra-props (when has-filtered?
|
extra-props (when has-filtered?
|
||||||
{:info-message-key "dashboard.select-organization-modal.permission-info"})]
|
{:info-message (tr "dashboard.select-organization-modal.permission-info")})]
|
||||||
(rx/of
|
(rx/of
|
||||||
(dt/teams-fetched teams)
|
(dt/teams-fetched teams)
|
||||||
(if (empty? valid-organizations)
|
(if (empty? valid-organizations)
|
||||||
@ -592,10 +595,10 @@
|
|||||||
:current-organization source-organization
|
:current-organization source-organization
|
||||||
:on-confirm on-confirm
|
:on-confirm on-confirm
|
||||||
:team-id team-id
|
:team-id team-id
|
||||||
:title-key "dashboard.change-organization-modal.title"
|
:title (tr "dashboard.change-organization-modal.title")
|
||||||
:description-key "dashboard.change-organization-modal.description"
|
:description (tr "dashboard.change-organization-modal.description")
|
||||||
:choose-key "dashboard.change-organization-modal.choose"
|
:choose (tr "dashboard.change-organization-modal.choose")
|
||||||
:placeholder-key "dashboard.change-organization-modal.select"
|
:placeholder (tr "dashboard.change-organization-modal.select")
|
||||||
:accept-key "dashboard.change-organization-modal.accept"
|
:accept (tr "dashboard.change-organization-modal.accept")
|
||||||
:cancel-key "labels.cancel"}
|
:cancel (tr "labels.cancel")}
|
||||||
extra-props)))))))))))))))))
|
extra-props)))))))))))))))))
|
||||||
|
|||||||
@ -11,16 +11,19 @@
|
|||||||
[app.main.data.profile :as du]
|
[app.main.data.profile :as du]
|
||||||
[app.main.data.shortcuts :as ds]
|
[app.main.data.shortcuts :as ds]
|
||||||
[app.main.data.viewer :as dv]
|
[app.main.data.viewer :as dv]
|
||||||
[app.main.store :as st]))
|
[app.main.store :as st]
|
||||||
|
[app.util.i18n :refer [tr]]))
|
||||||
|
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
{:increase-zoom {:tooltip "+"
|
{:increase-zoom {:tooltip "+"
|
||||||
|
:label (fn [] (tr "shortcuts.increase-zoom"))
|
||||||
:command "+"
|
:command "+"
|
||||||
:subsections [:zoom-viewer]
|
:subsections [:zoom-viewer]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! dv/increase-zoom)}
|
:fn #(st/emit! dv/increase-zoom)}
|
||||||
|
|
||||||
:toggle-theme {:tooltip (ds/alt "M")
|
:toggle-theme {:tooltip (ds/alt "M")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-theme"))
|
||||||
:command (ds/a-mod "m")
|
:command (ds/a-mod "m")
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
@ -28,66 +31,77 @@
|
|||||||
{::ev/origin "viewer:shortcuts"}))}
|
{::ev/origin "viewer:shortcuts"}))}
|
||||||
|
|
||||||
:decrease-zoom {:tooltip "-"
|
:decrease-zoom {:tooltip "-"
|
||||||
|
:label (fn [] (tr "shortcuts.decrease-zoom"))
|
||||||
:command "-"
|
:command "-"
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:zoom-viewer]
|
:subsections [:zoom-viewer]
|
||||||
:fn #(st/emit! dv/decrease-zoom)}
|
:fn #(st/emit! dv/decrease-zoom)}
|
||||||
|
|
||||||
:select-all {:tooltip (ds/meta "A")
|
:select-all {:tooltip (ds/meta "A")
|
||||||
|
:label (fn [] (tr "shortcuts.select-all"))
|
||||||
:command (ds/c-mod "a")
|
:command (ds/c-mod "a")
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
:fn #(st/emit! (dv/select-all))}
|
:fn #(st/emit! (dv/select-all))}
|
||||||
|
|
||||||
:reset-zoom {:tooltip (ds/shift "0")
|
:reset-zoom {:tooltip (ds/shift "0")
|
||||||
|
:label (fn [] (tr "shortcuts.reset-zoom"))
|
||||||
:command "shift+0"
|
:command "shift+0"
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:zoom-viewer]
|
:subsections [:zoom-viewer]
|
||||||
:fn #(st/emit! dv/reset-zoom)}
|
:fn #(st/emit! dv/reset-zoom)}
|
||||||
|
|
||||||
:toggle-zoom-style {:tooltip "F"
|
:toggle-zoom-style {:tooltip "F"
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-zoom-style"))
|
||||||
:command "f"
|
:command "f"
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:zoom-viewer]
|
:subsections [:zoom-viewer]
|
||||||
:fn #(st/emit! dv/toggle-zoom-style)}
|
:fn #(st/emit! dv/toggle-zoom-style)}
|
||||||
|
|
||||||
:toggle-fullscreen {:tooltip (ds/shift "F")
|
:toggle-fullscreen {:tooltip (ds/shift "F")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-fullscreen"))
|
||||||
:command ["shift+f" "alt+enter"]
|
:command ["shift+f" "alt+enter"]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:subsections [:zoom-viewer]
|
:subsections [:zoom-viewer]
|
||||||
:fn #(st/emit! dv/toggle-fullscreen)}
|
:fn #(st/emit! dv/toggle-fullscreen)}
|
||||||
|
|
||||||
:prev-frame {:tooltip ds/left-arrow
|
:prev-frame {:tooltip ds/left-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.prev-frame"))
|
||||||
:command ["left" "up" "shift+enter" "pageup" "shift+space"]
|
:command ["left" "up" "shift+enter" "pageup" "shift+space"]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! dv/select-prev-frame)}
|
:fn #(st/emit! dv/select-prev-frame)}
|
||||||
|
|
||||||
:next-frame {:tooltip ds/right-arrow
|
:next-frame {:tooltip ds/right-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.next-frame"))
|
||||||
:command ["right" "down" "enter" "pagedown" "space"]
|
:command ["right" "down" "enter" "pagedown" "space"]
|
||||||
:subsections [:generic]
|
:subsections [:generic]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! dv/select-next-frame)}
|
:fn #(st/emit! dv/select-next-frame)}
|
||||||
|
|
||||||
:open-inspect {:tooltip "G I"
|
:open-inspect {:tooltip "G I"
|
||||||
|
:label (fn [] (tr "shortcuts.open-inspect"))
|
||||||
:command "g i"
|
:command "g i"
|
||||||
:subsections [:navigation-viewer]
|
:subsections [:navigation-viewer]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! (dv/go-to-section :inspect))}
|
:fn #(st/emit! (dv/go-to-section :inspect))}
|
||||||
|
|
||||||
:open-comments {:tooltip "G C"
|
:open-comments {:tooltip "G C"
|
||||||
|
:label (fn [] (tr "shortcuts.open-comments"))
|
||||||
:command "g c"
|
:command "g c"
|
||||||
:subsections [:navigation-viewer]
|
:subsections [:navigation-viewer]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! (dv/go-to-section :comments))}
|
:fn #(st/emit! (dv/go-to-section :comments))}
|
||||||
|
|
||||||
:open-interactions {:tooltip "G V"
|
:open-interactions {:tooltip "G V"
|
||||||
|
:label (fn [] (tr "shortcuts.open-interactions"))
|
||||||
:command "g v"
|
:command "g v"
|
||||||
:subsections [:navigation-viewer]
|
:subsections [:navigation-viewer]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
:fn #(st/emit! (dv/go-to-section :interactions))}
|
:fn #(st/emit! (dv/go-to-section :interactions))}
|
||||||
|
|
||||||
:open-workspace {:tooltip "G W"
|
:open-workspace {:tooltip "G W"
|
||||||
|
:label (fn [] (tr "shortcuts.open-workspace"))
|
||||||
:command "g w"
|
:command "g w"
|
||||||
:subsections [:navigation-viewer]
|
:subsections [:navigation-viewer]
|
||||||
:section [:viewer]
|
:section [:viewer]
|
||||||
|
|||||||
@ -45,9 +45,9 @@
|
|||||||
(let [visible? (contains? (:workspace-layout state) :display-comments)]
|
(let [visible? (contains? (:workspace-layout state) :display-comments)]
|
||||||
(rx/of (vary-meta (dwlo/toggle-layout-flag :display-comments)
|
(rx/of (vary-meta (dwlo/toggle-layout-flag :display-comments)
|
||||||
assoc ::ev/origin (or origin "workspace"))
|
assoc ::ev/origin (or origin "workspace"))
|
||||||
(ntf/success (tr (if visible?
|
(ntf/success (if visible?
|
||||||
"workspace.toast.comments-hidden"
|
(tr "workspace.toast.comments-hidden")
|
||||||
"workspace.toast.comments-visible"))))))))
|
(tr "workspace.toast.comments-visible"))))))))
|
||||||
|
|
||||||
(defn initialize-comments
|
(defn initialize-comments
|
||||||
[file-id]
|
[file-id]
|
||||||
|
|||||||
@ -10,6 +10,7 @@
|
|||||||
[app.main.data.workspace :as dw]
|
[app.main.data.workspace :as dw]
|
||||||
[app.main.data.workspace.undo :as dwu]
|
[app.main.data.workspace.undo :as dwu]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
|
[app.util.i18n :refer [tr]]
|
||||||
[beicon.v2.core :as rx]
|
[beicon.v2.core :as rx]
|
||||||
[potok.v2.core :as ptk]))
|
[potok.v2.core :as ptk]))
|
||||||
|
|
||||||
@ -33,16 +34,19 @@
|
|||||||
|
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
{:escape {:tooltip (ds/esc)
|
{:escape {:tooltip (ds/esc)
|
||||||
|
:label (fn [] (tr "shortcuts.escape"))
|
||||||
:command ["escape" "enter" "v"]
|
:command ["escape" "enter" "v"]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (esc-pressed))}
|
:fn #(st/emit! (esc-pressed))}
|
||||||
|
|
||||||
:undo {:tooltip (ds/meta "Z")
|
:undo {:tooltip (ds/meta "Z")
|
||||||
|
:label (fn [] (tr "shortcuts.undo"))
|
||||||
:command (ds/c-mod "z")
|
:command (ds/c-mod "z")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dwu/undo)}
|
:fn #(st/emit! dwu/undo)}
|
||||||
|
|
||||||
:redo {:tooltip (ds/meta "Y")
|
:redo {:tooltip (ds/meta "Y")
|
||||||
|
:label (fn [] (tr "shortcuts.redo"))
|
||||||
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dwu/redo)}
|
:fn #(st/emit! dwu/redo)}
|
||||||
@ -50,26 +54,31 @@
|
|||||||
;; ZOOM
|
;; ZOOM
|
||||||
|
|
||||||
:increase-zoom {:tooltip "+"
|
:increase-zoom {:tooltip "+"
|
||||||
|
:label (fn [] (tr "shortcuts.increase-zoom"))
|
||||||
:command "+"
|
:command "+"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/increase-zoom nil))}
|
:fn #(st/emit! (dw/increase-zoom nil))}
|
||||||
|
|
||||||
:decrease-zoom {:tooltip "-"
|
:decrease-zoom {:tooltip "-"
|
||||||
|
:label (fn [] (tr "shortcuts.decrease-zoom"))
|
||||||
:command "-"
|
:command "-"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/decrease-zoom nil))}
|
:fn #(st/emit! (dw/decrease-zoom nil))}
|
||||||
|
|
||||||
:reset-zoom {:tooltip (ds/shift "0")
|
:reset-zoom {:tooltip (ds/shift "0")
|
||||||
|
:label (fn [] (tr "shortcuts.reset-zoom"))
|
||||||
:command "shift+0"
|
:command "shift+0"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/reset-zoom)}
|
:fn #(st/emit! dw/reset-zoom)}
|
||||||
|
|
||||||
:fit-all {:tooltip (ds/shift "1")
|
:fit-all {:tooltip (ds/shift "1")
|
||||||
|
:label (fn [] (tr "shortcuts.fit-all"))
|
||||||
:command "shift+1"
|
:command "shift+1"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-fit-all)}
|
:fn #(st/emit! dw/zoom-to-fit-all)}
|
||||||
|
|
||||||
:zoom-selected {:tooltip (ds/shift "2")
|
:zoom-selected {:tooltip (ds/shift "2")
|
||||||
|
:label (fn [] (tr "shortcuts.zoom-selected"))
|
||||||
:command "shift+2"
|
:command "shift+2"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-selected-shape)}})
|
:fn #(st/emit! dw/zoom-to-selected-shape)}})
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
[app.main.data.workspace.path.common :as drp.common]
|
[app.main.data.workspace.path.common :as drp.common]
|
||||||
[app.main.data.workspace.path.state :as drp.state]
|
[app.main.data.workspace.path.state :as drp.state]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
|
[app.util.i18n :refer [tr]]
|
||||||
[beicon.v2.core :as rx]
|
[beicon.v2.core :as rx]
|
||||||
[potok.v2.core :as ptk]))
|
[potok.v2.core :as ptk]))
|
||||||
|
|
||||||
@ -42,12 +43,14 @@
|
|||||||
|
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
{:move-nodes {:tooltip "M"
|
{:move-nodes {:tooltip "M"
|
||||||
|
:label (fn [] (tr "shortcuts.move-nodes"))
|
||||||
:command "m"
|
:command "m"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/change-edit-mode :move))}
|
:fn #(st/emit! (drp/change-edit-mode :move))}
|
||||||
|
|
||||||
:draw-nodes {:tooltip "P"
|
:draw-nodes {:tooltip "P"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-nodes"))
|
||||||
:command "p"
|
:command "p"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -55,12 +58,14 @@
|
|||||||
:fn #(st/emit! (drp/change-edit-mode :draw))}
|
:fn #(st/emit! (drp/change-edit-mode :draw))}
|
||||||
|
|
||||||
:add-node {:tooltip (ds/shift "+")
|
:add-node {:tooltip (ds/shift "+")
|
||||||
|
:label (fn [] (tr "shortcuts.add-node"))
|
||||||
:command "shift++"
|
:command "shift++"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/add-node))}
|
:fn #(st/emit! (drp/add-node))}
|
||||||
|
|
||||||
:delete-node {:tooltip (ds/supr)
|
:delete-node {:tooltip (ds/supr)
|
||||||
|
:label (fn [] (tr "shortcuts.delete-node"))
|
||||||
:command ["del" "backspace"]
|
:command ["del" "backspace"]
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -68,23 +73,27 @@
|
|||||||
:fn #(st/emit! (drp/delete-selected))}
|
:fn #(st/emit! (drp/delete-selected))}
|
||||||
|
|
||||||
:delete-node-and-segments {:tooltip (ds/shift (ds/supr))
|
:delete-node-and-segments {:tooltip (ds/shift (ds/supr))
|
||||||
|
:label (fn [] (tr "shortcuts.delete-node-and-segments"))
|
||||||
:command ["shift+del" "shift+backspace"]
|
:command ["shift+del" "shift+backspace"]
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/delete-selected-with-segments))}
|
:fn #(st/emit! (drp/delete-selected-with-segments))}
|
||||||
|
|
||||||
:merge-nodes {:tooltip (ds/meta "J")
|
:merge-nodes {:tooltip (ds/meta "J")
|
||||||
|
:label (fn [] (tr "shortcuts.merge-nodes"))
|
||||||
:command (ds/c-mod "j")
|
:command (ds/c-mod "j")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/merge-nodes))}
|
:fn #(st/emit! (drp/merge-nodes))}
|
||||||
|
|
||||||
:join-nodes {:tooltip "J"
|
:join-nodes {:tooltip "J"
|
||||||
|
:label (fn [] (tr "shortcuts.join-nodes"))
|
||||||
:command "j"
|
:command "j"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/join-nodes))}
|
:fn #(st/emit! (drp/join-nodes))}
|
||||||
|
|
||||||
:separate-nodes {:tooltip "K"
|
:separate-nodes {:tooltip "K"
|
||||||
|
:label (fn [] (tr "shortcuts.separate-nodes"))
|
||||||
:command "k"
|
:command "k"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -92,12 +101,14 @@
|
|||||||
:fn #(st/emit! (drp/separate-nodes))}
|
:fn #(st/emit! (drp/separate-nodes))}
|
||||||
|
|
||||||
:make-corner {:tooltip "X"
|
:make-corner {:tooltip "X"
|
||||||
|
:label (fn [] (tr "shortcuts.make-corner"))
|
||||||
:command "x"
|
:command "x"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/make-corner))}
|
:fn #(st/emit! (drp/make-corner))}
|
||||||
|
|
||||||
:make-curve {:tooltip "C"
|
:make-curve {:tooltip "C"
|
||||||
|
:label (fn [] (tr "shortcuts.make-curve"))
|
||||||
:command "c"
|
:command "c"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -105,6 +116,7 @@
|
|||||||
:fn #(st/emit! (drp/make-curve))}
|
:fn #(st/emit! (drp/make-curve))}
|
||||||
|
|
||||||
:snap-nodes {:tooltip (ds/meta "'")
|
:snap-nodes {:tooltip (ds/meta "'")
|
||||||
|
:label (fn [] (tr "shortcuts.snap-nodes"))
|
||||||
;;https://github.com/ccampbell/mousetrap/issues/85
|
;;https://github.com/ccampbell/mousetrap/issues/85
|
||||||
:command [(ds/c-mod "'") (ds/c-mod "219")]
|
:command [(ds/c-mod "'") (ds/c-mod "219")]
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
@ -112,46 +124,55 @@
|
|||||||
:fn #(st/emit! (drp/toggle-snap))}
|
:fn #(st/emit! (drp/toggle-snap))}
|
||||||
|
|
||||||
:copy {:tooltip (ds/meta "C")
|
:copy {:tooltip (ds/meta "C")
|
||||||
|
:label (fn [] (tr "shortcuts.copy"))
|
||||||
:command (ds/c-mod "c")
|
:command (ds/c-mod "c")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/copy-selected-nodes))}
|
:fn #(st/emit! (drp/copy-selected-nodes))}
|
||||||
|
|
||||||
:cut {:tooltip (ds/meta "X")
|
:cut {:tooltip (ds/meta "X")
|
||||||
|
:label (fn [] (tr "shortcuts.cut"))
|
||||||
:command (ds/c-mod "x")
|
:command (ds/c-mod "x")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/cut-selected-nodes))}
|
:fn #(st/emit! (drp/cut-selected-nodes))}
|
||||||
|
|
||||||
:paste {:tooltip (ds/meta "V")
|
:paste {:tooltip (ds/meta "V")
|
||||||
|
:label (fn [] (tr "shortcuts.paste"))
|
||||||
:command (ds/c-mod "v")
|
:command (ds/c-mod "v")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/paste-nodes))}
|
:fn #(st/emit! (drp/paste-nodes))}
|
||||||
|
|
||||||
:duplicate {:tooltip (ds/meta "D")
|
:duplicate {:tooltip (ds/meta "D")
|
||||||
|
:label (fn [] (tr "shortcuts.duplicate"))
|
||||||
:command (ds/c-mod "d")
|
:command (ds/c-mod "d")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/duplicate-selected))}
|
:fn #(st/emit! (drp/duplicate-selected))}
|
||||||
|
|
||||||
:select-all {:tooltip (ds/meta "A")
|
:select-all {:tooltip (ds/meta "A")
|
||||||
|
:label (fn [] (tr "shortcuts.select-all"))
|
||||||
:command (ds/c-mod "a")
|
:command (ds/c-mod "a")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/select-all-nodes))}
|
:fn #(st/emit! (drp/select-all-nodes))}
|
||||||
|
|
||||||
:deselect-all {:tooltip (ds/meta (ds/shift "A"))
|
:deselect-all {:tooltip (ds/meta (ds/shift "A"))
|
||||||
|
:label (fn [] (tr "shortcuts.deselect-all"))
|
||||||
:command (ds/c-mod "shift+a")
|
:command (ds/c-mod "shift+a")
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/deselect-all))}
|
:fn #(st/emit! (drp/deselect-all))}
|
||||||
|
|
||||||
:flip-horizontal {:tooltip (ds/shift "H")
|
:flip-horizontal {:tooltip (ds/shift "H")
|
||||||
|
:label (fn [] (tr "shortcuts.flip-horizontal"))
|
||||||
:command "shift+h"
|
:command "shift+h"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/flip-nodes :horizontal))}
|
:fn #(st/emit! (drp/flip-nodes :horizontal))}
|
||||||
|
|
||||||
:flip-vertical {:tooltip (ds/shift "V")
|
:flip-vertical {:tooltip (ds/shift "V")
|
||||||
|
:label (fn [] (tr "shortcuts.flip-vertical"))
|
||||||
:command "shift+v"
|
:command "shift+v"
|
||||||
:subsections [:path-editor]
|
:subsections [:path-editor]
|
||||||
:fn #(st/emit! (drp/flip-nodes :vertical))}
|
:fn #(st/emit! (drp/flip-nodes :vertical))}
|
||||||
|
|
||||||
:escape {:tooltip (ds/esc)
|
:escape {:tooltip (ds/esc)
|
||||||
|
:label (fn [] (tr "shortcuts.escape"))
|
||||||
:command ["escape" "v"]
|
:command ["escape" "v"]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (esc-pressed))}
|
:fn #(st/emit! (esc-pressed))}
|
||||||
@ -163,17 +184,20 @@
|
|||||||
;; (which enters path edit mode) instead of both ending up bound
|
;; (which enters path edit mode) instead of both ending up bound
|
||||||
;; to the same physical key at once.
|
;; to the same physical key at once.
|
||||||
:start-editing {:tooltip (ds/enter)
|
:start-editing {:tooltip (ds/enter)
|
||||||
|
:label (fn [] (tr "shortcuts.start-editing"))
|
||||||
:command "enter"
|
:command "enter"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:overwrite true
|
:overwrite true
|
||||||
:fn #(st/emit! (esc-pressed))}
|
:fn #(st/emit! (esc-pressed))}
|
||||||
|
|
||||||
:undo {:tooltip (ds/meta "Z")
|
:undo {:tooltip (ds/meta "Z")
|
||||||
|
:label (fn [] (tr "shortcuts.undo"))
|
||||||
:command (ds/c-mod "z")
|
:command (ds/c-mod "z")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/undo-path))}
|
:fn #(st/emit! (drp/undo-path))}
|
||||||
|
|
||||||
:redo {:tooltip (ds/meta "Y")
|
:redo {:tooltip (ds/meta "Y")
|
||||||
|
:label (fn [] (tr "shortcuts.redo"))
|
||||||
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/redo-path))}
|
:fn #(st/emit! (drp/redo-path))}
|
||||||
@ -181,26 +205,31 @@
|
|||||||
;; ZOOM
|
;; ZOOM
|
||||||
|
|
||||||
:increase-zoom {:tooltip "+"
|
:increase-zoom {:tooltip "+"
|
||||||
|
:label (fn [] (tr "shortcuts.increase-zoom"))
|
||||||
:command "+"
|
:command "+"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/increase-zoom nil))}
|
:fn #(st/emit! (dw/increase-zoom nil))}
|
||||||
|
|
||||||
:decrease-zoom {:tooltip "-"
|
:decrease-zoom {:tooltip "-"
|
||||||
|
:label (fn [] (tr "shortcuts.decrease-zoom"))
|
||||||
:command "-"
|
:command "-"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/decrease-zoom nil))}
|
:fn #(st/emit! (dw/decrease-zoom nil))}
|
||||||
|
|
||||||
:reset-zoom {:tooltip (ds/shift "0")
|
:reset-zoom {:tooltip (ds/shift "0")
|
||||||
|
:label (fn [] (tr "shortcuts.reset-zoom"))
|
||||||
:command "shift+0"
|
:command "shift+0"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/reset-zoom)}
|
:fn #(st/emit! dw/reset-zoom)}
|
||||||
|
|
||||||
:fit-all {:tooltip (ds/shift "1")
|
:fit-all {:tooltip (ds/shift "1")
|
||||||
|
:label (fn [] (tr "shortcuts.fit-all"))
|
||||||
:command "shift+1"
|
:command "shift+1"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-fit-all)}
|
:fn #(st/emit! dw/zoom-to-fit-all)}
|
||||||
|
|
||||||
:zoom-selected {:tooltip (ds/shift "2")
|
:zoom-selected {:tooltip (ds/shift "2")
|
||||||
|
:label (fn [] (tr "shortcuts.zoom-selected"))
|
||||||
:command "shift+2"
|
:command "shift+2"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-selected-shape)}
|
:fn #(st/emit! dw/zoom-to-selected-shape)}
|
||||||
@ -208,41 +237,49 @@
|
|||||||
;; Arrow movement
|
;; Arrow movement
|
||||||
|
|
||||||
:move-fast-up {:tooltip (ds/shift ds/up-arrow)
|
:move-fast-up {:tooltip (ds/shift ds/up-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-up"))
|
||||||
:command "shift+up"
|
:command "shift+up"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :up true))}
|
:fn #(st/emit! (drp/move-selected :up true))}
|
||||||
|
|
||||||
:move-fast-down {:tooltip (ds/shift ds/down-arrow)
|
:move-fast-down {:tooltip (ds/shift ds/down-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-down"))
|
||||||
:command "shift+down"
|
:command "shift+down"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :down true))}
|
:fn #(st/emit! (drp/move-selected :down true))}
|
||||||
|
|
||||||
:move-fast-right {:tooltip (ds/shift ds/right-arrow)
|
:move-fast-right {:tooltip (ds/shift ds/right-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-right"))
|
||||||
:command "shift+right"
|
:command "shift+right"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :right true))}
|
:fn #(st/emit! (drp/move-selected :right true))}
|
||||||
|
|
||||||
:move-fast-left {:tooltip (ds/shift ds/left-arrow)
|
:move-fast-left {:tooltip (ds/shift ds/left-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-left"))
|
||||||
:command "shift+left"
|
:command "shift+left"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :left true))}
|
:fn #(st/emit! (drp/move-selected :left true))}
|
||||||
|
|
||||||
:move-unit-up {:tooltip ds/up-arrow
|
:move-unit-up {:tooltip ds/up-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-up"))
|
||||||
:command "up"
|
:command "up"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :up false))}
|
:fn #(st/emit! (drp/move-selected :up false))}
|
||||||
|
|
||||||
:move-unit-down {:tooltip ds/down-arrow
|
:move-unit-down {:tooltip ds/down-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-down"))
|
||||||
:command "down"
|
:command "down"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :down false))}
|
:fn #(st/emit! (drp/move-selected :down false))}
|
||||||
|
|
||||||
:move-unit-left {:tooltip ds/right-arrow
|
:move-unit-left {:tooltip ds/right-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-left"))
|
||||||
:command "right"
|
:command "right"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :right false))}
|
:fn #(st/emit! (drp/move-selected :right false))}
|
||||||
|
|
||||||
:move-unit-right {:tooltip ds/left-arrow
|
:move-unit-right {:tooltip ds/left-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-right"))
|
||||||
:command "left"
|
:command "left"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (drp/move-selected :left false))}})
|
:fn #(st/emit! (drp/move-selected :left false))}})
|
||||||
|
|||||||
@ -32,7 +32,8 @@
|
|||||||
[app.main.refs :as refs]
|
[app.main.refs :as refs]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.main.ui.hooks.resize :as r]
|
[app.main.ui.hooks.resize :as r]
|
||||||
[app.util.dom :as dom]))
|
[app.util.dom :as dom]
|
||||||
|
[app.util.i18n :refer [tr]]))
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Shortcuts
|
;; Shortcuts
|
||||||
@ -68,36 +69,42 @@
|
|||||||
(def base-shortcuts
|
(def base-shortcuts
|
||||||
{;; EDIT
|
{;; EDIT
|
||||||
:undo {:tooltip (ds/meta "Z")
|
:undo {:tooltip (ds/meta "Z")
|
||||||
|
:label (fn [] (tr "shortcuts.undo"))
|
||||||
:command (ds/c-mod "z")
|
:command (ds/c-mod "z")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:fn #(emit-when-no-readonly dwu/undo)}
|
:fn #(emit-when-no-readonly dwu/undo)}
|
||||||
|
|
||||||
:redo {:tooltip (ds/meta "Y")
|
:redo {:tooltip (ds/meta "Y")
|
||||||
|
:label (fn [] (tr "shortcuts.redo"))
|
||||||
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
:command [(ds/c-mod "shift+z") (ds/c-mod "y")]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:fn #(emit-when-no-readonly dwu/redo)}
|
:fn #(emit-when-no-readonly dwu/redo)}
|
||||||
|
|
||||||
:clear-undo {:tooltip (ds/alt "Q")
|
:clear-undo {:tooltip (ds/alt "Q")
|
||||||
|
:label (fn [] (tr "shortcuts.clear-undo"))
|
||||||
:command "alt+q"
|
:command "alt+q"
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly dwu/reinitialize-undo)}
|
:fn #(emit-when-no-readonly dwu/reinitialize-undo)}
|
||||||
|
|
||||||
:copy {:tooltip (ds/meta "C")
|
:copy {:tooltip (ds/meta "C")
|
||||||
|
:label (fn [] (tr "shortcuts.copy"))
|
||||||
:command (ds/c-mod "c")
|
:command (ds/c-mod "c")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/copy-selected))}
|
:fn #(st/emit! (dw/copy-selected))}
|
||||||
|
|
||||||
:copy-link {:tooltip (ds/shift (ds/alt "C"))
|
:copy-link {:tooltip (ds/shift (ds/alt "C"))
|
||||||
|
:label (fn [] (tr "shortcuts.copy-link"))
|
||||||
:command "shift+alt+c"
|
:command "shift+alt+c"
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/copy-link-to-clipboard))}
|
:fn #(st/emit! (dw/copy-link-to-clipboard))}
|
||||||
|
|
||||||
:cut {:tooltip (ds/meta "X")
|
:cut {:tooltip (ds/meta "X")
|
||||||
|
:label (fn [] (tr "shortcuts.cut"))
|
||||||
:command (ds/c-mod "x")
|
:command (ds/c-mod "x")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -106,6 +113,7 @@
|
|||||||
(dw/delete-selected))}
|
(dw/delete-selected))}
|
||||||
|
|
||||||
:paste {:tooltip (ds/meta "V")
|
:paste {:tooltip (ds/meta "V")
|
||||||
|
:label (fn [] (tr "shortcuts.paste"))
|
||||||
:disabled true
|
:disabled true
|
||||||
:command (ds/c-mod "v")
|
:command (ds/c-mod "v")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
@ -114,42 +122,49 @@
|
|||||||
:fn (constantly nil)}
|
:fn (constantly nil)}
|
||||||
|
|
||||||
:paste-replace {:tooltip (ds/meta (ds/shift "V"))
|
:paste-replace {:tooltip (ds/meta (ds/shift "V"))
|
||||||
|
:label (fn [] (tr "shortcuts.paste-replace"))
|
||||||
:command (ds/c-mod "shift+v")
|
:command (ds/c-mod "shift+v")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/paste-from-clipboard {:replace? true}))}
|
:fn #(emit-when-no-readonly (dw/paste-from-clipboard {:replace? true}))}
|
||||||
|
|
||||||
:copy-props {:tooltip (ds/meta (ds/alt "c"))
|
:copy-props {:tooltip (ds/meta (ds/alt "c"))
|
||||||
|
:label (fn [] (tr "shortcuts.copy-props"))
|
||||||
:command (ds/c-mod "alt+c")
|
:command (ds/c-mod "alt+c")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/copy-selected-props))}
|
:fn #(st/emit! (dw/copy-selected-props))}
|
||||||
|
|
||||||
:paste-props {:tooltip (ds/meta (ds/alt "v"))
|
:paste-props {:tooltip (ds/meta (ds/alt "v"))
|
||||||
|
:label (fn [] (tr "shortcuts.paste-props"))
|
||||||
:command (ds/c-mod "alt+v")
|
:command (ds/c-mod "alt+v")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/paste-selected-props))}
|
:fn #(st/emit! (dw/paste-selected-props))}
|
||||||
|
|
||||||
:delete {:tooltip (ds/supr)
|
:delete {:tooltip (ds/supr)
|
||||||
|
:label (fn [] (tr "shortcuts.delete"))
|
||||||
:command ["del" "backspace"]
|
:command ["del" "backspace"]
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/delete-selected))}
|
:fn #(emit-when-no-readonly (dw/delete-selected))}
|
||||||
|
|
||||||
:duplicate {:tooltip (ds/meta "D")
|
:duplicate {:tooltip (ds/meta "D")
|
||||||
|
:label (fn [] (tr "shortcuts.duplicate"))
|
||||||
:command (ds/c-mod "d")
|
:command (ds/c-mod "d")
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwv/duplicate-or-add-variant))}
|
:fn #(emit-when-no-readonly (dwv/duplicate-or-add-variant))}
|
||||||
|
|
||||||
:start-editing {:tooltip (ds/enter)
|
:start-editing {:tooltip (ds/enter)
|
||||||
|
:label (fn [] (tr "shortcuts.start-editing"))
|
||||||
:command "enter"
|
:command "enter"
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/start-editing-selected))}
|
:fn #(emit-when-no-readonly (dw/start-editing-selected))}
|
||||||
|
|
||||||
:show-measure {:tooltip (ds/alt "")
|
:show-measure {:tooltip (ds/alt "")
|
||||||
|
:label (fn [] (tr "shortcuts.show-measure"))
|
||||||
:command ["alt" "."]
|
:command ["alt" "."]
|
||||||
:type ["keydown" "keyup"]
|
:type ["keydown" "keyup"]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
@ -159,152 +174,178 @@
|
|||||||
(dw/toggle-distances-display (if (= type "keydown") true false))))}
|
(dw/toggle-distances-display (if (= type "keydown") true false))))}
|
||||||
|
|
||||||
:escape {:tooltip (ds/esc)
|
:escape {:tooltip (ds/esc)
|
||||||
|
:label (fn [] (tr "shortcuts.escape"))
|
||||||
:command "escape"
|
:command "escape"
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! :interrupt (dwdc/clear-drawing) (dw/deselect-all true))}
|
:fn #(st/emit! :interrupt (dwdc/clear-drawing) (dw/deselect-all true))}
|
||||||
|
|
||||||
:find {:tooltip (ds/meta "F") :command (ds/c-mod "f") :subsections [:edit]
|
:find {:tooltip (ds/meta "F") :command (ds/c-mod "f") :subsections [:edit]
|
||||||
|
:label (fn [] (tr "shortcuts.find"))
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/open-layers-search :find))}
|
:fn #(st/emit! (dw/open-layers-search :find))}
|
||||||
:find-and-replace {:tooltip (ds/meta "H") :command (ds/c-mod "h") :subsections [:edit]
|
:find-and-replace {:tooltip (ds/meta "H") :command (ds/c-mod "h") :subsections [:edit]
|
||||||
|
:label (fn [] (tr "shortcuts.find-and-replace"))
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/open-layers-search :find-and-replace))}
|
:fn #(st/emit! (dw/open-layers-search :find-and-replace))}
|
||||||
|
|
||||||
;; MODIFY LAYERS
|
;; MODIFY LAYERS
|
||||||
|
|
||||||
:rename {:tooltip (ds/alt "N")
|
:rename {:tooltip (ds/alt "N")
|
||||||
|
:label (fn [] (tr "shortcuts.rename"))
|
||||||
:command "alt+n"
|
:command "alt+n"
|
||||||
:subsections [:edit]
|
:subsections [:edit]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/start-rename-selected))}
|
:fn #(emit-when-no-readonly (dw/start-rename-selected))}
|
||||||
|
|
||||||
:group {:tooltip (ds/meta "G")
|
:group {:tooltip (ds/meta "G")
|
||||||
|
:label (fn [] (tr "shortcuts.group"))
|
||||||
:command (ds/c-mod "g")
|
:command (ds/c-mod "g")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/group-selected))}
|
:fn #(emit-when-no-readonly (dw/group-selected))}
|
||||||
|
|
||||||
:ungroup {:tooltip (ds/shift "G")
|
:ungroup {:tooltip (ds/shift "G")
|
||||||
|
:label (fn [] (tr "shortcuts.ungroup"))
|
||||||
:command "shift+g"
|
:command "shift+g"
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/ungroup-selected))}
|
:fn #(emit-when-no-readonly (dw/ungroup-selected))}
|
||||||
|
|
||||||
:mask {:tooltip (ds/meta "M")
|
:mask {:tooltip (ds/meta "M")
|
||||||
|
:label (fn [] (tr "shortcuts.mask"))
|
||||||
:command (ds/c-mod "m")
|
:command (ds/c-mod "m")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/mask-group))}
|
:fn #(emit-when-no-readonly (dw/mask-group))}
|
||||||
|
|
||||||
:unmask {:tooltip (ds/meta-shift "M")
|
:unmask {:tooltip (ds/meta-shift "M")
|
||||||
|
:label (fn [] (tr "shortcuts.unmask"))
|
||||||
:command (ds/c-mod "shift+m")
|
:command (ds/c-mod "shift+m")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/unmask-group))}
|
:fn #(emit-when-no-readonly (dw/unmask-group))}
|
||||||
|
|
||||||
:create-component-variant {:tooltip (ds/meta "K")
|
:create-component-variant {:tooltip (ds/meta "K")
|
||||||
|
:label (fn [] (tr "shortcuts.create-component-variant"))
|
||||||
:command (ds/c-mod "k")
|
:command (ds/c-mod "k")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwv/add-component-or-variant))}
|
:fn #(emit-when-no-readonly (dwv/add-component-or-variant))}
|
||||||
|
|
||||||
:detach-component {:tooltip (ds/meta-shift "K")
|
:detach-component {:tooltip (ds/meta-shift "K")
|
||||||
|
:label (fn [] (tr "shortcuts.detach-component"))
|
||||||
:command (ds/c-mod "shift+k")
|
:command (ds/c-mod "shift+k")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly dwl/detach-selected-components)}
|
:fn #(emit-when-no-readonly dwl/detach-selected-components)}
|
||||||
|
|
||||||
:flip-vertical {:tooltip (ds/shift "V")
|
:flip-vertical {:tooltip (ds/shift "V")
|
||||||
|
:label (fn [] (tr "shortcuts.flip-vertical"))
|
||||||
:command "shift+v"
|
:command "shift+v"
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/flip-vertical-selected))}
|
:fn #(emit-when-no-readonly (dw/flip-vertical-selected))}
|
||||||
|
|
||||||
:flip-horizontal {:tooltip (ds/shift "H")
|
:flip-horizontal {:tooltip (ds/shift "H")
|
||||||
|
:label (fn [] (tr "shortcuts.flip-horizontal"))
|
||||||
:command "shift+h"
|
:command "shift+h"
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/flip-horizontal-selected))}
|
:fn #(emit-when-no-readonly (dw/flip-horizontal-selected))}
|
||||||
:bring-forward {:tooltip (ds/meta ds/up-arrow)
|
:bring-forward {:tooltip (ds/meta ds/up-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.bring-forward"))
|
||||||
:command (ds/c-mod "up")
|
:command (ds/c-mod "up")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/vertical-order-selected :up))}
|
:fn #(emit-when-no-readonly (dw/vertical-order-selected :up))}
|
||||||
|
|
||||||
:bring-backward {:tooltip (ds/meta ds/down-arrow)
|
:bring-backward {:tooltip (ds/meta ds/down-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.bring-backward"))
|
||||||
:command (ds/c-mod "down")
|
:command (ds/c-mod "down")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/vertical-order-selected :down))}
|
:fn #(emit-when-no-readonly (dw/vertical-order-selected :down))}
|
||||||
|
|
||||||
:bring-front {:tooltip (ds/meta-shift ds/up-arrow)
|
:bring-front {:tooltip (ds/meta-shift ds/up-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.bring-front"))
|
||||||
:command (ds/c-mod "shift+up")
|
:command (ds/c-mod "shift+up")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/vertical-order-selected :top))}
|
:fn #(emit-when-no-readonly (dw/vertical-order-selected :top))}
|
||||||
|
|
||||||
:bring-back {:tooltip (ds/meta-shift ds/down-arrow)
|
:bring-back {:tooltip (ds/meta-shift ds/down-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.bring-back"))
|
||||||
:command (ds/c-mod "shift+down")
|
:command (ds/c-mod "shift+down")
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/vertical-order-selected :bottom))}
|
:fn #(emit-when-no-readonly (dw/vertical-order-selected :bottom))}
|
||||||
|
|
||||||
:move-fast-up {:tooltip (ds/shift ds/up-arrow)
|
:move-fast-up {:tooltip (ds/shift ds/up-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-up"))
|
||||||
:command ["shift+up" "shift+alt+up"]
|
:command ["shift+up" "shift+alt+up"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :up true))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :up true))}
|
||||||
|
|
||||||
:move-fast-down {:tooltip (ds/shift ds/down-arrow)
|
:move-fast-down {:tooltip (ds/shift ds/down-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-down"))
|
||||||
:command ["shift+down" "shift+alt+down"]
|
:command ["shift+down" "shift+alt+down"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :down true))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :down true))}
|
||||||
|
|
||||||
:move-fast-right {:tooltip (ds/shift ds/right-arrow)
|
:move-fast-right {:tooltip (ds/shift ds/right-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-right"))
|
||||||
:command ["shift+right" "shift+alt+right"]
|
:command ["shift+right" "shift+alt+right"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :right true))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :right true))}
|
||||||
|
|
||||||
:move-fast-left {:tooltip (ds/shift ds/left-arrow)
|
:move-fast-left {:tooltip (ds/shift ds/left-arrow)
|
||||||
|
:label (fn [] (tr "shortcuts.move-fast-left"))
|
||||||
:command ["shift+left" "shift+alt+left"]
|
:command ["shift+left" "shift+alt+left"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :left true))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :left true))}
|
||||||
|
|
||||||
:move-unit-up {:tooltip ds/up-arrow
|
:move-unit-up {:tooltip ds/up-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-up"))
|
||||||
:command ["up" "alt+up"]
|
:command ["up" "alt+up"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :up false))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :up false))}
|
||||||
|
|
||||||
:move-unit-down {:tooltip ds/down-arrow
|
:move-unit-down {:tooltip ds/down-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-down"))
|
||||||
:command ["down" "alt+down"]
|
:command ["down" "alt+down"]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :down false))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :down false))}
|
||||||
|
|
||||||
:move-unit-left {:tooltip ds/right-arrow
|
:move-unit-left {:tooltip ds/right-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-left"))
|
||||||
:command ["right" "alt+right"]
|
:command ["right" "alt+right"]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :right false))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :right false))}
|
||||||
|
|
||||||
:move-unit-right {:tooltip ds/left-arrow
|
:move-unit-right {:tooltip ds/left-arrow
|
||||||
|
:label (fn [] (tr "shortcuts.move-unit-right"))
|
||||||
:command ["left" "alt+left"]
|
:command ["left" "alt+left"]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:fn #(emit-when-no-readonly (dwt/move-selected :left false))}
|
:fn #(emit-when-no-readonly (dwt/move-selected :left false))}
|
||||||
|
|
||||||
:artboard-selection {:tooltip (ds/meta (ds/alt "G"))
|
:artboard-selection {:tooltip (ds/meta (ds/alt "G"))
|
||||||
|
:label (fn [] (tr "shortcuts.artboard-selection"))
|
||||||
:command (ds/c-mod "alt+g")
|
:command (ds/c-mod "alt+g")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
:fn #(emit-when-no-readonly (dws/create-artboard-from-selection))}
|
:fn #(emit-when-no-readonly (dws/create-artboard-from-selection))}
|
||||||
|
|
||||||
:toggle-layout-flex {:tooltip (ds/shift "A")
|
:toggle-layout-flex {:tooltip (ds/shift "A")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-layout-flex"))
|
||||||
:command "shift+a"
|
:command "shift+a"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
@ -313,6 +354,7 @@
|
|||||||
{::ev/origin "workspace:shortcuts"}))}
|
{::ev/origin "workspace:shortcuts"}))}
|
||||||
|
|
||||||
:toggle-layout-grid {:tooltip (ds/meta-shift "A")
|
:toggle-layout-grid {:tooltip (ds/meta-shift "A")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-layout-grid"))
|
||||||
:command (ds/c-mod "shift+a")
|
:command (ds/c-mod "shift+a")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:modify-layers]
|
:subsections [:modify-layers]
|
||||||
@ -322,30 +364,35 @@
|
|||||||
;; TOOLS
|
;; TOOLS
|
||||||
|
|
||||||
:draw-frame {:tooltip "B"
|
:draw-frame {:tooltip "B"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-frame"))
|
||||||
:command ["b" "a"]
|
:command ["b" "a"]
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
:subsections [:tools :basics]
|
:subsections [:tools :basics]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :frame))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :frame))}
|
||||||
|
|
||||||
:move {:tooltip "V"
|
:move {:tooltip "V"
|
||||||
|
:label (fn [] (tr "shortcuts.move"))
|
||||||
:command "v"
|
:command "v"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly :interrupt)}
|
:fn #(emit-when-no-readonly :interrupt)}
|
||||||
|
|
||||||
:draw-rect {:tooltip "R"
|
:draw-rect {:tooltip "R"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-rect"))
|
||||||
:command "r"
|
:command "r"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :rect))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :rect))}
|
||||||
|
|
||||||
:draw-ellipse {:tooltip "E"
|
:draw-ellipse {:tooltip "E"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-ellipse"))
|
||||||
:command "e"
|
:command "e"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :circle))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :circle))}
|
||||||
|
|
||||||
:draw-text {:tooltip "T"
|
:draw-text {:tooltip "T"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-text"))
|
||||||
:command "t"
|
:command "t"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
@ -353,30 +400,35 @@
|
|||||||
(dwd/select-for-drawing :text))}
|
(dwd/select-for-drawing :text))}
|
||||||
|
|
||||||
:draw-path {:tooltip "P"
|
:draw-path {:tooltip "P"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-path"))
|
||||||
:command "p"
|
:command "p"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :path))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :path))}
|
||||||
|
|
||||||
:draw-line {:tooltip "L"
|
:draw-line {:tooltip "L"
|
||||||
|
:label (fn [] (tr "shortcuts.draw-line"))
|
||||||
:command "l"
|
:command "l"
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :line))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :line))}
|
||||||
|
|
||||||
:draw-arrow {:tooltip (ds/shift "L")
|
:draw-arrow {:tooltip (ds/shift "L")
|
||||||
|
:label (fn [] (tr "shortcuts.draw-arrow"))
|
||||||
:command "shift+l"
|
:command "shift+l"
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :arrow))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :arrow))}
|
||||||
|
|
||||||
:draw-curve {:tooltip (ds/shift "C")
|
:draw-curve {:tooltip (ds/shift "C")
|
||||||
|
:label (fn [] (tr "shortcuts.draw-curve"))
|
||||||
:command "shift+c"
|
:command "shift+c"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dwd/select-for-drawing :curve))}
|
:fn #(emit-when-no-readonly (dwd/select-for-drawing :curve))}
|
||||||
|
|
||||||
:add-comment {:tooltip "C"
|
:add-comment {:tooltip "C"
|
||||||
|
:label (fn [] (tr "shortcuts.add-comment"))
|
||||||
:command "c"
|
:command "c"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
@ -384,48 +436,56 @@
|
|||||||
|
|
||||||
:toggle-comments-visibility
|
:toggle-comments-visibility
|
||||||
{:tooltip (ds/meta-shift "C")
|
{:tooltip (ds/meta-shift "C")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-comments-visibility"))
|
||||||
:command (ds/c-mod "shift+c")
|
:command (ds/c-mod "shift+c")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:fn #(st/emit! (dwcm/toggle-comments-visibility {:origin "workspace-shortcuts"}))}
|
:fn #(st/emit! (dwcm/toggle-comments-visibility {:origin "workspace-shortcuts"}))}
|
||||||
|
|
||||||
:insert-image {:tooltip (ds/shift "K")
|
:insert-image {:tooltip (ds/shift "K")
|
||||||
|
:label (fn [] (tr "shortcuts.insert-image"))
|
||||||
:command "shift+k"
|
:command "shift+k"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(-> "image-upload" dom/get-element dom/click)}
|
:fn #(-> "image-upload" dom/get-element dom/click)}
|
||||||
|
|
||||||
:toggle-visibility {:tooltip (ds/meta-shift "H")
|
:toggle-visibility {:tooltip (ds/meta-shift "H")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-visibility"))
|
||||||
:command (ds/c-mod "shift+h")
|
:command (ds/c-mod "shift+h")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dw/toggle-visibility-selected))}
|
:fn #(emit-when-no-readonly (dw/toggle-visibility-selected))}
|
||||||
|
|
||||||
:toggle-lock {:tooltip (ds/meta-shift "L")
|
:toggle-lock {:tooltip (ds/meta-shift "L")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-lock"))
|
||||||
:command (ds/c-mod "shift+l")
|
:command (ds/c-mod "shift+l")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dw/toggle-lock-selected))}
|
:fn #(emit-when-no-readonly (dw/toggle-lock-selected))}
|
||||||
|
|
||||||
:toggle-lock-size {:tooltip (ds/shift "L")
|
:toggle-lock-size {:tooltip (ds/shift "L")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-lock-size"))
|
||||||
:command "shift+l"
|
:command "shift+l"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (dw/toggle-proportion-lock))}
|
:fn #(emit-when-no-readonly (dw/toggle-proportion-lock))}
|
||||||
|
|
||||||
:scale {:tooltip "K"
|
:scale {:tooltip "K"
|
||||||
|
:label (fn [] (tr "shortcuts.scale"))
|
||||||
:command "k"
|
:command "k"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (toggle-layout-flag :scale-text))}
|
:fn #(emit-when-no-readonly (toggle-layout-flag :scale-text))}
|
||||||
|
|
||||||
:open-color-picker {:tooltip "I"
|
:open-color-picker {:tooltip "I"
|
||||||
|
:label (fn [] (tr "shortcuts.open-color-picker"))
|
||||||
:command "i"
|
:command "i"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:tools]
|
:subsections [:tools]
|
||||||
:fn #(emit-when-no-readonly (mdc/picker-for-selected-shape))}
|
:fn #(emit-when-no-readonly (mdc/picker-for-selected-shape))}
|
||||||
|
|
||||||
:toggle-focus-mode {:command "f"
|
:toggle-focus-mode {:command "f"
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-focus-mode"))
|
||||||
:tooltip "F"
|
:tooltip "F"
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
:subsections [:basics :tools]
|
:subsections [:basics :tools]
|
||||||
@ -434,48 +494,56 @@
|
|||||||
;; ITEM ALIGNMENT
|
;; ITEM ALIGNMENT
|
||||||
|
|
||||||
:align-left {:tooltip (ds/alt "A")
|
:align-left {:tooltip (ds/alt "A")
|
||||||
|
:label (fn [] (tr "shortcuts.align-left"))
|
||||||
:command "alt+a"
|
:command "alt+a"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :hleft))}
|
:fn #(emit-when-no-readonly (dw/align-objects :hleft))}
|
||||||
|
|
||||||
:align-right {:tooltip (ds/alt "D")
|
:align-right {:tooltip (ds/alt "D")
|
||||||
|
:label (fn [] (tr "shortcuts.align-right"))
|
||||||
:command "alt+d"
|
:command "alt+d"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :hright))}
|
:fn #(emit-when-no-readonly (dw/align-objects :hright))}
|
||||||
|
|
||||||
:align-top {:tooltip (ds/alt "W")
|
:align-top {:tooltip (ds/alt "W")
|
||||||
|
:label (fn [] (tr "shortcuts.align-top"))
|
||||||
:command "alt+w"
|
:command "alt+w"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :vtop))}
|
:fn #(emit-when-no-readonly (dw/align-objects :vtop))}
|
||||||
|
|
||||||
:align-hcenter {:tooltip (ds/alt "H")
|
:align-hcenter {:tooltip (ds/alt "H")
|
||||||
|
:label (fn [] (tr "shortcuts.align-hcenter"))
|
||||||
:command "alt+h"
|
:command "alt+h"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :hcenter))}
|
:fn #(emit-when-no-readonly (dw/align-objects :hcenter))}
|
||||||
|
|
||||||
:align-vcenter {:tooltip (ds/alt "V")
|
:align-vcenter {:tooltip (ds/alt "V")
|
||||||
|
:label (fn [] (tr "shortcuts.align-vcenter"))
|
||||||
:command "alt+v"
|
:command "alt+v"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :vcenter))}
|
:fn #(emit-when-no-readonly (dw/align-objects :vcenter))}
|
||||||
|
|
||||||
:align-bottom {:tooltip (ds/alt "S")
|
:align-bottom {:tooltip (ds/alt "S")
|
||||||
|
:label (fn [] (tr "shortcuts.align-bottom"))
|
||||||
:command "alt+s"
|
:command "alt+s"
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/align-objects :vbottom))}
|
:fn #(emit-when-no-readonly (dw/align-objects :vbottom))}
|
||||||
|
|
||||||
:h-distribute {:tooltip (ds/meta-shift (ds/alt "H"))
|
:h-distribute {:tooltip (ds/meta-shift (ds/alt "H"))
|
||||||
|
:label (fn [] (tr "shortcuts.h-distribute"))
|
||||||
:command (ds/c-mod "shift+alt+h")
|
:command (ds/c-mod "shift+alt+h")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
:fn #(emit-when-no-readonly (dw/distribute-objects :horizontal))}
|
:fn #(emit-when-no-readonly (dw/distribute-objects :horizontal))}
|
||||||
|
|
||||||
:v-distribute {:tooltip (ds/meta-shift (ds/alt "V"))
|
:v-distribute {:tooltip (ds/meta-shift (ds/alt "V"))
|
||||||
|
:label (fn [] (tr "shortcuts.v-distribute"))
|
||||||
:command (ds/c-mod "shift+alt+v")
|
:command (ds/c-mod "shift+alt+v")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:alignment]
|
:subsections [:alignment]
|
||||||
@ -484,18 +552,21 @@
|
|||||||
;; MAIN MENU
|
;; MAIN MENU
|
||||||
|
|
||||||
:toggle-rulers {:tooltip (ds/meta-shift "R")
|
:toggle-rulers {:tooltip (ds/meta-shift "R")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-rulers"))
|
||||||
:command (ds/c-mod "shift+r")
|
:command (ds/c-mod "shift+r")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:fn #(st/emit! (toggle-layout-flag :rulers))}
|
:fn #(st/emit! (toggle-layout-flag :rulers))}
|
||||||
|
|
||||||
:select-all {:tooltip (ds/meta "A")
|
:select-all {:tooltip (ds/meta "A")
|
||||||
|
:label (fn [] (tr "shortcuts.select-all"))
|
||||||
:command (ds/c-mod "a")
|
:command (ds/c-mod "a")
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:fn #(st/emit! (dw/select-all))}
|
:fn #(st/emit! (dw/select-all))}
|
||||||
|
|
||||||
:toggle-guides {:tooltip (ds/meta "'")
|
:toggle-guides {:tooltip (ds/meta "'")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-guides"))
|
||||||
;;https://github.com/ccampbell/mousetrap/issues/85
|
;;https://github.com/ccampbell/mousetrap/issues/85
|
||||||
:command [(ds/c-mod "'") (ds/c-mod "219")]
|
:command [(ds/c-mod "'") (ds/c-mod "219")]
|
||||||
:show-command (ds/c-mod "'")
|
:show-command (ds/c-mod "'")
|
||||||
@ -504,30 +575,35 @@
|
|||||||
:fn #(st/emit! (toggle-layout-flag :display-guides))}
|
:fn #(st/emit! (toggle-layout-flag :display-guides))}
|
||||||
|
|
||||||
:toggle-alignment {:tooltip (ds/meta "\\")
|
:toggle-alignment {:tooltip (ds/meta "\\")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-alignment"))
|
||||||
:command (ds/c-mod "\\")
|
:command (ds/c-mod "\\")
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (toggle-layout-flag :dynamic-alignment))}
|
:fn #(st/emit! (toggle-layout-flag :dynamic-alignment))}
|
||||||
|
|
||||||
:thumbnail-set {:tooltip (ds/shift "T")
|
:thumbnail-set {:tooltip (ds/shift "T")
|
||||||
|
:label (fn [] (tr "shortcuts.thumbnail-set"))
|
||||||
:command "shift+t"
|
:command "shift+t"
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/toggle-file-thumbnail-selected))}
|
:fn #(st/emit! (dw/toggle-file-thumbnail-selected))}
|
||||||
|
|
||||||
:show-pixel-grid {:tooltip (ds/shift ",")
|
:show-pixel-grid {:tooltip (ds/shift ",")
|
||||||
|
:label (fn [] (tr "shortcuts.show-pixel-grid"))
|
||||||
:command "shift+,"
|
:command "shift+,"
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (toggle-layout-flag :show-pixel-grid))}
|
:fn #(st/emit! (toggle-layout-flag :show-pixel-grid))}
|
||||||
|
|
||||||
:snap-pixel-grid {:command ","
|
:snap-pixel-grid {:command ","
|
||||||
|
:label (fn [] (tr "shortcuts.snap-pixel-grid"))
|
||||||
:tooltip ","
|
:tooltip ","
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (toggle-layout-flag :snap-pixel-grid))}
|
:fn #(st/emit! (toggle-layout-flag :snap-pixel-grid))}
|
||||||
|
|
||||||
:export-shapes {:tooltip (ds/meta-shift "E")
|
:export-shapes {:tooltip (ds/meta-shift "E")
|
||||||
|
:label (fn [] (tr "shortcuts.export-shapes"))
|
||||||
:command (ds/c-mod "shift+e")
|
:command (ds/c-mod "shift+e")
|
||||||
:subsections [:basics :main-menu]
|
:subsections [:basics :main-menu]
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
@ -535,12 +611,14 @@
|
|||||||
(de/show-workspace-export-dialog {:origin "workspace:shortcuts"}))}
|
(de/show-workspace-export-dialog {:origin "workspace:shortcuts"}))}
|
||||||
|
|
||||||
:toggle-snap-ruler-guide {:tooltip (ds/meta-shift "G")
|
:toggle-snap-ruler-guide {:tooltip (ds/meta-shift "G")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-snap-ruler-guide"))
|
||||||
:command (ds/c-mod "shift+g")
|
:command (ds/c-mod "shift+g")
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (toggle-layout-flag :snap-ruler-guides))}
|
:fn #(st/emit! (toggle-layout-flag :snap-ruler-guides))}
|
||||||
|
|
||||||
:toggle-snap-guides {:tooltip (ds/meta-shift "'")
|
:toggle-snap-guides {:tooltip (ds/meta-shift "'")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-snap-guides"))
|
||||||
;;https://github.com/ccampbell/mousetrap/issues/85
|
;;https://github.com/ccampbell/mousetrap/issues/85
|
||||||
:command [(ds/c-mod "shift+'") (ds/c-mod "shift+219")]
|
:command [(ds/c-mod "shift+'") (ds/c-mod "shift+219")]
|
||||||
:show-command (ds/c-mod "shift+'")
|
:show-command (ds/c-mod "shift+'")
|
||||||
@ -549,6 +627,7 @@
|
|||||||
:fn #(st/emit! (toggle-layout-flag :snap-guides))}
|
:fn #(st/emit! (toggle-layout-flag :snap-guides))}
|
||||||
|
|
||||||
:show-shortcuts {:tooltip "?"
|
:show-shortcuts {:tooltip "?"
|
||||||
|
:label (fn [] (tr "shortcuts.show-shortcuts"))
|
||||||
:command "?"
|
:command "?"
|
||||||
:subsections [:main-menu]
|
:subsections [:main-menu]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -557,18 +636,21 @@
|
|||||||
;; PANELS
|
;; PANELS
|
||||||
|
|
||||||
:toggle-layers {:tooltip (ds/alt "L")
|
:toggle-layers {:tooltip (ds/alt "L")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-layers"))
|
||||||
:command (ds/a-mod "l")
|
:command (ds/a-mod "l")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-workspace :layout :layers))}
|
:fn #(st/emit! (dcm/go-to-workspace :layout :layers))}
|
||||||
|
|
||||||
:toggle-assets {:tooltip (ds/alt "I")
|
:toggle-assets {:tooltip (ds/alt "I")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-assets"))
|
||||||
:command (ds/a-mod "i")
|
:command (ds/a-mod "i")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-workspace :layout :assets))}
|
:fn #(st/emit! (dcm/go-to-workspace :layout :assets))}
|
||||||
|
|
||||||
:toggle-history {:tooltip (ds/meta-alt "H")
|
:toggle-history {:tooltip (ds/meta-alt "H")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-history"))
|
||||||
:command (ds/ca-mod "h")
|
:command (ds/ca-mod "h")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -576,6 +658,7 @@
|
|||||||
(dw/toggle-layout-flag :document-history))}
|
(dw/toggle-layout-flag :document-history))}
|
||||||
|
|
||||||
:toggle-colorpalette {:tooltip (ds/alt "P")
|
:toggle-colorpalette {:tooltip (ds/alt "P")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-colorpalette"))
|
||||||
:command (ds/a-mod "p")
|
:command (ds/a-mod "p")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -585,6 +668,7 @@
|
|||||||
(toggle-layout-flag :colorpalette)))}
|
(toggle-layout-flag :colorpalette)))}
|
||||||
|
|
||||||
:toggle-textpalette {:tooltip (ds/alt "T")
|
:toggle-textpalette {:tooltip (ds/alt "T")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-textpalette"))
|
||||||
:command (ds/a-mod "t")
|
:command (ds/a-mod "t")
|
||||||
:subsections [:panels]
|
:subsections [:panels]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -594,6 +678,7 @@
|
|||||||
(toggle-layout-flag :textpalette)))}
|
(toggle-layout-flag :textpalette)))}
|
||||||
|
|
||||||
:hide-ui {:tooltip "\\"
|
:hide-ui {:tooltip "\\"
|
||||||
|
:label (fn [] (tr "shortcuts.hide-ui"))
|
||||||
:command "\\"
|
:command "\\"
|
||||||
:subsections [:panels :basics]
|
:subsections [:panels :basics]
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
@ -602,42 +687,49 @@
|
|||||||
;; ZOOM-WORKSPACE
|
;; ZOOM-WORKSPACE
|
||||||
|
|
||||||
:increase-zoom {:tooltip "+"
|
:increase-zoom {:tooltip "+"
|
||||||
|
:label (fn [] (tr "shortcuts.increase-zoom"))
|
||||||
:command ["+" "="]
|
:command ["+" "="]
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/increase-zoom))}
|
:fn #(st/emit! (dw/increase-zoom))}
|
||||||
|
|
||||||
:decrease-zoom {:tooltip "-"
|
:decrease-zoom {:tooltip "-"
|
||||||
|
:label (fn [] (tr "shortcuts.decrease-zoom"))
|
||||||
:command ["-" "_"]
|
:command ["-" "_"]
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/decrease-zoom))}
|
:fn #(st/emit! (dw/decrease-zoom))}
|
||||||
|
|
||||||
:reset-zoom {:tooltip (ds/shift "0")
|
:reset-zoom {:tooltip (ds/shift "0")
|
||||||
|
:label (fn [] (tr "shortcuts.reset-zoom"))
|
||||||
:command ["shift+0" "shift+num0"]
|
:command ["shift+0" "shift+num0"]
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/reset-zoom)}
|
:fn #(st/emit! dw/reset-zoom)}
|
||||||
|
|
||||||
:fit-all {:tooltip (ds/shift "1")
|
:fit-all {:tooltip (ds/shift "1")
|
||||||
|
:label (fn [] (tr "shortcuts.fit-all"))
|
||||||
:command ["shift+1" "shift+num1"]
|
:command ["shift+1" "shift+num1"]
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-fit-all)}
|
:fn #(st/emit! dw/zoom-to-fit-all)}
|
||||||
|
|
||||||
:zoom-selected {:tooltip (ds/shift "2")
|
:zoom-selected {:tooltip (ds/shift "2")
|
||||||
|
:label (fn [] (tr "shortcuts.zoom-selected"))
|
||||||
:command ["shift+2" "shift+num2" "@" "\""]
|
:command ["shift+2" "shift+num2" "@" "\""]
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! dw/zoom-to-selected-shape)}
|
:fn #(st/emit! dw/zoom-to-selected-shape)}
|
||||||
|
|
||||||
:zoom-lense-increase {:tooltip "Z"
|
:zoom-lense-increase {:tooltip "Z"
|
||||||
|
:label (fn [] (tr "shortcuts.zoom-lense-increase"))
|
||||||
:command "z"
|
:command "z"
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn identity}
|
:fn identity}
|
||||||
|
|
||||||
:zoom-lense-decrease {:tooltip (ds/alt "Z")
|
:zoom-lense-decrease {:tooltip (ds/alt "Z")
|
||||||
|
:label (fn [] (tr "shortcuts.zoom-lense-decrease"))
|
||||||
:command "alt+z"
|
:command "alt+z"
|
||||||
:subsections [:zoom-workspace]
|
:subsections [:zoom-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -647,42 +739,49 @@
|
|||||||
|
|
||||||
|
|
||||||
:open-viewer {:tooltip "G V"
|
:open-viewer {:tooltip "G V"
|
||||||
|
:label (fn [] (tr "shortcuts.open-viewer"))
|
||||||
:command "g v"
|
:command "g v"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-viewer))}
|
:fn #(st/emit! (dcm/go-to-viewer))}
|
||||||
|
|
||||||
:open-inspect {:tooltip "G I"
|
:open-inspect {:tooltip "G I"
|
||||||
|
:label (fn [] (tr "shortcuts.open-inspect"))
|
||||||
:command "g i"
|
:command "g i"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-viewer :section :inspect))}
|
:fn #(st/emit! (dcm/go-to-viewer :section :inspect))}
|
||||||
|
|
||||||
:open-comments {:tooltip "G C"
|
:open-comments {:tooltip "G C"
|
||||||
|
:label (fn [] (tr "shortcuts.open-comments"))
|
||||||
:command "g c"
|
:command "g c"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-viewer :section :comments))}
|
:fn #(st/emit! (dcm/go-to-viewer :section :comments))}
|
||||||
|
|
||||||
:open-dashboard {:tooltip "G D"
|
:open-dashboard {:tooltip "G D"
|
||||||
|
:label (fn [] (tr "shortcuts.open-dashboard"))
|
||||||
:command "g d"
|
:command "g d"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dcm/go-to-dashboard-recent))}
|
:fn #(st/emit! (dcm/go-to-dashboard-recent))}
|
||||||
|
|
||||||
:select-prev {:tooltip (ds/shift "tab")
|
:select-prev {:tooltip (ds/shift "tab")
|
||||||
|
:label (fn [] (tr "shortcuts.select-prev"))
|
||||||
:command "shift+tab"
|
:command "shift+tab"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/select-prev-shape))}
|
:fn #(st/emit! (dw/select-prev-shape))}
|
||||||
|
|
||||||
:select-next {:tooltip ds/tab
|
:select-next {:tooltip ds/tab
|
||||||
|
:label (fn [] (tr "shortcuts.select-next"))
|
||||||
:command "tab"
|
:command "tab"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(st/emit! (dw/select-next-shape))}
|
:fn #(st/emit! (dw/select-next-shape))}
|
||||||
|
|
||||||
:select-parent-layer {:tooltip (ds/shift ds/enter)
|
:select-parent-layer {:tooltip (ds/shift ds/enter)
|
||||||
|
:label (fn [] (tr "shortcuts.select-parent-layer"))
|
||||||
:command "shift+enter"
|
:command "shift+enter"
|
||||||
:subsections [:navigation-workspace]
|
:subsections [:navigation-workspace]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -691,24 +790,28 @@
|
|||||||
|
|
||||||
|
|
||||||
:bool-union {:tooltip (ds/meta (ds/alt "U"))
|
:bool-union {:tooltip (ds/meta (ds/alt "U"))
|
||||||
|
:label (fn [] (tr "shortcuts.bool-union"))
|
||||||
:command (ds/c-mod "alt+u")
|
:command (ds/c-mod "alt+u")
|
||||||
:subsections [:shape]
|
:subsections [:shape]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/create-bool :union))}
|
:fn #(emit-when-no-readonly (dw/create-bool :union))}
|
||||||
|
|
||||||
:bool-difference {:tooltip (ds/meta (ds/alt "D"))
|
:bool-difference {:tooltip (ds/meta (ds/alt "D"))
|
||||||
|
:label (fn [] (tr "shortcuts.bool-difference"))
|
||||||
:command (ds/c-mod "alt+d")
|
:command (ds/c-mod "alt+d")
|
||||||
:subsections [:shape]
|
:subsections [:shape]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/create-bool :difference))}
|
:fn #(emit-when-no-readonly (dw/create-bool :difference))}
|
||||||
|
|
||||||
:bool-intersection {:tooltip (ds/meta (ds/alt "I"))
|
:bool-intersection {:tooltip (ds/meta (ds/alt "I"))
|
||||||
|
:label (fn [] (tr "shortcuts.bool-intersection"))
|
||||||
:command (ds/c-mod "alt+i")
|
:command (ds/c-mod "alt+i")
|
||||||
:subsections [:shape]
|
:subsections [:shape]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(emit-when-no-readonly (dw/create-bool :intersection))}
|
:fn #(emit-when-no-readonly (dw/create-bool :intersection))}
|
||||||
|
|
||||||
:bool-exclude {:tooltip (ds/meta (ds/alt "E"))
|
:bool-exclude {:tooltip (ds/meta (ds/alt "E"))
|
||||||
|
:label (fn [] (tr "shortcuts.bool-exclude"))
|
||||||
:command (ds/c-mod "alt+e")
|
:command (ds/c-mod "alt+e")
|
||||||
:subsections [:shape]
|
:subsections [:shape]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
@ -716,6 +819,7 @@
|
|||||||
|
|
||||||
;; THEME
|
;; THEME
|
||||||
:toggle-theme {:tooltip (ds/alt "M")
|
:toggle-theme {:tooltip (ds/alt "M")
|
||||||
|
:label (fn [] (tr "shortcuts.toggle-theme"))
|
||||||
:command (ds/a-mod "m")
|
:command (ds/a-mod "m")
|
||||||
:subsections [:generic :basics]
|
:subsections [:generic :basics]
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
@ -725,6 +829,7 @@
|
|||||||
|
|
||||||
;; PLUGINS
|
;; PLUGINS
|
||||||
:plugins {:tooltip (ds/meta (ds/alt "P"))
|
:plugins {:tooltip (ds/meta (ds/alt "P"))
|
||||||
|
:label (fn [] (tr "shortcuts.plugins"))
|
||||||
:command (ds/c-mod "alt+p")
|
:command (ds/c-mod "alt+p")
|
||||||
:subsections [:generic :basics]
|
:subsections [:generic :basics]
|
||||||
:section [:workspace :basics]
|
:section [:workspace :basics]
|
||||||
@ -740,14 +845,66 @@
|
|||||||
:fn #(emit-when-no-readonly (dp/open-preview-selected))}})
|
:fn #(emit-when-no-readonly (dp/open-preview-selected))}})
|
||||||
|
|
||||||
(def opacity-shortcuts
|
(def opacity-shortcuts
|
||||||
(into {} (->>
|
{:opacity-0 {:label (fn [] (tr "shortcuts.opacity-0"))
|
||||||
(range 10)
|
:tooltip "0"
|
||||||
(map (fn [n] [(keyword (str "opacity-" n))
|
:command ["0" "num0"]
|
||||||
{:tooltip (str n)
|
:section [:workspace]
|
||||||
:command [(str n) (str "num" n)]
|
:subsections [:modify-layers]
|
||||||
:section [:workspace]
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 0))}
|
||||||
:subsections [:modify-layers]
|
:opacity-1 {:label (fn [] (tr "shortcuts.opacity-1"))
|
||||||
:fn #(emit-when-no-readonly (dwly/pressed-opacity n))}])))))
|
:tooltip "1"
|
||||||
|
:command ["1" "num1"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 1))}
|
||||||
|
:opacity-2 {:label (fn [] (tr "shortcuts.opacity-2"))
|
||||||
|
:tooltip "2"
|
||||||
|
:command ["2" "num2"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 2))}
|
||||||
|
:opacity-3 {:label (fn [] (tr "shortcuts.opacity-3"))
|
||||||
|
:tooltip "3"
|
||||||
|
:command ["3" "num3"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 3))}
|
||||||
|
:opacity-4 {:label (fn [] (tr "shortcuts.opacity-4"))
|
||||||
|
:tooltip "4"
|
||||||
|
:command ["4" "num4"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 4))}
|
||||||
|
:opacity-5 {:label (fn [] (tr "shortcuts.opacity-5"))
|
||||||
|
:tooltip "5"
|
||||||
|
:command ["5" "num5"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 5))}
|
||||||
|
:opacity-6 {:label (fn [] (tr "shortcuts.opacity-6"))
|
||||||
|
:tooltip "6"
|
||||||
|
:command ["6" "num6"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 6))}
|
||||||
|
:opacity-7 {:label (fn [] (tr "shortcuts.opacity-7"))
|
||||||
|
:tooltip "7"
|
||||||
|
:command ["7" "num7"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 7))}
|
||||||
|
:opacity-8 {:label (fn [] (tr "shortcuts.opacity-8"))
|
||||||
|
:tooltip "8"
|
||||||
|
:command ["8" "num8"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 8))}
|
||||||
|
:opacity-9 {:label (fn [] (tr "shortcuts.opacity-9"))
|
||||||
|
:tooltip "9"
|
||||||
|
:command ["9" "num9"]
|
||||||
|
:section [:workspace]
|
||||||
|
:subsections [:modify-layers]
|
||||||
|
:fn #(emit-when-no-readonly (dwly/pressed-opacity 9))}})
|
||||||
|
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
(cond-> (merge base-shortcuts opacity-shortcuts dwtxts/shortcuts)
|
(cond-> (merge base-shortcuts opacity-shortcuts dwtxts/shortcuts)
|
||||||
|
|||||||
@ -17,6 +17,7 @@
|
|||||||
[app.main.fonts :as fonts]
|
[app.main.fonts :as fonts]
|
||||||
[app.main.refs :as refs]
|
[app.main.refs :as refs]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
|
[app.util.i18n :refer [tr]]
|
||||||
[cuerdas.core :as str]
|
[cuerdas.core :as str]
|
||||||
[okulary.core :as l]))
|
[okulary.core :as l]))
|
||||||
|
|
||||||
@ -238,36 +239,42 @@
|
|||||||
|
|
||||||
(def shortcuts
|
(def shortcuts
|
||||||
{:underline {:tooltip (ds/meta "U")
|
{:underline {:tooltip (ds/meta "U")
|
||||||
|
:label (fn [] (tr "shortcuts.underline"))
|
||||||
:command (ds/c-mod "u")
|
:command (ds/c-mod "u")
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(update-attrs-when-no-readonly {:text-decoration "toggle-underline"})}
|
:fn #(update-attrs-when-no-readonly {:text-decoration "toggle-underline"})}
|
||||||
|
|
||||||
:line-through {:tooltip (ds/alt (ds/meta-shift "5"))
|
:line-through {:tooltip (ds/alt (ds/meta-shift "5"))
|
||||||
|
:label (fn [] (tr "shortcuts.line-through"))
|
||||||
:command "alt+shift+5"
|
:command "alt+shift+5"
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(update-attrs-when-no-readonly {:text-decoration "toggle-line-through"})}
|
:fn #(update-attrs-when-no-readonly {:text-decoration "toggle-line-through"})}
|
||||||
|
|
||||||
:font-size-inc {:tooltip (ds/meta-shift ">")
|
:font-size-inc {:tooltip (ds/meta-shift ">")
|
||||||
|
:label (fn [] (tr "shortcuts.font-size-inc"))
|
||||||
:command (ds/c-mod "shift+.")
|
:command (ds/c-mod "shift+.")
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(update-attrs-when-no-readonly {:font-size-inc true})}
|
:fn #(update-attrs-when-no-readonly {:font-size-inc true})}
|
||||||
|
|
||||||
:font-size-dec {:tooltip (ds/meta-shift "<")
|
:font-size-dec {:tooltip (ds/meta-shift "<")
|
||||||
|
:label (fn [] (tr "shortcuts.font-size-dec"))
|
||||||
:command (ds/c-mod "shift+,")
|
:command (ds/c-mod "shift+,")
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(update-attrs-when-no-readonly {:font-size-dec true})}
|
:fn #(update-attrs-when-no-readonly {:font-size-dec true})}
|
||||||
|
|
||||||
:bold {:tooltip (ds/meta "b")
|
:bold {:tooltip (ds/meta "b")
|
||||||
|
:label (fn [] (tr "shortcuts.bold"))
|
||||||
:command (ds/c-mod "b")
|
:command (ds/c-mod "b")
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
:fn #(update-attrs-when-no-readonly {:font-variant-id "toggle-bold"})}
|
:fn #(update-attrs-when-no-readonly {:font-variant-id "toggle-bold"})}
|
||||||
|
|
||||||
:italic {:tooltip (ds/meta "i")
|
:italic {:tooltip (ds/meta "i")
|
||||||
|
:label (fn [] (tr "shortcuts.italic"))
|
||||||
:command (ds/c-mod "i")
|
:command (ds/c-mod "i")
|
||||||
:subsections [:text-editor]
|
:subsections [:text-editor]
|
||||||
:section [:workspace]
|
:section [:workspace]
|
||||||
|
|||||||
@ -17,7 +17,7 @@
|
|||||||
[app.main.data.workspace.tokens.errors :as wte]
|
[app.main.data.workspace.tokens.errors :as wte]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
[app.util.dom :as dom]
|
[app.util.dom :as dom]
|
||||||
[app.util.i18n :as i18n]
|
[app.util.i18n :as i18n :refer [tr]]
|
||||||
[beicon.v2.core :as rx]
|
[beicon.v2.core :as rx]
|
||||||
[cuerdas.core :as str]))
|
[cuerdas.core :as str]))
|
||||||
|
|
||||||
@ -54,12 +54,12 @@
|
|||||||
(let [type->tokens (group-by-value unknown-tokens)]
|
(let [type->tokens (group-by-value unknown-tokens)]
|
||||||
(l/wrn :hint "unsupported token types found during import"
|
(l/wrn :hint "unsupported token types found during import"
|
||||||
:tokens (str/join ", " (map (fn [[path type]] (str path " (" type ")")) unknown-tokens)))
|
:tokens (str/join ", " (map (fn [[path type]] (str path " (" type ")")) unknown-tokens)))
|
||||||
(ntf/show {:content (i18n/tr "workspace.tokens.unknown-token-type-message")
|
(ntf/show {:content (tr "workspace.tokens.unknown-token-type-message")
|
||||||
:is-html true
|
:is-html true
|
||||||
:detail (->> (for [[token-type token-paths] type->tokens]
|
:detail (->> (for [[token-type token-paths] type->tokens]
|
||||||
(str (i18n/tr "workspace.tokens.unknown-token-type-section"
|
(str (tr "workspace.tokens.unknown-token-type-section"
|
||||||
(dom/escape-html token-type)
|
(dom/escape-html token-type)
|
||||||
(i18n/tr "labels.warning-count" (i18n/c (count token-paths))))
|
(tr "labels.warning-count" (i18n/c (count token-paths))))
|
||||||
"<ul>"
|
"<ul>"
|
||||||
(->> token-paths
|
(->> token-paths
|
||||||
(sort)
|
(sort)
|
||||||
|
|||||||
@ -64,7 +64,7 @@
|
|||||||
|
|
||||||
(def ^:private schema:login-form
|
(def ^:private schema:login-form
|
||||||
[:map {:title "LoginForm"}
|
[:map {:title "LoginForm"}
|
||||||
[:email [::sm/email {:error/code "errors.invalid-email"}]]
|
[:email [::sm/email {:error/fn #(tr "errors.invalid-email")}]]
|
||||||
[:password {:optional true} [:string {:min 1}]]
|
[:password {:optional true} [:string {:min 1}]]
|
||||||
[:invitation-token {:optional true}
|
[:invitation-token {:optional true}
|
||||||
[:string {:min 1}]]])
|
[:string {:min 1}]]])
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
[:token ::sm/text]
|
[:token ::sm/text]
|
||||||
[:password-1 ::sm/password]
|
[:password-1 ::sm/password]
|
||||||
[:password-2 ::sm/password]]
|
[:password-2 ::sm/password]]
|
||||||
[:fn {:error/code "errors.password-invalid-confirmation"
|
[:fn {:error/fn #(tr "errors.password-invalid-confirmation")
|
||||||
:error/field :password-2}
|
:error/field :password-2}
|
||||||
(fn [{:keys [password-1 password-2]}]
|
(fn [{:keys [password-1 password-2]}]
|
||||||
(= password-1 password-2))]])
|
(= password-1 password-2))]])
|
||||||
@ -32,6 +32,12 @@
|
|||||||
(let [{:keys [type code] :as edata} (ex-data error)]
|
(let [{:keys [type code] :as edata} (ex-data error)]
|
||||||
(if (= [:validation :weak-password] [type code])
|
(if (= [:validation :weak-password] [type code])
|
||||||
(let [details (:details edata)
|
(let [details (:details edata)
|
||||||
|
;; Execution time translation strings (keys sent by the backend):
|
||||||
|
;; (tr "errors.weak-password.too-short")
|
||||||
|
;; (tr "errors.weak-password.insufficient-digits")
|
||||||
|
;; (tr "errors.weak-password.insufficient-lowercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-uppercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-special")
|
||||||
options (when (seq details)
|
options (when (seq details)
|
||||||
(mapv tr details))]
|
(mapv tr details))]
|
||||||
(swap! form assoc-in [:extra-errors :password-1]
|
(swap! form assoc-in [:extra-errors :password-1]
|
||||||
|
|||||||
@ -114,6 +114,12 @@
|
|||||||
(set-field-error! :password {:message (tr "errors.email-as-password")})
|
(set-field-error! :password {:message (tr "errors.email-as-password")})
|
||||||
|
|
||||||
[:validation :weak-password]
|
[:validation :weak-password]
|
||||||
|
;; Execution time translation strings (keys sent by the backend):
|
||||||
|
;; (tr "errors.weak-password.too-short")
|
||||||
|
;; (tr "errors.weak-password.insufficient-digits")
|
||||||
|
;; (tr "errors.weak-password.insufficient-lowercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-uppercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-special")
|
||||||
(let [options (when (seq (:details edata))
|
(let [options (when (seq (:details edata))
|
||||||
(mapv tr (:details edata)))]
|
(mapv tr (:details edata)))]
|
||||||
(set-field-error! :password {:message (tr "errors.weak-password")
|
(set-field-error! :password {:message (tr "errors.weak-password")
|
||||||
|
|||||||
@ -198,6 +198,8 @@
|
|||||||
[:div {:id (dm/str "error-" input-name)
|
[:div {:id (dm/str "error-" input-name)
|
||||||
:class (stl/css :error)
|
:class (stl/css :error)
|
||||||
:data-testid (dm/str data-testid "-error")}
|
:data-testid (dm/str data-testid "-error")}
|
||||||
|
;; legacy deprecated errors, dynamic codes by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(if (vector? code)
|
(if (vector? code)
|
||||||
(tr (nth code 0) (i18n/c (nth code 1)))
|
(tr (nth code 0) (i18n/c (nth code 1)))
|
||||||
(tr code))])
|
(tr code))])
|
||||||
@ -257,6 +259,8 @@
|
|||||||
[:span {:class (stl/css :error)} (:message error)]
|
[:span {:class (stl/css :error)} (:message error)]
|
||||||
|
|
||||||
(and touched? (:code error))
|
(and touched? (:code error))
|
||||||
|
;; legacy errors, dynamic codes by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
[:span {:class (stl/css :error)} (tr (:code error))]
|
[:span {:class (stl/css :error)} (tr (:code error))]
|
||||||
|
|
||||||
(string? hint)
|
(string? hint)
|
||||||
|
|||||||
@ -336,6 +336,8 @@
|
|||||||
[:> text* {:class (stl/css :error-message)
|
[:> text* {:class (stl/css :error-message)
|
||||||
:as "span"
|
:as "span"
|
||||||
:typography t/body-small}
|
:typography t/body-small}
|
||||||
|
;; backend-provided error key, dynamic by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(if (some? (:error entry))
|
(if (some? (:error entry))
|
||||||
(tr (:error entry))
|
(tr (:error entry))
|
||||||
(tr "dashboard.import.analyze-error"))]
|
(tr "dashboard.import.analyze-error"))]
|
||||||
@ -344,6 +346,8 @@
|
|||||||
[:> text* {:class (stl/css :error-message)
|
[:> text* {:class (stl/css :error-message)
|
||||||
:as "span"
|
:as "span"
|
||||||
:typography t/body-small}
|
:typography t/body-small}
|
||||||
|
;; backend-provided error key, dynamic by design
|
||||||
|
#_{:clj-kondo/ignore [:penpot/tr-dynamic]}
|
||||||
(if (some? (:error entry))
|
(if (some? (:error entry))
|
||||||
(tr (:error entry))
|
(tr (:error entry))
|
||||||
(tr "labels.error"))]
|
(tr "labels.error"))]
|
||||||
|
|||||||
@ -400,10 +400,10 @@
|
|||||||
(and can-change-rol (or member-is-admin member-is-editor member-is-viewer)))
|
(and can-change-rol (or member-is-admin member-is-editor member-is-viewer)))
|
||||||
|
|
||||||
role (cond
|
role (cond
|
||||||
member-is-owner "labels.owner"
|
member-is-owner (tr "labels.owner")
|
||||||
member-is-admin "labels.admin"
|
member-is-admin (tr "labels.admin")
|
||||||
member-is-editor "labels.editor"
|
member-is-editor (tr "labels.editor")
|
||||||
:else "labels.viewer")
|
:else (tr "labels.viewer"))
|
||||||
|
|
||||||
on-show (mf/use-fn #(reset! show? true))
|
on-show (mf/use-fn #(reset! show? true))
|
||||||
on-hide (mf/use-fn #(reset! show? false))]
|
on-hide (mf/use-fn #(reset! show? false))]
|
||||||
@ -414,10 +414,10 @@
|
|||||||
:aria-labelledby "role-label-id"
|
:aria-labelledby "role-label-id"
|
||||||
:on-click on-show}
|
:on-click on-show}
|
||||||
[:span {:class (stl/css :rol-label)
|
[:span {:class (stl/css :rol-label)
|
||||||
:id "role-label-id"} (tr role)]
|
:id "role-label-id"} role]
|
||||||
arrow-icon]
|
arrow-icon]
|
||||||
[:div {:class (stl/css :rol-selector)}
|
[:div {:class (stl/css :rol-selector)}
|
||||||
[:span {:class (stl/css :rol-label)} (tr role)]])
|
[:span {:class (stl/css :rol-label)} role]])
|
||||||
|
|
||||||
[:& dropdown {:show @show? :on-close on-hide :dropdown-id (str "member-role-" (:id member))}
|
[:& dropdown {:show @show? :on-close on-hide :dropdown-id (str "member-role-" (:id member))}
|
||||||
[:ul {:class (stl/css :roles-dropdown)
|
[:ul {:class (stl/css :roles-dropdown)
|
||||||
@ -883,7 +883,13 @@
|
|||||||
[:div {:class (stl/css :invitation-list)}
|
[:div {:class (stl/css :invitation-list)}
|
||||||
(for [{:keys [email role]} selected]
|
(for [{:keys [email role]} selected]
|
||||||
[:p {:key email}
|
[:p {:key email}
|
||||||
(str "- " email " (" (tr (str "labels." (name role))) ")")])]]
|
(str "- " email " ("
|
||||||
|
(cond
|
||||||
|
(= role :owner) (tr "labels.owner")
|
||||||
|
(= role :admin) (tr "labels.admin")
|
||||||
|
(= role :editor) (tr "labels.editor")
|
||||||
|
:else (tr "labels.viewer"))
|
||||||
|
")")])]]
|
||||||
|
|
||||||
[:div {:class (stl/css :modal-footer)}
|
[:div {:class (stl/css :modal-footer)}
|
||||||
[:div {:class (stl/css :action-buttons :modal-invitation-action-buttons)}
|
[:div {:class (stl/css :action-buttons :modal-invitation-action-buttons)}
|
||||||
@ -915,7 +921,7 @@
|
|||||||
(mf/defc select-organization-modal
|
(mf/defc select-organization-modal
|
||||||
{::mf/register modal/components
|
{::mf/register modal/components
|
||||||
::mf/register-as :select-organization-modal}
|
::mf/register-as :select-organization-modal}
|
||||||
[{:keys [organizations organizations-allowed current-organization on-confirm title-key text-key choose-key placeholder-key accept-key cancel-key info-message-key description-key team-id]}]
|
[{:keys [organizations organizations-allowed current-organization on-confirm title text choose placeholder accept cancel info-message description team-id]}]
|
||||||
(let [current-organization-id (:id current-organization)
|
(let [current-organization-id (:id current-organization)
|
||||||
has-current-org? (some? current-organization)
|
has-current-org? (some? current-organization)
|
||||||
valid-organizations (mf/with-memo [organizations current-organization-id]
|
valid-organizations (mf/with-memo [organizations current-organization-id]
|
||||||
@ -992,30 +998,30 @@
|
|||||||
[:div {:class (stl/css :modal-select-organization-container :modal-container)}
|
[:div {:class (stl/css :modal-select-organization-container :modal-container)}
|
||||||
[:div {:class (stl/css :modal-select-organization-header)}
|
[:div {:class (stl/css :modal-select-organization-header)}
|
||||||
[:h2 {:class (stl/css :modal-select-organization-title)}
|
[:h2 {:class (stl/css :modal-select-organization-title)}
|
||||||
(tr title-key)]
|
title]
|
||||||
|
|
||||||
[:button {:class (stl/css :modal-close-btn)
|
[:button {:class (stl/css :modal-close-btn)
|
||||||
:on-click modal/hide!} deprecated-icon/close]]
|
:on-click modal/hide!} deprecated-icon/close]]
|
||||||
|
|
||||||
(when text-key
|
(when text
|
||||||
[:div {:class (stl/css :modal-content :modal-select-organization-text)} (tr text-key)])
|
[:div {:class (stl/css :modal-content :modal-select-organization-text)} text])
|
||||||
|
|
||||||
[:div {:class (stl/css :modal-select-organization-body)}
|
[:div {:class (stl/css :modal-select-organization-body)}
|
||||||
(when (or description-key info-message-key)
|
(when (or description info-message)
|
||||||
[:div {:class (stl/css :modal-select-organization-info)}
|
[:div {:class (stl/css :modal-select-organization-info)}
|
||||||
(when description-key
|
(when description
|
||||||
[:div
|
[:div
|
||||||
(tr description-key)])
|
description])
|
||||||
(when info-message-key
|
(when info-message
|
||||||
[:div
|
[:div
|
||||||
(tr info-message-key)])])
|
info-message])])
|
||||||
[:div {:class (stl/css :modal-select-organization-content)}
|
[:div {:class (stl/css :modal-select-organization-content)}
|
||||||
(tr choose-key)]
|
choose]
|
||||||
[:> combobox* {:id "selected-id"
|
[:> combobox* {:id "selected-id"
|
||||||
:class (stl/css :team-member)
|
:class (stl/css :team-member)
|
||||||
:options options
|
:options options
|
||||||
:select-only true
|
:select-only true
|
||||||
:placeholder (tr placeholder-key)
|
:placeholder placeholder
|
||||||
:on-change on-change
|
:on-change on-change
|
||||||
:default-selected (if has-current-org?
|
:default-selected (if has-current-org?
|
||||||
(str current-organization-id)
|
(str current-organization-id)
|
||||||
@ -1042,14 +1048,14 @@
|
|||||||
:variant "secondary"
|
:variant "secondary"
|
||||||
:type "button"
|
:type "button"
|
||||||
:on-click modal/hide!}
|
:on-click modal/hide!}
|
||||||
(tr cancel-key)]
|
cancel]
|
||||||
[:> button*
|
[:> button*
|
||||||
{:class (stl/css :accept-btn)
|
{:class (stl/css :accept-btn)
|
||||||
:variant "primary"
|
:variant "primary"
|
||||||
:type "button"
|
:type "button"
|
||||||
:disabled disabled?
|
:disabled disabled?
|
||||||
:on-click on-confirm'}
|
:on-click on-confirm'}
|
||||||
(tr accept-key)]]]]]))
|
accept]]]]]))
|
||||||
|
|
||||||
(mf/defc invitation-section*
|
(mf/defc invitation-section*
|
||||||
{::mf/private true}
|
{::mf/private true}
|
||||||
@ -1114,7 +1120,7 @@
|
|||||||
|
|
||||||
(and (= :restriction type)
|
(and (= :restriction type)
|
||||||
(= :max-quote-reached code))
|
(= :max-quote-reached code))
|
||||||
(st/emit! (ntf/error (tr "errors.max-quote-reached" (:target error))))
|
(st/emit! (ntf/error (tr "errors.max-quota-reached" (:target error))))
|
||||||
|
|
||||||
(or (= :member-is-muted code)
|
(or (= :member-is-muted code)
|
||||||
(= :email-has-permanent-bounces code)
|
(= :email-has-permanent-bounces code)
|
||||||
|
|||||||
@ -8,7 +8,6 @@
|
|||||||
"The files export dialog/modal"
|
"The files export dialog/modal"
|
||||||
(:require-macros [app.main.style :as stl])
|
(:require-macros [app.main.style :as stl])
|
||||||
(:require
|
(:require
|
||||||
[app.common.data :as d]
|
|
||||||
[app.common.data.macros :as dm]
|
[app.common.data.macros :as dm]
|
||||||
[app.config :as cf]
|
[app.config :as cf]
|
||||||
[app.main.data.exports.files :as fexp]
|
[app.main.data.exports.files :as fexp]
|
||||||
@ -157,19 +156,6 @@
|
|||||||
:key (name type)}
|
:key (name type)}
|
||||||
[:label {:for (str "export-" type)
|
[:label {:for (str "export-" type)
|
||||||
:class (stl/css :export-option-label)}
|
:class (stl/css :export-option-label)}
|
||||||
;; Execution time translation strings:
|
|
||||||
;; (tr "files-export-modal.options.include-libraries.title")
|
|
||||||
;; (tr "files-export-modal.options.include-libraries.message")
|
|
||||||
|
|
||||||
;; (tr "files-export-modal.options.merge-libraries.title")
|
|
||||||
;; (tr "files-export-modal.options.merge-libraries.message")
|
|
||||||
|
|
||||||
;; (tr "files-export-modal.options.detach-libraries.title")
|
|
||||||
;; (tr "files-export-modal.options.detach-libraries.message")
|
|
||||||
|
|
||||||
;; (tr "files-export-modal.options.link-later.title")
|
|
||||||
;; (tr "files-export-modal.options.link-later.message")
|
|
||||||
|
|
||||||
[:span {:class (stl/css-case
|
[:span {:class (stl/css-case
|
||||||
:option-icon-wrapper true
|
:option-icon-wrapper true
|
||||||
:checked (= selected type))}
|
:checked (= selected type))}
|
||||||
@ -185,9 +171,17 @@
|
|||||||
[:> heading* {:level 3
|
[:> heading* {:level 3
|
||||||
:typography t/body-large
|
:typography t/body-large
|
||||||
:class (stl/css :option-title)}
|
:class (stl/css :option-title)}
|
||||||
(tr (dm/str "files-export-modal.options." (d/name type) ".title"))]
|
(case type
|
||||||
|
:include-libraries (tr "files-export-modal.options.include-libraries.title")
|
||||||
|
:merge-libraries (tr "files-export-modal.options.merge-libraries.title")
|
||||||
|
:detach-libraries (tr "files-export-modal.options.detach-libraries.title")
|
||||||
|
:link-later (tr "files-export-modal.options.link-later.title"))]
|
||||||
[:> text* {:as "p" :typography t/body-large :class (stl/css :modal-msg)}
|
[:> text* {:as "p" :typography t/body-large :class (stl/css :modal-msg)}
|
||||||
(tr (dm/str "files-export-modal.options." (d/name type) ".message"))]]
|
(case type
|
||||||
|
:include-libraries (tr "files-export-modal.options.include-libraries.message")
|
||||||
|
:merge-libraries (tr "files-export-modal.options.merge-libraries.message")
|
||||||
|
:detach-libraries (tr "files-export-modal.options.detach-libraries.message")
|
||||||
|
:link-later (tr "files-export-modal.options.link-later.message"))]]
|
||||||
|
|
||||||
[:input {:type "radio"
|
[:input {:type "radio"
|
||||||
:class (stl/css :option-input)
|
:class (stl/css :option-input)
|
||||||
|
|||||||
@ -107,28 +107,27 @@
|
|||||||
(when (:text-decoration style)
|
(when (:text-decoration style)
|
||||||
[:div {:class (stl/css :text-row)}
|
[:div {:class (stl/css :text-row)}
|
||||||
[:div {:class (stl/css :global/attr-label)} "Text Decoration"]
|
[:div {:class (stl/css :global/attr-label)} "Text Decoration"]
|
||||||
;; Execution time translation strings:
|
|
||||||
;; (tr "inspect.attributes.typography.text-decoration.none")
|
|
||||||
;; (tr "inspect.attributes.typography.text-decoration.strikethrough")
|
|
||||||
;; (tr "inspect.attributes.typography.text-decoration.underline")
|
|
||||||
[:div {:class (stl/css :global/attr-value)}
|
[:div {:class (stl/css :global/attr-value)}
|
||||||
[:> copy-button* {:data (copy-style-data style :text-decoration)}
|
[:> copy-button* {:data (copy-style-data style :text-decoration)}
|
||||||
[:div {:class (stl/css :button-children)}
|
[:div {:class (stl/css :button-children)}
|
||||||
(tr (dm/str "inspect.attributes.typography.text-decoration." (:text-decoration style)))]]]])
|
(case (:text-decoration style)
|
||||||
|
"none" (tr "inspect.attributes.typography.text-decoration.none")
|
||||||
|
"underline" (tr "inspect.attributes.typography.text-decoration.underline")
|
||||||
|
;; The style value is "line-through", the label is "strikethrough".
|
||||||
|
"line-through" (tr "inspect.attributes.typography.text-decoration.strikethrough"))]]]])
|
||||||
|
|
||||||
(when (:text-transform style)
|
(when (:text-transform style)
|
||||||
[:div {:class (stl/css :text-row)}
|
[:div {:class (stl/css :text-row)}
|
||||||
[:div {:class (stl/css :global/attr-label)} "Text Transform"]
|
[:div {:class (stl/css :global/attr-label)} "Text Transform"]
|
||||||
;; Execution time translation strings:
|
|
||||||
;; (tr "inspect.attributes.typography.text-transform.lowercase")
|
|
||||||
;; (tr "inspect.attributes.typography.text-transform.none")
|
|
||||||
;; (tr "inspect.attributes.typography.text-transform.capitalize")
|
|
||||||
;; (tr "inspect.attributes.typography.text-transform.uppercase")
|
|
||||||
;; (tr "inspect.attributes.typography.text-transform.unset")
|
|
||||||
[:div {:class (stl/css :global/attr-value)}
|
[:div {:class (stl/css :global/attr-value)}
|
||||||
[:> copy-button* {:data (copy-style-data style :text-transform)}
|
[:> copy-button* {:data (copy-style-data style :text-transform)}
|
||||||
[:div {:class (stl/css :button-children)}
|
[:div {:class (stl/css :button-children)}
|
||||||
(tr (dm/str "inspect.attributes.typography.text-transform." (:text-transform style)))]]]])
|
(case (:text-transform style)
|
||||||
|
"lowercase" (tr "inspect.attributes.typography.text-transform.lowercase")
|
||||||
|
"none" (tr "inspect.attributes.typography.text-transform.none")
|
||||||
|
"capitalize" (tr "inspect.attributes.typography.text-transform.capitalize")
|
||||||
|
"uppercase" (tr "inspect.attributes.typography.text-transform.uppercase")
|
||||||
|
"unset" (tr "inspect.attributes.typography.text-transform.unset"))]]]])
|
||||||
|
|
||||||
[:> copy-button* {:data (str/trim text)
|
[:> copy-button* {:data (str/trim text)
|
||||||
:class (stl/css :attributes-content-row)}
|
:class (stl/css :attributes-content-row)}
|
||||||
|
|||||||
@ -69,9 +69,9 @@
|
|||||||
[:div {:class (stl/css :warning-notice)}
|
[:div {:class (stl/css :warning-notice)}
|
||||||
[:& context-notification
|
[:& context-notification
|
||||||
{:level :warning
|
{:level :warning
|
||||||
:content (tr (if has-organizations?
|
:content (if has-organizations?
|
||||||
"modals.delete-account.info.with-organizations"
|
(tr "modals.delete-account.info.with-organizations")
|
||||||
"modals.delete-account.info"))}]]
|
(tr "modals.delete-account.info"))}]]
|
||||||
|
|
||||||
(when has-organizations?
|
(when has-organizations?
|
||||||
[:div {:class (stl/css :organizations-section)}
|
[:div {:class (stl/css :organizations-section)}
|
||||||
|
|||||||
@ -100,9 +100,9 @@
|
|||||||
"disable-webgl-rendering")
|
"disable-webgl-rendering")
|
||||||
::ev/origin "settings"})
|
::ev/origin "settings"})
|
||||||
(du/update-profile-props {:renderer (if enabled? :wasm :svg)})
|
(du/update-profile-props {:renderer (if enabled? :wasm :svg)})
|
||||||
(ntf/success (tr (if enabled?
|
(ntf/success (if enabled?
|
||||||
"webgl.toast.webgl-render-enabled"
|
(tr "webgl.toast.webgl-render-enabled")
|
||||||
"webgl.toast.webgl-render-disabled"))))))]
|
(tr "webgl.toast.webgl-render-disabled"))))))]
|
||||||
[:section {:class (stl/css :webgl-container)}
|
[:section {:class (stl/css :webgl-container)}
|
||||||
[:header {:class (stl/css :webgl-header)}
|
[:header {:class (stl/css :webgl-header)}
|
||||||
[:> heading* {:class (stl/css :title) :level 2 :typography t/title-large} (tr "dashboard.webgl-switch.title")]
|
[:> heading* {:class (stl/css :title) :level 2 :typography t/title-large} (tr "dashboard.webgl-switch.title")]
|
||||||
|
|||||||
@ -30,6 +30,12 @@
|
|||||||
|
|
||||||
:weak-password
|
:weak-password
|
||||||
(let [details (:details data)
|
(let [details (:details data)
|
||||||
|
;; Execution time translation strings (keys sent by the backend):
|
||||||
|
;; (tr "errors.weak-password.too-short")
|
||||||
|
;; (tr "errors.weak-password.insufficient-digits")
|
||||||
|
;; (tr "errors.weak-password.insufficient-lowercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-uppercase")
|
||||||
|
;; (tr "errors.weak-password.insufficient-special")
|
||||||
options (when (seq details)
|
options (when (seq details)
|
||||||
(mapv tr details))]
|
(mapv tr details))]
|
||||||
(swap! form assoc-in [:extra-errors :password-1]
|
(swap! form assoc-in [:extra-errors :password-1]
|
||||||
@ -64,7 +70,7 @@
|
|||||||
;; The old password is validated by the backend, so it only needs to be
|
;; The old password is validated by the backend, so it only needs to be
|
||||||
;; present here; it may predate the current minimum length policy.
|
;; present here; it may predate the current minimum length policy.
|
||||||
[:password-old [::sm/text {:max 500}]]]
|
[:password-old [::sm/text {:max 500}]]]
|
||||||
[:fn {:error/code "errors.password-invalid-confirmation"
|
[:fn {:error/fn #(tr "errors.password-invalid-confirmation")
|
||||||
:error/field :password-2}
|
:error/field :password-2}
|
||||||
(fn [{:keys [password-1 password-2]}]
|
(fn [{:keys [password-1 password-2]}]
|
||||||
(= password-1 password-2))]])
|
(= password-1 password-2))]])
|
||||||
|
|||||||
@ -15,6 +15,7 @@
|
|||||||
[app.main.data.profile :as du]
|
[app.main.data.profile :as du]
|
||||||
[app.main.data.shortcuts :as ds]
|
[app.main.data.shortcuts :as ds]
|
||||||
[app.main.data.viewer.shortcuts :as vsc]
|
[app.main.data.viewer.shortcuts :as vsc]
|
||||||
|
[app.main.data.workspace.grid-layout.shortcuts :as gsc]
|
||||||
[app.main.data.workspace.path.shortcuts :as psc]
|
[app.main.data.workspace.path.shortcuts :as psc]
|
||||||
[app.main.data.workspace.shortcuts :as wsc]
|
[app.main.data.workspace.shortcuts :as wsc]
|
||||||
[app.main.store :as st]
|
[app.main.store :as st]
|
||||||
@ -117,13 +118,60 @@
|
|||||||
:final-key (normalize-key event)
|
:final-key (normalize-key event)
|
||||||
:finalized? true})))
|
:finalized? true})))
|
||||||
|
|
||||||
|
;; Shortcut labels live on the command definitions themselves as :label
|
||||||
|
;; fns (see the app.main.data.*.shortcuts namespaces), so every key stays
|
||||||
|
;; a static tr string literal visible to rehash with no declaration needed.
|
||||||
|
|
||||||
|
(def ^:private section-labels
|
||||||
|
{:basics (fn [] (tr "shortcuts.section.basics"))
|
||||||
|
:workspace (fn [] (tr "shortcuts.section.workspace"))
|
||||||
|
:dashboard (fn [] (tr "shortcuts.section.dashboard"))
|
||||||
|
:viewer (fn [] (tr "shortcuts.section.viewer"))})
|
||||||
|
|
||||||
|
(def ^:private subsection-labels
|
||||||
|
{:alignment (fn [] (tr "shortcuts.subsection.alignment"))
|
||||||
|
:edit (fn [] (tr "shortcuts.subsection.edit"))
|
||||||
|
:generic (fn [] (tr "shortcuts.subsection.generic"))
|
||||||
|
:main-menu (fn [] (tr "shortcuts.subsection.main-menu"))
|
||||||
|
:modify-layers (fn [] (tr "shortcuts.subsection.modify-layers"))
|
||||||
|
:navigation-dashboard (fn [] (tr "shortcuts.subsection.navigation-dashboard"))
|
||||||
|
:navigation-viewer (fn [] (tr "shortcuts.subsection.navigation-viewer"))
|
||||||
|
:navigation-workspace (fn [] (tr "shortcuts.subsection.navigation-workspace"))
|
||||||
|
:panels (fn [] (tr "shortcuts.subsection.panels"))
|
||||||
|
:path-editor (fn [] (tr "shortcuts.subsection.path-editor"))
|
||||||
|
:shape (fn [] (tr "shortcuts.subsection.shape"))
|
||||||
|
:text-editor (fn [] (tr "shortcuts.subsection.text-editor"))
|
||||||
|
:tools (fn [] (tr "shortcuts.subsection.tools"))
|
||||||
|
:zoom-viewer (fn [] (tr "shortcuts.subsection.zoom-viewer"))
|
||||||
|
:zoom-workspace (fn [] (tr "shortcuts.subsection.zoom-workspace"))})
|
||||||
|
|
||||||
|
(def ^:private command-labels
|
||||||
|
"id -> :label fn index over every command definition map. Labels are
|
||||||
|
defined once on the definitions; this is only an index."
|
||||||
|
(into {}
|
||||||
|
(map (fn [[k v]] [k (:label v)]))
|
||||||
|
(concat wsc/shortcuts
|
||||||
|
psc/shortcuts
|
||||||
|
dsc/shortcuts
|
||||||
|
dsc/shortcuts-sidebar-navigation
|
||||||
|
dsc/shortcut-search
|
||||||
|
dsc/shortcut-create-new-project
|
||||||
|
vsc/shortcuts
|
||||||
|
gsc/shortcuts)))
|
||||||
|
|
||||||
(defn translation-keyname
|
(defn translation-keyname
|
||||||
[type keyname]
|
[type keyname]
|
||||||
(let [translat-pre (case type
|
(let [label-fn (case type
|
||||||
:sc "shortcuts."
|
:sc (get command-labels keyname)
|
||||||
:sec "shortcut-section."
|
:sec (get section-labels keyname)
|
||||||
:sub-sec "shortcut-subsection.")]
|
:sub-sec (get subsection-labels keyname))]
|
||||||
(tr (str translat-pre (d/name keyname)))))
|
(if (fn? label-fn)
|
||||||
|
(label-fn)
|
||||||
|
(str (case type
|
||||||
|
:sc "shortcuts."
|
||||||
|
:sec "shortcuts.section."
|
||||||
|
:sub-sec "shortcuts.subsection.")
|
||||||
|
(d/name keyname)))))
|
||||||
|
|
||||||
(defn- find-conflict
|
(defn- find-conflict
|
||||||
[new-command all-shortcuts current-key]
|
[new-command all-shortcuts current-key]
|
||||||
@ -247,13 +295,13 @@
|
|||||||
db-subs (dissoc db-subs :basics)
|
db-subs (dissoc db-subs :basics)
|
||||||
vw-subs (dissoc vw-subs :basics)
|
vw-subs (dissoc vw-subs :basics)
|
||||||
all {:basics {:children {:none {:children basics}}
|
all {:basics {:children {:none {:children basics}}
|
||||||
:translation (tr "shortcut-section.basics")}
|
:translation (tr "shortcuts.section.basics")}
|
||||||
:workspace {:children ws-subs
|
:workspace {:children ws-subs
|
||||||
:translation (tr "shortcut-section.workspace")}
|
:translation (tr "shortcuts.section.workspace")}
|
||||||
:dashboard {:children db-subs
|
:dashboard {:children db-subs
|
||||||
:translation (tr "shortcut-section.dashboard")}
|
:translation (tr "shortcuts.section.dashboard")}
|
||||||
:viewer {:children vw-subs
|
:viewer {:children vw-subs
|
||||||
:translation (tr "shortcut-section.viewer")}}
|
:translation (tr "shortcuts.section.viewer")}}
|
||||||
all (walk all nil)
|
all (walk all nil)
|
||||||
all-sc-names (map #(translation-keyname :sc %)
|
all-sc-names (map #(translation-keyname :sc %)
|
||||||
(concat (keys workspace-sc)
|
(concat (keys workspace-sc)
|
||||||
@ -316,11 +364,11 @@
|
|||||||
vw-subs (dissoc vw-subs :basics)
|
vw-subs (dissoc vw-subs :basics)
|
||||||
ws-subs (merge ws-subs pt-subs)
|
ws-subs (merge ws-subs pt-subs)
|
||||||
all {:workspace {:children ws-subs
|
all {:workspace {:children ws-subs
|
||||||
:translation (tr "shortcut-section.workspace")}
|
:translation (tr "shortcuts.section.workspace")}
|
||||||
:dashboard {:children db-subs
|
:dashboard {:children db-subs
|
||||||
:translation (tr "shortcut-section.dashboard")}
|
:translation (tr "shortcuts.section.dashboard")}
|
||||||
:viewer {:children vw-subs
|
:viewer {:children vw-subs
|
||||||
:translation (tr "shortcut-section.viewer")}}
|
:translation (tr "shortcuts.section.viewer")}}
|
||||||
all (walk all nil)
|
all (walk all nil)
|
||||||
all-sc-names (map #(translation-keyname :sc %)
|
all-sc-names (map #(translation-keyname :sc %)
|
||||||
(concat (keys workspace-sc)
|
(concat (keys workspace-sc)
|
||||||
|
|||||||
@ -1005,7 +1005,7 @@
|
|||||||
[:*
|
[:*
|
||||||
[:> icon-button* {:variant "ghost"
|
[:> icon-button* {:variant "ghost"
|
||||||
:aria-pressed show-menu?
|
:aria-pressed show-menu?
|
||||||
:aria-label (tr "shortcut-subsection.main-menu")
|
:aria-label (tr "shortcuts.subsection.main-menu")
|
||||||
:on-click toggle-menu
|
:on-click toggle-menu
|
||||||
:icon i/menu}]
|
:icon i/menu}]
|
||||||
|
|
||||||
|
|||||||
@ -108,37 +108,43 @@
|
|||||||
[type multiple?]
|
[type multiple?]
|
||||||
(let [arity (if multiple? "multiple" "single")
|
(let [arity (if multiple? "multiple" "single")
|
||||||
attribute (name (or type :multiple))]
|
attribute (name (or type :multiple))]
|
||||||
;; Execution time translation strings:
|
;; Unknown attributes fall back to the raw key, as before.
|
||||||
;; (tr "workspace.undo.entry.multiple.circle")
|
(case arity
|
||||||
;; (tr "workspace.undo.entry.multiple.color")
|
"multiple"
|
||||||
;; (tr "workspace.undo.entry.multiple.component")
|
(case attribute
|
||||||
;; (tr "workspace.undo.entry.multiple.curve")
|
"circle" (tr "workspace.undo.entry.multiple.circle")
|
||||||
;; (tr "workspace.undo.entry.multiple.frame")
|
"color" (tr "workspace.undo.entry.multiple.color")
|
||||||
;; (tr "workspace.undo.entry.multiple.group")
|
"component" (tr "workspace.undo.entry.multiple.component")
|
||||||
;; (tr "workspace.undo.entry.multiple.media")
|
"curve" (tr "workspace.undo.entry.multiple.curve")
|
||||||
;; (tr "workspace.undo.entry.multiple.multiple")
|
"frame" (tr "workspace.undo.entry.multiple.frame")
|
||||||
;; (tr "workspace.undo.entry.multiple.page")
|
"group" (tr "workspace.undo.entry.multiple.group")
|
||||||
;; (tr "workspace.undo.entry.multiple.path")
|
"media" (tr "workspace.undo.entry.multiple.media")
|
||||||
;; (tr "workspace.undo.entry.multiple.rect")
|
"multiple" (tr "workspace.undo.entry.multiple.multiple")
|
||||||
;; (tr "workspace.undo.entry.multiple.shape")
|
"page" (tr "workspace.undo.entry.multiple.page")
|
||||||
;; (tr "workspace.undo.entry.multiple.text")
|
"path" (tr "workspace.undo.entry.multiple.path")
|
||||||
;; (tr "workspace.undo.entry.multiple.typography")
|
"rect" (tr "workspace.undo.entry.multiple.rect")
|
||||||
;; (tr "workspace.undo.entry.single.circle")
|
"shape" (tr "workspace.undo.entry.multiple.shape")
|
||||||
;; (tr "workspace.undo.entry.single.color")
|
"text" (tr "workspace.undo.entry.multiple.text")
|
||||||
;; (tr "workspace.undo.entry.single.component")
|
"typography" (tr "workspace.undo.entry.multiple.typography")
|
||||||
;; (tr "workspace.undo.entry.single.curve")
|
(str "workspace.undo.entry.multiple." attribute))
|
||||||
;; (tr "workspace.undo.entry.single.frame")
|
"single"
|
||||||
;; (tr "workspace.undo.entry.single.group")
|
(case attribute
|
||||||
;; (tr "workspace.undo.entry.single.image")
|
"circle" (tr "workspace.undo.entry.single.circle")
|
||||||
;; (tr "workspace.undo.entry.single.media")
|
"color" (tr "workspace.undo.entry.single.color")
|
||||||
;; (tr "workspace.undo.entry.single.multiple")
|
"component" (tr "workspace.undo.entry.single.component")
|
||||||
;; (tr "workspace.undo.entry.single.page")
|
"curve" (tr "workspace.undo.entry.single.curve")
|
||||||
;; (tr "workspace.undo.entry.single.path")
|
"frame" (tr "workspace.undo.entry.single.frame")
|
||||||
;; (tr "workspace.undo.entry.single.rect")
|
"group" (tr "workspace.undo.entry.single.group")
|
||||||
;; (tr "workspace.undo.entry.single.shape")
|
"image" (tr "workspace.undo.entry.single.image")
|
||||||
;; (tr "workspace.undo.entry.single.text")
|
"media" (tr "workspace.undo.entry.single.media")
|
||||||
;; (tr "workspace.undo.entry.single.typography")
|
"multiple" (tr "workspace.undo.entry.single.multiple")
|
||||||
(tr (str/format "workspace.undo.entry.%s.%s" arity attribute))))
|
"page" (tr "workspace.undo.entry.single.page")
|
||||||
|
"path" (tr "workspace.undo.entry.single.path")
|
||||||
|
"rect" (tr "workspace.undo.entry.single.rect")
|
||||||
|
"shape" (tr "workspace.undo.entry.single.shape")
|
||||||
|
"text" (tr "workspace.undo.entry.single.text")
|
||||||
|
"typography" (tr "workspace.undo.entry.single.typography")
|
||||||
|
(str "workspace.undo.entry.single." attribute)))))
|
||||||
|
|
||||||
(defn entry->message [entry]
|
(defn entry->message [entry]
|
||||||
(let [value (entry-type->message (:type entry) (= :multiple (:id entry)))]
|
(let [value (entry-type->message (:type entry) (= :multiple (:id entry)))]
|
||||||
|
|||||||
@ -653,7 +653,10 @@
|
|||||||
:text (tr "workspace.sidebar.layers.texts")
|
:text (tr "workspace.sidebar.layers.texts")
|
||||||
:image (tr "workspace.sidebar.layers.images")
|
:image (tr "workspace.sidebar.layers.images")
|
||||||
:shape (tr "workspace.sidebar.layers.shapes")
|
:shape (tr "workspace.sidebar.layers.shapes")
|
||||||
(tr fkey))
|
;; Unreachable from the UI (the menu only emits the
|
||||||
|
;; above); fall back to the raw name, which is what
|
||||||
|
;; tr would render for an unknown key anyway.
|
||||||
|
fname)
|
||||||
filter-icon (usi/get-shape-icon-by-type fkey)]
|
filter-icon (usi/get-shape-icon-by-type fkey)]
|
||||||
|
|
||||||
[:button {:class (stl/css :layer-filter)
|
[:button {:class (stl/css :layer-filter)
|
||||||
|
|||||||
@ -208,7 +208,9 @@
|
|||||||
[:> title-bar* {:collapsable has-exports?
|
[:> title-bar* {:collapsable has-exports?
|
||||||
:collapsed (not open?)
|
:collapsed (not open?)
|
||||||
:on-collapsed toggle-content
|
:on-collapsed toggle-content
|
||||||
:title (tr (if (> (count ids) 1) "workspace.options.export-multiple" "workspace.options.export"))
|
:title (if (> (count ids) 1)
|
||||||
|
(tr "workspace.options.export-multiple")
|
||||||
|
(tr "workspace.options.export"))
|
||||||
:class (stl/css-case :title-spacing-export (not has-exports?))}
|
:class (stl/css-case :title-spacing-export (not has-exports?))}
|
||||||
[:> icon-button* {:variant "ghost"
|
[:> icon-button* {:variant "ghost"
|
||||||
:aria-label (tr "workspace.options.export.add-export")
|
:aria-label (tr "workspace.options.export.add-export")
|
||||||
|
|||||||
@ -75,14 +75,14 @@
|
|||||||
[:div {:class (stl/css :element-set)}
|
[:div {:class (stl/css :element-set)}
|
||||||
[:div {:class (stl/css :element-title)}
|
[:div {:class (stl/css :element-title)}
|
||||||
[:> title-bar* {:collapsable false
|
[:> title-bar* {:collapsable false
|
||||||
:title (tr "workspace.options.pixel grid-color")
|
:title (tr "workspace.options.pixel-grid-color")
|
||||||
:class (stl/css :title-spacing-page)}]]
|
:class (stl/css :title-spacing-page)}]]
|
||||||
[:div {:class (stl/css :element-content)}
|
[:div {:class (stl/css :element-content)}
|
||||||
|
|
||||||
[:> color-row*
|
[:> color-row*
|
||||||
{:disable-gradient true
|
{:disable-gradient true
|
||||||
:disable-image true
|
:disable-image true
|
||||||
:title (tr "workspace.options.pixel grid-color")
|
:title (tr "workspace.options.pixel-grid-color")
|
||||||
:color grid-color
|
:color grid-color
|
||||||
:on-change on-grid-change
|
:on-change on-grid-change
|
||||||
:origin :pixel-grid
|
:origin :pixel-grid
|
||||||
|
|||||||
@ -103,7 +103,7 @@
|
|||||||
[:> icon-button* {:variant "ghost"
|
[:> icon-button* {:variant "ghost"
|
||||||
:icon i/add
|
:icon i/add
|
||||||
:on-click on-start-creation
|
:on-click on-start-creation
|
||||||
:aria-label (tr "workspace.tokens.add set")}])
|
:aria-label (tr "workspace.tokens.add-set")}])
|
||||||
|
|
||||||
(mf/defc sets-tree-set-group*
|
(mf/defc sets-tree-set-group*
|
||||||
{::mf/private true}
|
{::mf/private true}
|
||||||
|
|||||||
@ -35,9 +35,9 @@
|
|||||||
[:div {:class (stl/css :viewport-actions-title)}
|
[:div {:class (stl/css :viewport-actions-title)}
|
||||||
[:> i18n/tr-html*
|
[:> i18n/tr-html*
|
||||||
{:tag-name "span"
|
{:tag-name "span"
|
||||||
:content (tr (if render-context-lost?
|
:content (if render-context-lost?
|
||||||
"workspace.top-bar.webgl-context-lost"
|
(tr "workspace.top-bar.webgl-context-lost")
|
||||||
"workspace.top-bar.view-only"))}]]
|
(tr "workspace.top-bar.view-only"))}]]
|
||||||
(if render-context-lost?
|
(if render-context-lost?
|
||||||
[:> button* {:variant "primary" :on-click (fn [] (js/location.reload))}
|
[:> button* {:variant "primary" :on-click (fn [] (js/location.reload))}
|
||||||
(tr "workspace.top-bar.webgl-context-lost.reload")]
|
(tr "workspace.top-bar.webgl-context-lost.reload")]
|
||||||
|
|||||||
@ -197,6 +197,10 @@
|
|||||||
(apply str/fmt value (map #(if (c? %) @% %) args)))))))
|
(apply str/fmt value (map #(if (c? %) @% %) args)))))))
|
||||||
|
|
||||||
(defn tr
|
(defn tr
|
||||||
|
"Translate a literal key, e.g. (tr \"workspace.foo\").
|
||||||
|
Always pass a string literal: rehash only detects (tr \"key\")
|
||||||
|
call sites. Never branch inside tr, hoist the conditional out:
|
||||||
|
(if cond (tr \"a\") (tr \"b\")), NOT (tr (if cond \"a\" \"b\"))."
|
||||||
([code] (t *current-locale* code))
|
([code] (t *current-locale* code))
|
||||||
([code & args] (apply t *current-locale* code args)))
|
([code & args] (apply t *current-locale* code args)))
|
||||||
|
|
||||||
|
|||||||
@ -98,12 +98,14 @@
|
|||||||
[frontend-tests.ui.comments-position-modifier-test]
|
[frontend-tests.ui.comments-position-modifier-test]
|
||||||
[frontend-tests.ui.ds-controls-numeric-input-test]
|
[frontend-tests.ui.ds-controls-numeric-input-test]
|
||||||
[frontend-tests.ui.gradient-handlers-test]
|
[frontend-tests.ui.gradient-handlers-test]
|
||||||
|
[frontend-tests.ui.history-test]
|
||||||
[frontend-tests.ui.layout-container-multiple-test]
|
[frontend-tests.ui.layout-container-multiple-test]
|
||||||
[frontend-tests.ui.measures-menu-props-test]
|
[frontend-tests.ui.measures-menu-props-test]
|
||||||
[frontend-tests.ui.organization-team-switch-test]
|
[frontend-tests.ui.organization-team-switch-test]
|
||||||
[frontend-tests.ui.routes-test]
|
[frontend-tests.ui.routes-test]
|
||||||
[frontend-tests.ui.settings-password-schema-test]
|
[frontend-tests.ui.settings-password-schema-test]
|
||||||
[frontend-tests.ui.settings-shortcuts-test]
|
[frontend-tests.ui.settings-shortcuts-test]
|
||||||
|
[frontend-tests.ui.shortcuts-labels-test]
|
||||||
[frontend-tests.ui.sidebar-scroll-test]
|
[frontend-tests.ui.sidebar-scroll-test]
|
||||||
[frontend-tests.util-clipboard-test]
|
[frontend-tests.util-clipboard-test]
|
||||||
[frontend-tests.util-object-test]
|
[frontend-tests.util-object-test]
|
||||||
@ -221,6 +223,7 @@
|
|||||||
'frontend-tests.ui.comments-position-modifier-test
|
'frontend-tests.ui.comments-position-modifier-test
|
||||||
'frontend-tests.ui.ds-controls-numeric-input-test
|
'frontend-tests.ui.ds-controls-numeric-input-test
|
||||||
'frontend-tests.ui.gradient-handlers-test
|
'frontend-tests.ui.gradient-handlers-test
|
||||||
|
'frontend-tests.ui.history-test
|
||||||
'frontend-tests.ui.layout-container-multiple-test
|
'frontend-tests.ui.layout-container-multiple-test
|
||||||
'frontend-tests.ui.measures-menu-props-test
|
'frontend-tests.ui.measures-menu-props-test
|
||||||
'frontend-tests.ui.organization-team-switch-test
|
'frontend-tests.ui.organization-team-switch-test
|
||||||
@ -229,6 +232,7 @@
|
|||||||
'frontend-tests.text-editor-paste-guard-test
|
'frontend-tests.text-editor-paste-guard-test
|
||||||
'frontend-tests.ui.settings-password-schema-test
|
'frontend-tests.ui.settings-password-schema-test
|
||||||
'frontend-tests.ui.settings-shortcuts-test
|
'frontend-tests.ui.settings-shortcuts-test
|
||||||
|
'frontend-tests.ui.shortcuts-labels-test
|
||||||
'frontend-tests.ui.sidebar-scroll-test
|
'frontend-tests.ui.sidebar-scroll-test
|
||||||
'frontend-tests.util-clipboard-test
|
'frontend-tests.util-clipboard-test
|
||||||
'frontend-tests.util-object-test
|
'frontend-tests.util-object-test
|
||||||
|
|||||||
49
frontend/test/frontend_tests/ui/history_test.cljs
Normal file
49
frontend/test/frontend_tests/ui/history_test.cljs
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
;; 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.history-test
|
||||||
|
(:require
|
||||||
|
[app.main.ui.workspace.sidebar.history :as history]
|
||||||
|
[app.util.i18n :as i18n]
|
||||||
|
[cljs.test :as t :include-macros true]
|
||||||
|
[frontend-tests.helpers.mock :as mock]))
|
||||||
|
|
||||||
|
;; entry-type->message resolves every undo entry type through a static
|
||||||
|
;; (tr "literal") call (see :penpot/tr-dynamic). The stub marks keys that
|
||||||
|
;; go through tr, so the test locks the exact key per type and proves
|
||||||
|
;; unknown types fall back to the raw key without translation.
|
||||||
|
|
||||||
|
(def ^:private multiple-attributes
|
||||||
|
["circle" "color" "component" "curve" "frame" "group" "media" "multiple"
|
||||||
|
"page" "path" "rect" "shape" "text" "typography"])
|
||||||
|
|
||||||
|
(def ^:private single-attributes
|
||||||
|
["circle" "color" "component" "curve" "frame" "group" "image" "media"
|
||||||
|
"multiple" "page" "path" "rect" "shape" "text" "typography"])
|
||||||
|
|
||||||
|
(t/deftest entry-type-message-uses-static-keys
|
||||||
|
(with-redefs [i18n/tr (mock/stub (fn [k] (str "TR:" k)))]
|
||||||
|
(t/testing "multiple arity resolves a literal key per attribute"
|
||||||
|
(doseq [attribute multiple-attributes]
|
||||||
|
(t/is (= (str "TR:workspace.undo.entry.multiple." attribute)
|
||||||
|
(history/entry-type->message (keyword attribute) true))
|
||||||
|
attribute)))
|
||||||
|
|
||||||
|
(t/testing "single arity resolves a literal key per attribute"
|
||||||
|
(doseq [attribute single-attributes]
|
||||||
|
(t/is (= (str "TR:workspace.undo.entry.single." attribute)
|
||||||
|
(history/entry-type->message (keyword attribute) false))
|
||||||
|
attribute)))
|
||||||
|
|
||||||
|
(t/testing "nil type reads as multiple"
|
||||||
|
(t/is (= "TR:workspace.undo.entry.single.multiple"
|
||||||
|
(history/entry-type->message nil false))))
|
||||||
|
|
||||||
|
(t/testing "unknown attributes fall back to the raw key"
|
||||||
|
(t/is (= "workspace.undo.entry.single.frobnicate"
|
||||||
|
(history/entry-type->message :frobnicate false)))
|
||||||
|
(t/is (= "workspace.undo.entry.multiple.frobnicate"
|
||||||
|
(history/entry-type->message :frobnicate true))))))
|
||||||
@ -25,14 +25,19 @@
|
|||||||
|
|
||||||
(defn- error-codes
|
(defn- error-codes
|
||||||
"Maps every schema problem to [field error-code], mirroring how
|
"Maps every schema problem to [field error-code], mirroring how
|
||||||
app.common.schema.messages resolves the message shown next to an input."
|
app.common.schema.messages resolves the message shown next to an input
|
||||||
|
(:error/fn wins over :error/code; tr returns the bare code when no
|
||||||
|
locale data is loaded, as in tests)."
|
||||||
[data]
|
[data]
|
||||||
(->> (:errors (sm/explain passwd/schema:password-form data))
|
(->> (:errors (sm/explain passwd/schema:password-form data))
|
||||||
(map (fn [{:keys [in schema]}]
|
(map (fn [{:keys [in schema] :as problem}]
|
||||||
(let [props (m/properties schema)
|
(let [props (m/properties schema)
|
||||||
tprops (m/type-properties schema)]
|
tprops (m/type-properties schema)
|
||||||
|
efn (or (:error/fn props) (:error/fn tprops))]
|
||||||
[(or (:error/field props) (first in))
|
[(or (:error/field props) (first in))
|
||||||
(or (:error/code props) (:error/code tprops))])))
|
(if efn
|
||||||
|
(efn problem)
|
||||||
|
(or (:error/code props) (:error/code tprops)))])))
|
||||||
(into {})))
|
(into {})))
|
||||||
|
|
||||||
(t/deftest short-old-password-is-accepted
|
(t/deftest short-old-password-is-accepted
|
||||||
|
|||||||
77
frontend/test/frontend_tests/ui/shortcuts_labels_test.cljs
Normal file
77
frontend/test/frontend_tests/ui/shortcuts_labels_test.cljs
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
;; 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.shortcuts-labels-test
|
||||||
|
(:require
|
||||||
|
[app.main.data.dashboard.shortcuts :as dsc]
|
||||||
|
[app.main.data.viewer.shortcuts :as vsc]
|
||||||
|
[app.main.data.workspace.grid-layout.shortcuts :as gsc]
|
||||||
|
[app.main.data.workspace.path.shortcuts :as psc]
|
||||||
|
[app.main.data.workspace.shortcuts :as wsc]
|
||||||
|
[app.main.ui.shortcuts :as ss]
|
||||||
|
[app.util.i18n :as i18n]
|
||||||
|
[cljs.test :as t :include-macros true]
|
||||||
|
[frontend-tests.helpers.mock :as mock]))
|
||||||
|
|
||||||
|
;; Every shortcut command definition carries a :label fn holding a static
|
||||||
|
;; (tr "literal") (see :penpot/tr-dynamic). This locks the wiring: all
|
||||||
|
;; definition ids resolve through translation-keyname, and unknown ids
|
||||||
|
;; (stale custom shortcuts, debug commands) fall back to the raw key.
|
||||||
|
;; Exempt: :preview-frame (debug-only, no PO key) and :delete-stop
|
||||||
|
;; (colorpicker-local, never translated); both keep today's raw fallback.
|
||||||
|
|
||||||
|
(def ^:private definition-maps
|
||||||
|
[wsc/shortcuts
|
||||||
|
psc/shortcuts
|
||||||
|
dsc/shortcuts
|
||||||
|
dsc/shortcuts-sidebar-navigation
|
||||||
|
dsc/shortcut-search
|
||||||
|
dsc/shortcut-create-new-project
|
||||||
|
vsc/shortcuts
|
||||||
|
gsc/shortcuts])
|
||||||
|
|
||||||
|
(def ^:private exempt-ids
|
||||||
|
#{:preview-frame})
|
||||||
|
|
||||||
|
(def ^:private section-ids
|
||||||
|
[:basics :workspace :dashboard :viewer])
|
||||||
|
|
||||||
|
(def ^:private subsection-ids
|
||||||
|
[:alignment :basics :edit :generic :main-menu :modify-layers
|
||||||
|
:navigation-dashboard :navigation-viewer :navigation-workspace
|
||||||
|
:panels :path-editor :shape :text-editor :tools :zoom-viewer
|
||||||
|
:zoom-workspace])
|
||||||
|
|
||||||
|
(t/deftest command-definitions-carry-static-labels
|
||||||
|
(with-redefs [i18n/tr (mock/stub (fn [k] (str "TR:" k)))]
|
||||||
|
(t/testing "every definition id resolves its literal key"
|
||||||
|
(doseq [shortcuts definition-maps
|
||||||
|
[id entry] shortcuts
|
||||||
|
:when (not (contains? exempt-ids id))]
|
||||||
|
(t/is (fn? (:label entry)) (str id " has a :label fn"))
|
||||||
|
(t/is (= (str "TR:shortcuts." (name id))
|
||||||
|
(ss/translation-keyname :sc id))
|
||||||
|
(str id " resolves"))))
|
||||||
|
|
||||||
|
(t/testing "sections resolve their literal keys"
|
||||||
|
(doseq [id section-ids]
|
||||||
|
(t/is (= (str "TR:shortcuts.section." (name id))
|
||||||
|
(ss/translation-keyname :sec id))
|
||||||
|
(str id " resolves"))))
|
||||||
|
|
||||||
|
(t/testing "subsections resolve, bare basics falls back to raw"
|
||||||
|
(doseq [id (remove #{:basics} subsection-ids)]
|
||||||
|
(t/is (= (str "TR:shortcuts.subsection." (name id))
|
||||||
|
(ss/translation-keyname :sub-sec id))
|
||||||
|
(str id " resolves")))
|
||||||
|
(t/is (= "shortcuts.subsection.basics"
|
||||||
|
(ss/translation-keyname :sub-sec :basics))))
|
||||||
|
|
||||||
|
(t/testing "unknown ids fall back to the raw key"
|
||||||
|
(t/is (= "shortcuts.stale-id"
|
||||||
|
(ss/translation-keyname :sc :stale-id)))
|
||||||
|
(t/is (= "shortcuts.preview-frame"
|
||||||
|
(ss/translation-keyname :sc :preview-frame))))))
|
||||||
@ -11,78 +11,61 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Reeds 'n rekening?"
|
msgstr "Reeds 'n rekening?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Gaan jou e-pos na en klik op die skakel om te verifieer en Penpot te begin "
|
|
||||||
"gebruik."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Bevestig wagwoord"
|
msgstr "Bevestig wagwoord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Skep demo rekening"
|
msgstr "Skep demo rekening"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Wil jy dit net probeer?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Dit is 'n DEMO-diens, MOENIE vir werklike werk gebruik nie, die projekte "
|
"Dit is 'n DEMO-diens, MOENIE vir werklike werk gebruik nie, die projekte "
|
||||||
"sal periodiek uitgevee word."
|
"sal periodiek uitgevee word."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Wagwoord vergeet?"
|
msgstr "Wagwoord vergeet?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Volle naam"
|
msgstr "Volle naam"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Meld hier aan"
|
msgstr "Meld hier aan"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Meld aan"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Tik 'n nuwe wagwoord in"
|
msgstr "Tik 'n nuwe wagwoord in"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Wagwoord suksesvol verander"
|
msgstr "Wagwoord suksesvol verander"
|
||||||
|
|
||||||
@ -96,19 +79,19 @@ msgstr ""
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Wagwoordherwinningskakel na jou inkassie gestuur."
|
msgstr "Wagwoordherwinningskakel na jou inkassie gestuur."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Het suksesvol by die span aangesluit"
|
msgstr "Het suksesvol by die span aangesluit"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Wagwoord"
|
msgstr "Wagwoord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Ten minste 8 karakters"
|
msgstr "Ten minste 8 karakters"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Privaatheidsbeleid"
|
msgstr "Privaatheidsbeleid"
|
||||||
|
|
||||||
@ -116,56 +99,35 @@ msgstr "Privaatheidsbeleid"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Herstel Wagwoord"
|
msgstr "Herstel Wagwoord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Ons sal vir jou 'n e-pos stuur met instruksies"
|
msgstr "Ons sal vir jou 'n e-pos stuur met instruksies"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Wagwoord vergeet?"
|
msgstr "Wagwoord vergeet?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Verander jou wagwoord"
|
msgstr "Verander jou wagwoord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Nog nie 'n rekening nie?"
|
msgstr "Nog nie 'n rekening nie?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Skep 'n rekening"
|
msgstr "Skep 'n rekening"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Skep 'n rekening"
|
msgstr "Skep 'n rekening"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "Die oopbron-oplossing vir ontwerp en prototipering."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Diensbepalings"
|
msgstr "Diensbepalings"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
msgid "auth.terms-privacy-agreement"
|
|
||||||
msgstr ""
|
|
||||||
"Wanneer jy 'n nuwe rekening skep, stem jy in tot ons diensbepalings en "
|
|
||||||
"privaatheidsbeleid."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Ons het 'n verifikasie-e-pos aan gestuur"
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "branding-illustrations-marketing-pieces"
|
|
||||||
msgstr "...handelsmerk, illustrasies, bemarkingsstukke, ens."
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Publiseer"
|
msgstr "Publiseer"
|
||||||
|
|
||||||
@ -237,50 +199,23 @@ msgstr "Deel prototipes"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Kies Alles"
|
msgstr "Kies Alles"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Depubliseer"
|
msgstr "Depubliseer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Spanbestuur"
|
msgstr "Spanbestuur"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr "Penpot is bedoel vir spanne. Nooi lede om saam te werk aan projekte en lêers"
|
msgstr "Penpot is bedoel vir spanne. Nooi lede om saam te werk aan projekte en lêers"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "Span saam!"
|
msgstr "Span saam!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr ""
|
|
||||||
"Leer die basiese beginsels by Penpot terwyl jy pret het met hierdie "
|
|
||||||
"praktiese tutoriaal."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Begin die tutoriaal"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Gaan stap deur Penpot en leer sy hoofkenmerke ken."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.start"
|
|
||||||
msgstr "Begin die toer"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.title"
|
|
||||||
msgstr "Koppelvlak Deurloop"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Voeg by as Gedeelde Biblioteek"
|
msgstr "Voeg by as Gedeelde Biblioteek"
|
||||||
|
|
||||||
@ -288,11 +223,11 @@ msgstr "Voeg by as Gedeelde Biblioteek"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Verander e-pos"
|
msgstr "Verander e-pos"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(kopieer)"
|
msgstr "(kopieer)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Skep 'n nuwe span"
|
msgstr "Skep 'n nuwe span"
|
||||||
|
|
||||||
@ -300,7 +235,7 @@ msgstr "Skep 'n nuwe span"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Jou Penpot"
|
msgstr "Jou Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Verwyder span"
|
msgstr "Verwyder span"
|
||||||
|
|
||||||
@ -308,20 +243,15 @@ msgstr "Verwyder span"
|
|||||||
msgid "dashboard.download-binary-file"
|
msgid "dashboard.download-binary-file"
|
||||||
msgstr "Laai Penpot-lêer (.penpot) af"
|
msgstr "Laai Penpot-lêer (.penpot) af"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:712
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
#, unused
|
|
||||||
msgid "dashboard.download-standard-file"
|
|
||||||
msgstr "Laai standaardlêer af (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "Dupliseer"
|
msgstr "Dupliseer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "Dupliseer %s lêers"
|
msgstr "Dupliseer %s lêers"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:281
|
#: src/app/main/ui/dashboard/file_menu.cljs:279
|
||||||
msgid "dashboard.export-binary-multi"
|
msgid "dashboard.export-binary-multi"
|
||||||
msgstr "Laai %s Penpot lêers (.penpot) af"
|
msgstr "Laai %s Penpot lêers (.penpot) af"
|
||||||
|
|
||||||
@ -333,10 +263,6 @@ msgstr "Voer borde as PDF uit"
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "Voer as PDF uit"
|
msgstr "Voer as PDF uit"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "Voer %s Penpot lêers uit"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "Die hersteltoken is ongeldig."
|
msgstr "Die hersteltoken is ongeldig."
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -11,72 +11,60 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 5.6-dev\n"
|
"X-Generator: Weblate 5.6-dev\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "অ্যাকাউন্ট আছে?"
|
msgstr "অ্যাকাউন্ট আছে?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"আপনার ইমেইল চেক করুন এবং লিংকে ক্লিক করে ভেরিফাই করে Penpot ব্যবহার শুরু "
|
|
||||||
"করুন।"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "পাসওয়ার্ড নিশ্চিত করুন"
|
msgstr "পাসওয়ার্ড নিশ্চিত করুন"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "ডেমো অ্যাকাউন্ট তৈরী করুন"
|
msgstr "ডেমো অ্যাকাউন্ট তৈরী করুন"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"এটি একটি ডেমো সার্ভিস। প্রয়োজনীয় কোনো কাজে ব্যবহার করবেন না। কিছু সময় পর "
|
"এটি একটি ডেমো সার্ভিস। প্রয়োজনীয় কোনো কাজে ব্যবহার করবেন না। কিছু সময় পর "
|
||||||
"প্রজেক্টগুলো মুছে ফেলা হবে।"
|
"প্রজেক্টগুলো মুছে ফেলা হবে।"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "পাসওয়ার্ড ভুলে গেছেন?"
|
msgstr "পাসওয়ার্ড ভুলে গেছেন?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "পুরো নাম"
|
msgstr "পুরো নাম"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "এখানে লগিন করুন"
|
msgstr "এখানে লগিন করুন"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "লগিন"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "গিটহাব"
|
msgstr "গিটহাব"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "গিটল্যাব"
|
msgstr "গিটল্যাব"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "গুগল"
|
msgstr "গুগল"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "ওপেনআইডি"
|
msgstr "ওপেনআইডি"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "নতুন পাসওয়ার্ড টাইপ করুন"
|
msgstr "নতুন পাসওয়ার্ড টাইপ করুন"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "রিকভারি টোকেন সঠিক নয়।"
|
msgstr "রিকভারি টোকেন সঠিক নয়।"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,78 +11,61 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Har du allerede en konto?"
|
msgstr "Har du allerede en konto?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Tjek din mail og klik på linket for at bekræfte og starte med at bruge "
|
|
||||||
"Penpot."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Bekræft adgangskode"
|
msgstr "Bekræft adgangskode"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Lav demokonto"
|
msgstr "Lav demokonto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Vil du bare prøve det?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Det her er en DEMO service, BRUG IKKE for rigtigt arbejde, projekterne vil "
|
"Det her er en DEMO service, BRUG IKKE for rigtigt arbejde, projekterne vil "
|
||||||
"blive slettet periodevis."
|
"blive slettet periodevis."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Glemt adgangskode?"
|
msgstr "Glemt adgangskode?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Fulde Navn"
|
msgstr "Fulde Navn"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Log på her"
|
msgstr "Log på her"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Log på"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "Github"
|
msgstr "Github"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "Gitlab"
|
msgstr "Gitlab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Indtast et nyt kodeord"
|
msgstr "Indtast et nyt kodeord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Adgangskoden er blevet ændret"
|
msgstr "Adgangskoden er blevet ændret"
|
||||||
|
|
||||||
@ -94,15 +77,15 @@ msgstr "Profilen er ikke bekræftet, venligt verificer profilen før du går vid
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Gendannelseslink for adgangskoden er sendt til din indbakke."
|
msgstr "Gendannelseslink for adgangskoden er sendt til din indbakke."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Tilsluttet teamet med succes"
|
msgstr "Tilsluttet teamet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Adgangskode"
|
msgstr "Adgangskode"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Mindst 8 karakterer"
|
msgstr "Mindst 8 karakterer"
|
||||||
|
|
||||||
@ -110,41 +93,31 @@ msgstr "Mindst 8 karakterer"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Gendan Adgangskode"
|
msgstr "Gendan Adgangskode"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Vi sender dig en mail med instruktioner"
|
msgstr "Vi sender dig en mail med instruktioner"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Glemt adgangskode?"
|
msgstr "Glemt adgangskode?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Skift din adgangskode"
|
msgstr "Skift din adgangskode"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Ingen konto?"
|
msgstr "Ingen konto?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Opret en konto"
|
msgstr "Opret en konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Opret en konto"
|
msgstr "Opret en konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "Open-source løsningen for design og prototyping."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Vi har sendt en bekræftelsesmail til"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Tilføj som Delt Bibliotek"
|
msgstr "Tilføj som Delt Bibliotek"
|
||||||
|
|
||||||
@ -152,11 +125,11 @@ msgstr "Tilføj som Delt Bibliotek"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Skift email"
|
msgstr "Skift email"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(kopi)"
|
msgstr "(kopi)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Opret nyt team"
|
msgstr "Opret nyt team"
|
||||||
|
|
||||||
@ -164,15 +137,15 @@ msgstr "Opret nyt team"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Dit Penpot"
|
msgstr "Dit Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Slet team"
|
msgstr "Slet team"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "Dublikér"
|
msgstr "Dublikér"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "Dublikér %s filer"
|
msgstr "Dublikér %s filer"
|
||||||
|
|
||||||
@ -198,7 +171,7 @@ msgstr ""
|
|||||||
msgid "dashboard.invite-profile"
|
msgid "dashboard.invite-profile"
|
||||||
msgstr "Invitér til team"
|
msgstr "Invitér til team"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "Forlad team"
|
msgstr "Forlad team"
|
||||||
|
|
||||||
@ -210,31 +183,31 @@ msgstr "Delte Biblioteker"
|
|||||||
msgid "dashboard.loading-files"
|
msgid "dashboard.loading-files"
|
||||||
msgstr "indlæser dine filer…"
|
msgstr "indlæser dine filer…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101
|
#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
|
||||||
msgid "dashboard.move-to"
|
msgid "dashboard.move-to"
|
||||||
msgstr "Flyt til"
|
msgstr "Flyt til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:277
|
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
||||||
msgid "dashboard.move-to-multi"
|
msgid "dashboard.move-to-multi"
|
||||||
msgstr "Flyt %s filer til"
|
msgstr "Flyt %s filer til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:249
|
#: src/app/main/ui/dashboard/file_menu.cljs:73
|
||||||
msgid "dashboard.move-to-other-team"
|
msgid "dashboard.move-to-other-team"
|
||||||
msgstr "Flyt til andet team"
|
msgstr "Flyt til andet team"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ Ny Fil"
|
msgstr "+ Ny Fil"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "Ny Fil"
|
msgstr "Ny Fil"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ Nyt projekt"
|
msgstr "+ Nyt projekt"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "Nyt Projekt"
|
msgstr "Nyt Projekt"
|
||||||
|
|
||||||
@ -242,39 +215,39 @@ msgstr "Nyt Projekt"
|
|||||||
msgid "dashboard.no-matches-for"
|
msgid "dashboard.no-matches-for"
|
||||||
msgstr "Intet match fundet for “%s“"
|
msgstr "Intet match fundet for “%s“"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1177
|
#: src/app/main/ui/dashboard/sidebar.cljs:400
|
||||||
msgid "dashboard.no-projects-placeholder"
|
msgid "dashboard.no-projects-placeholder"
|
||||||
msgstr "Fastgjorte projekter bliver vist her"
|
msgstr "Fastgjorte projekter bliver vist her"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "Din email-adresse er blevet opdateret med succes"
|
msgstr "Din email-adresse er blevet opdateret med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:31
|
#: src/app/main/ui/auth/verify_token.cljs:32
|
||||||
msgid "dashboard.notifications.email-verified-successfully"
|
msgid "dashboard.notifications.email-verified-successfully"
|
||||||
msgstr "Din email-adresse er blevet bekræftet med succes"
|
msgstr "Din email-adresse er blevet bekræftet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:46
|
#: src/app/main/ui/settings/password.cljs:52
|
||||||
msgid "dashboard.notifications.password-saved"
|
msgid "dashboard.notifications.password-saved"
|
||||||
msgstr "Adgangskode gemt med succes!"
|
msgstr "Adgangskode gemt med succes!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1719
|
#: src/app/main/ui/dashboard/team.cljs:1725
|
||||||
msgid "dashboard.num-of-members"
|
msgid "dashboard.num-of-members"
|
||||||
msgstr "%s medlemmer"
|
msgstr "%s medlemmer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "Åben fil i en ny fane"
|
msgstr "Åben fil i en ny fane"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "Skift adgangskode"
|
msgstr "Skift adgangskode"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/pin_button.cljs:22, src/app/main/ui/dashboard/project_menu.cljs:96
|
#: 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
|
||||||
msgid "dashboard.pin-unpin"
|
msgid "dashboard.pin-unpin"
|
||||||
msgstr "Fastgør/Løsne"
|
msgstr "Fastgør/Løsne"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59
|
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
|
||||||
msgid "dashboard.projects-title"
|
msgid "dashboard.projects-title"
|
||||||
msgstr "Projekter"
|
msgstr "Projekter"
|
||||||
|
|
||||||
@ -282,12 +255,7 @@ msgstr "Projekter"
|
|||||||
msgid "dashboard.remove-account"
|
msgid "dashboard.remove-account"
|
||||||
msgstr "Vil du slette din konto?"
|
msgstr "Vil du slette din konto?"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "dashboard.remove-shared"
|
|
||||||
msgstr "Fjern som Delt Bibliotek"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:283, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
|
|
||||||
msgid "dashboard.search-placeholder"
|
msgid "dashboard.search-placeholder"
|
||||||
msgstr "Søg…"
|
msgstr "Søg…"
|
||||||
|
|
||||||
@ -303,47 +271,47 @@ msgstr "Vælg UI sprog"
|
|||||||
msgid "dashboard.select-ui-theme"
|
msgid "dashboard.select-ui-theme"
|
||||||
msgstr "Vælg tema"
|
msgstr "Vælg tema"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:292
|
#: src/app/main/ui/dashboard/projects.cljs:288
|
||||||
msgid "dashboard.show-all-files"
|
msgid "dashboard.show-all-files"
|
||||||
msgstr "Vis alle filer"
|
msgstr "Vis alle filer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:99
|
#: src/app/main/ui/dashboard/file_menu.cljs:129
|
||||||
msgid "dashboard.success-delete-file"
|
msgid "dashboard.success-delete-file"
|
||||||
msgstr "Din fil er blevet slettet med succes"
|
msgstr "Din fil er blevet slettet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:63
|
#: src/app/main/ui/dashboard/project_menu.cljs:74
|
||||||
msgid "dashboard.success-delete-project"
|
msgid "dashboard.success-delete-project"
|
||||||
msgstr "Dit projekt er blevet slettet med succes"
|
msgstr "Dit projekt er blevet slettet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:94
|
#: src/app/main/ui/dashboard/file_menu.cljs:124
|
||||||
msgid "dashboard.success-duplicate-file"
|
msgid "dashboard.success-duplicate-file"
|
||||||
msgstr "Din fil er blevet dublikeret med succes"
|
msgstr "Din fil er blevet dublikeret med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:35
|
#: src/app/main/ui/dashboard/project_menu.cljs:46
|
||||||
msgid "dashboard.success-duplicate-project"
|
msgid "dashboard.success-duplicate-project"
|
||||||
msgstr "Dit projekt er blevet dublikeret med succes"
|
msgstr "Dit projekt er blevet dublikeret med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:133, src/app/main/ui/dashboard/grid.cljs:719, src/app/main/ui/dashboard/sidebar.cljs:193
|
#: 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
|
||||||
msgid "dashboard.success-move-file"
|
msgid "dashboard.success-move-file"
|
||||||
msgstr "Din fil er blevet flyttet med succes"
|
msgstr "Din fil er blevet flyttet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:132
|
#: src/app/main/ui/dashboard/file_menu.cljs:161
|
||||||
msgid "dashboard.success-move-files"
|
msgid "dashboard.success-move-files"
|
||||||
msgstr "Dine filer er blevet flyttet med succes"
|
msgstr "Dine filer er blevet flyttet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:57
|
#: src/app/main/ui/dashboard/project_menu.cljs:68
|
||||||
msgid "dashboard.success-move-project"
|
msgid "dashboard.success-move-project"
|
||||||
msgstr "Dit projekt er blevet flyttet med succes"
|
msgstr "Dit projekt er blevet flyttet med succes"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1663
|
#: src/app/main/ui/dashboard/team.cljs:1669
|
||||||
msgid "dashboard.team-info"
|
msgid "dashboard.team-info"
|
||||||
msgstr "Team info"
|
msgstr "Team info"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1708
|
#: src/app/main/ui/dashboard/team.cljs:1714
|
||||||
msgid "dashboard.team-members"
|
msgid "dashboard.team-members"
|
||||||
msgstr "Medlemmer"
|
msgstr "Medlemmer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1723
|
#: src/app/main/ui/dashboard/team.cljs:1729
|
||||||
msgid "dashboard.team-projects"
|
msgid "dashboard.team-projects"
|
||||||
msgstr "Team projekter"
|
msgstr "Team projekter"
|
||||||
|
|
||||||
@ -375,11 +343,11 @@ msgstr "Email"
|
|||||||
msgid "dashboard.your-name"
|
msgid "dashboard.your-name"
|
||||||
msgstr "Dit navn"
|
msgstr "Dit navn"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:691, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, 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:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
|
||||||
msgid "ds.confirm-cancel"
|
msgid "ds.confirm-cancel"
|
||||||
msgstr "Fortryd"
|
msgstr "Fortryd"
|
||||||
|
|
||||||
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
||||||
msgid "ds.confirm-ok"
|
msgid "ds.confirm-ok"
|
||||||
msgstr "Ok"
|
msgstr "Ok"
|
||||||
|
|
||||||
@ -391,27 +359,19 @@ msgstr "Er du sikker?"
|
|||||||
msgid "errors.clipboard-not-implemented"
|
msgid "errors.clipboard-not-implemented"
|
||||||
msgstr "Din browser kan ikke gøre denne operation"
|
msgstr "Din browser kan ikke gøre denne operation"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "Genopretningspoletten er ugyldig."
|
msgstr "Genopretningspoletten er ugyldig."
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "labels.custom-fonts"
|
|
||||||
msgstr "Brugerdefinerede skrifttyper"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:472
|
#: src/app/main/ui/dashboard/fonts.cljs:472
|
||||||
msgid "labels.font-family"
|
msgid "labels.font-family"
|
||||||
msgstr "Skrifttypefamilie"
|
msgstr "Skrifttypefamilie"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
|
||||||
msgid "labels.font-providers"
|
|
||||||
msgstr "Skrifttype udbydere"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:1152
|
|
||||||
msgid "labels.fonts"
|
msgid "labels.fonts"
|
||||||
msgstr "Skrifttyper"
|
msgstr "Skrifttyper"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:376, src/app/main/ui/static.cljs:199, src/app/main/ui/viewer/login.cljs:122
|
#: 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
|
||||||
msgid "labels.go-back"
|
msgid "labels.go-back"
|
||||||
msgstr "Gå tilbage!"
|
msgstr "Gå tilbage!"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,78 +11,61 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "¿Ya tienes una cuenta?"
|
msgstr "¿Ya tienes una cuenta?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Revise su correo electrónico y haga clic en el enlace para verificar y "
|
|
||||||
"comenzar a usar Penpot."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Confirmar Contraseña"
|
msgstr "Confirmar Contraseña"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Crear cuenta demo"
|
msgstr "Crear cuenta demo"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "¿Solo quieres probarlo?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Este es un servicio DEMO, NO LO UTILICE para trabajos reales, los proyectos "
|
"Este es un servicio DEMO, NO LO UTILICE para trabajos reales, los proyectos "
|
||||||
"se borrarán periódicamente."
|
"se borrarán periódicamente."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "¿Has olvidado tu contraseña?"
|
msgstr "¿Has olvidado tu contraseña?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Nombre completo"
|
msgstr "Nombre completo"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Inicie sesión aquí"
|
msgstr "Inicie sesión aquí"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Iniciar sesión"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "Open ID"
|
msgstr "Open ID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Escribe una nueva contraseña"
|
msgstr "Escribe una nueva contraseña"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Contraseña cambiada correctamente"
|
msgstr "Contraseña cambiada correctamente"
|
||||||
|
|
||||||
@ -96,19 +79,19 @@ msgstr ""
|
|||||||
"El enlace de recuperación de contraseña ha sido enviado a su bandeja de "
|
"El enlace de recuperación de contraseña ha sido enviado a su bandeja de "
|
||||||
"entrada de su correo electrónico."
|
"entrada de su correo electrónico."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Se unió al equipo con éxito"
|
msgstr "Se unió al equipo con éxito"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Contraseña"
|
msgstr "Contraseña"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Al menos 8 carácteres"
|
msgstr "Al menos 8 carácteres"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Política de privacidad"
|
msgstr "Política de privacidad"
|
||||||
|
|
||||||
@ -116,56 +99,35 @@ msgstr "Política de privacidad"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Recuperar contraseña"
|
msgstr "Recuperar contraseña"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Le enviaremos un correo electrónico con instrucciones"
|
msgstr "Le enviaremos un correo electrónico con instrucciones"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "¿Has olvidado tu contraseña?"
|
msgstr "¿Has olvidado tu contraseña?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "cambia tu contraseña"
|
msgstr "cambia tu contraseña"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "¿No tienes cuenta aún?"
|
msgstr "¿No tienes cuenta aún?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Crea una cuenta"
|
msgstr "Crea una cuenta"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Crea una cuenta"
|
msgstr "Crea una cuenta"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "La solución de código abierto para diseño y creación de prototipos."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Términos de servicio"
|
msgstr "Términos de servicio"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
msgid "auth.terms-privacy-agreement"
|
|
||||||
msgstr ""
|
|
||||||
"Al crear una nueva cuenta, acepta nuestros términos de servicio y política "
|
|
||||||
"de privacidad."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Hemos enviado un correo electrónico de verificación"
|
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "branding-illustrations-marketing-pieces"
|
|
||||||
msgstr "...marca, ilustraciones, piezas de marketing, etc."
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
@ -237,57 +199,25 @@ msgstr "Compartir prototipos"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Seleccionar todo"
|
msgstr "Seleccionar todo"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Despublicar"
|
msgstr "Despublicar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Gestión de equipos"
|
msgstr "Gestión de equipos"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot está destinado a equipos. Invite a miembros a trabajar juntos en "
|
"Penpot está destinado a equipos. Invite a miembros a trabajar juntos en "
|
||||||
"proyectos y archivos"
|
"proyectos y archivos"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "¡En equipo!"
|
msgstr "¡En equipo!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr ""
|
|
||||||
"Aprenda los conceptos básicos en Penpot mientras se divierte con este "
|
|
||||||
"tutorial práctico."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Iniciar el tutorial"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.title"
|
|
||||||
msgstr "Tutorial práctico"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Date un paseo por Penpot y conoce sus principales características."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.start"
|
|
||||||
msgstr "Iniciar el recorrido"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.title"
|
|
||||||
msgstr "Tutorial de la interfaz"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Agregar como biblioteca compartida"
|
msgstr "Agregar como biblioteca compartida"
|
||||||
|
|
||||||
@ -295,11 +225,11 @@ msgstr "Agregar como biblioteca compartida"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Cambiar el correo electrónico"
|
msgstr "Cambiar el correo electrónico"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(copiar)"
|
msgstr "(copiar)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Crear nuevo equipo"
|
msgstr "Crear nuevo equipo"
|
||||||
|
|
||||||
@ -307,7 +237,7 @@ msgstr "Crear nuevo equipo"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Tu Penpot"
|
msgstr "Tu Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Eliminar equipo"
|
msgstr "Eliminar equipo"
|
||||||
|
|
||||||
@ -315,20 +245,15 @@ msgstr "Eliminar equipo"
|
|||||||
msgid "dashboard.download-binary-file"
|
msgid "dashboard.download-binary-file"
|
||||||
msgstr "Descargar el archivo Penpot (.penpot)"
|
msgstr "Descargar el archivo Penpot (.penpot)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:712
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
#, unused
|
|
||||||
msgid "dashboard.download-standard-file"
|
|
||||||
msgstr "Descargar archivo estándar (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "Duplicar"
|
msgstr "Duplicar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "Duplicar %s archivos"
|
msgstr "Duplicar %s archivos"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:281
|
#: src/app/main/ui/dashboard/file_menu.cljs:279
|
||||||
msgid "dashboard.export-binary-multi"
|
msgid "dashboard.export-binary-multi"
|
||||||
msgstr "Descargar %s archivos Penpot (.penpot)"
|
msgstr "Descargar %s archivos Penpot (.penpot)"
|
||||||
|
|
||||||
@ -340,10 +265,6 @@ msgstr "Exportar tableros como PDF"
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "Exportar como PDF"
|
msgstr "Exportar como PDF"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "Exportar %s archivos de Penpot"
|
|
||||||
|
|
||||||
#: src/app/main/ui/exports/assets.cljs:108
|
#: src/app/main/ui/exports/assets.cljs:108
|
||||||
msgid "dashboard.export-multiple.selected"
|
msgid "dashboard.export-multiple.selected"
|
||||||
msgstr "%s de %s elementos seleccionados"
|
msgstr "%s de %s elementos seleccionados"
|
||||||
@ -370,11 +291,6 @@ msgstr "No hay elementos con configuración de exportación."
|
|||||||
msgid "dashboard.export-shapes.title"
|
msgid "dashboard.export-shapes.title"
|
||||||
msgstr "Selección de exportación"
|
msgstr "Selección de exportación"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:262
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-standard-multi"
|
|
||||||
msgstr "Descargar %s archivos estándar (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:137
|
#: src/app/main/ui/dashboard/import.cljs:137
|
||||||
msgid "dashboard.import.progress.process-typographies"
|
msgid "dashboard.import.progress.process-typographies"
|
||||||
msgstr "Procesamiento de tipografías"
|
msgstr "Procesamiento de tipografías"
|
||||||
@ -391,7 +307,7 @@ msgstr "Subiendo archivo: %s"
|
|||||||
msgid "dashboard.invite-profile"
|
msgid "dashboard.invite-profile"
|
||||||
msgstr "Invitar a la gente"
|
msgstr "Invitar a la gente"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "dejar el equipo"
|
msgstr "dejar el equipo"
|
||||||
|
|
||||||
@ -403,7 +319,7 @@ msgstr "Bibliotecas y plantillas"
|
|||||||
msgid "dashboard.libraries-and-templates.explore"
|
msgid "dashboard.libraries-and-templates.explore"
|
||||||
msgstr "Explore más de ellos y sepa cómo contribuir"
|
msgstr "Explore más de ellos y sepa cómo contribuir"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:774, src/app/main/ui/workspace/libraries.cljs:146
|
#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
|
||||||
msgid "dashboard.libraries-and-templates.import-error"
|
msgid "dashboard.libraries-and-templates.import-error"
|
||||||
msgstr "Hubo un problema al importar la plantilla. La plantilla no fue importada."
|
msgstr "Hubo un problema al importar la plantilla. La plantilla no fue importada."
|
||||||
|
|
||||||
@ -419,31 +335,31 @@ msgstr "cargando tus archivos…"
|
|||||||
msgid "dashboard.loading-fonts"
|
msgid "dashboard.loading-fonts"
|
||||||
msgstr "cargando tus fuentes…"
|
msgstr "cargando tus fuentes…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101
|
#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
|
||||||
msgid "dashboard.move-to"
|
msgid "dashboard.move-to"
|
||||||
msgstr "Mover a"
|
msgstr "Mover a"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:277
|
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
||||||
msgid "dashboard.move-to-multi"
|
msgid "dashboard.move-to-multi"
|
||||||
msgstr "Mover %s archivos a"
|
msgstr "Mover %s archivos a"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:249
|
#: src/app/main/ui/dashboard/file_menu.cljs:73
|
||||||
msgid "dashboard.move-to-other-team"
|
msgid "dashboard.move-to-other-team"
|
||||||
msgstr "Pasar a otro equipo"
|
msgstr "Pasar a otro equipo"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ Nuevo archivo"
|
msgstr "+ Nuevo archivo"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "Archivo nuevo"
|
msgstr "Archivo nuevo"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ Nuevo proyecto"
|
msgstr "+ Nuevo proyecto"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "Nuevo proyecto"
|
msgstr "Nuevo proyecto"
|
||||||
|
|
||||||
@ -451,35 +367,22 @@ msgstr "Nuevo proyecto"
|
|||||||
msgid "dashboard.no-matches-for"
|
msgid "dashboard.no-matches-for"
|
||||||
msgstr "No se encontraron coincidencias para \"%s\""
|
msgstr "No se encontraron coincidencias para \"%s\""
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1177
|
#: src/app/main/ui/dashboard/sidebar.cljs:400
|
||||||
msgid "dashboard.no-projects-placeholder"
|
msgid "dashboard.no-projects-placeholder"
|
||||||
msgstr "Los proyectos fijados aparecerán aquí"
|
msgstr "Los proyectos fijados aparecerán aquí"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "Su dirección de correo electrónico se ha actualizado correctamente"
|
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
|
#: 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
|
||||||
msgid "errors.field-max-length"
|
msgid "errors.field-max-length"
|
||||||
msgstr "El nombre debe contener como máximo %s caracteres."
|
msgstr "El nombre debe contener como máximo %s caracteres."
|
||||||
|
|
||||||
#: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
#: ../common/src/app/common/schema.cljc:1076
|
||||||
#, unused
|
|
||||||
msgid "errors.field-not-all-whitespace"
|
msgid "errors.field-not-all-whitespace"
|
||||||
msgstr "El nombre debe contener algún carácter distinto al del espacio."
|
msgstr "El nombre debe contener algún carácter distinto al del espacio."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "El token de recuperación no es válido."
|
msgstr "El token de recuperación no es válido."
|
||||||
|
|
||||||
#: src/app/main/ui/exports/files.cljs:131
|
|
||||||
#, unused
|
|
||||||
msgid "files-download-modal.description-1"
|
|
||||||
msgstr ""
|
|
||||||
"Uno o más archivos que desea exportar utilizan bibliotecas compartidas. "
|
|
||||||
"¿Qué quiere hacer con sus activos*?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/exports/files.cljs:132
|
|
||||||
#, unused
|
|
||||||
msgid "files-download-modal.description-2"
|
|
||||||
msgstr "* Puede incluir componentes, gráficos, colores y/o tipografías."
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,78 +11,61 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.6.dev0\n"
|
"X-Generator: Weblate 2026.6.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Onko sinulla jo käyttäjä?"
|
msgstr "Onko sinulla jo käyttäjä?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Tarkista sähköpostisi ja paina vahvistuslinkkiä käyttääksesi "
|
|
||||||
"Penpot-ohjelmaa."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Vahvista salasana"
|
msgstr "Vahvista salasana"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Luo testikäyttäjä"
|
msgstr "Luo testikäyttäjä"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Haluatko vain kokeilla?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tämä on DEMO versio, ÄLÄ KÄYTÄ oikeaan työhön, projektit tullaan määräajoin "
|
"Tämä on DEMO versio, ÄLÄ KÄYTÄ oikeaan työhön, projektit tullaan määräajoin "
|
||||||
"poistamaan."
|
"poistamaan."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Unohditko salasanasi?"
|
msgstr "Unohditko salasanasi?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Koko nimi"
|
msgstr "Koko nimi"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Kirjaudu sisään"
|
msgstr "Kirjaudu sisään"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Kirjaudu"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Syötä uusi salasana"
|
msgstr "Syötä uusi salasana"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Salasanan vaihto onnistui"
|
msgstr "Salasanan vaihto onnistui"
|
||||||
|
|
||||||
@ -94,19 +77,19 @@ msgstr "Käyttäjäsi ei ole vahvistettu, vahvista se jatkaaksesi."
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Salasanan vaihtoon tarvittava linkki lähetetty sähköpostiisi."
|
msgstr "Salasanan vaihtoon tarvittava linkki lähetetty sähköpostiisi."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Ryhmään liittyminen onnistui"
|
msgstr "Ryhmään liittyminen onnistui"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Salasana"
|
msgstr "Salasana"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Vähintään 8 merkkiä"
|
msgstr "Vähintään 8 merkkiä"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Tietosuojaseloste"
|
msgstr "Tietosuojaseloste"
|
||||||
|
|
||||||
@ -114,45 +97,35 @@ msgstr "Tietosuojaseloste"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Palauta salasana"
|
msgstr "Palauta salasana"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Lähetämme sinulle sähköpostin, jossa lukee ohjeet"
|
msgstr "Lähetämme sinulle sähköpostin, jossa lukee ohjeet"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Unohtuiko salasana?"
|
msgstr "Unohtuiko salasana?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Vaihda salasanasi"
|
msgstr "Vaihda salasanasi"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Ei käyttäjää?"
|
msgstr "Ei käyttäjää?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Luo uusi käyttäjä"
|
msgstr "Luo uusi käyttäjä"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Luo uusi käyttäjä"
|
msgstr "Luo uusi käyttäjä"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "Avoimen lähdekoodin ratkaisu suunnitteluun ja prototyyppien valmistukseen."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Käyttöehdot"
|
msgstr "Käyttöehdot"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Lähetimme vahvistussähköpostin osoitteeseen"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Julkaise"
|
msgstr "Julkaise"
|
||||||
|
|
||||||
@ -224,46 +197,24 @@ msgstr "Jaa prototyypit"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Valitse kaikki"
|
msgstr "Valitse kaikki"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Peruuta julkaisu"
|
msgstr "Peruuta julkaisu"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Ryhmän hallinta"
|
msgstr "Ryhmän hallinta"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot on tarkoitettu ryhmille. Kutsu jäseniä työstääksenne projekteja "
|
"Penpot on tarkoitettu ryhmille. Kutsu jäseniä työstääksenne projekteja "
|
||||||
"yhdessä"
|
"yhdessä"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "Ryhmäydy!"
|
msgstr "Ryhmäydy!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr ""
|
|
||||||
"Opettele Penpotin perusteet pitämällä hauskaa tämän opastuskierroksen "
|
|
||||||
"kanssa."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Aloita opastuskierros"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.title"
|
|
||||||
msgstr "Käytännön opastus"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Ota opastuskierros Penpotin erilaisista toiminnoista"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "Palautustunnus on virheellinen."
|
msgstr "Palautustunnus on virheellinen."
|
||||||
|
|||||||
@ -11,93 +11,71 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Hevur tú longu ein brúkara?"
|
msgstr "Hevur tú longu ein brúkara?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-mail"
|
|
||||||
msgstr "Kanna tín teldupost"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Kanna tín teldupost og trýst á leinkina fyri at vátta og byrja at nýta "
|
|
||||||
"Penpot."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Vátta loyniorðið"
|
msgstr "Vátta loyniorðið"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Stovna royndarkonto"
|
msgstr "Stovna royndarkonto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Vilt tú royna tað?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Hetta er ein ROYNDAR tænasta, IKKI BRÚKA til veruligt arbeiði, "
|
"Hetta er ein ROYNDAR tænasta, IKKI BRÚKA til veruligt arbeiði, "
|
||||||
"verkætlanirnar verða slettaðar regluliga."
|
"verkætlanirnar verða slettaðar regluliga."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Gloymt loyniorðið?"
|
msgstr "Gloymt loyniorðið?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Fullfíggja navn"
|
msgstr "Fullfíggja navn"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:288
|
#: src/app/main/ui/auth/login.cljs:294
|
||||||
msgid "auth.login-account-title"
|
msgid "auth.login-account-title"
|
||||||
msgstr "Rita inn á mína konto"
|
msgstr "Rita inn á mína konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Innrita her."
|
msgstr "Innrita her."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:297
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Rita inn"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:291
|
|
||||||
msgid "auth.login-tagline"
|
msgid "auth.login-tagline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot er eitt ókeypis formgevingstól við opnari keldukotu, at nýta til "
|
"Penpot er eitt ókeypis formgevingstól við opnari keldukotu, at nýta til "
|
||||||
"Formgávu og Forritanar samstarv"
|
"Formgávu og Forritanar samstarv"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Skriva eitt nýtt loyniorð"
|
msgstr "Skriva eitt nýtt loyniorð"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Loyniorðið er broytt"
|
msgstr "Loyniorðið er broytt"
|
||||||
|
|
||||||
@ -111,19 +89,19 @@ msgstr ""
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Leinkjan til at endurseta títt loyniorð er send til tín postkassa."
|
msgstr "Leinkjan til at endurseta títt loyniorð er send til tín postkassa."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Sameinaðan í toymið var væleydnað"
|
msgstr "Sameinaðan í toymið var væleydnað"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Loyniorð"
|
msgstr "Loyniorð"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Minst 8 stavir"
|
msgstr "Minst 8 stavir"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Privat politikkur"
|
msgstr "Privat politikkur"
|
||||||
|
|
||||||
@ -131,63 +109,45 @@ msgstr "Privat politikkur"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Endurstovna loyniorð"
|
msgstr "Endurstovna loyniorð"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Vit senda tær ein teldupost við vegleiðing"
|
msgstr "Vit senda tær ein teldupost við vegleiðing"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Gloymt loyniorð?"
|
msgstr "Gloymt loyniorð?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Broyt títt loyniorð"
|
msgstr "Broyt títt loyniorð"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Onga konto enn?"
|
msgstr "Onga konto enn?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:368
|
#: src/app/main/ui/auth/register.cljs:357
|
||||||
msgid "auth.register-account-tagline"
|
msgid "auth.register-account-tagline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Latið okkum frætta, hvat vit skulu navngeva teg á okkara yvirlitsskýggja og "
|
"Latið okkum frætta, hvat vit skulu navngeva teg á okkara yvirlitsskýggja og "
|
||||||
"í teldupostum."
|
"í teldupostum."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:367
|
#: src/app/main/ui/auth/register.cljs:356
|
||||||
msgid "auth.register-account-title"
|
msgid "auth.register-account-title"
|
||||||
msgstr "Navn títt"
|
msgstr "Navn títt"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Stovna konto"
|
msgstr "Stovna konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:124
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
#, unused
|
|
||||||
msgid "auth.register-tagline"
|
|
||||||
msgstr ""
|
|
||||||
"Við einari ókeypis Penpot konto, kanst tú upprætta óavmarkaðar bólkar og "
|
|
||||||
"samstarva við aðrar sniðgevar og forritara á so nógvum projektum, ið tygum "
|
|
||||||
"lystur. "
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Stovna eina konto"
|
msgstr "Stovna eina konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "Loysnin við opnari keldukotu, at formgeva og frumsniða."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Treytir"
|
msgstr "Treytir"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Vit hava sent ein váttanar teldupost til"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Gev út"
|
msgstr "Gev út"
|
||||||
|
|
||||||
@ -259,50 +219,23 @@ msgstr "Deil frumsnið"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Vel alt"
|
msgstr "Vel alt"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Angra útgevan"
|
msgstr "Angra útgevan"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Toymisleiðsla"
|
msgstr "Toymisleiðsla"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr "Penpot er fyri toymum. Bjóða limum at arbeiða saman á verkætlanir og fílur"
|
msgstr "Penpot er fyri toymum. Bjóða limum at arbeiða saman á verkætlanir og fílur"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "Toyma upp!"
|
msgstr "Toyma upp!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr ""
|
|
||||||
"Lær alt tað grundleggjandi í Penpot, meðan tú stuttleikar tær við hesari "
|
|
||||||
"lær-og-ger leiðbeiningini."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Byrja undirvísingina"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.title"
|
|
||||||
msgstr "Lær-við-at-gera leiðbeining"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Kom ein túr gjøgnum Penpot og lær høvuðsfunkurnar at kenna."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.start"
|
|
||||||
msgstr "Byrja rundferð"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Legg afturat sum Deilt Savn"
|
msgstr "Legg afturat sum Deilt Savn"
|
||||||
|
|
||||||
@ -310,11 +243,11 @@ msgstr "Legg afturat sum Deilt Savn"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Broyt teldupost"
|
msgstr "Broyt teldupost"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(avrita)"
|
msgstr "(avrita)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Stovna nýtt toymi"
|
msgstr "Stovna nýtt toymi"
|
||||||
|
|
||||||
@ -322,7 +255,7 @@ msgstr "Stovna nýtt toymi"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Títt Penpot"
|
msgstr "Títt Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Strika toymi"
|
msgstr "Strika toymi"
|
||||||
|
|
||||||
@ -330,20 +263,15 @@ msgstr "Strika toymi"
|
|||||||
msgid "dashboard.download-binary-file"
|
msgid "dashboard.download-binary-file"
|
||||||
msgstr "Heinta Penpot fílu (.penpot)"
|
msgstr "Heinta Penpot fílu (.penpot)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:712
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
#, unused
|
|
||||||
msgid "dashboard.download-standard-file"
|
|
||||||
msgstr "Heinta standarafílu (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "Tvítøka"
|
msgstr "Tvítøka"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "Tvítak %s fílur"
|
msgstr "Tvítak %s fílur"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:281
|
#: src/app/main/ui/dashboard/file_menu.cljs:279
|
||||||
msgid "dashboard.export-binary-multi"
|
msgid "dashboard.export-binary-multi"
|
||||||
msgstr "Heinta %s Penpot fílur (.penpot)"
|
msgstr "Heinta %s Penpot fílur (.penpot)"
|
||||||
|
|
||||||
@ -355,10 +283,6 @@ msgstr "Útflyt borð sum PDF"
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "Útflyt til PDF"
|
msgstr "Útflyt til PDF"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "Útflyt Penpot %s fílur"
|
|
||||||
|
|
||||||
#: src/app/main/ui/exports/assets.cljs:108
|
#: src/app/main/ui/exports/assets.cljs:108
|
||||||
msgid "dashboard.export-multiple.selected"
|
msgid "dashboard.export-multiple.selected"
|
||||||
msgstr "%s av %s lutum eru valdir"
|
msgstr "%s av %s lutum eru valdir"
|
||||||
@ -379,11 +303,6 @@ msgstr "Har eru ongin lutir við útflytsstillingum."
|
|||||||
msgid "dashboard.export-shapes.title"
|
msgid "dashboard.export-shapes.title"
|
||||||
msgstr "Valt til útflyting"
|
msgstr "Valt til útflyting"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:262
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-standard-multi"
|
|
||||||
msgstr "Heinta %s standarafílur (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
|
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
|
||||||
msgid "dashboard.fonts.deleted-placeholder"
|
msgid "dashboard.fonts.deleted-placeholder"
|
||||||
msgstr "Stavsniði er strika"
|
msgstr "Stavsniði er strika"
|
||||||
@ -402,22 +321,15 @@ msgstr[1] "% stavsnið løgd afturat"
|
|||||||
msgid "dashboard.fonts.upload-all"
|
msgid "dashboard.fonts.upload-all"
|
||||||
msgstr "Legg øll afturat"
|
msgstr "Legg øll afturat"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:941, src/app/main/ui/dashboard/project_menu.cljs:109
|
#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
|
||||||
msgid "dashboard.import"
|
msgid "dashboard.import"
|
||||||
msgstr "Innflyt Penpot fílur"
|
msgstr "Innflyt Penpot fílur"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:342, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
||||||
msgid "dashboard.import.analyze-error"
|
msgid "dashboard.import.analyze-error"
|
||||||
msgstr "Ups! Tað riggaði ikki at innflyta hesa fílu"
|
msgstr "Ups! Tað riggaði ikki at innflyta hesa fílu"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:292
|
#: src/app/main/ui/dashboard/import.cljs:593
|
||||||
#, unused
|
|
||||||
msgid "dashboard.import.import-error"
|
|
||||||
msgstr ""
|
|
||||||
"Har kom ein trupulleiki, tá vit royndu at innflyta fíluna. Fílan var ikki "
|
|
||||||
"innflutt."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:562
|
|
||||||
msgid "dashboard.import.import-message"
|
msgid "dashboard.import.import-message"
|
||||||
msgstr "% fílur eru innfluttir."
|
msgstr "% fílur eru innfluttir."
|
||||||
|
|
||||||
@ -453,7 +365,7 @@ msgstr "Innleggur fílu: %s"
|
|||||||
msgid "dashboard.invite-profile"
|
msgid "dashboard.invite-profile"
|
||||||
msgstr "Bjóða við í toymi"
|
msgstr "Bjóða við í toymi"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "Far úr toymu"
|
msgstr "Far úr toymu"
|
||||||
|
|
||||||
@ -465,31 +377,31 @@ msgstr "lesur tínar fílur inn…"
|
|||||||
msgid "dashboard.loading-fonts"
|
msgid "dashboard.loading-fonts"
|
||||||
msgstr "lesur tíni stavsnið inn…"
|
msgstr "lesur tíni stavsnið inn…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101
|
#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
|
||||||
msgid "dashboard.move-to"
|
msgid "dashboard.move-to"
|
||||||
msgstr "Flyt til"
|
msgstr "Flyt til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:277
|
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
||||||
msgid "dashboard.move-to-multi"
|
msgid "dashboard.move-to-multi"
|
||||||
msgstr "Flyt %s fílur til"
|
msgstr "Flyt %s fílur til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:249
|
#: src/app/main/ui/dashboard/file_menu.cljs:73
|
||||||
msgid "dashboard.move-to-other-team"
|
msgid "dashboard.move-to-other-team"
|
||||||
msgstr "Flyt til eitt annað toymi"
|
msgstr "Flyt til eitt annað toymi"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ Nýggja fílu"
|
msgstr "+ Nýggja fílu"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "Nýggja fílu"
|
msgstr "Nýggja fílu"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ Nýggj verkætlan"
|
msgstr "+ Nýggj verkætlan"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "Nýggj verkætlan"
|
msgstr "Nýggj verkætlan"
|
||||||
|
|
||||||
@ -497,43 +409,43 @@ msgstr "Nýggj verkætlan"
|
|||||||
msgid "dashboard.no-matches-for"
|
msgid "dashboard.no-matches-for"
|
||||||
msgstr "Onki samsvar funnið fyri \"%\""
|
msgstr "Onki samsvar funnið fyri \"%\""
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1177
|
#: src/app/main/ui/dashboard/sidebar.cljs:400
|
||||||
msgid "dashboard.no-projects-placeholder"
|
msgid "dashboard.no-projects-placeholder"
|
||||||
msgstr "Festar verkætlanir verða víst her"
|
msgstr "Festar verkætlanir verða víst her"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "Tín teldupostadressa er dagførd"
|
msgstr "Tín teldupostadressa er dagførd"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:31
|
#: src/app/main/ui/auth/verify_token.cljs:32
|
||||||
msgid "dashboard.notifications.email-verified-successfully"
|
msgid "dashboard.notifications.email-verified-successfully"
|
||||||
msgstr "Tín teldupostadressa er váttta"
|
msgstr "Tín teldupostadressa er váttta"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:46
|
#: src/app/main/ui/settings/password.cljs:52
|
||||||
msgid "dashboard.notifications.password-saved"
|
msgid "dashboard.notifications.password-saved"
|
||||||
msgstr "Loyniorði er goymt!"
|
msgstr "Loyniorði er goymt!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1719
|
#: src/app/main/ui/dashboard/team.cljs:1725
|
||||||
msgid "dashboard.num-of-members"
|
msgid "dashboard.num-of-members"
|
||||||
msgstr "%s limir"
|
msgstr "%s limir"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "Lat fílu upp í nýggjum skiljiblaði"
|
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:124, src/app/main/ui/dashboard/grid.cljs:428, src/app/main/ui/dashboard/projects.cljs:268, src/app/main/ui/dashboard/projects.cljs:269
|
#: 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
|
||||||
msgid "dashboard.options"
|
msgid "dashboard.options"
|
||||||
msgstr "Valmøguleikar"
|
msgstr "Valmøguleikar"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "Broyt loyniorð"
|
msgstr "Broyt loyniorð"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/pin_button.cljs:22, src/app/main/ui/dashboard/project_menu.cljs:96
|
#: 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
|
||||||
msgid "dashboard.pin-unpin"
|
msgid "dashboard.pin-unpin"
|
||||||
msgstr "Fest/Loys"
|
msgstr "Fest/Loys"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59
|
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
|
||||||
msgid "dashboard.projects-title"
|
msgid "dashboard.projects-title"
|
||||||
msgstr "Verkætlanir"
|
msgstr "Verkætlanir"
|
||||||
|
|
||||||
@ -541,16 +453,11 @@ msgstr "Verkætlanir"
|
|||||||
msgid "dashboard.remove-account"
|
msgid "dashboard.remove-account"
|
||||||
msgstr "Vilt tú strika tína konto?"
|
msgstr "Vilt tú strika tína konto?"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.remove-shared"
|
|
||||||
msgstr "Strikað sum Deilt Savn"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/profile.cljs:78
|
#: src/app/main/ui/settings/profile.cljs:78
|
||||||
msgid "dashboard.save-settings"
|
msgid "dashboard.save-settings"
|
||||||
msgstr "Goym stillingar"
|
msgstr "Goym stillingar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:283, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
|
#: 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
|
||||||
msgid "dashboard.search-placeholder"
|
msgid "dashboard.search-placeholder"
|
||||||
msgstr "Leita…"
|
msgstr "Leita…"
|
||||||
|
|
||||||
@ -566,39 +473,39 @@ msgstr "Vel mál til takførisflatu"
|
|||||||
msgid "dashboard.select-ui-theme"
|
msgid "dashboard.select-ui-theme"
|
||||||
msgstr "Vel tema"
|
msgstr "Vel tema"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:292
|
#: src/app/main/ui/dashboard/projects.cljs:288
|
||||||
msgid "dashboard.show-all-files"
|
msgid "dashboard.show-all-files"
|
||||||
msgstr "Vís allar fílurnar"
|
msgstr "Vís allar fílurnar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:99
|
#: src/app/main/ui/dashboard/file_menu.cljs:129
|
||||||
msgid "dashboard.success-delete-file"
|
msgid "dashboard.success-delete-file"
|
||||||
msgstr "Tín fíla er strikað"
|
msgstr "Tín fíla er strikað"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:63
|
#: src/app/main/ui/dashboard/project_menu.cljs:74
|
||||||
msgid "dashboard.success-delete-project"
|
msgid "dashboard.success-delete-project"
|
||||||
msgstr "Tín verkætlan er strikað"
|
msgstr "Tín verkætlan er strikað"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:133, src/app/main/ui/dashboard/grid.cljs:719, src/app/main/ui/dashboard/sidebar.cljs:193
|
#: 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
|
||||||
msgid "dashboard.success-move-file"
|
msgid "dashboard.success-move-file"
|
||||||
msgstr "Tín fíla er flutt"
|
msgstr "Tín fíla er flutt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:132
|
#: src/app/main/ui/dashboard/file_menu.cljs:161
|
||||||
msgid "dashboard.success-move-files"
|
msgid "dashboard.success-move-files"
|
||||||
msgstr "Tínar fílur eru fluttar"
|
msgstr "Tínar fílur eru fluttar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:57
|
#: src/app/main/ui/dashboard/project_menu.cljs:68
|
||||||
msgid "dashboard.success-move-project"
|
msgid "dashboard.success-move-project"
|
||||||
msgstr "Tín verkætlan er flutt"
|
msgstr "Tín verkætlan er flutt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1663
|
#: src/app/main/ui/dashboard/team.cljs:1669
|
||||||
msgid "dashboard.team-info"
|
msgid "dashboard.team-info"
|
||||||
msgstr "Toymisupplýsingar"
|
msgstr "Toymisupplýsingar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1708
|
#: src/app/main/ui/dashboard/team.cljs:1714
|
||||||
msgid "dashboard.team-members"
|
msgid "dashboard.team-members"
|
||||||
msgstr "Toymislimir"
|
msgstr "Toymislimir"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1723
|
#: src/app/main/ui/dashboard/team.cljs:1729
|
||||||
msgid "dashboard.team-projects"
|
msgid "dashboard.team-projects"
|
||||||
msgstr "Toymisverkætlanir"
|
msgstr "Toymisverkætlanir"
|
||||||
|
|
||||||
@ -618,23 +525,19 @@ msgstr "Skriva fyri at leita eftir úrslitum"
|
|||||||
msgid "ds.alert-ok"
|
msgid "ds.alert-ok"
|
||||||
msgstr "Ókey"
|
msgstr "Ókey"
|
||||||
|
|
||||||
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
||||||
msgid "ds.confirm-ok"
|
msgid "ds.confirm-ok"
|
||||||
msgstr "Ókey"
|
msgstr "Ókey"
|
||||||
|
|
||||||
#: src/app/main/data/auth.cljs:348, src/app/main/ui/auth/login.cljs:91, src/app/main/ui/auth/login.cljs:99
|
#: src/app/main/data/auth.cljs:342, src/app/main/ui/auth/login.cljs:92, src/app/main/ui/auth/login.cljs:100
|
||||||
msgid "errors.profile-blocked"
|
msgid "errors.profile-blocked"
|
||||||
msgstr "Vangamyndin er stongd"
|
msgstr "Vangamyndin er stongd"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:292
|
#: src/app/main/ui/dashboard/file_menu.cljs:289
|
||||||
msgid "labels.delete-multi-files"
|
msgid "labels.delete-multi-files"
|
||||||
msgstr "Strikað %s fílur"
|
msgstr "Strikað %s fílur"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/dashboard/projects.cljs:238, src/app/main/ui/dashboard/team.cljs:1739
|
||||||
msgid "labels.edit-file"
|
|
||||||
msgstr "Broyt fílu"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:242, src/app/main/ui/dashboard/team.cljs:1733
|
|
||||||
msgid "labels.num-of-files"
|
msgid "labels.num-of-files"
|
||||||
msgid_plural "labels.num-of-files"
|
msgid_plural "labels.num-of-files"
|
||||||
msgstr[0] "1 fíla"
|
msgstr[0] "1 fíla"
|
||||||
@ -652,27 +555,27 @@ msgstr "Legg afturat sum Deilt Savn"
|
|||||||
msgid "modals.add-shared-confirm.message"
|
msgid "modals.add-shared-confirm.message"
|
||||||
msgstr "Legg \"%s\" afturat sum Deilt Savn"
|
msgstr "Legg \"%s\" afturat sum Deilt Savn"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:126
|
#: src/app/main/ui/dashboard/file_menu.cljs:155
|
||||||
msgid "modals.delete-file-confirm.accept"
|
msgid "modals.delete-file-confirm.accept"
|
||||||
msgstr "Strikað fílu"
|
msgstr "Strikað fílu"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:125
|
#: src/app/main/ui/dashboard/file_menu.cljs:154
|
||||||
msgid "modals.delete-file-confirm.message"
|
msgid "modals.delete-file-confirm.message"
|
||||||
msgstr "Ert tú vísur í, at tú ynskjur at strikað fílu?"
|
msgstr "Ert tú vísur í, at tú ynskjur at strikað fílu?"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:124
|
#: src/app/main/ui/dashboard/file_menu.cljs:153
|
||||||
msgid "modals.delete-file-confirm.title"
|
msgid "modals.delete-file-confirm.title"
|
||||||
msgstr "Strikar fílu"
|
msgstr "Strikar fílu"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:120
|
#: src/app/main/ui/dashboard/file_menu.cljs:149
|
||||||
msgid "modals.delete-file-multi-confirm.accept"
|
msgid "modals.delete-file-multi-confirm.accept"
|
||||||
msgstr "Strikar fílur"
|
msgstr "Strikar fílur"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:119
|
#: src/app/main/ui/dashboard/file_menu.cljs:148
|
||||||
msgid "modals.delete-file-multi-confirm.message"
|
msgid "modals.delete-file-multi-confirm.message"
|
||||||
msgstr "Ert tú vísur í, at tú vil strikað %s fílur?"
|
msgstr "Ert tú vísur í, at tú vil strikað %s fílur?"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:118
|
#: src/app/main/ui/dashboard/file_menu.cljs:147
|
||||||
msgid "modals.delete-file-multi-confirm.title"
|
msgid "modals.delete-file-multi-confirm.title"
|
||||||
msgstr "Strikar %s fílur"
|
msgstr "Strikar %s fílur"
|
||||||
|
|
||||||
@ -694,17 +597,7 @@ msgid_plural "modals.delete-shared-confirm.title"
|
|||||||
msgstr[0] "Strikar fílu"
|
msgstr[0] "Strikar fílu"
|
||||||
msgstr[1] "Strikar fílur"
|
msgstr[1] "Strikar fílur"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
#: src/app/main/ui/dashboard/files.cljs:209
|
||||||
#, unused
|
|
||||||
msgid "modals.remove-shared-confirm.accept"
|
|
||||||
msgstr "Strikað sum Deilt Savn"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "modals.remove-shared-confirm.message"
|
|
||||||
msgstr "Strika \"%s\" sum Deilt Savn"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:188
|
|
||||||
msgid "title.dashboard.files"
|
msgid "title.dashboard.files"
|
||||||
msgstr "%s - Penpot"
|
msgstr "%s - Penpot"
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,79 +11,59 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "アカウントをお持ちですか?"
|
msgstr "アカウントをお持ちですか?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-mail"
|
|
||||||
msgstr "メールを確認してください"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr "Penpotを使う前にメールのリンクをクリックして、メールアドレスを認証してください。"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "パスワードを確認"
|
msgstr "パスワードを確認"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "デモアカウントを作成"
|
msgstr "デモアカウントを作成"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "試してみませんか?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr "このサービスはデモ版です。実際の業務には使用しないでください。"
|
msgstr "このサービスはデモ版です。実際の業務には使用しないでください。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "パスワードを忘れましたか?"
|
msgstr "パスワードを忘れましたか?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "フルネーム"
|
msgstr "フルネーム"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "こちらからログイン"
|
msgstr "こちらからログイン"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "ログイン"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "Gitlab"
|
msgstr "Gitlab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAPでログイン"
|
msgstr "LDAPでログイン"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID Connect"
|
msgstr "OpenID Connect"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "新しいパスワードを入力"
|
msgstr "新しいパスワードを入力"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "パスワードを変更しました"
|
msgstr "パスワードを変更しました"
|
||||||
|
|
||||||
@ -95,19 +75,19 @@ msgstr "プロフィールが確認されていません。続ける前にプロ
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "パスワード変更リンクをメールで送信しました。"
|
msgstr "パスワード変更リンクをメールで送信しました。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "チームに参加しました"
|
msgstr "チームに参加しました"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "パスワード"
|
msgstr "パスワード"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "登録"
|
msgstr "登録"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "プライバシーポリシー"
|
msgstr "プライバシーポリシー"
|
||||||
|
|
||||||
@ -115,54 +95,44 @@ msgstr "プライバシーポリシー"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "パスワードを回復"
|
msgstr "パスワードを回復"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "手順を記載したメールをお送りします"
|
msgstr "手順を記載したメールをお送りします"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "パスワードを忘れましたか?"
|
msgstr "パスワードを忘れましたか?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "パスワードを変更"
|
msgstr "パスワードを変更"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "アカウントをお持ちでない方はこちら"
|
msgstr "アカウントをお持ちでない方はこちら"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:367
|
#: src/app/main/ui/auth/register.cljs:356
|
||||||
msgid "auth.register-account-title"
|
msgid "auth.register-account-title"
|
||||||
msgstr "あなたの名前"
|
msgstr "あなたの名前"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "アカウントを作成"
|
msgstr "アカウントを作成"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "アカウントを作成"
|
msgstr "アカウントを作成"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: src/app/main/ui/auth/register.cljs:49
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "デザインとプロトタイピングのためのオープンソースです。"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:50
|
|
||||||
#, markdown
|
#, markdown
|
||||||
msgid "auth.terms-and-privacy-agreement"
|
msgid "auth.terms-and-privacy-agreement"
|
||||||
msgstr "[利用規約](%s) と [プライバシーポリシー](%s) に同意します。"
|
msgstr "[利用規約](%s) と [プライバシーポリシー](%s) に同意します。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
#: 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
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "利用規約"
|
msgstr "利用規約"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "認証メールを送信しました"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "公開"
|
msgstr "公開"
|
||||||
|
|
||||||
@ -231,20 +201,15 @@ msgstr "プロトタイプを共有"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "すべて選択"
|
msgstr "すべて選択"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "非公開"
|
msgstr "非公開"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "チームを管理"
|
msgstr "チームを管理"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "チュートリアルを始める"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "共有ライブラリとして追加"
|
msgstr "共有ライブラリとして追加"
|
||||||
|
|
||||||
@ -252,11 +217,11 @@ msgstr "共有ライブラリとして追加"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "メールアドレスを変更"
|
msgstr "メールアドレスを変更"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(コピー)"
|
msgstr "(コピー)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "チームを新規作成"
|
msgstr "チームを新規作成"
|
||||||
|
|
||||||
@ -264,7 +229,7 @@ msgstr "チームを新規作成"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "あなたのPenpot"
|
msgstr "あなたのPenpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "チームを削除"
|
msgstr "チームを削除"
|
||||||
|
|
||||||
@ -272,16 +237,11 @@ msgstr "チームを削除"
|
|||||||
msgid "dashboard.download-binary-file"
|
msgid "dashboard.download-binary-file"
|
||||||
msgstr "Penpotファイル(.penpot)をダウンロード"
|
msgstr "Penpotファイル(.penpot)をダウンロード"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:712
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
#, unused
|
|
||||||
msgid "dashboard.download-standard-file"
|
|
||||||
msgstr "標準形式(.svg+.json)でダウンロード"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "複製"
|
msgstr "複製"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "%s ファイルを複製"
|
msgstr "%s ファイルを複製"
|
||||||
|
|
||||||
@ -306,11 +266,11 @@ msgstr[0] "%s フォントを追加しました"
|
|||||||
msgid "dashboard.fonts.upload-all"
|
msgid "dashboard.fonts.upload-all"
|
||||||
msgstr "すべてアップロード"
|
msgstr "すべてアップロード"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:941, src/app/main/ui/dashboard/project_menu.cljs:109
|
#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
|
||||||
msgid "dashboard.import"
|
msgid "dashboard.import"
|
||||||
msgstr "Penpotをインポート"
|
msgstr "Penpotをインポート"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:342, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
||||||
msgid "dashboard.import.analyze-error"
|
msgid "dashboard.import.analyze-error"
|
||||||
msgstr "Penpotファイルをインポート"
|
msgstr "Penpotファイルをインポート"
|
||||||
|
|
||||||
@ -342,7 +302,7 @@ msgstr "アップロード中: %s"
|
|||||||
msgid "dashboard.invite-profile"
|
msgid "dashboard.invite-profile"
|
||||||
msgstr "チームに招待"
|
msgstr "チームに招待"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "チームから脱退"
|
msgstr "チームから脱退"
|
||||||
|
|
||||||
@ -358,19 +318,19 @@ msgstr "ファイルを読みこんでいます…"
|
|||||||
msgid "dashboard.loading-fonts"
|
msgid "dashboard.loading-fonts"
|
||||||
msgstr "フォントを読みこんでいます…"
|
msgstr "フォントを読みこんでいます…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ 新しいファイル"
|
msgstr "+ 新しいファイル"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "新しいファイル"
|
msgstr "新しいファイル"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ 新規プロジェクト"
|
msgstr "+ 新規プロジェクト"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "新規プロジェクト"
|
msgstr "新規プロジェクト"
|
||||||
|
|
||||||
@ -378,39 +338,39 @@ msgstr "新規プロジェクト"
|
|||||||
msgid "dashboard.no-matches-for"
|
msgid "dashboard.no-matches-for"
|
||||||
msgstr "\"%s\"が見つかりませんでした"
|
msgstr "\"%s\"が見つかりませんでした"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1177
|
#: src/app/main/ui/dashboard/sidebar.cljs:400
|
||||||
msgid "dashboard.no-projects-placeholder"
|
msgid "dashboard.no-projects-placeholder"
|
||||||
msgstr "ピン留めされたプロジェクトはここに表示されます"
|
msgstr "ピン留めされたプロジェクトはここに表示されます"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "メールアドレスが更新されました"
|
msgstr "メールアドレスが更新されました"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:31
|
#: src/app/main/ui/auth/verify_token.cljs:32
|
||||||
msgid "dashboard.notifications.email-verified-successfully"
|
msgid "dashboard.notifications.email-verified-successfully"
|
||||||
msgstr "メールアドレスが認証されました"
|
msgstr "メールアドレスが認証されました"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:46
|
#: src/app/main/ui/settings/password.cljs:52
|
||||||
msgid "dashboard.notifications.password-saved"
|
msgid "dashboard.notifications.password-saved"
|
||||||
msgstr "パスワードを保存しました!"
|
msgstr "パスワードを保存しました!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1719
|
#: src/app/main/ui/dashboard/team.cljs:1725
|
||||||
msgid "dashboard.num-of-members"
|
msgid "dashboard.num-of-members"
|
||||||
msgstr "%s メンバー"
|
msgstr "%s メンバー"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "新しいタブでファイルで開く"
|
msgstr "新しいタブでファイルで開く"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:124, src/app/main/ui/dashboard/grid.cljs:428, src/app/main/ui/dashboard/projects.cljs:268, src/app/main/ui/dashboard/projects.cljs:269
|
#: 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
|
||||||
msgid "dashboard.options"
|
msgid "dashboard.options"
|
||||||
msgstr "オプション"
|
msgstr "オプション"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "パスワードを変更"
|
msgstr "パスワードを変更"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59
|
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
|
||||||
msgid "dashboard.projects-title"
|
msgid "dashboard.projects-title"
|
||||||
msgstr "プロジェクト"
|
msgstr "プロジェクト"
|
||||||
|
|
||||||
@ -418,16 +378,11 @@ msgstr "プロジェクト"
|
|||||||
msgid "dashboard.remove-account"
|
msgid "dashboard.remove-account"
|
||||||
msgstr "アカウントを削除したいですか?"
|
msgstr "アカウントを削除したいですか?"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.remove-shared"
|
|
||||||
msgstr "共有ライブラリから削除"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/profile.cljs:78
|
#: src/app/main/ui/settings/profile.cljs:78
|
||||||
msgid "dashboard.save-settings"
|
msgid "dashboard.save-settings"
|
||||||
msgstr "設定を保存"
|
msgstr "設定を保存"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:283, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
|
#: 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
|
||||||
msgid "dashboard.search-placeholder"
|
msgid "dashboard.search-placeholder"
|
||||||
msgstr "検索…"
|
msgstr "検索…"
|
||||||
|
|
||||||
@ -443,47 +398,47 @@ msgstr "表示言語を選択"
|
|||||||
msgid "dashboard.select-ui-theme"
|
msgid "dashboard.select-ui-theme"
|
||||||
msgstr "テーマを選択"
|
msgstr "テーマを選択"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:292
|
#: src/app/main/ui/dashboard/projects.cljs:288
|
||||||
msgid "dashboard.show-all-files"
|
msgid "dashboard.show-all-files"
|
||||||
msgstr "すべてのファイルを表示"
|
msgstr "すべてのファイルを表示"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:99
|
#: src/app/main/ui/dashboard/file_menu.cljs:129
|
||||||
msgid "dashboard.success-delete-file"
|
msgid "dashboard.success-delete-file"
|
||||||
msgstr "ファイルを削除しました"
|
msgstr "ファイルを削除しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:63
|
#: src/app/main/ui/dashboard/project_menu.cljs:74
|
||||||
msgid "dashboard.success-delete-project"
|
msgid "dashboard.success-delete-project"
|
||||||
msgstr "プロジェクトを削除しました"
|
msgstr "プロジェクトを削除しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:94
|
#: src/app/main/ui/dashboard/file_menu.cljs:124
|
||||||
msgid "dashboard.success-duplicate-file"
|
msgid "dashboard.success-duplicate-file"
|
||||||
msgstr "ファイルを複製しました"
|
msgstr "ファイルを複製しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:35
|
#: src/app/main/ui/dashboard/project_menu.cljs:46
|
||||||
msgid "dashboard.success-duplicate-project"
|
msgid "dashboard.success-duplicate-project"
|
||||||
msgstr "プロジェクトを複製しました"
|
msgstr "プロジェクトを複製しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:133, src/app/main/ui/dashboard/grid.cljs:719, src/app/main/ui/dashboard/sidebar.cljs:193
|
#: 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
|
||||||
msgid "dashboard.success-move-file"
|
msgid "dashboard.success-move-file"
|
||||||
msgstr "ファイルを移動しました"
|
msgstr "ファイルを移動しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:132
|
#: src/app/main/ui/dashboard/file_menu.cljs:161
|
||||||
msgid "dashboard.success-move-files"
|
msgid "dashboard.success-move-files"
|
||||||
msgstr "ファイルを移動しました"
|
msgstr "ファイルを移動しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:57
|
#: src/app/main/ui/dashboard/project_menu.cljs:68
|
||||||
msgid "dashboard.success-move-project"
|
msgid "dashboard.success-move-project"
|
||||||
msgstr "ファイルを削除しました"
|
msgstr "ファイルを削除しました"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1663
|
#: src/app/main/ui/dashboard/team.cljs:1669
|
||||||
msgid "dashboard.team-info"
|
msgid "dashboard.team-info"
|
||||||
msgstr "チーム情報"
|
msgstr "チーム情報"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1708
|
#: src/app/main/ui/dashboard/team.cljs:1714
|
||||||
msgid "dashboard.team-members"
|
msgid "dashboard.team-members"
|
||||||
msgstr "チームのメンバー"
|
msgstr "チームのメンバー"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1723
|
#: src/app/main/ui/dashboard/team.cljs:1729
|
||||||
msgid "dashboard.team-projects"
|
msgid "dashboard.team-projects"
|
||||||
msgstr "チームのプロジェクト"
|
msgstr "チームのプロジェクト"
|
||||||
|
|
||||||
@ -515,11 +470,11 @@ msgstr "Eメール"
|
|||||||
msgid "dashboard.your-name"
|
msgid "dashboard.your-name"
|
||||||
msgstr "名前"
|
msgstr "名前"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:691, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, 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:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
|
||||||
msgid "ds.confirm-cancel"
|
msgid "ds.confirm-cancel"
|
||||||
msgstr "キャンセル"
|
msgstr "キャンセル"
|
||||||
|
|
||||||
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
||||||
msgid "ds.confirm-ok"
|
msgid "ds.confirm-ok"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
@ -527,11 +482,11 @@ msgstr "OK"
|
|||||||
msgid "ds.confirm-title"
|
msgid "ds.confirm-title"
|
||||||
msgstr "本当に実行しますか?"
|
msgstr "本当に実行しますか?"
|
||||||
|
|
||||||
#: src/app/main/data/auth.cljs:197
|
#: src/app/main/data/auth.cljs:191
|
||||||
msgid "errors.auth-provider-not-configured"
|
msgid "errors.auth-provider-not-configured"
|
||||||
msgstr "認証プロバイダが設定されていません。"
|
msgstr "認証プロバイダが設定されていません。"
|
||||||
|
|
||||||
#: src/app/main/errors.cljs:258
|
#: src/app/main/errors.cljs:580
|
||||||
msgid "errors.auth.unable-to-login"
|
msgid "errors.auth.unable-to-login"
|
||||||
msgstr "認証されていないか、セッションが失効しているようです。"
|
msgstr "認証されていないか、セッションが失効しているようです。"
|
||||||
|
|
||||||
@ -539,27 +494,27 @@ msgstr "認証されていないか、セッションが失効しているよう
|
|||||||
msgid "errors.clipboard-not-implemented"
|
msgid "errors.clipboard-not-implemented"
|
||||||
msgstr "この処理は実行できません"
|
msgstr "この処理は実行できません"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:107, src/app/main/ui/auth/verify_token.cljs:128, 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:148, src/app/main/ui/settings/change_email.cljs:29
|
||||||
msgid "errors.email-already-exists"
|
msgid "errors.email-already-exists"
|
||||||
msgstr "メールアドレスは使用されています"
|
msgstr "メールアドレスは使用されています"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:133
|
#: src/app/main/ui/auth/verify_token.cljs:153
|
||||||
msgid "errors.email-already-validated"
|
msgid "errors.email-already-validated"
|
||||||
msgstr "メールアドレスはすでに有効です。"
|
msgstr "メールアドレスはすでに有効です。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:110, src/app/main/ui/settings/password.cljs:29
|
#: src/app/main/ui/auth/register.cljs:114, src/app/main/ui/settings/password.cljs:29
|
||||||
msgid "errors.email-as-password"
|
msgid "errors.email-as-password"
|
||||||
msgstr "メールアドレスはパスワードとして設定できません"
|
msgstr "メールアドレスはパスワードとして設定できません"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs:97, src/app/main/ui/auth/register.cljs:100, 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:740, src/app/main/ui/settings/change_email.cljs:37
|
||||||
msgid "errors.email-has-permanent-bounces"
|
msgid "errors.email-has-permanent-bounces"
|
||||||
msgstr "メールアドレス «%s» には多くの受信失敗レポートがあります。"
|
msgstr "メールアドレス «%s» には多くの受信失敗レポートがあります。"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:239, src/app/main/ui/dashboard/team.cljs:1122, src/app/main/ui/onboarding/team_choice.cljs:122
|
#: 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
|
||||||
msgid "errors.email-spam-or-permanent-bounces"
|
msgid "errors.email-spam-or-permanent-bounces"
|
||||||
msgstr "«%s» はスパムとして報告されたか、または恒久的に受信失敗しています"
|
msgstr "«%s» はスパムとして報告されたか、または恒久的に受信失敗しています"
|
||||||
|
|
||||||
#: src/app/main/data/auth.cljs:358, src/app/main/errors.cljs:196, src/app/main/ui/auth/login.cljs:110, src/app/main/ui/auth/register.cljs:129, src/app/main/ui/auth/register.cljs:322, src/app/main/ui/auth/verify_token.cljs:138, src/app/main/ui/dashboard/fonts.cljs:386, src/app/main/ui/dashboard/team.cljs:250, src/app/main/ui/dashboard/team.cljs:1125, 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: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
|
||||||
msgid "errors.generic"
|
msgid "errors.generic"
|
||||||
msgstr "エラーが発生しました。"
|
msgstr "エラーが発生しました。"
|
||||||
|
|
||||||
@ -571,7 +526,7 @@ msgstr "無効な色"
|
|||||||
msgid "errors.invalid-email-confirmation"
|
msgid "errors.invalid-email-confirmation"
|
||||||
msgstr "メールアドレスは同じものを入力する必要があります"
|
msgstr "メールアドレスは同じものを入力する必要があります"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "リカバリコードが無効です。"
|
msgstr "リカバリコードが無効です。"
|
||||||
|
|
||||||
@ -583,7 +538,7 @@ msgstr "招待が無効"
|
|||||||
msgid "errors.invite-invalid.info"
|
msgid "errors.invite-invalid.info"
|
||||||
msgstr "この招待はキャンセルされたか、失効しています。"
|
msgstr "この招待はキャンセルされたか、失効しています。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:96
|
||||||
msgid "errors.ldap-disabled"
|
msgid "errors.ldap-disabled"
|
||||||
msgstr "LDAP認証は無効になっています。"
|
msgstr "LDAP認証は無効になっています。"
|
||||||
|
|
||||||
@ -599,16 +554,15 @@ msgstr "画像の内容と拡張子が一致しません。"
|
|||||||
msgid "errors.media-type-not-allowed"
|
msgid "errors.media-type-not-allowed"
|
||||||
msgstr "無効な画像です。"
|
msgstr "無効な画像です。"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs
|
#: ../common/src/app/common/schema.cljc:1092
|
||||||
#, unused
|
|
||||||
msgid "errors.password-too-short"
|
msgid "errors.password-too-short"
|
||||||
msgstr "パスワードは8文字以上である必要があります"
|
msgstr "パスワードは8文字以上である必要があります"
|
||||||
|
|
||||||
#: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:91
|
#: src/app/main/data/auth.cljs:340, src/app/main/ui/auth/register.cljs:96
|
||||||
msgid "errors.registration-disabled"
|
msgid "errors.registration-disabled"
|
||||||
msgstr "新規登録は無効化されています。"
|
msgstr "新規登録は無効化されています。"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:513, src/app/main/ui/dashboard/team.cljs:511
|
#: src/app/main/data/nitrate.cljs:203, src/app/main/ui/dashboard/team.cljs:511
|
||||||
msgid "errors.team-leave.owner-cant-leave"
|
msgid "errors.team-leave.owner-cant-leave"
|
||||||
msgstr "オーナーはチームを脱退できません。オーナーロールを外してください。"
|
msgstr "オーナーはチームを脱退できません。オーナーロールを外してください。"
|
||||||
|
|
||||||
@ -616,11 +570,11 @@ msgstr "オーナーはチームを脱退できません。オーナーロール
|
|||||||
msgid "errors.unexpected-error"
|
msgid "errors.unexpected-error"
|
||||||
msgstr "エラーが発生しました。"
|
msgstr "エラーが発生しました。"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:75
|
#: src/app/main/ui/auth/verify_token.cljs:95
|
||||||
msgid "errors.unexpected-token"
|
msgid "errors.unexpected-token"
|
||||||
msgstr "不明なトークン"
|
msgstr "不明なトークン"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:107
|
#: src/app/main/ui/auth/login.cljs:104, src/app/main/ui/auth/login.cljs:108
|
||||||
msgid "errors.wrong-credentials"
|
msgid "errors.wrong-credentials"
|
||||||
msgstr "ユーザー名かパスワードが正しくありません。"
|
msgstr "ユーザー名かパスワードが正しくありません。"
|
||||||
|
|
||||||
@ -644,15 +598,10 @@ msgstr "題名"
|
|||||||
msgid "feedback.twitter-title"
|
msgid "feedback.twitter-title"
|
||||||
msgstr "Xサポートアカウント"
|
msgstr "Xサポートアカウント"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:39
|
#: src/app/main/ui/settings/password.cljs:45
|
||||||
msgid "generic.error"
|
msgid "generic.error"
|
||||||
msgstr "エラーが発生しました"
|
msgstr "エラーが発生しました"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/blur.cljs:31
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.blur"
|
|
||||||
msgstr "ぼかし"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/fill.cljs:69
|
#: src/app/main/ui/inspect/attributes/fill.cljs:69
|
||||||
msgid "inspect.attributes.fill"
|
msgid "inspect.attributes.fill"
|
||||||
msgstr "塗りつぶし"
|
msgstr "塗りつぶし"
|
||||||
@ -661,51 +610,6 @@ msgstr "塗りつぶし"
|
|||||||
msgid "inspect.attributes.image.download"
|
msgid "inspect.attributes.image.download"
|
||||||
msgstr "画像をダウンロード"
|
msgstr "画像をダウンロード"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/image.cljs:39
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.image.height"
|
|
||||||
msgstr "高さ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/image.cljs:32
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.image.width"
|
|
||||||
msgstr "横幅"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout"
|
|
||||||
msgstr "レイアウト"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.height"
|
|
||||||
msgstr "高さ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.left"
|
|
||||||
msgstr "左"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs, src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.radius"
|
|
||||||
msgstr "半径"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.rotation"
|
|
||||||
msgstr "回転"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.top"
|
|
||||||
msgstr "上"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.width"
|
|
||||||
msgstr "幅"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
||||||
msgid "inspect.attributes.shadow"
|
msgid "inspect.attributes.shadow"
|
||||||
msgstr "シャドウ"
|
msgstr "シャドウ"
|
||||||
@ -730,12 +634,7 @@ msgstr "フォントスタイル"
|
|||||||
msgid "inspect.attributes.typography.line-height"
|
msgid "inspect.attributes.typography.line-height"
|
||||||
msgstr "行の高さ"
|
msgstr "行の高さ"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/text.cljs:140
|
#: src/app/main/ui/inspect/attributes/text.cljs:115
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.typography.text-decoration"
|
|
||||||
msgstr "文字装飾"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/text.cljs:113
|
|
||||||
msgid "inspect.attributes.typography.text-decoration.underline"
|
msgid "inspect.attributes.typography.text-decoration.underline"
|
||||||
msgstr "下線"
|
msgstr "下線"
|
||||||
|
|
||||||
@ -771,7 +670,7 @@ msgstr "ショートカット"
|
|||||||
msgid "labels.add-custom-font"
|
msgid "labels.add-custom-font"
|
||||||
msgstr "カスタムフォントを追加"
|
msgstr "カスタムフォントを追加"
|
||||||
|
|
||||||
#: src/app/main/data/common.cljs:121, 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:626, src/app/main/ui/dashboard/team.cljs:896, src/app/main/ui/dashboard/team.cljs:1405, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:201, 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:578, 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:242
|
#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:532, src/app/main/data/nitrate.cljs:617, 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
|
||||||
msgid "labels.cancel"
|
msgid "labels.cancel"
|
||||||
msgstr "キャンセル"
|
msgstr "キャンセル"
|
||||||
|
|
||||||
@ -779,19 +678,19 @@ msgstr "キャンセル"
|
|||||||
msgid "labels.comments"
|
msgid "labels.comments"
|
||||||
msgstr "コメント"
|
msgstr "コメント"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1256, src/app/main/ui/workspace/main_menu.cljs:165
|
#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
|
||||||
msgid "labels.community"
|
msgid "labels.community"
|
||||||
msgstr "コミュニティ"
|
msgstr "コミュニティ"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:103
|
#: src/app/main/ui/settings/password.cljs:109
|
||||||
msgid "labels.confirm-password"
|
msgid "labels.confirm-password"
|
||||||
msgstr "パスワードを確認"
|
msgstr "パスワードを確認"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:202, src/app/main/ui/dashboard/deleted.cljs:46, src/app/main/ui/dashboard/deleted.cljs:281, src/app/main/ui/dashboard/file_menu.cljs:210, src/app/main/ui/dashboard/import.cljs:633, src/app/main/ui/dashboard/team.cljs:903, src/app/main/ui/exports/files.cljs:206, src/app/main/ui/settings/subscription.cljs:330, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:891
|
#: 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:330, src/app/main/ui/settings/subscription.cljs:364, src/app/main/ui/settings/subscription.cljs:891
|
||||||
msgid "labels.continue"
|
msgid "labels.continue"
|
||||||
msgstr "続ける"
|
msgstr "続ける"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203
|
#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
|
||||||
msgid "labels.create"
|
msgid "labels.create"
|
||||||
msgstr "作成"
|
msgstr "作成"
|
||||||
|
|
||||||
@ -803,43 +702,35 @@ msgstr "チームを作成"
|
|||||||
msgid "labels.create-team.placeholder"
|
msgid "labels.create-team.placeholder"
|
||||||
msgstr "チームの名前を入力"
|
msgstr "チームの名前を入力"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "labels.custom-fonts"
|
|
||||||
msgstr "カスタムフォント"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/sidebar.cljs:86
|
#: src/app/main/ui/settings/sidebar.cljs:86
|
||||||
msgid "labels.dashboard"
|
msgid "labels.dashboard"
|
||||||
msgstr "ダッシュボード"
|
msgstr "ダッシュボード"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:337, 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:333, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:1439, 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:223, 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:378
|
#: 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
|
||||||
msgid "labels.delete"
|
msgid "labels.delete"
|
||||||
msgstr "削除"
|
msgstr "削除"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:1019
|
#: src/app/main/ui/comments.cljs:1047
|
||||||
msgid "labels.delete-comment"
|
msgid "labels.delete-comment"
|
||||||
msgstr "コメントを削除"
|
msgstr "コメントを削除"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:941
|
#: src/app/main/ui/comments.cljs:969
|
||||||
msgid "labels.delete-comment-thread"
|
msgid "labels.delete-comment-thread"
|
||||||
msgstr "スレッドを削除"
|
msgstr "スレッドを削除"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1210
|
#: src/app/main/ui/dashboard/team.cljs:1216
|
||||||
msgid "labels.delete-invitation"
|
msgid "labels.delete-invitation"
|
||||||
msgstr "招待を削除"
|
msgstr "招待を削除"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:30, src/app/main/ui/dashboard/files.cljs:81, src/app/main/ui/dashboard/files.cljs:186, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/projects.cljs:235, src/app/main/ui/dashboard/sidebar.cljs:1139
|
#: 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
|
||||||
msgid "labels.drafts"
|
msgid "labels.drafts"
|
||||||
msgstr "下書き"
|
msgstr "下書き"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:1015, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:327, src/app/main/ui/dashboard/team.cljs:1437, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:218, src/app/main/ui/workspace/tokens/themes.cljs:52
|
#: 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
|
||||||
msgid "labels.edit"
|
msgid "labels.edit"
|
||||||
msgstr "編集"
|
msgstr "編集"
|
||||||
|
|
||||||
#, unused
|
#: 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
|
||||||
msgid "labels.edit-file"
|
|
||||||
msgstr "ファイルを編集"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:164, 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/onboarding/team_choice.cljs:71
|
|
||||||
msgid "labels.editor"
|
msgid "labels.editor"
|
||||||
msgstr "エディタ"
|
msgstr "エディタ"
|
||||||
|
|
||||||
@ -847,7 +738,7 @@ msgstr "エディタ"
|
|||||||
msgid "labels.expired-invitation"
|
msgid "labels.expired-invitation"
|
||||||
msgstr "失効済み"
|
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:134
|
#: 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
|
||||||
msgid "labels.export"
|
msgid "labels.export"
|
||||||
msgstr "エクスポート"
|
msgstr "エクスポート"
|
||||||
|
|
||||||
@ -863,23 +754,23 @@ msgstr "フォントファミリー"
|
|||||||
msgid "labels.font-variants"
|
msgid "labels.font-variants"
|
||||||
msgstr "スタイル"
|
msgstr "スタイル"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:1152
|
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
|
||||||
msgid "labels.fonts"
|
msgid "labels.fonts"
|
||||||
msgstr "フォント"
|
msgstr "フォント"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1250, src/app/main/ui/workspace/main_menu.cljs:201
|
#: src/app/main/ui/dashboard/sidebar.cljs:473, src/app/main/ui/workspace/main_menu.cljs:201
|
||||||
msgid "labels.github-repo"
|
msgid "labels.github-repo"
|
||||||
msgstr "GitHubレポジトリ"
|
msgstr "GitHubレポジトリ"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1224, src/app/main/ui/workspace/main_menu.cljs:230
|
#: src/app/main/ui/dashboard/sidebar.cljs:447, src/app/main/ui/workspace/main_menu.cljs:230
|
||||||
msgid "labels.give-feedback"
|
msgid "labels.give-feedback"
|
||||||
msgstr "フィードバックする"
|
msgstr "フィードバックする"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:103, src/app/main/ui/auth/register.cljs:376, src/app/main/ui/static.cljs:199, src/app/main/ui/viewer/login.cljs:122
|
#: 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
|
||||||
msgid "labels.go-back"
|
msgid "labels.go-back"
|
||||||
msgstr "戻る"
|
msgstr "戻る"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1207, src/app/main/ui/workspace/main_menu.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1351, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1379, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1568
|
#: 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
|
||||||
msgid "labels.help-center"
|
msgid "labels.help-center"
|
||||||
msgstr "ヘルプセンター"
|
msgstr "ヘルプセンター"
|
||||||
|
|
||||||
@ -887,11 +778,11 @@ msgstr "ヘルプセンター"
|
|||||||
msgid "labels.hide-resolved-comments"
|
msgid "labels.hide-resolved-comments"
|
||||||
msgstr "解決済みのコメントを非表示"
|
msgstr "解決済みのコメントを非表示"
|
||||||
|
|
||||||
#: src/app/main/ui/static.cljs:411
|
#: src/app/main/ui/static.cljs:420
|
||||||
msgid "labels.internal-error.main-message"
|
msgid "labels.internal-error.main-message"
|
||||||
msgstr "内部エラー"
|
msgstr "内部エラー"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:585, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1213
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:233, src/app/main/ui/dashboard/team.cljs:127, src/app/main/ui/dashboard/team.cljs:135, src/app/main/ui/dashboard/team.cljs:1219
|
||||||
msgid "labels.invitations"
|
msgid "labels.invitations"
|
||||||
msgstr "招待"
|
msgstr "招待"
|
||||||
|
|
||||||
@ -903,7 +794,7 @@ msgstr "言語"
|
|||||||
msgid "labels.libraries-and-templates"
|
msgid "labels.libraries-and-templates"
|
||||||
msgstr "ライブラリ&テンプレート"
|
msgstr "ライブラリ&テンプレート"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1527
|
#: src/app/main/ui/dashboard/sidebar.cljs:750
|
||||||
msgid "labels.logout"
|
msgid "labels.logout"
|
||||||
msgstr "ログアウト"
|
msgstr "ログアウト"
|
||||||
|
|
||||||
@ -911,11 +802,11 @@ msgstr "ログアウト"
|
|||||||
msgid "labels.member"
|
msgid "labels.member"
|
||||||
msgstr "メンバー"
|
msgstr "メンバー"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:581, 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:228, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
|
||||||
msgid "labels.members"
|
msgid "labels.members"
|
||||||
msgstr "メンバー"
|
msgstr "メンバー"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:96
|
#: src/app/main/ui/settings/password.cljs:102
|
||||||
msgid "labels.new-password"
|
msgid "labels.new-password"
|
||||||
msgstr "新しいパスワード"
|
msgstr "新しいパスワード"
|
||||||
|
|
||||||
@ -923,28 +814,19 @@ msgstr "新しいパスワード"
|
|||||||
msgid "labels.no-invitations"
|
msgid "labels.no-invitations"
|
||||||
msgstr "招待がありません。"
|
msgstr "招待がありません。"
|
||||||
|
|
||||||
#: src/app/main/ui/static.cljs:311
|
#: src/app/main/ui/static.cljs:320
|
||||||
msgid "labels.not-found.main-message"
|
msgid "labels.not-found.main-message"
|
||||||
msgstr "おっと!"
|
msgstr "おっと!"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:89
|
#: src/app/main/ui/settings/password.cljs:95
|
||||||
msgid "labels.old-password"
|
msgid "labels.old-password"
|
||||||
msgstr "以前のパスワード"
|
msgstr "以前のパスワード"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/comments.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "labels.only-yours"
|
|
||||||
msgstr "あなた専用"
|
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "labels.or"
|
|
||||||
msgstr "または"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
|
#: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96
|
||||||
msgid "labels.profile"
|
msgid "labels.profile"
|
||||||
msgstr "プロフィール"
|
msgstr "プロフィール"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1132
|
#: src/app/main/ui/dashboard/sidebar.cljs:355
|
||||||
msgid "labels.projects"
|
msgid "labels.projects"
|
||||||
msgstr "プロジェクト"
|
msgstr "プロジェクト"
|
||||||
|
|
||||||
@ -952,7 +834,7 @@ msgstr "プロジェクト"
|
|||||||
msgid "labels.release-notes"
|
msgid "labels.release-notes"
|
||||||
msgstr "リリースノート"
|
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:406
|
#: 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"
|
msgid "labels.remove"
|
||||||
msgstr "削除"
|
msgstr "削除"
|
||||||
|
|
||||||
@ -960,7 +842,7 @@ msgstr "削除"
|
|||||||
msgid "labels.remove-member"
|
msgid "labels.remove-member"
|
||||||
msgstr "メンバーを削除"
|
msgstr "メンバーを削除"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:300, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:602, 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:251, 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
|
||||||
msgid "labels.rename"
|
msgid "labels.rename"
|
||||||
msgstr "名前を変更"
|
msgstr "名前を変更"
|
||||||
|
|
||||||
@ -968,10 +850,10 @@ msgstr "名前を変更"
|
|||||||
msgid "labels.rename-team"
|
msgid "labels.rename-team"
|
||||||
msgstr "チーム名を変更"
|
msgstr "チーム名を変更"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1207
|
#: src/app/main/ui/dashboard/team.cljs:1213
|
||||||
msgid "labels.resend-invitation"
|
msgid "labels.resend-invitation"
|
||||||
msgstr "招待を再送"
|
msgstr "招待を再送"
|
||||||
|
|
||||||
#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:324, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:428
|
#: 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
|
||||||
msgid "labels.retry"
|
msgid "labels.retry"
|
||||||
msgstr "リトライ"
|
msgstr "リトライ"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -12,78 +12,61 @@ msgstr ""
|
|||||||
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Jau turite paskyrą?"
|
msgstr "Jau turite paskyrą?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Pasitikrinkite savo el. paštą, ten rasite pranešimą su nuorodą, kurią "
|
|
||||||
"paspaudę galėsite pradėti naudotis Penpot."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Slaptažodžio patvirtinimas"
|
msgstr "Slaptažodžio patvirtinimas"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Kurti demonstracinę paskyrą"
|
msgstr "Kurti demonstracinę paskyrą"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Norite tik išmėginti?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Tai yra DEMONSTRACINĖ versija, NEKURKITE tikrų darbų, nes projektai "
|
"Tai yra DEMONSTRACINĖ versija, NEKURKITE tikrų darbų, nes projektai "
|
||||||
"periodiškai - šalinami."
|
"periodiškai - šalinami."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Pamiršote slaptažodį?"
|
msgstr "Pamiršote slaptažodį?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Vardas ir Pavardė"
|
msgstr "Vardas ir Pavardė"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Prisijungimas čia"
|
msgstr "Prisijungimas čia"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Prisijungti"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Įveskite naują slaptažodį"
|
msgstr "Įveskite naują slaptažodį"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Slaptažodis sėkmingai pakeistas"
|
msgstr "Slaptažodis sėkmingai pakeistas"
|
||||||
|
|
||||||
@ -95,19 +78,19 @@ msgstr "Paskyra yra nepatvirtinta, prieš tęsdami patikrinkite paskyrą."
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Slaptažodžio atkūrimo nuoroda išsiųsta į jūsų pašto dėžutę."
|
msgstr "Slaptažodžio atkūrimo nuoroda išsiųsta į jūsų pašto dėžutę."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Sėkmingai prisijungė prie komandos"
|
msgstr "Sėkmingai prisijungė prie komandos"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Slaptažodis"
|
msgstr "Slaptažodis"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Ne mažiau kaip 8 simboliai"
|
msgstr "Ne mažiau kaip 8 simboliai"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Privatumo politika"
|
msgstr "Privatumo politika"
|
||||||
|
|
||||||
@ -115,45 +98,35 @@ msgstr "Privatumo politika"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Atkurti slaptažodį"
|
msgstr "Atkurti slaptažodį"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Atsiųsime jums el. laišką su instrukcijomis"
|
msgstr "Atsiųsime jums el. laišką su instrukcijomis"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Pamiršote slaptažodį?"
|
msgstr "Pamiršote slaptažodį?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Slaptažodžio keitimas"
|
msgstr "Slaptažodžio keitimas"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Dar neturite paskyros?"
|
msgstr "Dar neturite paskyros?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Sukurti paskyrą"
|
msgstr "Sukurti paskyrą"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Sukurti paskyrą"
|
msgstr "Sukurti paskyrą"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "Atviro kodo dizaino ir prototipų kūrimo sprendimas."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Paslaugų teikimo sąlygos"
|
msgstr "Paslaugų teikimo sąlygos"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Išsiuntėme patvirtinimo el. laišką adresu"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Paskelbti"
|
msgstr "Paskelbti"
|
||||||
|
|
||||||
@ -226,45 +199,25 @@ msgstr "Dalinkitės prototipais"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Rinktis viską"
|
msgstr "Rinktis viską"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Atšaukti paskelbimą"
|
msgstr "Atšaukti paskelbimą"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Komandos valdymas"
|
msgstr "Komandos valdymas"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot yra skirtas komandoms. Pakvieskite narius bendram darbui su "
|
"Penpot yra skirtas komandoms. Pakvieskite narius bendram darbui su "
|
||||||
"projektais ir failais"
|
"projektais ir failais"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "Suburkite komandą!"
|
msgstr "Suburkite komandą!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
#: src/app/main/ui/dashboard/file_menu.cljs:324, src/app/main/ui/workspace/main_menu.cljs:700
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr "Išmokite Penpot pagrindus ir mėgaukitės šia pamoka."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Pradėti pamoką"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Panagrinėkite Penpot ir susipažinkite su pagrindinėmis jo savybėmis."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.start"
|
|
||||||
msgstr "Pradėkite apžvalgą"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700
|
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Pridėti kaip bendrinamą biblioteką"
|
msgstr "Pridėti kaip bendrinamą biblioteką"
|
||||||
|
|
||||||
@ -272,11 +225,11 @@ msgstr "Pridėti kaip bendrinamą biblioteką"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Keisti el. paštą"
|
msgstr "Keisti el. paštą"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(kopija)"
|
msgstr "(kopija)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Sukurti naują komandą"
|
msgstr "Sukurti naują komandą"
|
||||||
|
|
||||||
@ -284,15 +237,15 @@ msgstr "Sukurti naują komandą"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Jūsų Penpot"
|
msgstr "Jūsų Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Naikinti komandą"
|
msgstr "Naikinti komandą"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "Dublikatas"
|
msgstr "Dublikatas"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "Dubliuoti %s failus"
|
msgstr "Dubliuoti %s failus"
|
||||||
|
|
||||||
@ -304,10 +257,6 @@ msgstr "Eksportuokite darbalaukius į PDF"
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "Eksportuoti į PDF"
|
msgstr "Eksportuoti į PDF"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "Eksportuoti Penpot %s failus"
|
|
||||||
|
|
||||||
#: src/app/main/ui/exports/assets.cljs:108
|
#: src/app/main/ui/exports/assets.cljs:108
|
||||||
msgid "dashboard.export-multiple.selected"
|
msgid "dashboard.export-multiple.selected"
|
||||||
msgstr "Pasirinkta %s iš %s elementų"
|
msgstr "Pasirinkta %s iš %s elementų"
|
||||||
@ -377,20 +326,15 @@ msgstr ""
|
|||||||
msgid "dashboard.fonts.upload-all"
|
msgid "dashboard.fonts.upload-all"
|
||||||
msgstr "Įkelti viską"
|
msgstr "Įkelti viską"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:941, src/app/main/ui/dashboard/project_menu.cljs:109
|
#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
|
||||||
msgid "dashboard.import"
|
msgid "dashboard.import"
|
||||||
msgstr "Importuokite Penpot failus"
|
msgstr "Importuokite Penpot failus"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:342, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
||||||
msgid "dashboard.import.analyze-error"
|
msgid "dashboard.import.analyze-error"
|
||||||
msgstr "Oi! Nepavyko importuoti šio failo"
|
msgstr "Oi! Nepavyko importuoti šio failo"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:292
|
#: src/app/main/ui/dashboard/import.cljs:587
|
||||||
#, unused
|
|
||||||
msgid "dashboard.import.import-error"
|
|
||||||
msgstr "Iškilo problema importuojant failą. Failas nebuvo importuotas."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:556
|
|
||||||
msgid "dashboard.import.import-warning"
|
msgid "dashboard.import.import-warning"
|
||||||
msgstr "Kai kuriuose failuose buvo netinkamų objektų, kurie buvo pašalinti."
|
msgstr "Kai kuriuose failuose buvo netinkamų objektų, kurie buvo pašalinti."
|
||||||
|
|
||||||
@ -422,15 +366,15 @@ msgstr "Įkeliami duomenys į serverį (%s/%s)"
|
|||||||
msgid "dashboard.import.progress.upload-media"
|
msgid "dashboard.import.progress.upload-media"
|
||||||
msgstr "Įkeliamas failas: %s"
|
msgstr "Įkeliamas failas: %s"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "Naujas failas"
|
msgstr "Naujas failas"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ Naujas projektas"
|
msgstr "+ Naujas projektas"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "Naujas projektas"
|
msgstr "Naujas projektas"
|
||||||
|
|
||||||
@ -438,43 +382,43 @@ msgstr "Naujas projektas"
|
|||||||
msgid "dashboard.no-matches-for"
|
msgid "dashboard.no-matches-for"
|
||||||
msgstr "Nerasta jokių atitikmenų pagal \"%s\""
|
msgstr "Nerasta jokių atitikmenų pagal \"%s\""
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1177
|
#: src/app/main/ui/dashboard/sidebar.cljs:400
|
||||||
msgid "dashboard.no-projects-placeholder"
|
msgid "dashboard.no-projects-placeholder"
|
||||||
msgstr "Prisegti projektai bus rodomi čia"
|
msgstr "Prisegti projektai bus rodomi čia"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "Jūsų el. pašto adresas sėkmingai atnaujintas"
|
msgstr "Jūsų el. pašto adresas sėkmingai atnaujintas"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:31
|
#: src/app/main/ui/auth/verify_token.cljs:32
|
||||||
msgid "dashboard.notifications.email-verified-successfully"
|
msgid "dashboard.notifications.email-verified-successfully"
|
||||||
msgstr "Jūsų el. pašto adresas buvo sėkmingai patvirtintas"
|
msgstr "Jūsų el. pašto adresas buvo sėkmingai patvirtintas"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:46
|
#: src/app/main/ui/settings/password.cljs:52
|
||||||
msgid "dashboard.notifications.password-saved"
|
msgid "dashboard.notifications.password-saved"
|
||||||
msgstr "Slaptažodis sėkmingai išsaugotas!"
|
msgstr "Slaptažodis sėkmingai išsaugotas!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1719
|
#: src/app/main/ui/dashboard/team.cljs:1725
|
||||||
msgid "dashboard.num-of-members"
|
msgid "dashboard.num-of-members"
|
||||||
msgstr "%s nariai"
|
msgstr "%s nariai"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "Atidarykite failą naujame skirtuke"
|
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:124, src/app/main/ui/dashboard/grid.cljs:428, src/app/main/ui/dashboard/projects.cljs:268, src/app/main/ui/dashboard/projects.cljs:269
|
#: 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
|
||||||
msgid "dashboard.options"
|
msgid "dashboard.options"
|
||||||
msgstr "Nustatymai"
|
msgstr "Nustatymai"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "Keisti slaptažodį"
|
msgstr "Keisti slaptažodį"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/pin_button.cljs:22, src/app/main/ui/dashboard/project_menu.cljs:96
|
#: 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
|
||||||
msgid "dashboard.pin-unpin"
|
msgid "dashboard.pin-unpin"
|
||||||
msgstr "Prisegti/Atsegti"
|
msgstr "Prisegti/Atsegti"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59
|
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
|
||||||
msgid "dashboard.projects-title"
|
msgid "dashboard.projects-title"
|
||||||
msgstr "Projektai"
|
msgstr "Projektai"
|
||||||
|
|
||||||
@ -482,27 +426,10 @@ msgstr "Projektai"
|
|||||||
msgid "dashboard.remove-account"
|
msgid "dashboard.remove-account"
|
||||||
msgstr "Norite pašalinti paskyrą?"
|
msgstr "Norite pašalinti paskyrą?"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.remove-shared"
|
|
||||||
msgstr "Pašalinti kaip bendrinamą biblioteką"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/options.cljs:71
|
#: src/app/main/ui/settings/options.cljs:71
|
||||||
msgid "dashboard.theme-change"
|
msgid "dashboard.theme-change"
|
||||||
msgstr "Vartotojo sąsajos tema"
|
msgstr "Vartotojo sąsajos tema"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "Atkūrimo prieigos raktas neteisingas."
|
msgstr "Atkūrimo prieigos raktas neteisingas."
|
||||||
|
|
||||||
#: src/app/main/ui/exports/files.cljs:131
|
|
||||||
#, unused
|
|
||||||
msgid "files-download-modal.description-1"
|
|
||||||
msgstr ""
|
|
||||||
"Viename ar keliuose failuose, kuriuos norite eksportuoti, naudojamos "
|
|
||||||
"bendros bibliotekos. Ką norite daryti su jų komponentais*?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/exports/files.cljs:132
|
|
||||||
#, unused
|
|
||||||
msgid "files-download-modal.description-2"
|
|
||||||
msgstr "* Gali apimti komponentus, grafiką, spalvas ir (arba) tipografiją."
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -11,97 +11,75 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "നിലവിൽ അക്കൗണ്ടുണ്ടോ?"
|
msgstr "നിലവിൽ അക്കൗണ്ടുണ്ടോ?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-mail"
|
|
||||||
msgstr "നിങ്ങളുടെ ഇമെയിൽ പരിശോധിക്കുക"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"പെൻപോട്ട് ഉപയോഗിക്കാനും സാധൂകരിക്കാനും നിങ്ങളുടെ ഇമെയിൽ പരിശോധിച്ച് അതിലെ "
|
|
||||||
"കണ്ണിയിൽ ക്ലിക്ക് ചെയ്യുക."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "പാസ്വേഡ് സ്ഥിരീകരിക്കുക"
|
msgstr "പാസ്വേഡ് സ്ഥിരീകരിക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "ഡെമോ അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
msgstr "ഡെമോ അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "ഒന്നുപയോഗിച്ച് നോക്കുന്നോ?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ഇതൊരു ഡെമോ സേവനമാണ്, ഒരു യഥാർത്ഥ ജോലിക്ക് ഉപയോഗിക്കരുത്, പ്രൊജക്റ്റുകൾ "
|
"ഇതൊരു ഡെമോ സേവനമാണ്, ഒരു യഥാർത്ഥ ജോലിക്ക് ഉപയോഗിക്കരുത്, പ്രൊജക്റ്റുകൾ "
|
||||||
"നിശ്ചിതസമയങ്ങളിൽ മായ്ക്കപ്പെടും."
|
"നിശ്ചിതസമയങ്ങളിൽ മായ്ക്കപ്പെടും."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "പാസ്വേഡ് മറന്നോ?"
|
msgstr "പാസ്വേഡ് മറന്നോ?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "മുഴുവൻ പേര്"
|
msgstr "മുഴുവൻ പേര്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:288
|
#: src/app/main/ui/auth/login.cljs:294
|
||||||
msgid "auth.login-account-title"
|
msgid "auth.login-account-title"
|
||||||
msgstr "എന്റെ അക്കൗണ്ടിലേക്ക് പ്രവേശിക്കുക"
|
msgstr "എന്റെ അക്കൗണ്ടിലേക്ക് പ്രവേശിക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "ഇവിടെ ലോഗിൻ ചെയ്യുക."
|
msgstr "ഇവിടെ ലോഗിൻ ചെയ്യുക."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:297
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "ലോഗിൻ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:291
|
|
||||||
msgid "auth.login-tagline"
|
msgid "auth.login-tagline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ഡിസൈനിങിലും കോഡിങിലും സഹകരിച്ച് പ്രവർത്തിക്കാനുള്ള ഒരു ഓപ്പൺസോഴ്സ് ഡിസൈൻ "
|
"ഡിസൈനിങിലും കോഡിങിലും സഹകരിച്ച് പ്രവർത്തിക്കാനുള്ള ഒരു ഓപ്പൺസോഴ്സ് ഡിസൈൻ "
|
||||||
"ഉപകരണമാണ് പെൻപോട്ട്"
|
"ഉപകരണമാണ് പെൻപോട്ട്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "ഗിറ്റ്ഹബ്ബ്"
|
msgstr "ഗിറ്റ്ഹബ്ബ്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "ഗിറ്റ്ലാബ്"
|
msgstr "ഗിറ്റ്ലാബ്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "ഗൂഗിൾ"
|
msgstr "ഗൂഗിൾ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "ഓപ്പൺഐഡി"
|
msgstr "ഓപ്പൺഐഡി"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "പുതിയൊരു പാസ്വേഡ് ചേർക്കുക"
|
msgstr "പുതിയൊരു പാസ്വേഡ് ചേർക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:61
|
#: src/app/main/ui/auth/verify_token.cljs:81
|
||||||
msgid "auth.notifications.organization-invitation-accepted"
|
msgid "auth.notifications.organization-invitation-accepted"
|
||||||
msgstr "നിങ്ങളിപ്പോൾ %s-ന്റെ ഭാഗമാണ്"
|
msgstr "നിങ്ങളിപ്പോൾ %s-ന്റെ ഭാഗമാണ്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "പാസ്വേഡ് വിജയകരമായി മാറ്റി"
|
msgstr "പാസ്വേഡ് വിജയകരമായി മാറ്റി"
|
||||||
|
|
||||||
@ -113,19 +91,19 @@ msgstr "പ്രൊഫൈൽ സാധൂകരിച്ചിട്ടില
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "പാസ്വേഡ് വീണ്ടെടുപ്പ് കണ്ണി നിങ്ങളുടെ ഇൻബോക്സിലേക്ക് അയച്ചിട്ടുണ്ട്."
|
msgstr "പാസ്വേഡ് വീണ്ടെടുപ്പ് കണ്ണി നിങ്ങളുടെ ഇൻബോക്സിലേക്ക് അയച്ചിട്ടുണ്ട്."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "വിജയകരമായി സംഘത്തിൽ ചേർന്നു"
|
msgstr "വിജയകരമായി സംഘത്തിൽ ചേർന്നു"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "പാസ്വേഡ്"
|
msgstr "പാസ്വേഡ്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "കുറഞ്ഞത് 8 ക്യാരക്റ്ററുകൾ"
|
msgstr "കുറഞ്ഞത് 8 ക്യാരക്റ്ററുകൾ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "സ്വകാര്യതാനയം"
|
msgstr "സ്വകാര്യതാനയം"
|
||||||
|
|
||||||
@ -133,67 +111,46 @@ msgstr "സ്വകാര്യതാനയം"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "പാസ്വേഡ് വീണ്ടെടുക്കുക"
|
msgstr "പാസ്വേഡ് വീണ്ടെടുക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "നിർദ്ദേശങ്ങളടങ്ങിയ ഒരു ഇമെയിൽ ഞങ്ങൾ നിങ്ങൾക്ക് അയയ്ക്കും"
|
msgstr "നിർദ്ദേശങ്ങളടങ്ങിയ ഒരു ഇമെയിൽ ഞങ്ങൾ നിങ്ങൾക്ക് അയയ്ക്കും"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "പാസ്വേഡ് മറന്നോ?"
|
msgstr "പാസ്വേഡ് മറന്നോ?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "പാസ്വേഡ് മാറ്റുക"
|
msgstr "പാസ്വേഡ് മാറ്റുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "ഇതുവരെ അക്കൗണ്ട് ഇല്ലേ?"
|
msgstr "ഇതുവരെ അക്കൗണ്ട് ഇല്ലേ?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:368
|
#: src/app/main/ui/auth/register.cljs:357
|
||||||
msgid "auth.register-account-tagline"
|
msgid "auth.register-account-tagline"
|
||||||
msgstr "നിങ്ങളെ ഞങ്ങൾ എന്താണ് ഡാഷ്ബോർഡിലും ഇമെയിലിലും വിളിക്കേണ്ടതെന്ന് അറിയിക്കുക."
|
msgstr "നിങ്ങളെ ഞങ്ങൾ എന്താണ് ഡാഷ്ബോർഡിലും ഇമെയിലിലും വിളിക്കേണ്ടതെന്ന് അറിയിക്കുക."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:367
|
#: src/app/main/ui/auth/register.cljs:356
|
||||||
msgid "auth.register-account-title"
|
msgid "auth.register-account-title"
|
||||||
msgstr "നിങ്ങളുടെ പേര്"
|
msgstr "നിങ്ങളുടെ പേര്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
msgstr "അക്കൗണ്ട് സൃഷ്ടിക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "ഡിസൈനിങിനും പ്രോട്ടോടൈപ്പിങിനുമുള്ള ഓപ്പൺ സോഴ്സ് പ്രതിവിധി."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "ഉപയോഗനിബന്ധനകൾ"
|
msgstr "ഉപയോഗനിബന്ധനകൾ"
|
||||||
|
|
||||||
#, unused
|
#: 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.terms-privacy-agreement"
|
|
||||||
msgstr ""
|
|
||||||
"ഒരു അക്കൗണ്ട് സൃഷ്ടിക്കുമ്പോൾ, നിങ്ങൾ ഞങ്ങളുടെ ഉപയോഗനിബന്ധനകളും "
|
|
||||||
"സ്വകാര്യതാനയവും അംഗീകരിക്കുന്നു."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "സാധൂകരിക്കാനുള്ള ഇമെയിൽ ഞങ്ങൾ അയച്ചിരിക്കുന്നു"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:187
|
|
||||||
msgid "auth.work-email"
|
msgid "auth.work-email"
|
||||||
msgstr "ജോലിക്കുള്ള ഇമെയിൽ"
|
msgstr "ജോലിക്കുള്ള ഇമെയിൽ"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "branding-illustrations-marketing-pieces"
|
|
||||||
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:304, src/app/main/ui/viewer/share_link.cljs:314
|
||||||
msgid "common.share-link.all-users"
|
msgid "common.share-link.all-users"
|
||||||
msgstr "എല്ലാ പെൻപോട്ട് ഉപയോക്താക്കളും"
|
msgstr "എല്ലാ പെൻപോട്ട് ഉപയോക്താക്കളും"
|
||||||
@ -250,7 +207,7 @@ msgstr "പ്രോട്ടോടൈപ്പുകൾ പങ്കുവെ
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "എല്ലാം തിരഞ്ഞെടുക്കുക"
|
msgstr "എല്ലാം തിരഞ്ഞെടുക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, 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:700
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "പങ്കിട്ട ലൈബ്രറിയായി ചേർക്കുക"
|
msgstr "പങ്കിട്ട ലൈബ്രറിയായി ചേർക്കുക"
|
||||||
|
|
||||||
@ -258,11 +215,11 @@ msgstr "പങ്കിട്ട ലൈബ്രറിയായി ചേർക
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "ഇമെയിൽ മാറ്റുക"
|
msgstr "ഇമെയിൽ മാറ്റുക"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(പകർത്തുക)"
|
msgstr "(പകർത്തുക)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "പുതിയ സംഘം രൂപീകരിക്കുക"
|
msgstr "പുതിയ സംഘം രൂപീകരിക്കുക"
|
||||||
|
|
||||||
@ -270,15 +227,15 @@ msgstr "പുതിയ സംഘം രൂപീകരിക്കുക"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "നിങ്ങളുടെ പെൻപോട്ട്"
|
msgstr "നിങ്ങളുടെ പെൻപോട്ട്"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "സംഘത്തെ നീക്കുക"
|
msgstr "സംഘത്തെ നീക്കുക"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:305, src/app/main/ui/dashboard/project_menu.cljs:92
|
#: src/app/main/ui/dashboard/file_menu.cljs:302, src/app/main/ui/dashboard/project_menu.cljs:94
|
||||||
msgid "dashboard.duplicate"
|
msgid "dashboard.duplicate"
|
||||||
msgstr "പകർപ്പ്"
|
msgstr "പകർപ്പ്"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
#: src/app/main/ui/dashboard/file_menu.cljs:269
|
||||||
msgid "dashboard.duplicate-multi"
|
msgid "dashboard.duplicate-multi"
|
||||||
msgstr "%s ഫയലുകളുടെ പകർപ്പ്"
|
msgstr "%s ഫയലുകളുടെ പകർപ്പ്"
|
||||||
|
|
||||||
@ -290,19 +247,10 @@ msgstr "ആർട്ട്ബോർഡുകൾ പിഡിഎഫായി എ
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക"
|
msgstr "പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "പെൻപോട്ട് %s ഫയലുകൾ എക്സ്പോർട്ട് ചെയ്യുക"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/main_menu.cljs:728
|
#: src/app/main/ui/workspace/main_menu.cljs:728
|
||||||
msgid "dashboard.export-shapes"
|
msgid "dashboard.export-shapes"
|
||||||
msgstr "എക്സ്പോർട്ട്"
|
msgstr "എക്സ്പോർട്ട്"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "റിക്കവറി ടോക്കൺ അസാധുവാണ്."
|
msgstr "റിക്കവറി ടോക്കൺ അസാധുവാണ്."
|
||||||
|
|
||||||
#: src/app/main/ui/exports/files.cljs:132
|
|
||||||
#, unused
|
|
||||||
msgid "files-download-modal.description-2"
|
|
||||||
msgstr "* ഘടകങ്ങൾ, ഗ്രാഫിക്സ്, നിറങ്ങൾ അല്ലെങ്കിൽ മുദ്രണകലകൾ എന്നിവ ഉൾപ്പെടാം."
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -11,23 +11,23 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Bekreft passord"
|
msgstr "Bekreft passord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Glemt passordet?"
|
msgstr "Glemt passordet?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Fullt navn"
|
msgstr "Fullt navn"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Skriv inn et nytt passord"
|
msgstr "Skriv inn et nytt passord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Passord"
|
msgstr "Passord"
|
||||||
|
|
||||||
@ -35,27 +35,27 @@ msgstr "Passord"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Gjenopprett passord"
|
msgstr "Gjenopprett passord"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Endre passordet ditt"
|
msgstr "Endre passordet ditt"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Ingen konto enda?"
|
msgstr "Ingen konto enda?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Opprett konto"
|
msgstr "Opprett konto"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Opprett konto"
|
msgstr "Opprett konto"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, 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:700
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Legg til som delt bibliotek"
|
msgstr "Legg til som delt bibliotek"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(kopi)"
|
msgstr "(kopi)"
|
||||||
|
|
||||||
@ -63,7 +63,7 @@ msgstr "(kopi)"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Din Penpot"
|
msgstr "Din Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "Slett lag"
|
msgstr "Slett lag"
|
||||||
|
|
||||||
@ -71,7 +71,7 @@ msgstr "Slett lag"
|
|||||||
msgid "dashboard.invite-profile"
|
msgid "dashboard.invite-profile"
|
||||||
msgstr "Inviter til team"
|
msgstr "Inviter til team"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "Forlat team"
|
msgstr "Forlat team"
|
||||||
|
|
||||||
@ -79,43 +79,43 @@ msgstr "Forlat team"
|
|||||||
msgid "dashboard.libraries-title"
|
msgid "dashboard.libraries-title"
|
||||||
msgstr "Delte biblioteker"
|
msgstr "Delte biblioteker"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101
|
#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
|
||||||
msgid "dashboard.move-to"
|
msgid "dashboard.move-to"
|
||||||
msgstr "Flytt til"
|
msgstr "Flytt til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:277
|
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
||||||
msgid "dashboard.move-to-multi"
|
msgid "dashboard.move-to-multi"
|
||||||
msgstr "Flytt %s filer til"
|
msgstr "Flytt %s filer til"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:249
|
#: src/app/main/ui/dashboard/file_menu.cljs:73
|
||||||
msgid "dashboard.move-to-other-team"
|
msgid "dashboard.move-to-other-team"
|
||||||
msgstr "Flytt til annet team"
|
msgstr "Flytt til annet team"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ Ny fil"
|
msgstr "+ Ny fil"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ Nytt prosjekt"
|
msgstr "+ Nytt prosjekt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1719
|
#: src/app/main/ui/dashboard/team.cljs:1725
|
||||||
msgid "dashboard.num-of-members"
|
msgid "dashboard.num-of-members"
|
||||||
msgstr "%s medlemmer"
|
msgstr "%s medlemmer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "Åpne fil i ny fane"
|
msgstr "Åpne fil i ny fane"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "Endre passord"
|
msgstr "Endre passord"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/pin_button.cljs:22, src/app/main/ui/dashboard/project_menu.cljs:96
|
#: 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
|
||||||
msgid "dashboard.pin-unpin"
|
msgid "dashboard.pin-unpin"
|
||||||
msgstr "Fest/løsne"
|
msgstr "Fest/løsne"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59
|
#: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:51
|
||||||
msgid "dashboard.projects-title"
|
msgid "dashboard.projects-title"
|
||||||
msgstr "Prosjekter"
|
msgstr "Prosjekter"
|
||||||
|
|
||||||
@ -123,12 +123,7 @@ msgstr "Prosjekter"
|
|||||||
msgid "dashboard.remove-account"
|
msgid "dashboard.remove-account"
|
||||||
msgstr "Ønsker du å fjerne kontoen din?"
|
msgstr "Ønsker du å fjerne kontoen din?"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "dashboard.remove-shared"
|
|
||||||
msgstr "Fjern som delt bibliotek"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:283, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
|
|
||||||
msgid "dashboard.search-placeholder"
|
msgid "dashboard.search-placeholder"
|
||||||
msgstr "Søk …"
|
msgstr "Søk …"
|
||||||
|
|
||||||
@ -144,19 +139,19 @@ msgstr "Velg grensesnittsspråk"
|
|||||||
msgid "dashboard.select-ui-theme"
|
msgid "dashboard.select-ui-theme"
|
||||||
msgstr "Velg drakt"
|
msgstr "Velg drakt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:292
|
#: src/app/main/ui/dashboard/projects.cljs:288
|
||||||
msgid "dashboard.show-all-files"
|
msgid "dashboard.show-all-files"
|
||||||
msgstr "Vis alle filer"
|
msgstr "Vis alle filer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1663
|
#: src/app/main/ui/dashboard/team.cljs:1669
|
||||||
msgid "dashboard.team-info"
|
msgid "dashboard.team-info"
|
||||||
msgstr "Teaminfo"
|
msgstr "Teaminfo"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1708
|
#: src/app/main/ui/dashboard/team.cljs:1714
|
||||||
msgid "dashboard.team-members"
|
msgid "dashboard.team-members"
|
||||||
msgstr "Teammedlemmer"
|
msgstr "Teammedlemmer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1723
|
#: src/app/main/ui/dashboard/team.cljs:1729
|
||||||
msgid "dashboard.team-projects"
|
msgid "dashboard.team-projects"
|
||||||
msgstr "Lagprosjekter"
|
msgstr "Lagprosjekter"
|
||||||
|
|
||||||
@ -172,11 +167,11 @@ msgstr "Din konto"
|
|||||||
msgid "dashboard.your-name"
|
msgid "dashboard.your-name"
|
||||||
msgstr "Ditt navn"
|
msgstr "Ditt navn"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:691, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, 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:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
|
||||||
msgid "ds.confirm-cancel"
|
msgid "ds.confirm-cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:157, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
#: src/app/main/ui/confirm.cljs:44, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:156, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:102
|
||||||
msgid "ds.confirm-ok"
|
msgid "ds.confirm-ok"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
@ -188,11 +183,11 @@ msgstr "Er du sikker?"
|
|||||||
msgid "errors.invalid-color"
|
msgid "errors.invalid-color"
|
||||||
msgstr "Ugyldig farge"
|
msgstr "Ugyldig farge"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "Gjenopprettelsessymbolet er ugyldig."
|
msgstr "Gjenopprettelsessymbolet er ugyldig."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:75
|
#: src/app/main/ui/auth/verify_token.cljs:95
|
||||||
msgid "errors.unexpected-token"
|
msgid "errors.unexpected-token"
|
||||||
msgstr "Ukjent symbol"
|
msgstr "Ukjent symbol"
|
||||||
|
|
||||||
@ -204,50 +199,15 @@ msgstr "Beskrivelse"
|
|||||||
msgid "feedback.subject"
|
msgid "feedback.subject"
|
||||||
msgstr "Emne"
|
msgstr "Emne"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:152
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.blur.value"
|
|
||||||
msgstr "Verdi"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/common.cljs:78, src/app/main/ui/inspect/styles/rows/color_properties_row.cljs:129
|
#: src/app/main/ui/inspect/attributes/common.cljs:78, src/app/main/ui/inspect/styles/rows/color_properties_row.cljs:129
|
||||||
msgid "inspect.attributes.image.download"
|
msgid "inspect.attributes.image.download"
|
||||||
msgstr "Last ned kildebilde"
|
msgstr "Last ned kildebilde"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/image.cljs:39
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.image.height"
|
|
||||||
msgstr "Høyde"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/image.cljs:32
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.image.width"
|
|
||||||
msgstr "Bredde"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.height"
|
|
||||||
msgstr "Høyde"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.left"
|
|
||||||
msgstr "Venstre"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.width"
|
|
||||||
msgstr "Bredde"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
||||||
msgid "inspect.attributes.shadow"
|
msgid "inspect.attributes.shadow"
|
||||||
msgstr "Skygge"
|
msgstr "Skygge"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/stroke.cljs
|
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:158
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.stroke.width"
|
|
||||||
msgstr "Bredde"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/text.cljs:53, src/app/main/ui/inspect/attributes/text.cljs:159
|
|
||||||
msgid "inspect.attributes.typography"
|
msgid "inspect.attributes.typography"
|
||||||
msgstr "Typografi"
|
msgstr "Typografi"
|
||||||
|
|
||||||
@ -287,11 +247,11 @@ msgstr "SVG"
|
|||||||
msgid "inspect.tabs.code.selected.text"
|
msgid "inspect.tabs.code.selected.text"
|
||||||
msgstr "Tekst"
|
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:640, src/app/main/ui/dashboard/import.cljs:646
|
#: 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
|
||||||
msgid "labels.accept"
|
msgid "labels.accept"
|
||||||
msgstr "Godta"
|
msgstr "Godta"
|
||||||
|
|
||||||
#: src/app/main/data/common.cljs:121, 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:626, src/app/main/ui/dashboard/team.cljs:896, src/app/main/ui/dashboard/team.cljs:1405, src/app/main/ui/delete_shared.cljs:36, src/app/main/ui/exports/assets.cljs:163, src/app/main/ui/exports/files.cljs:201, 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:578, 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:242
|
#: src/app/main/data/common.cljs:121, src/app/main/data/nitrate.cljs:532, src/app/main/data/nitrate.cljs:617, 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
|
||||||
msgid "labels.cancel"
|
msgid "labels.cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
@ -299,11 +259,11 @@ msgstr "Avbryt"
|
|||||||
msgid "labels.code"
|
msgid "labels.code"
|
||||||
msgstr "Kode"
|
msgstr "Kode"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:103
|
#: src/app/main/ui/settings/password.cljs:109
|
||||||
msgid "labels.confirm-password"
|
msgid "labels.confirm-password"
|
||||||
msgstr "Bekreft passord"
|
msgstr "Bekreft passord"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203
|
#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:202
|
||||||
msgid "labels.create"
|
msgid "labels.create"
|
||||||
msgstr "Opprett"
|
msgstr "Opprett"
|
||||||
|
|
||||||
@ -315,35 +275,31 @@ msgstr "Opprett nytt lag"
|
|||||||
msgid "labels.create-team.placeholder"
|
msgid "labels.create-team.placeholder"
|
||||||
msgstr "Skriv inn nytt lagnavn"
|
msgstr "Skriv inn nytt lagnavn"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "labels.custom-fonts"
|
|
||||||
msgstr "Egendefinerte skrifter"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/sidebar.cljs:86
|
#: src/app/main/ui/settings/sidebar.cljs:86
|
||||||
msgid "labels.dashboard"
|
msgid "labels.dashboard"
|
||||||
msgstr "Oversikt"
|
msgstr "Oversikt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:337, 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:333, src/app/main/ui/dashboard/project_menu.cljs:115, src/app/main/ui/dashboard/team.cljs:1439, 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:223, 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:378
|
#: 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
|
||||||
msgid "labels.delete"
|
msgid "labels.delete"
|
||||||
msgstr "Slett"
|
msgstr "Slett"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:1019
|
#: src/app/main/ui/comments.cljs:1047
|
||||||
msgid "labels.delete-comment"
|
msgid "labels.delete-comment"
|
||||||
msgstr "Slett kommentar"
|
msgstr "Slett kommentar"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:941
|
#: src/app/main/ui/comments.cljs:969
|
||||||
msgid "labels.delete-comment-thread"
|
msgid "labels.delete-comment-thread"
|
||||||
msgstr "Slett tråd"
|
msgstr "Slett tråd"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:292
|
#: src/app/main/ui/dashboard/file_menu.cljs:289
|
||||||
msgid "labels.delete-multi-files"
|
msgid "labels.delete-multi-files"
|
||||||
msgstr "Slett %s filer"
|
msgstr "Slett %s filer"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:30, src/app/main/ui/dashboard/files.cljs:81, src/app/main/ui/dashboard/files.cljs:186, src/app/main/ui/dashboard/projects.cljs:231, src/app/main/ui/dashboard/projects.cljs:235, src/app/main/ui/dashboard/sidebar.cljs:1139
|
#: 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
|
||||||
msgid "labels.drafts"
|
msgid "labels.drafts"
|
||||||
msgstr "Kladder"
|
msgstr "Kladder"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:1015, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:327, src/app/main/ui/dashboard/team.cljs:1437, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:218, src/app/main/ui/workspace/tokens/themes.cljs:52
|
#: 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
|
||||||
msgid "labels.edit"
|
msgid "labels.edit"
|
||||||
msgstr "Rediger"
|
msgstr "Rediger"
|
||||||
|
|
||||||
@ -351,11 +307,7 @@ msgstr "Rediger"
|
|||||||
msgid "labels.font-family"
|
msgid "labels.font-family"
|
||||||
msgstr "Skriftfamilie"
|
msgstr "Skriftfamilie"
|
||||||
|
|
||||||
#, unused
|
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
|
||||||
msgid "labels.font-providers"
|
|
||||||
msgstr "Skrifttilbydere"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:1152
|
|
||||||
msgid "labels.fonts"
|
msgid "labels.fonts"
|
||||||
msgstr "Skrifter"
|
msgstr "Skrifter"
|
||||||
|
|
||||||
@ -371,23 +323,23 @@ msgstr "Installerte skrifter"
|
|||||||
msgid "labels.language"
|
msgid "labels.language"
|
||||||
msgstr "Språk"
|
msgstr "Språk"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1527
|
#: src/app/main/ui/dashboard/sidebar.cljs:750
|
||||||
msgid "labels.logout"
|
msgid "labels.logout"
|
||||||
msgstr "Logg ut"
|
msgstr "Logg ut"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:581, 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:228, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
|
||||||
msgid "labels.members"
|
msgid "labels.members"
|
||||||
msgstr "Medlemmer"
|
msgstr "Medlemmer"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:96
|
#: src/app/main/ui/settings/password.cljs:102
|
||||||
msgid "labels.new-password"
|
msgid "labels.new-password"
|
||||||
msgstr "Nytt passord"
|
msgstr "Nytt passord"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:89
|
#: src/app/main/ui/settings/password.cljs:95
|
||||||
msgid "labels.old-password"
|
msgid "labels.old-password"
|
||||||
msgstr "Gammelt passord"
|
msgstr "Gammelt passord"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:1714
|
#: 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
|
||||||
msgid "labels.owner"
|
msgid "labels.owner"
|
||||||
msgstr "Eier"
|
msgstr "Eier"
|
||||||
|
|
||||||
@ -399,27 +351,27 @@ msgstr "Passord"
|
|||||||
msgid "labels.profile"
|
msgid "labels.profile"
|
||||||
msgstr "Profil"
|
msgstr "Profil"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1132
|
#: src/app/main/ui/dashboard/sidebar.cljs:355
|
||||||
msgid "labels.projects"
|
msgid "labels.projects"
|
||||||
msgstr "Prosjekter"
|
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:406
|
#: 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"
|
msgid "labels.remove"
|
||||||
msgstr "Fjern"
|
msgstr "Fjern"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:300, src/app/main/ui/dashboard/project_menu.cljs:88, src/app/main/ui/dashboard/sidebar.cljs:602, 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:251, 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
|
||||||
msgid "labels.rename"
|
msgid "labels.rename"
|
||||||
msgstr "Gi nytt navn"
|
msgstr "Gi nytt navn"
|
||||||
|
|
||||||
#: src/app/main/ui/components/progress.cljs:80, src/app/main/ui/static.cljs:324, src/app/main/ui/static.cljs:333, src/app/main/ui/static.cljs:428
|
#: 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
|
||||||
msgid "labels.retry"
|
msgid "labels.retry"
|
||||||
msgstr "Prøv igjen"
|
msgstr "Prøv igjen"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1214
|
#: src/app/main/ui/dashboard/team.cljs:624, src/app/main/ui/dashboard/team.cljs:1220
|
||||||
msgid "labels.role"
|
msgid "labels.role"
|
||||||
msgstr "Rolle"
|
msgstr "Rolle"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:435, src/app/main/ui/shortcuts.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:204, 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: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
|
||||||
msgid "labels.save"
|
msgid "labels.save"
|
||||||
msgstr "Lagre"
|
msgstr "Lagre"
|
||||||
|
|
||||||
@ -435,11 +387,11 @@ msgstr "Send"
|
|||||||
msgid "labels.sending"
|
msgid "labels.sending"
|
||||||
msgstr "Sender …"
|
msgstr "Sender …"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:595, 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:243, 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
|
||||||
msgid "labels.settings"
|
msgid "labels.settings"
|
||||||
msgstr "Innstillinger"
|
msgstr "Innstillinger"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1159
|
#: src/app/main/ui/dashboard/sidebar.cljs:382
|
||||||
msgid "labels.shared-libraries"
|
msgid "labels.shared-libraries"
|
||||||
msgstr "Delte bibliotek"
|
msgstr "Delte bibliotek"
|
||||||
|
|
||||||
@ -459,7 +411,7 @@ msgstr "Last opp egendefinerte skrifter"
|
|||||||
msgid "labels.uploading"
|
msgid "labels.uploading"
|
||||||
msgstr "Laster opp …"
|
msgstr "Laster opp …"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:862
|
#: src/app/main/ui/comments.cljs:890
|
||||||
msgid "labels.write-new-comment"
|
msgid "labels.write-new-comment"
|
||||||
msgstr "Skriv ny kommentar"
|
msgstr "Skriv ny kommentar"
|
||||||
|
|
||||||
@ -479,19 +431,19 @@ msgstr "Bekreft ny e-postadresse"
|
|||||||
msgid "modals.delete-account.confirm"
|
msgid "modals.delete-account.confirm"
|
||||||
msgstr "Ja, slett kontoen min"
|
msgstr "Ja, slett kontoen min"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:913
|
#: src/app/main/ui/comments.cljs:941
|
||||||
msgid "modals.delete-comment-thread.accept"
|
msgid "modals.delete-comment-thread.accept"
|
||||||
msgstr "Slett samtale"
|
msgstr "Slett samtale"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:911
|
#: src/app/main/ui/comments.cljs:939
|
||||||
msgid "modals.delete-comment-thread.title"
|
msgid "modals.delete-comment-thread.title"
|
||||||
msgstr "Slett samtale"
|
msgstr "Slett samtale"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:126
|
#: src/app/main/ui/dashboard/file_menu.cljs:155
|
||||||
msgid "modals.delete-file-confirm.accept"
|
msgid "modals.delete-file-confirm.accept"
|
||||||
msgstr "Slett fil"
|
msgstr "Slett fil"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:120
|
#: src/app/main/ui/dashboard/file_menu.cljs:149
|
||||||
msgid "modals.delete-file-multi-confirm.accept"
|
msgid "modals.delete-file-multi-confirm.accept"
|
||||||
msgstr "Slett filer"
|
msgstr "Slett filer"
|
||||||
|
|
||||||
@ -499,7 +451,7 @@ msgstr "Slett filer"
|
|||||||
msgid "modals.delete-page.title"
|
msgid "modals.delete-page.title"
|
||||||
msgstr "Slett side"
|
msgstr "Slett side"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/project_menu.cljs:73
|
#: src/app/main/ui/dashboard/project_menu.cljs:84
|
||||||
msgid "modals.delete-project-confirm.accept"
|
msgid "modals.delete-project-confirm.accept"
|
||||||
msgstr "Slett prosjekt"
|
msgstr "Slett prosjekt"
|
||||||
|
|
||||||
@ -511,7 +463,7 @@ msgstr "Slett medlem"
|
|||||||
msgid "modals.delete-team-member-confirm.title"
|
msgid "modals.delete-team-member-confirm.title"
|
||||||
msgstr "Slett teammedlem"
|
msgstr "Slett teammedlem"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:544, src/app/main/ui/dashboard/sidebar.cljs:566, 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:168, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:193, src/app/main/ui/dashboard/team.cljs:540, src/app/main/ui/dashboard/team.cljs:562
|
||||||
msgid "modals.leave-confirm.accept"
|
msgid "modals.leave-confirm.accept"
|
||||||
msgstr "Forlat team"
|
msgstr "Forlat team"
|
||||||
|
|
||||||
@ -519,7 +471,7 @@ msgstr "Forlat team"
|
|||||||
msgid "modals.update-remote-component.cancel"
|
msgid "modals.update-remote-component.cancel"
|
||||||
msgstr "Avbryt"
|
msgstr "Avbryt"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1131
|
#: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1137
|
||||||
msgid "notifications.invitation-email-sent"
|
msgid "notifications.invitation-email-sent"
|
||||||
msgstr "Invitasjon sendt"
|
msgstr "Invitasjon sendt"
|
||||||
|
|
||||||
@ -531,7 +483,7 @@ msgstr "Profil lagret"
|
|||||||
msgid "title.settings.options"
|
msgid "title.settings.options"
|
||||||
msgstr "Innstillinger - Penpot"
|
msgstr "Innstillinger - Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:115
|
#: src/app/main/ui/settings/password.cljs:121
|
||||||
msgid "title.settings.password"
|
msgid "title.settings.password"
|
||||||
msgstr "Passord - Penpot"
|
msgstr "Passord - Penpot"
|
||||||
|
|
||||||
@ -539,7 +491,7 @@ msgstr "Passord - Penpot"
|
|||||||
msgid "title.settings.profile"
|
msgid "title.settings.profile"
|
||||||
msgstr "Profil - Penpot"
|
msgstr "Profil - Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1636
|
#: src/app/main/ui/dashboard/team.cljs:1642
|
||||||
msgid "title.team-settings"
|
msgid "title.team-settings"
|
||||||
msgstr "Innstillinger - %s - Penpot"
|
msgstr "Innstillinger - %s - Penpot"
|
||||||
|
|
||||||
@ -547,11 +499,11 @@ msgstr "Innstillinger - %s - Penpot"
|
|||||||
msgid "title.workspace"
|
msgid "title.workspace"
|
||||||
msgstr "%s - Penpot"
|
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:164
|
#: 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
|
||||||
msgid "workspace.assets.colors"
|
msgid "workspace.assets.colors"
|
||||||
msgstr "Farger"
|
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:161
|
#: 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
|
||||||
msgid "workspace.assets.components"
|
msgid "workspace.assets.components"
|
||||||
msgstr "Komponenter"
|
msgstr "Komponenter"
|
||||||
|
|
||||||
@ -559,20 +511,15 @@ msgstr "Komponenter"
|
|||||||
msgid "workspace.assets.create-group"
|
msgid "workspace.assets.create-group"
|
||||||
msgstr "Opprett en gruppe"
|
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:475, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:821
|
#: 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
|
||||||
msgid "workspace.assets.delete"
|
msgid "workspace.assets.delete"
|
||||||
msgstr "Slett"
|
msgstr "Slett"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:466
|
#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:467
|
||||||
msgid "workspace.assets.edit"
|
msgid "workspace.assets.edit"
|
||||||
msgstr "Rediger"
|
msgstr "Rediger"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "workspace.assets.graphics"
|
|
||||||
msgstr "Grafikk"
|
|
||||||
|
|
||||||
#: 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:480
|
|
||||||
msgid "workspace.assets.group"
|
msgid "workspace.assets.group"
|
||||||
msgstr "Gruppe"
|
msgstr "Gruppe"
|
||||||
|
|
||||||
@ -580,15 +527,10 @@ msgstr "Gruppe"
|
|||||||
msgid "workspace.assets.group-name"
|
msgid "workspace.assets.group-name"
|
||||||
msgstr "Gruppenavn"
|
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:461
|
#: 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
|
||||||
msgid "workspace.assets.rename"
|
msgid "workspace.assets.rename"
|
||||||
msgstr "Gi nytt navn"
|
msgstr "Gi nytt navn"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.assets.typography.font-id"
|
|
||||||
msgstr "Skrift"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
|
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:855
|
||||||
msgid "workspace.assets.typography.font-size"
|
msgid "workspace.assets.typography.font-size"
|
||||||
msgstr "Størrelse"
|
msgstr "Størrelse"
|
||||||
@ -601,11 +543,6 @@ msgstr "Skriftstil"
|
|||||||
msgid "workspace.header.menu.show-rules"
|
msgid "workspace.header.menu.show-rules"
|
||||||
msgstr "Vis regler"
|
msgstr "Vis regler"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.libraries.add"
|
|
||||||
msgstr "Legg til"
|
|
||||||
|
|
||||||
#: 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:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49
|
||||||
msgid "workspace.libraries.colors.file-library"
|
msgid "workspace.libraries.colors.file-library"
|
||||||
msgstr "Filbibliotek"
|
msgstr "Filbibliotek"
|
||||||
@ -614,15 +551,15 @@ msgstr "Filbibliotek"
|
|||||||
msgid "workspace.libraries.colors.recent-colors"
|
msgid "workspace.libraries.colors.recent-colors"
|
||||||
msgstr "Nylige farger"
|
msgstr "Nylige farger"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/colorpicker.cljs:559
|
#: src/app/main/ui/workspace/colorpicker.cljs:560
|
||||||
msgid "workspace.libraries.colors.save-color"
|
msgid "workspace.libraries.colors.save-color"
|
||||||
msgstr "Lagre fargestil"
|
msgstr "Lagre fargestil"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:336
|
#: src/app/main/ui/workspace/libraries.cljs:424, src/app/main/ui/workspace/libraries.cljs:806
|
||||||
msgid "workspace.libraries.file-library"
|
msgid "workspace.libraries.file-library"
|
||||||
msgstr "Filbibliotek"
|
msgstr "Filbibliotek"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1035, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1041, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1290
|
#: 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
|
||||||
msgid "workspace.options.component"
|
msgid "workspace.options.component"
|
||||||
msgstr "Komponent"
|
msgstr "Komponent"
|
||||||
|
|
||||||
@ -630,38 +567,18 @@ msgstr "Komponent"
|
|||||||
msgid "workspace.options.design"
|
msgid "workspace.options.design"
|
||||||
msgstr "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:274
|
#: 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
|
||||||
msgid "workspace.options.exporting-object"
|
msgid "workspace.options.exporting-object"
|
||||||
msgstr "Eksporterer …"
|
msgstr "Eksporterer …"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.options.grid.params.columns"
|
|
||||||
msgstr "Kolonner"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
|
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:292
|
||||||
msgid "workspace.options.grid.params.height"
|
msgid "workspace.options.grid.params.height"
|
||||||
msgstr "Høyde"
|
msgstr "Høyde"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.options.grid.params.rows"
|
|
||||||
msgstr "Rader"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
|
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:79
|
||||||
msgid "workspace.options.grid.params.set-default"
|
msgid "workspace.options.grid.params.set-default"
|
||||||
msgstr "Sett som forvalg"
|
msgstr "Sett som forvalg"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.options.grid.params.size"
|
|
||||||
msgstr "Størrelse"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "workspace.options.grid.params.type"
|
|
||||||
msgstr "Type"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
|
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:73
|
||||||
msgid "workspace.options.grid.params.use-default"
|
msgid "workspace.options.grid.params.use-default"
|
||||||
msgstr "Bruk forvalg"
|
msgstr "Bruk forvalg"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,93 +11,71 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||||
"X-Generator: Weblate 2026.6.dev0\n"
|
"X-Generator: Weblate 2026.6.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "Já tem uma conta?"
|
msgstr "Já tem uma conta?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-mail"
|
|
||||||
msgstr "Verifique seu e-mail"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"Verifique seu e-mail e clique no link para verificar e começar a usar o "
|
|
||||||
"Penpot."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "Confirme sua senha"
|
msgstr "Confirme sua senha"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "Criar conta de demonstração"
|
msgstr "Criar conta de demonstração"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "Quer só experimentar?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Este é um serviço DEMONSTRAÇÃO, NÃO USE para trabalho real, os projetos "
|
"Este é um serviço DEMONSTRAÇÃO, NÃO USE para trabalho real, os projetos "
|
||||||
"serão apagados periodicamente."
|
"serão apagados periodicamente."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "Esqueceu sua senha?"
|
msgstr "Esqueceu sua senha?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "Nome completo"
|
msgstr "Nome completo"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:288
|
#: src/app/main/ui/auth/login.cljs:294
|
||||||
msgid "auth.login-account-title"
|
msgid "auth.login-account-title"
|
||||||
msgstr "Entrar na minha conta"
|
msgstr "Entrar na minha conta"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "Faça login aqui."
|
msgstr "Faça login aqui."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:297
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "Login"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:291
|
|
||||||
msgid "auth.login-tagline"
|
msgid "auth.login-tagline"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot é a ferramenta de design de código aberto e gratuita para "
|
"Penpot é a ferramenta de design de código aberto e gratuita para "
|
||||||
"colaboração em design e código"
|
"colaboração em design e código"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "Digite uma nova senha"
|
msgstr "Digite uma nova senha"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "Senha alterada com sucesso"
|
msgstr "Senha alterada com sucesso"
|
||||||
|
|
||||||
@ -111,19 +89,19 @@ msgstr ""
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "Link de recuperação de senha enviado para o seu e-mail."
|
msgstr "Link de recuperação de senha enviado para o seu e-mail."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "Entrou para a equipe com sucesso"
|
msgstr "Entrou para a equipe com sucesso"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "Senha"
|
msgstr "Senha"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "Pelo menos 8 caracteres"
|
msgstr "Pelo menos 8 caracteres"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "Política de Privacidade"
|
msgstr "Política de Privacidade"
|
||||||
|
|
||||||
@ -131,85 +109,56 @@ msgstr "Política de Privacidade"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "Recuperar senha"
|
msgstr "Recuperar senha"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "Enviaremos um e-mail com instruções"
|
msgstr "Enviaremos um e-mail com instruções"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "Esqueceu sua senha?"
|
msgstr "Esqueceu sua senha?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "Altere sua senha"
|
msgstr "Altere sua senha"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "Ainda não tem uma conta?"
|
msgstr "Ainda não tem uma conta?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:368
|
#: src/app/main/ui/auth/register.cljs:357
|
||||||
msgid "auth.register-account-tagline"
|
msgid "auth.register-account-tagline"
|
||||||
msgstr "Informe como deseja ser chamado no painel e nos e-mails."
|
msgstr "Informe como deseja ser chamado no painel e nos e-mails."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:367
|
#: src/app/main/ui/auth/register.cljs:356
|
||||||
msgid "auth.register-account-title"
|
msgid "auth.register-account-title"
|
||||||
msgstr "Seu nome"
|
msgstr "Seu nome"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "Criar uma conta"
|
msgstr "Criar uma conta"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:124
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
#, unused
|
|
||||||
msgid "auth.register-tagline"
|
|
||||||
msgstr ""
|
|
||||||
"Com uma conta gratuita do Penpot, você pode criar equipes ilimitadas e "
|
|
||||||
"colaborar com outros designers e desenvolvedores em quantos projetos "
|
|
||||||
"quiser. "
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "Criar uma conta"
|
msgstr "Criar uma conta"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: src/app/main/ui/auth/register.cljs:49
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "A solução de código aberto para design e prototipagem."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:50
|
|
||||||
#, markdown
|
#, markdown
|
||||||
msgid "auth.terms-and-privacy-agreement"
|
msgid "auth.terms-and-privacy-agreement"
|
||||||
msgstr "Concordo com os [termos de serviço](%s) e a [política de privacidade](%s)."
|
msgstr "Concordo com os [termos de serviço](%s) e a [política de privacidade](%s)."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
#: 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
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "Termos de serviço"
|
msgstr "Termos de serviço"
|
||||||
|
|
||||||
#, unused
|
#: 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.terms-privacy-agreement"
|
|
||||||
msgstr ""
|
|
||||||
"Ao criar uma nova conta, você concorda com nossos termos de serviço e "
|
|
||||||
"política de privacidade."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "Enviamos um e-mail de verificação para"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:187
|
|
||||||
msgid "auth.work-email"
|
msgid "auth.work-email"
|
||||||
msgstr "E-mail profissional"
|
msgstr "E-mail profissional"
|
||||||
|
|
||||||
#: src/app/main/ui/onboarding/questions.cljs
|
#: src/app/main/ui/comments.cljs:577
|
||||||
#, unused
|
|
||||||
msgid "branding-illustrations-marketing-pieces"
|
|
||||||
msgstr "...branding, ilustrações, materiais de marketing, etc."
|
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:549
|
|
||||||
msgid "comments.mentions.not-found"
|
msgid "comments.mentions.not-found"
|
||||||
msgstr "Nenhuma pessoa encontrada para @%s"
|
msgstr "Nenhuma pessoa encontrada para @%s"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "Publicar"
|
msgstr "Publicar"
|
||||||
|
|
||||||
@ -281,59 +230,29 @@ msgstr "Compartilhar protótipos"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "Selecionar tudo"
|
msgstr "Selecionar tudo"
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:344
|
#: src/app/main/ui/workspace/libraries.cljs:432, src/app/main/ui/workspace/libraries.cljs:833
|
||||||
msgid "common.unpublish"
|
msgid "common.unpublish"
|
||||||
msgstr "Despublicar"
|
msgstr "Despublicar"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "Gestão da equipe"
|
msgstr "Gestão da equipe"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"O Penpot foi feito para equipes. Convide membros para trabalharem juntos em "
|
"O Penpot foi feito para equipes. Convide membros para trabalharem juntos em "
|
||||||
"projetos e arquivos"
|
"projetos e arquivos"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "Monte sua equipe!"
|
msgstr "Monte sua equipe!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr "Aprenda o básico no Penpot enquanto se diverte com este tutorial prático."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.start"
|
|
||||||
msgstr "Começar o tutorial"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.title"
|
|
||||||
msgstr "Tutorial prático"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.info"
|
|
||||||
msgstr "Explore o Penpot e conheça suas principais funcionalidades."
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.start"
|
|
||||||
msgstr "Começar o tour"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.walkthrough-hero.title"
|
|
||||||
msgstr "Apresentação da interface"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/placeholder.cljs:40
|
#: src/app/main/ui/dashboard/placeholder.cljs:40
|
||||||
msgid "dashboard.add-file"
|
msgid "dashboard.add-file"
|
||||||
msgstr "Adicionar arquivo"
|
msgstr "Adicionar arquivo"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:323, 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:700
|
||||||
msgid "dashboard.add-shared"
|
msgid "dashboard.add-shared"
|
||||||
msgstr "Adicionar como Biblioteca Compartilhada"
|
msgstr "Adicionar como Biblioteca Compartilhada"
|
||||||
|
|
||||||
@ -341,10 +260,10 @@ msgstr "Adicionar como Biblioteca Compartilhada"
|
|||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "Alterar e-mail"
|
msgstr "Alterar e-mail"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(copiar)"
|
msgstr "(copiar)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "Criar nova equipe"
|
msgstr "Criar nova equipe"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -11,78 +11,61 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
"X-Generator: Weblate 2026.6.dev0\n"
|
"X-Generator: Weblate 2026.6.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "ஏற்கனவே ஒரு கணக்கு உள்ளதா?"
|
msgstr "ஏற்கனவே ஒரு கணக்கு உள்ளதா?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr ""
|
|
||||||
"உங்கள் மின்னஞ்சலைச் சரிபார்த்து, இணைப்பைக் கிளிக் செய்து சரிபார்த்து, "
|
|
||||||
"Penpot ஐப் பயன்படுத்தத் தொடங்குங்கள்."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "கடவுச்சொல்லை உறுதிப்படுத்தவும்"
|
msgstr "கடவுச்சொல்லை உறுதிப்படுத்தவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "டெமோ கணக்கை உருவாக்கவும்"
|
msgstr "டெமோ கணக்கை உருவாக்கவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
#, unused
|
|
||||||
msgid "auth.create-demo-profile"
|
|
||||||
msgstr "அதை முயற்சி செய்ய வேண்டுமா?"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"இது ஒரு டெமோ சேவை, உண்மையான வேலைக்கு பயன்படுத்த வேண்டாம், திட்டங்கள் "
|
"இது ஒரு டெமோ சேவை, உண்மையான வேலைக்கு பயன்படுத்த வேண்டாம், திட்டங்கள் "
|
||||||
"அவ்வப்போது அழிக்கப்படும்."
|
"அவ்வப்போது அழிக்கப்படும்."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
|
msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "முழு பெயர்"
|
msgstr "முழு பெயர்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "இங்கே உள்நுழைக"
|
msgstr "இங்கே உள்நுழைக"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "உள்நுழை"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "கிட்லேப்"
|
msgstr "கிட்லேப்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "கூகுள்"
|
msgstr "கூகுள்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "ஓப்பன் ஐடி"
|
msgstr "ஓப்பன் ஐடி"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "புதிய கடவுச்சொல்லை உள்ளிடவும்"
|
msgstr "புதிய கடவுச்சொல்லை உள்ளிடவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "கடவுச்சொல் வெற்றிகரமாக மாற்றப்பட்டது"
|
msgstr "கடவுச்சொல் வெற்றிகரமாக மாற்றப்பட்டது"
|
||||||
|
|
||||||
@ -96,19 +79,19 @@ msgstr ""
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "கடவுச்சொல் மீட்பு இணைப்பு உங்கள் இன்பாக்ஸிற்கு அனுப்பப்பட்டது."
|
msgstr "கடவுச்சொல் மீட்பு இணைப்பு உங்கள் இன்பாக்ஸிற்கு அனுப்பப்பட்டது."
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "அணியில் வெற்றிகரமாக இணைந்தார்"
|
msgstr "அணியில் வெற்றிகரமாக இணைந்தார்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "கடவுச்சொல்"
|
msgstr "கடவுச்சொல்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "குறைந்தது 8 எழுத்துகள்"
|
msgstr "குறைந்தது 8 எழுத்துகள்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "தனியுரிமைக் கொள்கை"
|
msgstr "தனியுரிமைக் கொள்கை"
|
||||||
|
|
||||||
@ -116,45 +99,35 @@ msgstr "தனியுரிமைக் கொள்கை"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "கடவுச்சொல்லை மீட்டெடுக்கவும்"
|
msgstr "கடவுச்சொல்லை மீட்டெடுக்கவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:89, src/app/main/ui/auth/recovery_request.cljs:94
|
#: src/app/main/ui/auth/recovery.cljs:95, src/app/main/ui/auth/recovery_request.cljs:94
|
||||||
msgid "auth.recovery-request-subtitle"
|
msgid "auth.recovery-request-subtitle"
|
||||||
msgstr "வழிமுறைகளுடன் கூடிய மின்னஞ்சலை உங்களுக்கு அனுப்புவோம்"
|
msgstr "வழிமுறைகளுடன் கூடிய மின்னஞ்சலை உங்களுக்கு அனுப்புவோம்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
|
msgstr "கடவுச்சொல்லை மறந்துவிட்டீர்களா?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "உங்கள் கடவுச்சொல்லை மாற்றுக"
|
msgstr "உங்கள் கடவுச்சொல்லை மாற்றுக"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "இன்னும் கணக்கு இல்லையா?"
|
msgstr "இன்னும் கணக்கு இல்லையா?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "ஒரு கணக்கை உருவாக்கவும்"
|
msgstr "ஒரு கணக்கை உருவாக்கவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "ஒரு கணக்கை உருவாக்கவும்"
|
msgstr "ஒரு கணக்கை உருவாக்கவும்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: 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
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "வடிவமைப்பு மற்றும் முன்மாதிரிக்கான திறந்த மூல தீர்வு."
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "சேவை விதிமுறைகள்"
|
msgstr "சேவை விதிமுறைகள்"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
#: src/app/main/ui/workspace/libraries.cljs:437, src/app/main/ui/workspace/libraries.cljs:838
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "சரிபார்ப்பு மின்னஞ்சலை அனுப்பியுள்ளோம் இந்த முகவரிக்கு"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/libraries.cljs:349
|
|
||||||
msgid "common.publish"
|
msgid "common.publish"
|
||||||
msgstr "வெளியிடுங்கள்"
|
msgstr "வெளியிடுங்கள்"
|
||||||
|
|
||||||
@ -210,6 +183,6 @@ msgstr "இணைப்பு உள்ள எவருக்கும் அண
|
|||||||
msgid "common.share-link.permissions-pages"
|
msgid "common.share-link.permissions-pages"
|
||||||
msgstr "பக்கங்கள் பகிரப்பட்டன"
|
msgstr "பக்கங்கள் பகிரப்பட்டன"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:41
|
#: src/app/main/ui/auth/recovery.cljs:47
|
||||||
msgid "errors.invalid-recovery-token"
|
msgid "errors.invalid-recovery-token"
|
||||||
msgstr "மீட்பு டோக்கன் செல்லுபடியாகாது."
|
msgstr "மீட்பு டோக்கன் செல்லுபடியாகாது."
|
||||||
|
|||||||
@ -11,84 +11,69 @@ msgstr ""
|
|||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Weblate 2026.10.dev0\n"
|
"X-Generator: Weblate 2026.10.dev0\n"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:232, src/app/main/ui/static.cljs:182, src/app/main/ui/viewer/login.cljs:109
|
#: src/app/main/ui/auth/register.cljs:227, src/app/main/ui/static.cljs:191, src/app/main/ui/viewer/login.cljs:119
|
||||||
msgid "auth.already-have-account"
|
msgid "auth.already-have-account"
|
||||||
msgstr "มีบัญชีแล้ว?"
|
msgstr "มีบัญชีแล้ว?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237
|
#: src/app/main/ui/auth/recovery.cljs:83
|
||||||
#, unused
|
|
||||||
msgid "auth.check-mail"
|
|
||||||
msgstr "ตรวจสอบอีเมลของคุณ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
|
||||||
#, unused
|
|
||||||
msgid "auth.check-your-email"
|
|
||||||
msgstr "ตรวจสอบอีเมลของคุณและคลิกลิงก์เพื่อยืนยันและเริ่มใช้งาน Penpot"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:77
|
|
||||||
msgid "auth.confirm-password"
|
msgid "auth.confirm-password"
|
||||||
msgstr "ยืนยันรหัสผ่าน"
|
msgstr "ยืนยันรหัสผ่าน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:244
|
#: src/app/main/ui/auth/register.cljs:239
|
||||||
msgid "auth.create-demo-account"
|
msgid "auth.create-demo-account"
|
||||||
msgstr "สร้างบัญชีสาธิตการใช้งาน"
|
msgstr "สร้างบัญชีสาธิตการใช้งาน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:40
|
#: src/app/main/ui/auth/login.cljs:41
|
||||||
msgid "auth.demo-warning"
|
msgid "auth.demo-warning"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"บริการนี้มีไว้สำหรับสาธิตการใช้งาน ห้ามใช้สำหรับชิ้นงานจริง "
|
"บริการนี้มีไว้สำหรับสาธิตการใช้งาน ห้ามใช้สำหรับชิ้นงานจริง "
|
||||||
"เนื่องจากข้อมูลจะถูกลบเป็นระยะ ๆ"
|
"เนื่องจากข้อมูลจะถูกลบเป็นระยะ ๆ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:197, src/app/main/ui/viewer/login.cljs:95
|
#: src/app/main/ui/auth/login.cljs:203, src/app/main/ui/viewer/login.cljs:105
|
||||||
msgid "auth.forgot-password"
|
msgid "auth.forgot-password"
|
||||||
msgstr "ลืมรหัสผ่าน?"
|
msgstr "ลืมรหัสผ่าน?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:180, src/app/main/ui/auth/register.cljs:346
|
#: src/app/main/ui/auth/register.cljs:175, src/app/main/ui/auth/register.cljs:335
|
||||||
msgid "auth.fullname"
|
msgid "auth.fullname"
|
||||||
msgstr "ชื่อเต็ม"
|
msgstr "ชื่อเต็ม"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:288
|
#: src/app/main/ui/auth/login.cljs:294
|
||||||
msgid "auth.login-account-title"
|
msgid "auth.login-account-title"
|
||||||
msgstr "ลงชื่อเข้าใช้บัญชีของฉัน"
|
msgstr "ลงชื่อเข้าใช้บัญชีของฉัน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112
|
#: src/app/main/ui/auth/register.cljs:231, src/app/main/ui/static.cljs:194, src/app/main/ui/viewer/login.cljs:122
|
||||||
msgid "auth.login-here"
|
msgid "auth.login-here"
|
||||||
msgstr "ลงชื่อเข้าใช้ที่นี่"
|
msgstr "ลงชื่อเข้าใช้ที่นี่"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:195
|
#: src/app/main/ui/auth/login.cljs:297
|
||||||
#, unused
|
|
||||||
msgid "auth.login-submit"
|
|
||||||
msgstr "ลงชื่อเข้าใช้"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:291
|
|
||||||
msgid "auth.login-tagline"
|
msgid "auth.login-tagline"
|
||||||
msgstr "Penpot เป็นเครื่องมือออกแบบที่ฟรีและโอเพนซอร์สสำหรับการดีไซน์และโค้ดร่วมกัน"
|
msgstr "Penpot เป็นเครื่องมือออกแบบที่ฟรีและโอเพนซอร์สสำหรับการดีไซน์และโค้ดร่วมกัน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:248
|
#: src/app/main/ui/auth/login.cljs:254
|
||||||
msgid "auth.login-with-github-submit"
|
msgid "auth.login-with-github-submit"
|
||||||
msgstr "GitHub"
|
msgstr "GitHub"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:254
|
#: src/app/main/ui/auth/login.cljs:260
|
||||||
msgid "auth.login-with-gitlab-submit"
|
msgid "auth.login-with-gitlab-submit"
|
||||||
msgstr "GitLab"
|
msgstr "GitLab"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:242
|
#: src/app/main/ui/auth/login.cljs:248
|
||||||
msgid "auth.login-with-google-submit"
|
msgid "auth.login-with-google-submit"
|
||||||
msgstr "Google"
|
msgstr "Google"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:207
|
#: src/app/main/ui/auth/login.cljs:213
|
||||||
msgid "auth.login-with-ldap-submit"
|
msgid "auth.login-with-ldap-submit"
|
||||||
msgstr "LDAP"
|
msgstr "LDAP"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:260
|
#: src/app/main/ui/auth/login.cljs:266
|
||||||
msgid "auth.login-with-oidc-submit"
|
msgid "auth.login-with-oidc-submit"
|
||||||
msgstr "OpenID"
|
msgstr "OpenID"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:70
|
#: src/app/main/ui/auth/recovery.cljs:76
|
||||||
msgid "auth.new-password"
|
msgid "auth.new-password"
|
||||||
msgstr "พิมพ์รหัสผ่านใหม่"
|
msgstr "พิมพ์รหัสผ่านใหม่"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:46
|
#: src/app/main/ui/auth/recovery.cljs:52
|
||||||
msgid "auth.notifications.password-changed-successfully"
|
msgid "auth.notifications.password-changed-successfully"
|
||||||
msgstr "เปลี่ยนรหัสผ่านแล้ว"
|
msgstr "เปลี่ยนรหัสผ่านแล้ว"
|
||||||
|
|
||||||
@ -100,19 +85,19 @@ msgstr "โปรไฟล์นี้ยังไม่ได้รับกา
|
|||||||
msgid "auth.notifications.recovery-token-sent"
|
msgid "auth.notifications.recovery-token-sent"
|
||||||
msgstr "ลิงก์กู้คืนรหัสผ่านถูกส่งไปยังกล่องข้อความของคุณแล้ว"
|
msgstr "ลิงก์กู้คืนรหัสผ่านถูกส่งไปยังกล่องข้อความของคุณแล้ว"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:65
|
#: src/app/main/ui/auth/verify_token.cljs:85
|
||||||
msgid "auth.notifications.team-invitation-accepted"
|
msgid "auth.notifications.team-invitation-accepted"
|
||||||
msgstr "เข้าร่วมทีมสำเร็จ"
|
msgstr "เข้าร่วมทีมสำเร็จ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:187, src/app/main/ui/auth/register.cljs:194
|
#: src/app/main/ui/auth/login.cljs:193, src/app/main/ui/auth/register.cljs:189
|
||||||
msgid "auth.password"
|
msgid "auth.password"
|
||||||
msgstr "รหัสผ่าน"
|
msgstr "รหัสผ่าน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:193
|
#: src/app/main/ui/auth/register.cljs:188
|
||||||
msgid "auth.password-length-hint"
|
msgid "auth.password-length-hint"
|
||||||
msgstr "อย่างน้อย 8 ตัวอักษร"
|
msgstr "อย่างน้อย 8 ตัวอักษร"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:277
|
#: src/app/main/ui/auth/register.cljs:272
|
||||||
msgid "auth.privacy-policy"
|
msgid "auth.privacy-policy"
|
||||||
msgstr "นโยบายความเป็นส่วนตัว"
|
msgstr "นโยบายความเป็นส่วนตัว"
|
||||||
|
|
||||||
@ -120,66 +105,44 @@ msgstr "นโยบายความเป็นส่วนตัว"
|
|||||||
msgid "auth.recovery-request-submit"
|
msgid "auth.recovery-request-submit"
|
||||||
msgstr "กู้คืนรหัสผ่าน"
|
msgstr "กู้คืนรหัสผ่าน"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:88, src/app/main/ui/auth/recovery_request.cljs:93
|
#: src/app/main/ui/auth/recovery.cljs:94, src/app/main/ui/auth/recovery_request.cljs:93
|
||||||
msgid "auth.recovery-request-title"
|
msgid "auth.recovery-request-title"
|
||||||
msgstr "ลืมรหัสผ่าน?"
|
msgstr "ลืมรหัสผ่าน?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/recovery.cljs:80
|
#: src/app/main/ui/auth/recovery.cljs:86
|
||||||
msgid "auth.recovery-submit"
|
msgid "auth.recovery-submit"
|
||||||
msgstr "เปลี่ยนรหัสผ่านของคุณ"
|
msgstr "เปลี่ยนรหัสผ่านของคุณ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:304, src/app/main/ui/static.cljs:168, src/app/main/ui/viewer/login.cljs:99
|
#: src/app/main/ui/auth/login.cljs:310, src/app/main/ui/static.cljs:177, src/app/main/ui/viewer/login.cljs:109
|
||||||
msgid "auth.register"
|
msgid "auth.register"
|
||||||
msgstr "ยังไม่มีบัญชี?"
|
msgstr "ยังไม่มีบัญชี?"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:368
|
#: src/app/main/ui/auth/register.cljs:357
|
||||||
msgid "auth.register-account-tagline"
|
msgid "auth.register-account-tagline"
|
||||||
msgstr "เราควรเรียกคุณในแดชบอร์ดและอีเมลว่าอะไรดี"
|
msgstr "เราควรเรียกคุณในแดชบอร์ดและอีเมลว่าอะไรดี"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:367
|
#: src/app/main/ui/auth/register.cljs:356
|
||||||
msgid "auth.register-account-title"
|
msgid "auth.register-account-title"
|
||||||
msgstr "ชื่อของคุณ"
|
msgstr "ชื่อของคุณ"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:308, src/app/main/ui/auth/register.cljs:204, src/app/main/ui/auth/register.cljs:356, src/app/main/ui/static.cljs:172, src/app/main/ui/viewer/login.cljs:102
|
#: 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
|
||||||
msgid "auth.register-submit"
|
msgid "auth.register-submit"
|
||||||
msgstr "สร้างบัญชี"
|
msgstr "สร้างบัญชี"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:124
|
#: src/app/main/ui/auth/register.cljs:218
|
||||||
#, unused
|
|
||||||
msgid "auth.register-tagline"
|
|
||||||
msgstr ""
|
|
||||||
"ด้วยบัญชี Penpot ฟรี "
|
|
||||||
"คุณสามารถสร้างทีมได้อย่างไม่จำกัดและทำงานร่วมกับดีไซเนอร์และนักพัฒนาคนอื่น "
|
|
||||||
"ๆ กี่โปรเจกต์ก็ได้ "
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:223
|
|
||||||
msgid "auth.register-title"
|
msgid "auth.register-title"
|
||||||
msgstr "สร้างบัญชี"
|
msgstr "สร้างบัญชี"
|
||||||
|
|
||||||
#: src/app/main/ui/auth.cljs
|
#: src/app/main/ui/auth/register.cljs:49
|
||||||
#, unused
|
|
||||||
msgid "auth.sidebar-tagline"
|
|
||||||
msgstr "โซลูชันโอเพนซอร์สสำหรับการออกแบบและโปรโตไทป์"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:50
|
|
||||||
#, markdown
|
#, markdown
|
||||||
msgid "auth.terms-and-privacy-agreement"
|
msgid "auth.terms-and-privacy-agreement"
|
||||||
msgstr "ฉันยอมรับ [ข้อกำหนดการให้บริการ](%s)และ[นโยบายความเป็นส่วนตัว](%s)"
|
msgstr "ฉันยอมรับ [ข้อกำหนดการให้บริการ](%s)และ[นโยบายความเป็นส่วนตัว](%s)"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:269, src/app/main/ui/dashboard/sidebar.cljs:1319, src/app/main/ui/workspace/main_menu.cljs:210
|
#: 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
|
||||||
msgid "auth.terms-of-service"
|
msgid "auth.terms-of-service"
|
||||||
msgstr "เงื่อนไขการให้บริการ"
|
msgstr "เงื่อนไขการให้บริการ"
|
||||||
|
|
||||||
#, unused
|
#: 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.terms-privacy-agreement"
|
|
||||||
msgstr "เมื่อคุณสร้างบัญชี คุณยอมรับข้อกำหนดการให้บริการและนโยบายความเป็นส่วนตัว"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:238
|
|
||||||
#, unused
|
|
||||||
msgid "auth.verification-email-sent"
|
|
||||||
msgstr "เราได้ส่งอีเมลยืนยันให้กับ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:179, src/app/main/ui/auth/recovery_request.cljs:77, src/app/main/ui/auth/register.cljs:187
|
|
||||||
msgid "auth.work-email"
|
msgid "auth.work-email"
|
||||||
msgstr "อีเมลทำงาน"
|
msgstr "อีเมลทำงาน"
|
||||||
|
|
||||||
@ -248,34 +211,29 @@ msgstr "แชร์โปรโตไทป์"
|
|||||||
msgid "common.share-link.view-all"
|
msgid "common.share-link.view-all"
|
||||||
msgstr "เลือกทั้งหมด"
|
msgstr "เลือกทั้งหมด"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:96
|
#: src/app/main/ui/dashboard/projects.cljs:90
|
||||||
msgid "dasboard.team-hero.management"
|
msgid "dasboard.team-hero.management"
|
||||||
msgstr "การจัดการทีม"
|
msgstr "การจัดการทีม"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:95
|
#: src/app/main/ui/dashboard/projects.cljs:89
|
||||||
msgid "dasboard.team-hero.text"
|
msgid "dasboard.team-hero.text"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Penpot เป็นเครื่องมือสำหรับการทำงานเป็นทีม "
|
"Penpot เป็นเครื่องมือสำหรับการทำงานเป็นทีม "
|
||||||
"เชิญชวนสมาชิกมาทำงานด้วยกันผ่านโปรเจกต์และไฟล์ต่าง ๆ เลย"
|
"เชิญชวนสมาชิกมาทำงานด้วยกันผ่านโปรเจกต์และไฟล์ต่าง ๆ เลย"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:93
|
#: src/app/main/ui/dashboard/projects.cljs:87
|
||||||
msgid "dasboard.team-hero.title"
|
msgid "dasboard.team-hero.title"
|
||||||
msgstr "รวบรวมทีมเลย!"
|
msgstr "รวบรวมทีมเลย!"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "dasboard.tutorial-hero.info"
|
|
||||||
msgstr "เรียนรู้การใช้งาน Penpot เบื้องต้นด้วยการลงมือทำจริง"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/profile.cljs:75
|
#: src/app/main/ui/settings/profile.cljs:75
|
||||||
msgid "dashboard.change-email"
|
msgid "dashboard.change-email"
|
||||||
msgstr "เปลี่ยนอีเมล"
|
msgstr "เปลี่ยนอีเมล"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200
|
#: src/app/main/data/dashboard.cljs:300, src/app/main/data/dashboard.cljs:535, src/app/main/data/workspace/pages.cljs:201
|
||||||
msgid "dashboard.copy-suffix"
|
msgid "dashboard.copy-suffix"
|
||||||
msgstr "(คัดลอก)"
|
msgstr "(คัดลอก)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:477
|
#: src/app/main/ui/dashboard/organization_team_switch.cljs:280
|
||||||
msgid "dashboard.create-new-team"
|
msgid "dashboard.create-new-team"
|
||||||
msgstr "สร้างทีมใหม่"
|
msgstr "สร้างทีมใหม่"
|
||||||
|
|
||||||
@ -283,7 +241,7 @@ msgstr "สร้างทีมใหม่"
|
|||||||
msgid "dashboard.default-team-name"
|
msgid "dashboard.default-team-name"
|
||||||
msgstr "Penpot ของคุณ"
|
msgstr "Penpot ของคุณ"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:274, src/app/main/ui/dashboard/team_form.cljs:153
|
||||||
msgid "dashboard.delete-team"
|
msgid "dashboard.delete-team"
|
||||||
msgstr "ลบทีม"
|
msgstr "ลบทีม"
|
||||||
|
|
||||||
@ -291,24 +249,19 @@ msgstr "ลบทีม"
|
|||||||
msgid "dashboard.download-binary-file"
|
msgid "dashboard.download-binary-file"
|
||||||
msgstr "ดาวน์โหลดไฟล์ Penpot (.penpot)"
|
msgstr "ดาวน์โหลดไฟล์ Penpot (.penpot)"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:321, src/app/main/ui/workspace/main_menu.cljs:712
|
#: src/app/main/ui/dashboard/files.cljs:233, src/app/main/ui/dashboard/projects.cljs:309
|
||||||
#, unused
|
|
||||||
msgid "dashboard.download-standard-file"
|
|
||||||
msgstr "ดาวน์โหลดไฟล์มาตรฐาน (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:212, src/app/main/ui/dashboard/projects.cljs:303
|
|
||||||
msgid "dashboard.empty-placeholder-drafts-subtitle"
|
msgid "dashboard.empty-placeholder-drafts-subtitle"
|
||||||
msgstr "เมื่อสมาชิกโปรเจกต์สร้างแบบร่าง จะปรากฏที่นี่"
|
msgstr "เมื่อสมาชิกโปรเจกต์สร้างแบบร่าง จะปรากฏที่นี่"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:298
|
#: src/app/main/ui/dashboard/files.cljs:228, src/app/main/ui/dashboard/projects.cljs:304
|
||||||
msgid "dashboard.empty-placeholder-drafts-title"
|
msgid "dashboard.empty-placeholder-drafts-title"
|
||||||
msgstr "ยังไม่มีแบบร่าง"
|
msgstr "ยังไม่มีแบบร่าง"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:213, src/app/main/ui/dashboard/projects.cljs:304
|
#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:234, src/app/main/ui/dashboard/projects.cljs:310
|
||||||
msgid "dashboard.empty-placeholder-files-subtitle"
|
msgid "dashboard.empty-placeholder-files-subtitle"
|
||||||
msgstr "เมื่อสมาชิกของโปรเจกต์สร้างไฟล์ จะแสดงผลที่นี่"
|
msgstr "เมื่อสมาชิกของโปรเจกต์สร้างไฟล์ จะแสดงผลที่นี่"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:208, src/app/main/ui/dashboard/projects.cljs:299
|
#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:229, src/app/main/ui/dashboard/projects.cljs:305
|
||||||
msgid "dashboard.empty-placeholder-files-title"
|
msgid "dashboard.empty-placeholder-files-title"
|
||||||
msgstr "ยังไม่มีไฟล์"
|
msgstr "ยังไม่มีไฟล์"
|
||||||
|
|
||||||
@ -320,14 +273,6 @@ msgstr ""
|
|||||||
"ลองแชร์ไฟล์ของคุณหรือเพิ่มจาก[ไลบรารีและเทมเพลต](https://penpot.app/"
|
"ลองแชร์ไฟล์ของคุณหรือเพิ่มจาก[ไลบรารีและเทมเพลต](https://penpot.app/"
|
||||||
"libraries-templates)ของเรา"
|
"libraries-templates)ของเรา"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/placeholder.cljs
|
|
||||||
#, markdown, unused
|
|
||||||
msgid "dashboard.empty-placeholder-libraries-subtitle"
|
|
||||||
msgstr ""
|
|
||||||
"ไลบรารีที่เพิ่มให้กับโปรเจกต์จะปรากฏที่นี่ "
|
|
||||||
"ลองแชร์ไฟล์ของคุณหรือเพิ่มจาก[ไลบรารีและเทมเพลต](https://penpot.app/"
|
|
||||||
"libraries-templates)ของเรา"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/placeholder.cljs:113
|
#: src/app/main/ui/dashboard/placeholder.cljs:113
|
||||||
msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role"
|
msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role"
|
||||||
msgstr "ไลบรารีที่เพิ่มลงในโปรเจกต์จะปรากฏที่นี่"
|
msgstr "ไลบรารีที่เพิ่มลงในโปรเจกต์จะปรากฏที่นี่"
|
||||||
@ -336,7 +281,7 @@ msgstr "ไลบรารีที่เพิ่มลงในโปรเจ
|
|||||||
msgid "dashboard.empty-placeholder-libraries-title"
|
msgid "dashboard.empty-placeholder-libraries-title"
|
||||||
msgstr "ยังไม่มีไลบรารี"
|
msgstr "ยังไม่มีไลบรารี"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:281
|
#: src/app/main/ui/dashboard/file_menu.cljs:279
|
||||||
msgid "dashboard.export-binary-multi"
|
msgid "dashboard.export-binary-multi"
|
||||||
msgstr "ดาวน์โหลด %s ไฟล์ Penpot (.penpot)"
|
msgstr "ดาวน์โหลด %s ไฟล์ Penpot (.penpot)"
|
||||||
|
|
||||||
@ -348,10 +293,6 @@ msgstr "ส่งออกบอร์ดเป็น PDF"
|
|||||||
msgid "dashboard.export-frames.title"
|
msgid "dashboard.export-frames.title"
|
||||||
msgstr "ส่งออกเป็น PDF"
|
msgstr "ส่งออกเป็น PDF"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-multi"
|
|
||||||
msgstr "ส่งออก %s ไฟล์ Penpot"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/main_menu.cljs:728
|
#: src/app/main/ui/workspace/main_menu.cljs:728
|
||||||
msgid "dashboard.export-shapes"
|
msgid "dashboard.export-shapes"
|
||||||
msgstr "ส่งออก"
|
msgstr "ส่งออก"
|
||||||
@ -360,11 +301,6 @@ msgstr "ส่งออก"
|
|||||||
msgid "dashboard.export-shapes.title"
|
msgid "dashboard.export-shapes.title"
|
||||||
msgstr "ส่งออกส่วนที่เลือก"
|
msgstr "ส่งออกส่วนที่เลือก"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:262
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.export-standard-multi"
|
|
||||||
msgstr "ดาวน์โหลด %s ไฟล์มาตรฐาน (.svg + .json)"
|
|
||||||
|
|
||||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
|
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608
|
||||||
msgid "dashboard.fonts.deleted-placeholder"
|
msgid "dashboard.fonts.deleted-placeholder"
|
||||||
msgstr "ฟอนต์ที่หายไป"
|
msgstr "ฟอนต์ที่หายไป"
|
||||||
@ -399,25 +335,20 @@ msgstr ""
|
|||||||
msgid "dashboard.fonts.upload-all"
|
msgid "dashboard.fonts.upload-all"
|
||||||
msgstr "อัปโหลดทั้งหมด"
|
msgstr "อัปโหลดทั้งหมด"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:941, src/app/main/ui/dashboard/project_menu.cljs:109
|
#: src/app/main/ui/dashboard/import.cljs:995, src/app/main/ui/dashboard/project_menu.cljs:110
|
||||||
msgid "dashboard.import"
|
msgid "dashboard.import"
|
||||||
msgstr "นำเข้าไฟล์ Penpot"
|
msgstr "นำเข้าไฟล์ Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:342, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
#: src/app/main/ui/dashboard/import.cljs:343, src/app/worker/import.cljs:144, src/app/worker/import.cljs:147
|
||||||
msgid "dashboard.import.analyze-error"
|
msgid "dashboard.import.analyze-error"
|
||||||
msgstr "ไม่สามารถนำเข้าไฟล์นี้ได้"
|
msgstr "ไม่สามารถนำเข้าไฟล์นี้ได้"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:292
|
#: src/app/main/ui/dashboard/import.cljs:593
|
||||||
#, unused
|
|
||||||
msgid "dashboard.import.import-error"
|
|
||||||
msgstr "พบปัญหาในการนำเข้าไฟล์ ไฟล์นี้จึงไม่ถูกนำเข้า"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:562
|
|
||||||
msgid "dashboard.import.import-message"
|
msgid "dashboard.import.import-message"
|
||||||
msgid_plural "dashboard.import.import-message"
|
msgid_plural "dashboard.import.import-message"
|
||||||
msgstr[0] "นำเข้าสำเร็จแล้ว %s ไฟล์"
|
msgstr[0] "นำเข้าสำเร็จแล้ว %s ไฟล์"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:556
|
#: src/app/main/ui/dashboard/import.cljs:587
|
||||||
msgid "dashboard.import.import-warning"
|
msgid "dashboard.import.import-warning"
|
||||||
msgstr "บางไฟล์มีวัตถุที่ไม่ถูกต้อง ซึ่งถูกนำออกให้แล้ว"
|
msgstr "บางไฟล์มีวัตถุที่ไม่ถูกต้อง ซึ่งถูกนำออกให้แล้ว"
|
||||||
|
|
||||||
@ -445,7 +376,7 @@ msgstr "กำลังอัปโหลดข้อมูลไปยังเ
|
|||||||
msgid "dashboard.import.progress.upload-media"
|
msgid "dashboard.import.progress.upload-media"
|
||||||
msgstr "กำลังอัปโหลดไฟล์: %s"
|
msgstr "กำลังอัปโหลดไฟล์: %s"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:608, src/app/main/ui/dashboard/sidebar.cljs:615, src/app/main/ui/dashboard/sidebar.cljs:620, src/app/main/ui/dashboard/team.cljs:464
|
#: src/app/main/ui/dashboard/organization_team_switch_menus.cljs:257, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:263, src/app/main/ui/dashboard/organization_team_switch_menus.cljs:268, src/app/main/ui/dashboard/team.cljs:464
|
||||||
msgid "dashboard.leave-team"
|
msgid "dashboard.leave-team"
|
||||||
msgstr "ออกจากทีม"
|
msgstr "ออกจากทีม"
|
||||||
|
|
||||||
@ -453,7 +384,7 @@ msgstr "ออกจากทีม"
|
|||||||
msgid "dashboard.libraries-and-templates"
|
msgid "dashboard.libraries-and-templates"
|
||||||
msgstr "ไลบรารีและเทมเพลต"
|
msgstr "ไลบรารีและเทมเพลต"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/import.cljs:774, src/app/main/ui/workspace/libraries.cljs:146
|
#: src/app/main/ui/dashboard/import.cljs:816, src/app/main/ui/workspace/libraries.cljs:229
|
||||||
msgid "dashboard.libraries-and-templates.import-error"
|
msgid "dashboard.libraries-and-templates.import-error"
|
||||||
msgstr "พบปัญหาในการนำเข้าเทมเพลต เทมเพลตนี้จึงไม่ถูกนำเข้า"
|
msgstr "พบปัญหาในการนำเข้าเทมเพลต เทมเพลตนี้จึงไม่ถูกนำเข้า"
|
||||||
|
|
||||||
@ -469,51 +400,51 @@ msgstr "กำลังโหลดไฟล์ของคุณ…"
|
|||||||
msgid "dashboard.loading-fonts"
|
msgid "dashboard.loading-fonts"
|
||||||
msgstr "กำลังโหลดฟอนต์ของคุณ…"
|
msgstr "กำลังโหลดฟอนต์ของคุณ…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101
|
#: src/app/main/ui/dashboard/file_menu.cljs:308, src/app/main/ui/dashboard/project_menu.cljs:101
|
||||||
msgid "dashboard.move-to"
|
msgid "dashboard.move-to"
|
||||||
msgstr "ย้ายไปยัง"
|
msgstr "ย้ายไปยัง"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:277
|
#: src/app/main/ui/dashboard/file_menu.cljs:272
|
||||||
msgid "dashboard.move-to-multi"
|
msgid "dashboard.move-to-multi"
|
||||||
msgstr "ย้าน %s ไฟล์ไปยัง"
|
msgstr "ย้าน %s ไฟล์ไปยัง"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:249
|
#: src/app/main/ui/dashboard/file_menu.cljs:73
|
||||||
msgid "dashboard.move-to-other-team"
|
msgid "dashboard.move-to-other-team"
|
||||||
msgstr "ย้ายไปยังทีมอื่น"
|
msgstr "ย้ายไปยังทีมอื่น"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/files.cljs:111, src/app/main/ui/dashboard/projects.cljs:259, src/app/main/ui/dashboard/projects.cljs:260
|
#: src/app/main/ui/dashboard/files.cljs:117, src/app/main/ui/dashboard/projects.cljs:259
|
||||||
msgid "dashboard.new-file"
|
msgid "dashboard.new-file"
|
||||||
msgstr "+ สร้างไฟล์ใหม่"
|
msgstr "+ สร้างไฟล์ใหม่"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:537, src/app/main/data/dashboard.cljs:649
|
#: src/app/main/data/dashboard.cljs:506, src/app/main/data/dashboard.cljs:618
|
||||||
msgid "dashboard.new-file-prefix"
|
msgid "dashboard.new-file-prefix"
|
||||||
msgstr "สร้างไฟล์ใหม่"
|
msgstr "สร้างไฟล์ใหม่"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:67
|
#: src/app/main/ui/dashboard/projects.cljs:59
|
||||||
msgid "dashboard.new-project"
|
msgid "dashboard.new-project"
|
||||||
msgstr "+ สร้างโปรเจกต์ใหม่"
|
msgstr "+ สร้างโปรเจกต์ใหม่"
|
||||||
|
|
||||||
#: src/app/main/data/dashboard.cljs:290, src/app/main/data/dashboard.cljs:652
|
#: src/app/main/data/dashboard.cljs:259, src/app/main/data/dashboard.cljs:621
|
||||||
msgid "dashboard.new-project-prefix"
|
msgid "dashboard.new-project-prefix"
|
||||||
msgstr "สร้างโปรเจกต์ใหม่"
|
msgstr "สร้างโปรเจกต์ใหม่"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:37
|
#: src/app/main/ui/auth/verify_token.cljs:38
|
||||||
msgid "dashboard.notifications.email-changed-successfully"
|
msgid "dashboard.notifications.email-changed-successfully"
|
||||||
msgstr "อัปเดตอีเมลสำเร็จแล้ว"
|
msgstr "อัปเดตอีเมลสำเร็จแล้ว"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:46
|
#: src/app/main/ui/settings/password.cljs:52
|
||||||
msgid "dashboard.notifications.password-saved"
|
msgid "dashboard.notifications.password-saved"
|
||||||
msgstr "บันทึกรหัสผ่านแล้ว"
|
msgstr "บันทึกรหัสผ่านแล้ว"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/file_menu.cljs:296
|
#: src/app/main/ui/dashboard/file_menu.cljs:294
|
||||||
msgid "dashboard.open-in-new-tab"
|
msgid "dashboard.open-in-new-tab"
|
||||||
msgstr "เปิดไฟล์ในแท็บใหม่"
|
msgstr "เปิดไฟล์ในแท็บใหม่"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/deleted.cljs:161, src/app/main/ui/dashboard/deleted.cljs:162, src/app/main/ui/dashboard/files.cljs:124, src/app/main/ui/dashboard/grid.cljs:428, src/app/main/ui/dashboard/projects.cljs:268, src/app/main/ui/dashboard/projects.cljs:269
|
#: 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
|
||||||
msgid "dashboard.options"
|
msgid "dashboard.options"
|
||||||
msgstr "ตัวเลือก"
|
msgstr "ตัวเลือก"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120
|
#: src/app/main/ui/settings/password.cljs:112, src/app/main/ui/settings/password.cljs:126
|
||||||
msgid "dashboard.password-change"
|
msgid "dashboard.password-change"
|
||||||
msgstr "เปลี่ยนรหัสผ่าน"
|
msgstr "เปลี่ยนรหัสผ่าน"
|
||||||
|
|
||||||
@ -533,7 +464,7 @@ msgstr "คุณเป็นเจ้าของในทีมนี้แล
|
|||||||
msgid "dashboard.save-settings"
|
msgid "dashboard.save-settings"
|
||||||
msgstr "บันทึกการตั้งค่า"
|
msgstr "บันทึกการตั้งค่า"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:282, src/app/main/ui/dashboard/sidebar.cljs:283, src/app/main/ui/ds/controls/shared/searchable_options_dropdown.cljs:140
|
#: 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
|
||||||
msgid "dashboard.search-placeholder"
|
msgid "dashboard.search-placeholder"
|
||||||
msgstr "ค้นหา…"
|
msgstr "ค้นหา…"
|
||||||
|
|
||||||
@ -545,19 +476,19 @@ msgstr "เลือกภาษาของ UI"
|
|||||||
msgid "dashboard.select-ui-theme"
|
msgid "dashboard.select-ui-theme"
|
||||||
msgstr "เลือกธีม"
|
msgstr "เลือกธีม"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/projects.cljs:292
|
#: src/app/main/ui/dashboard/projects.cljs:288
|
||||||
msgid "dashboard.show-all-files"
|
msgid "dashboard.show-all-files"
|
||||||
msgstr "แสดงไฟล์ทั้งหมด"
|
msgstr "แสดงไฟล์ทั้งหมด"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1663
|
#: src/app/main/ui/dashboard/team.cljs:1669
|
||||||
msgid "dashboard.team-info"
|
msgid "dashboard.team-info"
|
||||||
msgstr "ข้อมูลของทีม"
|
msgstr "ข้อมูลของทีม"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1708
|
#: src/app/main/ui/dashboard/team.cljs:1714
|
||||||
msgid "dashboard.team-members"
|
msgid "dashboard.team-members"
|
||||||
msgstr "สมาชิกของทีม"
|
msgstr "สมาชิกของทีม"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1723
|
#: src/app/main/ui/dashboard/team.cljs:1729
|
||||||
msgid "dashboard.team-projects"
|
msgid "dashboard.team-projects"
|
||||||
msgstr "โปรเจกต์ของทีม"
|
msgstr "โปรเจกต์ของทีม"
|
||||||
|
|
||||||
@ -573,22 +504,18 @@ msgstr "ผลการค้นหา"
|
|||||||
msgid "dashboard.update-settings"
|
msgid "dashboard.update-settings"
|
||||||
msgstr "อัปเดตการตั้งค่า"
|
msgstr "อัปเดตการตั้งค่า"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1389
|
#: src/app/main/ui/dashboard/team.cljs:1395
|
||||||
msgid "dashboard.webhooks.content-type"
|
msgid "dashboard.webhooks.content-type"
|
||||||
msgstr "ประเภทเนื้อหา"
|
msgstr "ประเภทเนื้อหา"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1421
|
#: src/app/main/ui/dashboard/team.cljs:1427
|
||||||
msgid "dashboard.webhooks.create"
|
msgid "dashboard.webhooks.create"
|
||||||
msgstr "สร้าง Webhook"
|
msgstr "สร้าง Webhook"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:1324
|
#: src/app/main/ui/dashboard/team.cljs:1330
|
||||||
msgid "dashboard.webhooks.create.success"
|
msgid "dashboard.webhooks.create.success"
|
||||||
msgstr "สร้าง Webhook แล้ว"
|
msgstr "สร้าง Webhook แล้ว"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "dashboard.webhooks.update.success"
|
|
||||||
msgstr "อัปเดต Webhook แล้ว"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings.cljs:36
|
#: src/app/main/ui/settings.cljs:36
|
||||||
msgid "dashboard.your-account-title"
|
msgid "dashboard.your-account-title"
|
||||||
msgstr "บัญชีของคุณ"
|
msgstr "บัญชีของคุณ"
|
||||||
@ -605,19 +532,19 @@ msgstr "ชื่อของคุณ"
|
|||||||
msgid "ds.confirm-allow"
|
msgid "ds.confirm-allow"
|
||||||
msgstr "อนุญาต"
|
msgstr "อนุญาต"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:691, src/app/main/ui/confirm.cljs:43, src/app/main/ui/settings/subscription.cljs:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, 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:324, src/app/main/ui/settings/subscription.cljs:357, src/app/main/ui/settings/subscription.cljs:839, src/app/main/ui/settings/subscription.cljs:888, src/app/main/ui/settings/subscription.cljs:898, src/app/main/ui/workspace/plugins.cljs:373, src/app/main/ui/workspace/plugins.cljs:436
|
||||||
msgid "ds.confirm-cancel"
|
msgid "ds.confirm-cancel"
|
||||||
msgstr "ยกเลิก"
|
msgstr "ยกเลิก"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs:107, src/app/main/ui/auth/verify_token.cljs:128, 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:148, src/app/main/ui/settings/change_email.cljs:29
|
||||||
msgid "errors.email-already-exists"
|
msgid "errors.email-already-exists"
|
||||||
msgstr "อีเมลถูกใช้ไปแล้ว"
|
msgstr "อีเมลถูกใช้ไปแล้ว"
|
||||||
|
|
||||||
#: src/app/main/data/auth.cljs:352, src/app/main/ui/auth/register.cljs:94, 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:243
|
||||||
msgid "errors.email-domain-not-allowed"
|
msgid "errors.email-domain-not-allowed"
|
||||||
msgstr "โดเมนนี้ไม่ได้รับอนุญาต"
|
msgstr "โดเมนนี้ไม่ได้รับอนุญาต"
|
||||||
|
|
||||||
#, unused
|
#: ../common/src/app/common/schema.cljc:1068
|
||||||
msgid "errors.field-min-length"
|
msgid "errors.field-min-length"
|
||||||
msgstr "ต้องมีอย่างน้อย 1 ตัวอักษร"
|
msgstr "ต้องมีอย่างน้อย 1 ตัวอักษร"
|
||||||
|
|
||||||
@ -625,17 +552,15 @@ msgstr "ต้องมีอย่างน้อย 1 ตัวอักษร
|
|||||||
msgid "errors.invalid-color"
|
msgid "errors.invalid-color"
|
||||||
msgstr "สีไม่ถูกต้อง"
|
msgstr "สีไม่ถูกต้อง"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs, src/app/main/ui/auth/recovery_request.cljs
|
#: src/app/main/ui/auth/login.cljs:67, ../common/src/app/common/schema.cljc:497
|
||||||
#, unused
|
|
||||||
msgid "errors.invalid-email"
|
msgid "errors.invalid-email"
|
||||||
msgstr "กรุณาใส่อีเมลที่ถูกต้อง"
|
msgstr "กรุณาใส่อีเมลที่ถูกต้อง"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs
|
#: ../common/src/app/common/schema.cljc:1092
|
||||||
#, unused
|
|
||||||
msgid "errors.password-too-short"
|
msgid "errors.password-too-short"
|
||||||
msgstr "รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร"
|
msgstr "รหัสผ่านต้องมีอย่างน้อย 8 ตัวอักษร"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:107
|
#: src/app/main/ui/auth/login.cljs:104, src/app/main/ui/auth/login.cljs:108
|
||||||
msgid "errors.wrong-credentials"
|
msgid "errors.wrong-credentials"
|
||||||
msgstr "อีเมลหรือรหัสผ่านไม่ถูกต้อง"
|
msgstr "อีเมลหรือรหัสผ่านไม่ถูกต้อง"
|
||||||
|
|
||||||
@ -647,25 +572,10 @@ msgstr "รหัสผ่านเดิมไม่ถูกต้อง"
|
|||||||
msgid "feedback.discourse-title"
|
msgid "feedback.discourse-title"
|
||||||
msgstr "ชุมชน Penpot"
|
msgstr "ชุมชน Penpot"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.height"
|
|
||||||
msgstr "ความสูง"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/layout.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.layout.left"
|
|
||||||
msgstr "ซ้าย"
|
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
#: src/app/main/ui/inspect/attributes/shadow.cljs:66
|
||||||
msgid "inspect.attributes.shadow"
|
msgid "inspect.attributes.shadow"
|
||||||
msgstr "เงา"
|
msgstr "เงา"
|
||||||
|
|
||||||
#: src/app/main/ui/inspect/attributes/stroke.cljs
|
|
||||||
#, unused
|
|
||||||
msgid "inspect.attributes.stroke.width"
|
|
||||||
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:612, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:618
|
||||||
msgid "inspect.attributes.typography.font-size"
|
msgid "inspect.attributes.typography.font-size"
|
||||||
msgstr "ขนาดฟอนต์"
|
msgstr "ขนาดฟอนต์"
|
||||||
@ -686,11 +596,11 @@ msgstr "SVG"
|
|||||||
msgid "labels.code"
|
msgid "labels.code"
|
||||||
msgstr "โคด"
|
msgstr "โคด"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1256, src/app/main/ui/workspace/main_menu.cljs:165
|
#: src/app/main/ui/dashboard/sidebar.cljs:479, src/app/main/ui/workspace/main_menu.cljs:165
|
||||||
msgid "labels.community"
|
msgid "labels.community"
|
||||||
msgstr "ชุมชน"
|
msgstr "ชุมชน"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:103
|
#: src/app/main/ui/settings/password.cljs:109
|
||||||
msgid "labels.confirm-password"
|
msgid "labels.confirm-password"
|
||||||
msgstr "ยืนยันรหัสผ่าน"
|
msgstr "ยืนยันรหัสผ่าน"
|
||||||
|
|
||||||
@ -702,23 +612,19 @@ msgstr "คัดลอกลิงก์"
|
|||||||
msgid "labels.create-team"
|
msgid "labels.create-team"
|
||||||
msgstr "สร้างทีมใหม่"
|
msgstr "สร้างทีมใหม่"
|
||||||
|
|
||||||
#, unused
|
|
||||||
msgid "labels.custom-fonts"
|
|
||||||
msgstr "ฟอนต์ที่กำหนดเอง"
|
|
||||||
|
|
||||||
#: src/app/main/ui/settings/sidebar.cljs:86
|
#: src/app/main/ui/settings/sidebar.cljs:86
|
||||||
msgid "labels.dashboard"
|
msgid "labels.dashboard"
|
||||||
msgstr "แดชบอร์ด"
|
msgstr "แดชบอร์ด"
|
||||||
|
|
||||||
#: src/app/main/ui/comments.cljs:1015, src/app/main/ui/dashboard/fonts.cljs:280, src/app/main/ui/dashboard/import.cljs:327, src/app/main/ui/dashboard/team.cljs:1437, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:218, src/app/main/ui/workspace/tokens/themes.cljs:52
|
#: 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
|
||||||
msgid "labels.edit"
|
msgid "labels.edit"
|
||||||
msgstr "แก้ไข"
|
msgstr "แก้ไข"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:164, 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/onboarding/team_choice.cljs:71
|
#: 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
|
||||||
msgid "labels.editor"
|
msgid "labels.editor"
|
||||||
msgstr "เอดิเตอร์"
|
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:134
|
#: 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
|
||||||
msgid "labels.export"
|
msgid "labels.export"
|
||||||
msgstr "ส่งออก"
|
msgstr "ส่งออก"
|
||||||
|
|
||||||
@ -726,7 +632,7 @@ msgstr "ส่งออก"
|
|||||||
msgid "labels.figma"
|
msgid "labels.figma"
|
||||||
msgstr "Figma"
|
msgstr "Figma"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:1152
|
#: src/app/main/ui/dashboard/fonts.cljs:74, src/app/main/ui/dashboard/sidebar.cljs:375
|
||||||
msgid "labels.fonts"
|
msgid "labels.fonts"
|
||||||
msgstr "ฟอนต์"
|
msgstr "ฟอนต์"
|
||||||
|
|
||||||
@ -742,11 +648,11 @@ msgstr "ภาษา"
|
|||||||
msgid "labels.libraries-and-templates"
|
msgid "labels.libraries-and-templates"
|
||||||
msgstr "ไลบรารีและเทมเพลต"
|
msgstr "ไลบรารีและเทมเพลต"
|
||||||
|
|
||||||
#: src/app/main/ui/auth/verify_token.cljs:144, 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:652, src/app/main/ui/viewer.cljs:641, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:247, src/app/main/ui/workspace.cljs:132
|
#: 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
|
||||||
msgid "labels.loading"
|
msgid "labels.loading"
|
||||||
msgstr "กำลังโหลด…"
|
msgstr "กำลังโหลด…"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1527
|
#: src/app/main/ui/dashboard/sidebar.cljs:750
|
||||||
msgid "labels.logout"
|
msgid "labels.logout"
|
||||||
msgstr "ลงชื่อออก"
|
msgstr "ลงชื่อออก"
|
||||||
|
|
||||||
@ -754,23 +660,19 @@ msgstr "ลงชื่อออก"
|
|||||||
msgid "labels.member"
|
msgid "labels.member"
|
||||||
msgstr "สมาชิก"
|
msgstr "สมาชิก"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:581, 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:228, src/app/main/ui/dashboard/team.cljs:125, src/app/main/ui/dashboard/team.cljs:133
|
||||||
msgid "labels.members"
|
msgid "labels.members"
|
||||||
msgstr "สมาชิก"
|
msgstr "สมาชิก"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:96
|
#: src/app/main/ui/settings/password.cljs:102
|
||||||
msgid "labels.new-password"
|
msgid "labels.new-password"
|
||||||
msgstr "รหัสผ่านใหม่"
|
msgstr "รหัสผ่านใหม่"
|
||||||
|
|
||||||
#: src/app/main/ui/settings/password.cljs:89
|
#: src/app/main/ui/settings/password.cljs:95
|
||||||
msgid "labels.old-password"
|
msgid "labels.old-password"
|
||||||
msgstr "รหัสผ่านเดิม"
|
msgstr "รหัสผ่านเดิม"
|
||||||
|
|
||||||
#, unused
|
#: 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
|
||||||
msgid "labels.or"
|
|
||||||
msgstr "หรือ"
|
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/team.cljs:437, src/app/main/ui/dashboard/team.cljs:675, src/app/main/ui/dashboard/team.cljs:1714
|
|
||||||
msgid "labels.owner"
|
msgid "labels.owner"
|
||||||
msgstr "เจ้าของ"
|
msgstr "เจ้าของ"
|
||||||
|
|
||||||
@ -782,6 +684,6 @@ msgstr "รหัสผ่าน"
|
|||||||
msgid "labels.profile"
|
msgid "labels.profile"
|
||||||
msgstr "โปรไฟล์"
|
msgstr "โปรไฟล์"
|
||||||
|
|
||||||
#: src/app/main/ui/dashboard/sidebar.cljs:1132
|
#: src/app/main/ui/dashboard/sidebar.cljs:355
|
||||||
msgid "labels.projects"
|
msgid "labels.projects"
|
||||||
msgstr "โปรเจกต์"
|
msgstr "โปรเจกต์"
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user