diff --git a/.serena/memories/frontend/core.md b/.serena/memories/frontend/core.md index bd9b6c9276..9afe4e20a7 100644 --- a/.serena/memories/frontend/core.md +++ b/.serena/memories/frontend/core.md @@ -37,6 +37,7 @@ See `mem:scripts/paren-repair`. UI and packages: - App UI components, SCSS modules, style-system boundaries, accessibility, i18n, and render performance: `mem:frontend/ui-conventions-and-style-system`. - JS/TS packages, shared UI package, text editor, Storybook, and package builds: `mem:frontend/ui-packages-text-editor-workflow`. +- PO translation workflow and per-locale conventions: `mem:frontend/translations`. Workspace behavior: - Workspace state, commits, persistence, undo, repo calls, and refs: `mem:frontend/workspace-state-persistence-subtleties`. diff --git a/.serena/memories/frontend/translations.md b/.serena/memories/frontend/translations.md new file mode 100644 index 0000000000..c527af8b2a --- /dev/null +++ b/.serena/memories/frontend/translations.md @@ -0,0 +1,82 @@ +# Frontend Translations + +PO-based UI i18n. Files: `frontend/translations/*.po`. `en.po` is the +source of truth (`msgid` = key, `msgstr` = English); `es.po` is a +high-coverage support reference, never the base. + +## Workflow + +- Canonicalize with `node ./scripts/translations.js sync -l ` + from `frontend/`: sorts entries, syncs `#:` comments from `en`, + deletes keys missing in `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. +- Canonical files carry NO `#~` obsolete blocks (`en`/`es` have zero). + Drop them; `sync` does not resurrect them. +- Definition of done: `msgfmt --check .po` exit 0 and + `msgfmt --statistics` shows 0 fuzzy, 0 untranslated. + +## Entry rules + +- New entries take `#:` refs from `en`; copy `#, unused`, never `#, fuzzy`. +- `en` keys with empty `msgstr` (or `#, fuzzy` + empty): translate from + `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). +- `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 + +- 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"). +- 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. +- ALL-CAPS source stays ALL-CAPS in Catalan; keep `$175`-style + 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. +- 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 + +- Run `node ./scripts/translations.js check -l ` from + `frontend/` (no default locale: pass `-l` explicitly): 0 errors + required; review warnings by hand. Word lists live in + `frontend/scripts/check-translations/words..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). +- 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/.po`. diff --git a/docker/devenv/Dockerfile b/docker/devenv/Dockerfile index f28a277b07..895aafca67 100644 --- a/docker/devenv/Dockerfile +++ b/docker/devenv/Dockerfile @@ -476,6 +476,7 @@ RUN set -ex; \ nginx \ fd-find \ bat \ + gettext \ \ fontconfig \ woff-tools \ diff --git a/frontend/scripts/check-translations/words.ca.txt b/frontend/scripts/check-translations/words.ca.txt new file mode 100644 index 0000000000..54fc569dc4 --- /dev/null +++ b/frontend/scripts/check-translations/words.ca.txt @@ -0,0 +1,505 @@ +# Word catalog for check-translations.js (Catalan). +# Comment lines start with #. Blank lines are ignored. +# [function] short function words; a token starting with one of +# these is likely missing a space (del-equip style). +# [common] ordinary words used to judge the other half of a split. +# [ok] correct words the splitter would flag; never report +# these. Add new valid words here when the gate trips. +# [brands] extra locale-specific brands/terms kept as-is. +# [elision] letters elided with an apostrophe. + +[elision] +ldsmntc + +[function] +i +o +a +e +de +del +dels +la +el +els +les +lo +un +una +uns +unes +al +als +en +amb +per +pel +pels +que +com +no +ni +si +ja +se +es +ho +hi +li +me +te +ne +em +et +us +vos +ens +son +són +és +més +mes +tot +tota +molt +tan +tant +on +quan +perquè +pero +però +doncs +fins +entre +sobre +sota +cap +cada +altre +seva +seu +meva +teu +nostre +vostre +aquest +aquesta +això +allò +jo +tu +ell +ella +nosaltres +vosaltres +ells + +[common] +corregir +poder +obtenir +mantindran +targeta +controladors +importants +futura +donant +tingui +informar +diversitat +continuï +juntament +revocaran +habilitar +desament +autenticació +family +aplicació +còpies +configurat +necessita +conflictes +trigar +res +directament +enviï +correccions +admet +exportacions +aplicacions +càrrec +envia +enllaç +actuals +ajuda +moment +valor +equips +conjunt +projecte +fitxer +compte +usuari +persona +persones +cosa +temps +part +text +nom +contrasenya +sessió +idioma +versió +canvi +arxiu +error +avís +filtre +cerca +vista +pestanya +botó +camp +llista +taula +imatge +forma +capa +fons +color +mida +data +correu +propietari +propietària +membre +opcions +prova +suprimireu +interactuïn +ajudarem +quedi +configurat +permetre +continueu +breu +manteniment +present +començar +donant +css +font +prioritzar +suborganitzacions +podreu +poden +facturació + +[ok] +ajudarem +aplana +coincideixi +coma +comes +comprova +comprovar +comprovar-ho +comuna +convidarem +estarem +existeixen +existeixi +fase +gratuïta +interna +mateixa +meves +molta +oberta +obertes +permeten +permeti +segura +targeta +teus +usa +usen +niar +negreta +emplena +emplenament +edita +selector +atributs +sobreescriuran +compartides +desenvolupadors +administradors +desbloquejar +desbloquegeu +opcionalment +autoreferència +especificant +previsualització +previsualitza +predeterminat +predeterminats +predeterminada +predefinides +predefinida +desactivades +seleccionada +seleccionades +descarregueu +centralitzat +horitzontalment +verticalment +multijugador +multiorganització +complementari +multiplicador +actualitzarà +activades +activador +cancel·laran +comptaran +configurar +confirmar-ho +conservaran +desagrupa +desbloqueja +desenganxa +despublica +despublicar +desselecciona-ho +duplicades +envia-ho +importada +importades +interactius +intercanvia +lliscament +lliuraran +migracions +mixte +personalitzeu-les +plantilles +privadesa +realitzant +repositori +restauraran +selecciona-ho +superposa +transferiu +unir-se +usar-los +autodesat +demanar-ho +desactivar-los +abandonar-la +accedir-hi +accelereu +activar-los +actualitzeu +adoptarà +afegir-hi +afegir-ne +afegiu +afegiu-ne +agrupant-la +ajudar-nos +ajudar-vos +ajudeu-nos +ajudieu-nos +ajustar-lo +ajusteu +ajustis +alineació +amplia +ampliada +amplieu +animacions +aplicant +apliqueu +arrossegueu +assegurar-vos +avançar-vos +avisos +baixades +cancel·lada +cancel·lant +cercador +coincidents +col·laboració +col·laborar +commuteu +compatibilitat +concedir-hi +consumeixin +conèixer-vos +definir-ne +definiu +depuració +desbloca +descarta-ho +descriviu +desemmascara +deshabilita +deshabilitada +deshabilitades +desplaçar +desvincula +dissenyeu +editar-lo +editen +editeu +eliminar-lo +el·lipse +el·lipses +emplenats +encabir-ho +enfosqueix +escriviu-nos +espaiat +espaiats +especifiqueu +estils +expliqueu-nos +exporta +exportant +exportar +flexibilitat +gaudireu +il·limitat +il·limitats +il·lumina +il·lustracions +importats +incrusta +inhabilitada +inicieu +insereix +inspecciona +inspeccionar-ne +instal·la +instal·lació +instal·lada +instal·lades +instal·lat +instantànies +integracions +intentar-ho +marca-ho +migració +milloreu +milloreu-ho +notificacions +obsolet +obteniu +ometeu-ho +omplir-ho +opacitat +orientar-vos +personalitzada +personalitzades +pestanya +porta-ho +porta-retalls +promoveu +prototipar +prototipatge +publicar-la +reassignar +reassigneu +remapejant +remapeja +remapejar +silenciats +sol·licitat +sol·licitud +sol·licituds +suprimiran +tipogràfic +tipogràfica +tipogràfics +tipogràfiques +torna-ho +valorant +vinculades +vincular +visiteu +volteja +unir-s'hi +l'opacitat +l'espaiat +l'interlineat +explora'n +edita'l +desant +aquesta +aquestes +baixa +capa +capes +compartir +comproveu +desa +deseu +dreta +esteu +files +fixa +inicia +inicials +meus +només +nous +noves +pel +perfil +perquè +pes +pla +seus +totes +treballo +una +vosaltres +vàlida +vàlides +desactiva +desactivat +desactivada +desconnecta +descobreix +connectades +alguna +canvia +compost +comprovant +del +dels +des +enviarem +mixtes +noms +quina +senzilla +uneix +ves +vista +vés +desconegut +fixa +pel +pels +tota +comentari +comunitat +set +desvinculat +separades + +[brands] diff --git a/frontend/scripts/check-translations/words.es.txt b/frontend/scripts/check-translations/words.es.txt new file mode 100644 index 0000000000..10a6356517 --- /dev/null +++ b/frontend/scripts/check-translations/words.es.txt @@ -0,0 +1,321 @@ +# Word catalog for check-translations.js (Spanish). +# Comment lines start with #. Blank lines are ignored. +# [function] short function words; a token starting with one of +# these is likely missing a space. +# [common] ordinary words used to judge the other half of a split. +# [ok] correct words the splitter would flag; never report +# these. Add new valid words here when the gate trips. +# [brands] extra locale-specific brands/terms kept as-is. +# [elision] letters elided with an apostrophe (Spanish has none). + +[elision] + +[function] +el +la +los +las +un +una +unos +unas +al +del +de +en +y +e +o +u +que +como +con +por +para +sin +sobre +entre +hasta +desde +donde +cuando +porque +pues +si +no +ni +mas +más +muy +tan +tanto +todo +todos +toda +todas +cada +otro +otra +otros +otras +este +esta +estos +estas +ese +esa +eso +aquel +aquella +aquello +mi +mis +tu +tus +su +sus +nuestro +nuestra +nuestros +nuestras +vuestro +vuestra +vuestros +vuestras +me +te +se +nos +os +le +les +lo +yo +tú +él +ella +ello +nosotros +vosotros +ellos +ellas +esto +eso +aquello +algo +alguien +nada +nadie +quien +quienes +cual +cuales +cuanto +cuanta +cuantos +cuantas + +[common] +habilitar +crear +eliminar +guardar +abrir +cerrar +enviar +compartir +invitar +mover +copiar +pegar +subir +bajar +editar +configurar +activar +desactivar +permitir +necesitar +poder +deber +querer +saber +hacer +poner +salir +entrar +volver +llegar +pasar +quedar +dar +estar +ser +haber +tener +ir +ver +usar +buscar +cambiar +seguir +encontrar +mostrar +ocultar +añadir +quitar +seleccionar +aplicar +cancelar +aceptar +probar +comprobar +generar +descargar +equipo +archivo +proyecto +cuenta +nombre +correo +error +aviso +ventana +página +botón +campo +lista +tabla +imagen +forma +capa +color +tamaño +fecha +enlace +nuevo +nueva +grande +pequeño +bueno +actual +siguiente +anterior +mismo +otra +primer +último +único +libre +público + +[ok] +abandonarla +abrirlo +activarlos +actuales +actualizada +adicionales +administradores +algunos +alto +aplicarse +asignarse +aun +aunque +autoguardada +autoguardado +autoreferencia +ayudarnos +ayudarte +borradores +borrarlo +cambiada +caracteres +como +comparte +compartir +comprobar +comprueba +compuesto +comunidad +conectarlo +conectarse +conjunto +conocerte +consigue +contactarnos +contener +contiene +contexto +danos +demás +desactivarlos +deseleccionar +desuscripción +durante +editores +eje +eliminarlo +eliminarlos +ella +eso +esos +este +estoy +estándar +expirada +funcionalidades +granulares +hay +hubo +importada +iniciarse +invitaciones +lectores +letras +manifiesto +menos +nosotros +otras +pero +personales +peso +primero +principales +propiedades +proveedores +publicarla +publicarlo +puesto +regenerada +restaurarlo +restaurarlos +seleccionada +selector +servidores +sino +solicitudes +soportada +sufijo +tanto +temas +tenerte +tipográfico +tono +unidades +unir +unirse +uno +unos +usarlas +utilizada +verla +versiones +verticales +vincularse +visuales +volverlo +porque + +[brands] diff --git a/frontend/scripts/translations.js b/frontend/scripts/translations.js index 8ee1798567..e4e2e50c1b 100755 --- a/frontend/scripts/translations.js +++ b/frontend/scripts/translations.js @@ -1,11 +1,10 @@ #!/usr/bin/env node import getopts from "getopts"; -import { promises as fs, createReadStream } from "fs"; +import { promises as fs, createReadStream } from "node:fs"; import gt from "gettext-parser"; -import l from "lodash"; -import path from "path"; -import readline from "readline"; +import path from "node:path"; +import readline from "node:readline"; const baseLocale = "en"; @@ -24,18 +23,6 @@ async function* getFiles(dir) { } } -async function translationExists(locale) { - const target = path.normalize("./translations/"); - const targetPath = path.join(target, `${locale}.po`); - - try { - const result = await fs.stat(targetPath); - return true; - } catch (cause) { - return false; - } -} - async function readLocaleByPath(path) { const content = await fs.readFile(path); return gt.po.parse(content, "utf-8"); @@ -78,7 +65,7 @@ async function processLocale(options, f) { } else if (locales === undefined) { } else { console.error(`Invalid value found on locales parameter: '${locales}'`); - process.exit(-1); + process.exit(2); } for await (const { name } of scanLocales()) { @@ -336,42 +323,513 @@ async function synchronize(options, ...other) { }); } +// Brands kept as-is in every locale. +const GENERIC_BRANDS = [ + "GitHub", + "GitLab", + "YouTube", + "InVision", + "innerShadow", + "dropShadow", + "iOS", + "macOS", +]; + +const TOKEN_RE = /[\p{L}\p{M}]+(?:[·'’\-][\p{L}\p{M}]+)*/gu; +const SKIP_RE = /[%{@/\\=<>|#0-9]/; +const PLACEHOLDER_RES = [/%[sd]/g, /\{[^}]*\}/g, /%\([^)]*\)[sd]/g]; +const PUNCT_RE = /[,.:;!?…»)\]]([A-Za-zÀ-Úà-ú«("“‘$])/gu; +const CAMEL_RE = /[a-zàèéíòóúüç·]([A-ZÀÈÉÍÒÓÚÜ][a-zàèéíòóúü]+)/gu; +const PH_GLUED_RE = /%[sd](?=[A-Za-zÀ-Úà-ú])/gu; +const APOSTROPHE_DIGIT_RE = /[a-zàèéíòóúüç·]d['’][0-9]/gu; + +function tokenize(text) { + return [...text.matchAll(TOKEN_RE)].map((m) => m[0].toLowerCase()); +} + +function elisionBase(token, elision) { + if (!elision) return null; + const m = token.match(new RegExp(`^[${elision}]['’](.+)$`)); + return m ? m[1] : null; +} + +function countIn(text, re) { + re.lastIndex = 0; + return [...text.matchAll(re)].length; +} + +// A word is valid as one half of a split. Never the whole token: +// a repeated glue (`del'equip` x3) must not validate itself by frequency. +function validPart(word, words, freq) { + return ( + words.functionWords.has(word) || + words.okWords.has(word) || + words.commonWords.has(word) || + (freq.get(word) ?? 0) >= 1 + ); +} + +// Every (left, right, rule) split of a token, including each +// hyphen-separated segment. +function* splits(tok, words, freq) { + const cands = [tok, ...tok.split("-")]; + const seen = new Set(); + for (const c of cands) { + if (c.length < 3) continue; + for (let k = 1; k < c.length; k++) { + const left = c.slice(0, k); + const right = c.slice(k); + if (left.length < 1) continue; + if (right.length < 2 && !words.functionWords.has(right)) continue; + const key = left + "|" + right; + if (seen.has(key)) continue; + seen.add(key); + const rightBase = elisionBase(right, words.elision) ?? right; + const rightOk = validPart(rightBase, words, freq); + const leftOk = validPart(left, words, freq); + if (words.functionWords.has(left) && rightOk) + yield [left, right, "func-left"]; + else if (words.functionWords.has(right) && right.length <= 4 && leftOk) + yield [left, right, "func-right"]; + else if ( + c.length >= 8 && + left.length >= 3 && + right.length >= 2 && + leftOk && + rightOk + ) + yield [left, right, "content"]; + } + } +} + +const RULE_ORDER = { "func-left": 0, "func-right": 1, content: 2 }; + +function bestSplit(tok, words, freq) { + let best = null; + for (const [left, right, rule] of splits(tok, words, freq)) { + if (left.includes("-")) continue; + if ( + !best || + RULE_ORDER[rule] < RULE_ORDER[best[2]] || + (RULE_ORDER[rule] === RULE_ORDER[best[2]] && left.length > best[0].length) + ) { + best = [left, right, rule]; + } + } + return best; +} + +function folded(s) { + return s.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase(); +} + +function distance(a, b) { + const dp = Array.from({ length: a.length + 1 }, (_, i) => [i]); + for (let j = 1; j <= b.length; j++) dp[0][j] = j; + for (let i = 1; i <= a.length; i++) { + for (let j = 1; j <= b.length; j++) { + dp[i][j] = Math.min( + dp[i - 1][j] + 1, + dp[i][j - 1] + 1, + dp[i - 1][j - 1] + (a[i - 1] === b[j - 1] ? 0 : 1), + ); + } + } + return dp[a.length][b.length]; +} + +// Resemblance to the source: a correct word almost always resembles +// its cognate in `en`/`es`; a glued one never does. A pure affix +// (1-4 letters more or less) doesn't count: that is exactly the +// shape of a glue (`lapolitica` vs `politica`, `desdel` vs `desde`). +function isCognate(tok, refToks, elision) { + const base = tok.replace(new RegExp(`^[${elision || "-"}]['’]`), ""); + const t = folded(base); + const limit = t.length <= 4 ? 0 : 1; + for (const r of refToks) { + const rt = folded(r); + if (Math.abs(rt.length - t.length) > Math.max(limit, 4)) continue; + const d = distance(t, rt); + if (d === 0) return true; + if (d > limit) continue; + if (isAffix(t, rt)) continue; + return true; + } + return false; +} + +function isAffix(t, rt) { + const dif = Math.abs(t.length - rt.length); + if (dif < 1 || dif > 4) return false; + return ( + t.startsWith(rt) || t.endsWith(rt) || rt.startsWith(t) || rt.endsWith(t) + ); +} + +function refToks(...texts) { + const toks = new Set(); + for (const text of texts) for (const t of tokenize(text)) toks.add(t); + return toks; +} + +function cleanContext(frag) { + return !/https?:|www\.|@|\|target:|\.mcp\.json/.test(frag); +} + +function checkPunctuation(text, brands) { + const found = []; + for (const m of text.matchAll(PUNCT_RE)) { + const punct = m[0][0]; + const next = m[1]; + const frag = text.slice(Math.max(0, m.index - 30), m.index + 32); + if (!cleanContext(frag)) continue; + if (m[0] === "](") continue; // markdown link + if (m[0] === ":s" && frag.includes("|target:")) continue; // [x|target:self] + if (/%[sd]\.\(/.test(frag)) continue; // %s.(suffix)... notation + if (punct === "." && !/[A-ZÀÈÉÍÒÓÚÜ«"“(%$]/.test(next)) continue; + found.push({ what: m[0], frag }); + } + for (const m of text.matchAll(CAMEL_RE)) { + const frag = text.slice(Math.max(0, m.index - 30), m.index + 32); + if (brands.some((mk) => frag.includes(mk))) continue; + found.push({ what: m[0], frag }); + } + for (const m of text.matchAll(PH_GLUED_RE)) { + const frag = text.slice(Math.max(0, m.index - 30), m.index + 32); + found.push({ what: m[0], frag }); + } + for (const m of text.matchAll(APOSTROPHE_DIGIT_RE)) { + const frag = text.slice(Math.max(0, m.index - 30), m.index + 32); + found.push({ what: m[0], frag }); + } + return found; +} + +function loadFile(path) { + return fs.readFile(path).then((buf) => gt.po.parse(buf, "utf-8")); +} + +function parseCatalog(text, locale) { + const words = { + functionWords: new Set(), + commonWords: new Set(), + okWords: new Set(), + brands: [], + elision: "", + }; + const sections = { function: 1, common: 1, ok: 1, brands: 1, elision: 1 }; + let current = null; + for (const raw of text.split("\n")) { + const line = raw.trim(); + if (line === "" || line.startsWith("#")) continue; + const sec = line.match(/^\[([a-z]+)\]$/); + if (sec) { + if (!sections[sec[1]]) { + throw new Error(`words.${locale}.txt: unknown section [${sec[1]}]`); + } + current = sec[1]; + continue; + } + if (!current) { + throw new Error(`words.${locale}.txt: word outside any section`); + } + if (current === "elision") { + if (!/^[a-z]+$/.test(line)) { + throw new Error(`words.${locale}.txt: bad [elision] line`); + } + words.elision += line; + } else if (current === "brands") { + words.brands.push(line); + } else { + words[`${current}Words`].add(line.toLowerCase()); + } + } + return words; +} + +async function loadCatalog(locale) { + const path = `./scripts/check-translations/words.${locale}.txt`; + try { + return parseCatalog(await fs.readFile(path, "utf-8"), locale); + } catch (err) { + if (err.code === "ENOENT") return null; + throw err; + } +} + +function isFuzzy(entry) { + return (entry.comments?.flag ?? "").split(/,\s*/).includes("fuzzy"); +} + +async function check(locale, words) { + const [data, dataEn, dataEs] = await Promise.all([ + loadFile(`./translations/${locale}.po`), + loadFile("./translations/en.po"), + locale === "es" ? null : loadFile("./translations/es.po").catch(() => null), + ]); + const entries = data.translations[""]; + const entriesEn = dataEn.translations[""]; + const entriesEs = dataEs ? dataEs.translations[""] : {}; + const brands = [...GENERIC_BRANDS, ...(words?.brands ?? [])]; + const errors = []; + const warnings = []; + + const freq = new Map(); + for (const [msgid, e] of Object.entries(entries)) { + if (msgid === "" || isFuzzy(e)) continue; + for (const t of e.msgstr) + for (const w of tokenize(t)) { + freq.set(w, (freq.get(w) ?? 0) + 1); + } + } + + for (const [msgid, e] of Object.entries(entries)) { + if (msgid === "" || isFuzzy(e)) continue; + const texts = e.msgstr; + const eEn = entriesEn[msgid]; + const textsEn = eEn ? eEn.msgstr : []; + const eEs = entriesEs[msgid]; + const textsEs = eEs ? eEs.msgstr : []; + + if (eEn?.msgid_plural && !e.msgid_plural) { + errors.push( + `${msgid}: source uses msgid_plural but ${locale} lacks msgstr[0]/[1]`, + ); + } + + texts.forEach((text, i) => { + if (!text) return; + const textEn = textsEn[i] ?? ""; + const textEs = textsEs[i] ?? ""; + const refs = refToks(textEn, textEs); + if (textEn) { + const unused = (e.comments?.flag ?? "") + .split(/,\s*/) + .includes("unused"); + for (const re of PLACEHOLDER_RES) { + const nEn = countIn(textEn, re); + const nLoc = countIn(text, re); + if (nEn !== nLoc) { + // Unused keys are never rendered: report, don't fail. + // "Fixing" them by deleting placeholders can destroy + // content that a reactivation may need. + (unused ? warnings : errors).push( + `${msgid}[${i}]: placeholder mismatch ${re.source}: en=${nEn} ${locale}=${nLoc}`, + ); + } + } + } + for (const t of checkPunctuation(text, brands)) { + errors.push( + `${msgid}: glued punctuation ${JSON.stringify(t.what)} ...${t.frag}...`, + ); + } + if (!words) return; + for (const tok of tokenize(text)) { + if (SKIP_RE.test(tok)) continue; + if (words.okWords.has(tok)) continue; + // No whole-token frequency skip: a repeated glue + // (`del'equip` x3) must never validate itself by frequency. + const base = elisionBase(tok, words.elision); + if (base && validPart(base, words, freq)) continue; + if (isCognate(tok, refs, words.elision)) continue; + const part = bestSplit(tok, words, freq); + if (!part) continue; + const [left, right, rule] = part; + const line = `${msgid}: glued word ${JSON.stringify(tok)} -> ${left} + ${right}`; + if (rule === "content") warnings.push(`${line} (review)`); + else errors.push(line); + } + }); + } + return { errors, warnings }; +} + +const FIXTURES = [ + // [text, expectsError] + ["Els membres del'equip continuaran.", true], + ["Accepteu lapolítica de privadesa.", true], + ["Si necessiteu més informació,contacteu amb nosaltres.", true], + ["Revisions delPenpot disponibles.", true], + ["Seleccioneu Lowercase oCapitalize.", true], + ["Cobreix fins a %seditors nous.", true], + ["Bienvenido acasa nueva.", true], + ["Les biblioteques compartides.", false], + ["Edita el webhook.", false], + ["Emplenament del grup.", false], + ["S'està desant el fitxer.", false], + ["Els components no es poden niar.", false], + ["Gira horitzontalment.", false], + ["Desbloquegeu les funcions.", false], + ["Atributs SVG importats.", false], + ["Commuta la negreta.", false], + ["Bibliotecas compartidas.", false], +]; + +async function selfTest(catalog) { + // Minimal vocabulary for the fixtures. + const freq = new Map( + "els membres continuaran accepteu de privadesa si necessiteu més informació amb nosaltres revisions disponibles seleccioneu lowercase infrequent les biblioteques compartides edita el webhook emplenament del grup està desant fitxer components no es poden niar gira commuta la negreta desbloquegeu les funcions atributs svg importats horitzontalment podeu crear equip política casa bibliotecas compartidas bienvenido nueva" + .split(" ") + .map((w) => [w, 3]), + ); + const words = { + functionWords: catalog.functionWords, + commonWords: new Set(), + okWords: new Set(), + brands: [], + elision: catalog.elision, + }; + let bad = 0; + for (const [text, expectsError] of FIXTURES) { + const found = []; + for (const t of checkPunctuation(text, GENERIC_BRANDS)) + found.push(`punct:${t.what}`); + for (const tok of tokenize(text)) { + if (SKIP_RE.test(tok) || words.functionWords.has(tok)) continue; + if (words.okWords.has(tok)) continue; + const base = elisionBase(tok, words.elision); + if (base && validPart(base, words, freq)) continue; + const part = bestSplit(tok, words, freq); + if (part && part[2] !== "content") found.push(`tok:${tok}`); + } + if (found.length > 0 !== expectsError) { + console.error( + `SELF-TEST FAILED: ${JSON.stringify(text)} expected error=${expectsError}, found=${JSON.stringify(found)}`, + ); + bad++; + } + } + if (bad > 0) process.exit(1); + console.log(`SELF-TEST OK: ${FIXTURES.length} cases`); +} + +const HELP_TOP = `PO translation toolkit. +Usage: node ./scripts/translations.js [options] + +Available options (work before or after the command): + + --locale -l : restrict the command to one locale + --verbose -v : verbose output + --help -h : this help, or help for + +Available subcommands (run from \`frontend/\`): +`; + +const COMMANDS = { + rehash: { + args: "", + help: 'Scan ./src for (tr "key") usages and update en.po references.', + run: (options, params) => rehash(options, ...params), + }, + sync: { + args: "[-l ]", + help: "Copy #: references and flags from en.po into each locale.", + run: (options, params) => synchronize(options, ...params), + }, + delete: { + args: " [-l ]", + help: "Delete every entry whose key starts with .", + run: (options, params) => { + if (!params[0]) { + console.error("delete needs a "); + process.exit(2); + } + return deleteByPrefix(options, ...params); + }, + }, + fuzzy: { + args: " [-l ]", + help: "Mark as fuzzy every entry whose key starts with .", + run: (options, params) => { + if (!params[0]) { + console.error("fuzzy needs a "); + process.exit(2); + } + return markFuzzy(options, ...params); + }, + }, + check: { + args: "-l [--self-test]", + help: "QA a locale PO: glued words, placeholders, plurals.", + run: async (options, params) => { + if (options["self-test"]) { + const catalog = await loadCatalog("ca"); + if (!catalog) { + console.error("SELF-TEST FAILED: cannot load words.ca.txt"); + process.exit(2); + } + await selfTest(catalog); + return; + } + const locale = options.l ?? options.locale; + if (!locale) { + console.error("check needs -l "); + process.exit(2); + } + const catalog = await loadCatalog(locale); + if (!catalog) { + console.log( + `note: no word catalog for '${locale}', lexical checks skipped`, + ); + } + let result; + try { + result = await check(locale, catalog); + } catch (err) { + console.error( + `Could not read translations/${locale}.po: ${err.message}`, + ); + process.exit(2); + } + for (const w of result.warnings) console.log(`warn: ${w}`); + for (const e of result.errors) console.error(`error: ${e}`); + console.log( + `${locale}: ${result.errors.length} errors, ${result.warnings.length} warnings`, + ); + process.exit(result.errors.length > 0 ? 1 : 0); + }, + }, +}; + const options = getopts(process.argv.slice(2), { - boolean: ["h", "v"], + boolean: ["h", "v", "self-test"], + string: ["l"], alias: { help: ["h"], locale: ["l"], verbose: ["v"], }, - stopEarly: true, }); const [command, ...params] = options._; -if (command === "rehash") { - await rehash(options, ...params); -} else if (command === "sync") { - await synchronize(options, ...params); -} else if (command === "delete") { - await deleteByPrefix(options, ...params); -} else if (command === "fuzzy") { - await markFuzzy(options, ...params); -} else { - console.log(`Translations manipulation script. -How to use: -./scripts/translation.js - -Available options: - - --locale -l : specify a concrete locale - --verbose -v : enables verbose output - --help -h : prints this help - -Available subcommands: - - rehash : reads and writes all translations files, sorting and validating - sync : synchronize baselocale file with all other locale files - delete : delete all entries that matches the prefix - fuzzy : mark as fuzzy all entries that matches the prefix -`); +function printHelp() { + console.log(HELP_TOP); + for (const [name, cmd] of Object.entries(COMMANDS)) { + console.log(` ${name} ${cmd.args}\n ${cmd.help}\n`); + } +} + +if (!command || options.h || options.help) { + if (command && !COMMANDS[command]) { + console.error(`Unknown command '${command}'.`); + printHelp(); + process.exit(2); + } + if (command) { + const cmd = COMMANDS[command]; + console.log( + `Usage: node ./scripts/translations.js ${command} ${cmd.args}\n\n${cmd.help}`, + ); + } else { + printHelp(); + } +} else if (!COMMANDS[command]) { + console.error(`Unknown command '${command}'.`); + printHelp(); + process.exit(2); +} else { + await COMMANDS[command].run(options, params); } diff --git a/frontend/translations/ca.po b/frontend/translations/ca.po index 1cc9713b63..39751b6409 100644 --- a/frontend/translations/ca.po +++ b/frontend/translations/ca.po @@ -15,6 +15,10 @@ msgstr "" msgid "auth.already-have-account" msgstr "Ja teniu un compte?" +#: src/app/main/ui/auth/recovery_request.cljs:111, src/app/main/ui/auth/register.cljs:255 +msgid "auth.check-email" +msgstr "Comproveu el correu!" + #: src/app/main/ui/auth/recovery_request.cljs:113, src/app/main/ui/auth/register.cljs:237 #, unused msgid "auth.check-mail" @@ -54,6 +58,10 @@ msgstr "Heu oblidat la contrasenya?" msgid "auth.fullname" msgstr "Nom complet" +#: src/app/main/ui/auth/login.cljs:288 +msgid "auth.login-account-title" +msgstr "Entreu al vostre compte" + #: src/app/main/ui/auth/register.cljs:236, src/app/main/ui/static.cljs:185, src/app/main/ui/viewer/login.cljs:112 msgid "auth.login-here" msgstr "Inicieu la sessió aquí." @@ -63,6 +71,12 @@ msgstr "Inicieu la sessió aquí." msgid "auth.login-submit" msgstr "Entra" +#: src/app/main/ui/auth/login.cljs:291 +msgid "auth.login-tagline" +msgstr "" +"El Penpot és l'eina de disseny lliure i de codi obert per a la " +"col·laboració entre el disseny i el codi" + #: src/app/main/ui/auth/login.cljs:248 msgid "auth.login-with-github-submit" msgstr "GitHub" @@ -87,6 +101,10 @@ msgstr "OpenID" msgid "auth.new-password" msgstr "Escriviu una contrasenya nova" +#: src/app/main/ui/auth/verify_token.cljs:61 +msgid "auth.notifications.organization-invitation-accepted" +msgstr "Ara formeu part de %s" + #: src/app/main/ui/auth/recovery.cljs:46 msgid "auth.notifications.password-changed-successfully" msgstr "La contrasenya s'ha canviat correctament" @@ -135,10 +153,26 @@ msgstr "Canvieu la contrasenya" msgid "auth.register" msgstr "No teniu un compte?" +#: src/app/main/ui/auth/register.cljs:368 +msgid "auth.register-account-tagline" +msgstr "Digueu-nos com us hem de dir al tauler i als correus electrònics." + +#: src/app/main/ui/auth/register.cljs:367 +msgid "auth.register-account-title" +msgstr "El vostre nom" + #: 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 msgid "auth.register-submit" msgstr "Creeu un compte" +#: src/app/main/ui/auth/register.cljs:124 +#, unused +msgid "auth.register-tagline" +msgstr "" +"Amb un compte gratuït del Penpot, podeu crear equips il·limitats i " +"col·laborar amb altres dissenyadors i desenvolupadors en tants projectes " +"com vulgueu. " + #: src/app/main/ui/auth/register.cljs:223 msgid "auth.register-title" msgstr "Crea un compte" @@ -148,15 +182,51 @@ msgstr "Crea un compte" msgid "auth.sidebar-tagline" msgstr "La solució de codi obert per a dissenyar i prototipar." +#: src/app/main/ui/auth/register.cljs:50 +#, markdown +msgid "auth.terms-and-privacy-agreement" +msgstr "" +"Estic d'acord amb les [condicions del servei](%s) i la [política de " +"privadesa](%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 msgid "auth.terms-of-service" msgstr "Condicions del servei" +#, unused +msgid "auth.terms-privacy-agreement" +msgstr "" +"En crear un compte nou, accepteu les nostres condicions del servei i la " +"política de privadesa." + #: src/app/main/ui/auth/register.cljs:238 #, unused msgid "auth.verification-email-sent" msgstr "S'ha enviat un correu de verificació a" +#: src/app/main/ui/auth/register.cljs:256 +msgid "auth.verification-sent-email" +msgstr "Us hem enviat un correu de verificació a:" + +#: 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" +msgstr "Correu electrònic de la feina" + +#: src/app/main/ui/onboarding/questions.cljs +#, unused +msgid "branding-illustrations-marketing-pieces" +msgstr "...disseny de marca, il·lustracions, peces de màrqueting, etc." + +#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:37 +msgid "color-token.empty-state" +msgstr "" +"No hi ha tokens de color disponibles. Comproveu els sets/temes actius o " +"creeu tokens de color nous." + +#: src/app/main/ui/comments.cljs:549 +msgid "comments.mentions.not-found" +msgstr "No s'ha trobat ningú amb @%s" + #: src/app/main/ui/workspace/libraries.cljs:349 msgid "common.publish" msgstr "Publica" @@ -279,6 +349,18 @@ msgstr "Comença la visita" msgid "dasboard.walkthrough-hero.title" msgstr "Passeig per la interfície" +#: src/app/main/ui/dashboard/file_menu.cljs:209 +msgid "dashboard-restore-file-confirmation.description" +msgstr "Esteu a punt de restaurar %s." + +#: src/app/main/ui/dashboard/file_menu.cljs:208 +msgid "dashboard-restore-file-confirmation.title" +msgstr "Restaura el fitxer" + +#: src/app/main/ui/dashboard/placeholder.cljs:40 +msgid "dashboard.add-file" +msgstr "Afegeix un fitxer" + #: src/app/main/ui/dashboard/file_menu.cljs:323, src/app/main/ui/workspace/main_menu.cljs:700 msgid "dashboard.add-shared" msgstr "Afegeix a la biblioteca compartida" @@ -287,22 +369,163 @@ msgstr "Afegeix a la biblioteca compartida" msgid "dashboard.change-email" msgstr "Canvia el correu" +#, unused +msgid "dashboard.change-organization-modal.accept" +msgstr "MOU L'EQUIP" + +#, unused +msgid "dashboard.change-organization-modal.choose" +msgstr "Mou a:" + +#, unused +msgid "dashboard.change-organization-modal.description" +msgstr "" +"Els projectes i els fitxers continuaran disponibles per als membres de " +"l'equip. L'equip adoptarà la configuració de la nova organització." + +#, unused +msgid "dashboard.change-organization-modal.select" +msgstr "Selecciona una organització" + +#, unused +msgid "dashboard.change-organization-modal.text" +msgstr "" +"Els projectes i els fitxers continuaran disponibles per als membres de " +"l'equip. L'equip adoptarà la configuració de la nova organització." + +#: src/app/main/data/nitrate.cljs:520, src/app/main/ui/dashboard/team_form.cljs:159 +msgid "dashboard.change-organization-modal.title" +msgstr "Canvia l'organització de l'equip" + +#: src/app/main/ui/dashboard/check_updates.cljs:334 +msgid "dashboard.check-updates.available-message" +msgstr "" +"Les versions més noves inclouen millores de rendiment, funcions noves i " +"correccions que mantenen la vostra instal·lació al dia." + +#: src/app/main/ui/dashboard/check_updates.cljs:309 +msgid "dashboard.check-updates.available-title" +msgstr "HI HA UNA NOVA VERSIÓ DEL PENPOT DISPONIBLE" + +#: src/app/main/ui/dashboard/check_updates.cljs:341 +msgid "dashboard.check-updates.highlights-title" +msgstr "Novetats - Aspectes destacats" + +#: src/app/main/ui/dashboard/check_updates.cljs:318 +msgid "dashboard.check-updates.installed-version" +msgstr "Versió instal·lada" + +#: src/app/main/ui/dashboard/check_updates.cljs:326 +msgid "dashboard.check-updates.latest-version" +msgstr "Darrera versió" + +#: src/app/main/ui/dashboard/check_updates.cljs:235 +msgid "dashboard.check-updates.try-again" +msgstr "Torneu-ho a provar" + +#: src/app/main/ui/dashboard/check_updates.cljs:230 +msgid "dashboard.check-updates.unable-hint" +msgstr "Comproveu la xarxa o la configuració de la instància i torneu-ho a provar." + +#: src/app/main/ui/dashboard/check_updates.cljs:226 +msgid "dashboard.check-updates.unable-message" +msgstr "" +"Aquesta instal·lació no ha pogut contactar amb el servei de versions del " +"Penpot." + +#: src/app/main/ui/dashboard/check_updates.cljs:215 +msgid "dashboard.check-updates.unable-title" +msgstr "NO S'HAN POGUT COMPROVAR LES ACTUALITZACIONS" + +#: src/app/main/ui/dashboard/check_updates.cljs:265 +msgid "dashboard.check-updates.uptodate-message" +msgstr "Feu servir la darrera versió estable:" + +#: src/app/main/ui/dashboard/check_updates.cljs:254 +msgid "dashboard.check-updates.uptodate-title" +msgstr "EL PENPOT ESTÀ ACTUALITZAT" + +#: src/app/main/ui/dashboard/check_updates.cljs:371 +msgid "dashboard.check-updates.view-changelog" +msgstr "Mostra el registre de canvis complet" + +#: src/app/main/ui/dashboard/check_updates.cljs:374 +msgid "dashboard.check-updates.view-release-notes" +msgstr "Mostra les notes de la versió" + +#: src/app/main/ui/dashboard/deleted.cljs:322 +msgid "dashboard.clear-trash-button" +msgstr "Buida la paperera" + #: src/app/main/data/dashboard.cljs:331, src/app/main/data/dashboard.cljs:566, src/app/main/data/workspace/pages.cljs:200 msgid "dashboard.copy-suffix" msgstr "(còpia)" +#: src/app/main/ui/dashboard/sidebar.cljs:400 +msgid "dashboard.create-new-organization" +msgstr "Crea una organització" + #: src/app/main/ui/dashboard/sidebar.cljs:477 msgid "dashboard.create-new-team" msgstr "Crea un equip nou" +#: src/app/main/ui/workspace/main_menu.cljs:711 +msgid "dashboard.create-version-menu" +msgstr "Fixa aquesta versió" + #: src/app/main/ui/components/context_menu_a11y.cljs:304 msgid "dashboard.default-team-name" msgstr "El meu Penpot" +#: src/app/main/ui/dashboard/deleted.cljs:268 +msgid "dashboard.delete-all-forever-confirmation.description" +msgstr "" +"Esteu segur que voleu suprimir definitivament tots els projectes i fitxers " +"eliminats? Aquesta acció és irreversible." + +#: src/app/main/ui/dashboard/file_menu.cljs:222 +msgid "dashboard.delete-file-forever-confirmation.description" +msgstr "" +"Esteu segur que voleu suprimir definitivament %s? Aquesta acció és " +"irreversible." + +#: src/app/main/data/dashboard.cljs:814 +msgid "dashboard.delete-files-success-notification" +msgstr "S'han eliminat %s fitxers correctament." + +#: src/app/main/ui/dashboard/deleted.cljs:54, src/app/main/ui/dashboard/deleted.cljs:56, src/app/main/ui/dashboard/deleted.cljs:267, src/app/main/ui/dashboard/deleted.cljs:269, src/app/main/ui/dashboard/file_menu.cljs:221, src/app/main/ui/dashboard/file_menu.cljs:223 +msgid "dashboard.delete-forever-confirmation.title" +msgstr "Suprimeix definitivament" + +#: src/app/main/ui/dashboard/deleted.cljs:90 +msgid "dashboard.delete-project-button" +msgstr "Elimina el projecte" + +#: src/app/main/ui/dashboard/deleted.cljs:55 +msgid "dashboard.delete-project-forever-confirmation.description" +msgstr "" +"Esteu segur que voleu suprimir definitivament el projecte %s? El suprimireu " +"definitivament amb tots els fitxers que conté. Aquesta acció és " +"irreversible." + +#: src/app/main/data/dashboard.cljs:813, src/app/main/data/dashboard.cljs:847 +msgid "dashboard.delete-success-notification" +msgstr "S'ha eliminat %s correctament." + #: src/app/main/ui/dashboard/sidebar.cljs:626, src/app/main/ui/dashboard/team_form.cljs:153 msgid "dashboard.delete-team" msgstr "Elimina l'equip" +#: src/app/main/ui/dashboard/deleted.cljs:337 +msgid "dashboard.deleted.empty-state-description" +msgstr "" +"La vostra paperera és buida. Els fitxers i projectes eliminats apareixeran " +"aquí." + +#: src/app/main/ui/dashboard/grid.cljs:248 +msgid "dashboard.deleted.will-be-deleted-at" +msgstr "Se suprimirà %s" + #: src/app/main/ui/dashboard/file_menu.cljs:329, src/app/main/ui/workspace/main_menu.cljs:737 msgid "dashboard.download-binary-file" msgstr "Baixa el fitxer Penpot (.penpot)" @@ -320,6 +543,98 @@ msgstr "Duplica" msgid "dashboard.duplicate-multi" msgstr "Duplica %s fitxers" +#: src/app/main/ui/dashboard/files.cljs:212, src/app/main/ui/dashboard/projects.cljs:303 +msgid "dashboard.empty-placeholder-drafts-subtitle" +msgstr "Quan un membre del projecte creï un esborrany, apareixerà aquí." + +#: src/app/main/ui/dashboard/files.cljs:207, src/app/main/ui/dashboard/projects.cljs:298 +msgid "dashboard.empty-placeholder-drafts-title" +msgstr "Encara no hi ha esborranys." + +#: src/app/main/ui/dashboard/deleted.cljs:180, src/app/main/ui/dashboard/files.cljs:213, src/app/main/ui/dashboard/projects.cljs:304 +msgid "dashboard.empty-placeholder-files-subtitle" +msgstr "Quan un membre del projecte creï un fitxer, apareixerà aquí." + +#: src/app/main/ui/dashboard/deleted.cljs:177, src/app/main/ui/dashboard/files.cljs:208, src/app/main/ui/dashboard/projects.cljs:299 +msgid "dashboard.empty-placeholder-files-title" +msgstr "Encara no hi ha fitxers." + +#: src/app/main/ui/dashboard/placeholder.cljs:117 +#, markdown +msgid "dashboard.empty-placeholder-libraries" +msgstr "" +"Les biblioteques afegides al projecte apareixeran aquí. Proveu de compartir " +"els vostres fitxers o afegiu-ne des de [Biblioteques i " +"plantilles](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs +#, markdown, unused +msgid "dashboard.empty-placeholder-libraries-subtitle" +msgstr "" +"Les biblioteques afegides al projecte apareixeran aquí. Proveu de compartir " +"els vostres fitxers o afegiu-ne des de [Biblioteques i " +"plantilles](https://penpot.app/libraries-templates)." + +#: src/app/main/ui/dashboard/placeholder.cljs:113 +msgid "dashboard.empty-placeholder-libraries-subtitle-viewer-role" +msgstr "Les biblioteques afegides al projecte apareixeran aquí." + +#: src/app/main/ui/dashboard/placeholder.cljs:110 +msgid "dashboard.empty-placeholder-libraries-title" +msgstr "Encara no hi ha biblioteques." + +#: src/app/main/ui/dashboard/placeholder.cljs:58 +msgid "dashboard.empty-project.add-library" +msgstr "Afegeix una biblioteca o una plantilla" + +#: src/app/main/ui/dashboard/placeholder.cljs:42, src/app/main/ui/dashboard/placeholder.cljs:133 +msgid "dashboard.empty-project.create" +msgstr "Crea un fitxer nou" + +#: src/app/main/ui/dashboard/placeholder.cljs:60 +msgid "dashboard.empty-project.explore" +msgstr "Explora'n algunes per afegir-hi" + +#: src/app/main/ui/dashboard/placeholder.cljs:56 +msgid "dashboard.empty-project.go-to-libraries" +msgstr "Ves a Biblioteques i plantilles" + +#: src/app/main/ui/dashboard/placeholder.cljs:48, src/app/main/ui/dashboard/placeholder.cljs:50 +msgid "dashboard.empty-project.import" +msgstr "Importa un fitxer" + +#: src/app/main/ui/dashboard/placeholder.cljs:52 +msgid "dashboard.empty-project.import-penpot" +msgstr "Importa un fitxer .penpot" + +#: src/app/main/ui/dashboard/placeholder.cljs:44 +msgid "dashboard.empty-project.start" +msgstr "Comença a crear coses increïbles" + +#, unused +msgid "dashboard.errors.error-on-delete-file" +msgstr "S'ha produït un error en suprimir el fitxer %s." + +#: src/app/main/data/dashboard.cljs:817 +msgid "dashboard.errors.error-on-delete-files" +msgstr "S'ha produït un error en suprimir els fitxers." + +#: src/app/main/data/dashboard.cljs:850 +msgid "dashboard.errors.error-on-delete-project" +msgstr "S'ha produït un error en suprimir el projecte %s." + +#: src/app/main/data/dashboard.cljs:945, src/app/main/ui/dashboard/file_menu.cljs:202 +msgid "dashboard.errors.error-on-restore-file" +msgstr "S'ha produït un error en restaurar el fitxer %s." + +#: src/app/main/data/dashboard.cljs:946 +msgid "dashboard.errors.error-on-restore-files" +msgstr "S'ha produït un error en restaurar els fitxers." + +#: src/app/main/data/dashboard.cljs:978 +msgid "dashboard.errors.error-on-restoring-project" +msgstr "S'ha produït un error en restaurar el projecte %s i els seus fitxers." + #: src/app/main/ui/dashboard/file_menu.cljs:281 msgid "dashboard.export-binary-multi" msgstr "Baixa %s fitxers Penpot (.penpot)" @@ -367,6 +682,26 @@ msgstr "Selecció d'exportació" msgid "dashboard.export-standard-multi" msgstr "Baixa %s fitxers estàndard (.svg + .json)" +#: src/app/main/ui/dashboard/file_menu.cljs:267 +msgid "dashboard.file-menu.delete-files-permanently-option" +msgid_plural "dashboard.file-menu.delete-files-permanently-option" +msgstr[0] "Elimina el fitxer" +msgstr[1] "Elimina els fitxers" + +#: src/app/main/ui/dashboard/file_menu.cljs:264 +msgid "dashboard.file-menu.restore-files-option" +msgid_plural "dashboard.file-menu.restore-files-option" +msgstr[0] "Restaura el fitxer" +msgstr[1] "Restaura els fitxers" + +#: src/app/main/ui/dashboard/layout_toggle.cljs:32 +msgid "dashboard.files-layout.grid" +msgstr "Vista de quadrícula" + +#: src/app/main/ui/dashboard/layout_toggle.cljs:28 +msgid "dashboard.files-layout.list" +msgstr "Vista de llista" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:608 msgid "dashboard.fonts.deleted-placeholder" msgstr "S'ha eliminat la tipografia" @@ -379,6 +714,16 @@ msgstr "Descarta-ho tot" msgid "dashboard.fonts.empty-placeholder" msgstr "Encara no teniu cap tipografia personalitzada instal·lada." +#: src/app/main/ui/dashboard/fonts.cljs:498 +msgid "dashboard.fonts.empty-placeholder-viewer" +msgstr "Encara no hi ha tipografies personalitzades." + +#: src/app/main/ui/dashboard/fonts.cljs:499 +msgid "dashboard.fonts.empty-placeholder-viewer-sub" +msgstr "" +"Quan un membre del projecte pengi una tipografia personalitzada, apareixerà " +"aquí." + #: src/app/main/ui/dashboard/fonts.cljs:223 msgid "dashboard.fonts.fonts-added" msgid_plural "dashboard.fonts.fonts-added" @@ -409,6 +754,25 @@ msgstr "" msgid "dashboard.fonts.upload-all" msgstr "Puja-ho tot" +#: src/app/main/ui/dashboard/fonts.cljs:216 +#, markdown +msgid "dashboard.fonts.warning-text" +msgstr "" +"Hem detectat un possible problema amb les vostres tipografies relacionat " +"amb les mètriques verticals en diferents sistemes operatius. Per " +"comprovar-ho, podeu utilitzar serveis de mètriques verticals de tipografies " +"com[aquest](https://vertical-metrics.netlify.app/). A més, recomanem " +"utilitzar el [Transfonter](https://transfonter.org/) per generar " +"tipografies web i corregir errors. " + +#: src/app/main/ui/dashboard/sidebar.cljs:405 +msgid "dashboard.go-to-admin-console" +msgstr "Ves a la consola d'administració" + +#: src/app/main/ui/dashboard/grid.cljs:252 +msgid "dashboard.grid.last-modified-at" +msgstr "Darrera modificació %s" + #: src/app/main/ui/dashboard/import.cljs:941, src/app/main/ui/dashboard/project_menu.cljs:109 msgid "dashboard.import" msgstr "Importa fitxers de Penpot" @@ -417,19 +781,74 @@ msgstr "Importa fitxers de Penpot" msgid "dashboard.import.analyze-error" msgstr "Vaja! No s'ha pogut importar aquest fitxer" +#, unused +msgid "dashboard.import.analyze-error.components-v2" +msgstr "" +"Fitxer amb els components v2 activats, però aquest equip encara no els " +"admet." + +#: src/app/main/ui/dashboard/import.cljs:566 +msgid "dashboard.import.auto-linked-libraries" +msgid_plural "dashboard.import.auto-linked-libraries" +msgstr[0] "S'ha vinculat automàticament 1 biblioteca pel nom." +msgstr[1] "S'han vinculat automàticament %s biblioteques pel nom." + +#: src/app/main/ui/dashboard.cljs:264 +msgid "dashboard.import.bad-url" +msgstr "La importació ha fallat. L'URL de la plantilla és incorrecte" + +#: src/app/main/ui/dashboard/import.cljs:694 +msgid "dashboard.import.confirm-library-links" +msgstr "Confirma els vincles de biblioteca" + +#: src/app/main/ui/dashboard.cljs:241 +#, unused +msgid "dashboard.import.error" +msgstr "La importació ha fallat. Torneu-ho a provar" + #: src/app/main/ui/dashboard/import.cljs:292 #, unused msgid "dashboard.import.import-error" msgstr "S'ha produït un problema en importar el fitxer i no s'ha importat." +#: src/app/main/ui/dashboard/import.cljs:588 +msgid "dashboard.import.import-error.check-error" +msgstr "No hem pogut verificar aquest fitxer." + +#: src/app/main/ui/dashboard/import.cljs:592 +msgid "dashboard.import.import-error.corrupt-file" +msgstr "Aquest fitxer sembla malmès." + +#: src/app/main/ui/dashboard/import.cljs:572 +msgid "dashboard.import.import-error.disclaimer" +msgstr "No s'han importat tots els fitxers" + +#: src/app/main/ui/dashboard/import.cljs:576 +msgid "dashboard.import.import-error.message1" +msgstr "Els fitxers següents tenen errors:" + +#: src/app/main/ui/dashboard/import.cljs:596 +msgid "dashboard.import.import-error.message2" +msgstr "Els fitxers amb errors no es penjaran." + +#: src/app/main/ui/dashboard/import.cljs:595 +msgid "dashboard.import.import-error.unknown-error" +msgstr "S'ha produït un error en processar aquest fitxer." + #: src/app/main/ui/dashboard/import.cljs:562 msgid "dashboard.import.import-message" -msgstr "S'han importat %s fitxers correctament." +msgid_plural "dashboard.import.import-message" +msgstr[0] "S'ha importat 1 fitxer correctament." +msgstr[1] "S'han importat %s fitxers correctament." #: src/app/main/ui/dashboard/import.cljs:556 msgid "dashboard.import.import-warning" msgstr "Alguns fitxers contenen objectes no vàlids que s'han eliminat." +#: src/app/main/ui/dashboard.cljs:265 +msgid "dashboard.import.no-perms" +msgstr "No teniu permís per importar en aquest equip" + #: src/app/main/ui/dashboard/import.cljs:134 msgid "dashboard.import.progress.process-colors" msgstr "S'estan carregant els colors" @@ -458,10 +877,74 @@ msgstr "S'estan penjant les dades al servidor (%s/%s)" msgid "dashboard.import.progress.upload-media" msgstr "S'està pujant el fitxer: %s" +#, unused +msgid "dashboard.import.resolve-libraries" +msgstr "" +"Algunes biblioteques no s'han pogut vincular automàticament. Seleccioneu la " +"biblioteca correcta per a cadascuna:" + +#: src/app/main/ui/dashboard/import.cljs:534 +msgid "dashboard.import.resolve-libraries-summary" +msgstr "Reviseu els vincles de biblioteca abans de confirmar:" + +#: src/app/main/ui/dashboard/import.cljs:672 +msgid "dashboard.import.review-links" +msgstr "Revisa els vincles" + +#, unused +msgid "dashboard.import.summary.auto-linked" +msgstr "Vinculades automàticament" + +#: src/app/main/ui/dashboard/import.cljs:491 +msgid "dashboard.import.summary.linked" +msgstr "Vinculades" + +#: src/app/main/ui/dashboard/import.cljs:527 +msgid "dashboard.import.summary.no-selection" +msgstr "Cap biblioteca seleccionada" + +#, unused +msgid "dashboard.import.summary.your-selection" +msgstr "La vostra selecció" + +#: src/app/main/ui/dashboard/team.cljs:881 +msgid "dashboard.invitation-modal.delete" +msgstr "Esteu a punt de suprimir les invitacions de:" + +#: src/app/main/ui/dashboard/team.cljs:882 +msgid "dashboard.invitation-modal.resend" +msgstr "Esteu a punt de reenviar les invitacions de:" + +#: src/app/main/ui/dashboard/team.cljs:872 +msgid "dashboard.invitation-modal.title.delete-invitations" +msgstr "Suprimeix les invitacions" + +#: src/app/main/ui/dashboard/team.cljs:873 +msgid "dashboard.invitation-modal.title.resend-invitations" +msgstr "Reenvia les invitacions" + +#: src/app/main/ui/dashboard/team.cljs:861, src/app/main/ui/dashboard/team.cljs:1196, src/app/main/ui/dashboard/team_form.cljs:156 +msgid "dashboard.invitations.no-permission" +msgstr "" +"No teniu permís per convidar persones a unir-se a aquest equip ni per " +"editar o suprimir invitacions." + #: src/app/main/ui/dashboard/team.cljs:149, src/app/main/ui/dashboard/team.cljs:860 msgid "dashboard.invite-profile" msgstr "Convida a l'equip" +#: src/app/main/ui/dashboard/team.cljs:152 +msgid "dashboard.invite-profile-disabled" +msgstr "No teniu permís per convidar persones a aquest equip" + +#: src/app/main/ui/dashboard/sidebar.cljs:714 +msgid "dashboard.leave-organization" +msgstr "Abandona l'organització" + +#: src/app/main/data/nitrate.cljs:208 +msgid "dashboard.leave-organization.toast" +msgstr "Ja no formeu part de l'organització %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 msgid "dashboard.leave-team" msgstr "Abandona l'equip" @@ -470,6 +953,12 @@ msgstr "Abandona l'equip" msgid "dashboard.libraries-and-templates" msgstr "Biblioteques i plantilles" +#: src/app/main/ui/dashboard/templates.cljs:263 +msgid "dashboard.libraries-and-templates.description" +msgstr "" +"Aquí teniu algunes biblioteques i plantilles que podeu afegir al vostre " +"projecte" + #: src/app/main/ui/dashboard/templates.cljs:167 msgid "dashboard.libraries-and-templates.explore" msgstr "Explora'n més i coneix com contribuir-hi" @@ -492,6 +981,10 @@ msgstr "S'estan carregant els fitxers…" msgid "dashboard.loading-fonts" msgstr "s'estan carregant les tipografies…" +#: src/app/main/data/comments.cljs:472 +msgid "dashboard.mark-all-as-read.success" +msgstr "Totes les notificacions s'han marcat com a llegides" + #: src/app/main/ui/dashboard/file_menu.cljs:313, src/app/main/ui/dashboard/project_menu.cljs:101 msgid "dashboard.move-to" msgstr "Mou a" @@ -524,10 +1017,38 @@ msgstr "Crea un projecte" msgid "dashboard.no-matches-for" msgstr "No s'ha trobat cap coincidència amb “%s“" +#: src/app/main/ui/dashboard/team_form.cljs:158 +msgid "dashboard.no-organization-allows-create-team.message" +msgstr "No teniu permís per afegir equips a cap de les vostres organitzacions." + +#: src/app/main/ui/dashboard/team_form.cljs:152 +msgid "dashboard.no-permission-create-team.message" +msgstr "" +"No teniu permís per crear equips dins de l'organització %s. Si necessiteu " +"més informació, contacteu amb la persona propietària de l'organització." + +#: src/app/main/ui/dashboard/team_form.cljs:154 +msgid "dashboard.no-permission-delete-team.message" +msgstr "" +"No teniu permís per suprimir equips que formen part de l'organització %s. " +"Si necessiteu més informació, contacteu amb la persona propietària de " +"l'organització." + +#: src/app/main/ui/dashboard/team_form.cljs:160 +msgid "dashboard.no-permission-move-team.message" +msgstr "" +"No teniu permís per moure equips que formen part de l'organització %s. Si " +"necessiteu més informació, contacteu amb la persona propietària de " +"l'organització." + #: src/app/main/ui/dashboard/sidebar.cljs:1177 msgid "dashboard.no-projects-placeholder" msgstr "Els projectes fixats apareixeran aquí" +#: src/app/main/ui/dashboard/comments.cljs:89 +msgid "dashboard.notifications" +msgstr "Notificacions" + #: src/app/main/ui/auth/verify_token.cljs:37 msgid "dashboard.notifications.email-changed-successfully" msgstr "S'ha actualitzat l'adreça de correu" @@ -536,10 +1057,18 @@ msgstr "S'ha actualitzat l'adreça de correu" msgid "dashboard.notifications.email-verified-successfully" msgstr "S'ha verificat l'adreça de correu" +#: src/app/main/data/profile.cljs:286 +msgid "dashboard.notifications.notifications-saved" +msgstr "S'ha actualitzat la configuració de les notificacions" + #: src/app/main/ui/settings/password.cljs:46 msgid "dashboard.notifications.password-saved" msgstr "La contrasenya s'ha desat correctament!" +#: src/app/main/ui/dashboard/comments.cljs:43 +msgid "dashboard.notifications.view" +msgstr "Mostra les notificacions" + #: src/app/main/ui/dashboard/team.cljs:1719 msgid "dashboard.num-of-members" msgstr "%s membres" @@ -552,14 +1081,82 @@ msgstr "Obre el fitxer en una pestanya nova" msgid "dashboard.options" msgstr "Opcions" +#: src/app/main/ui/dashboard/team.cljs:1218 +msgid "dashboard.order-invitations-by-role" +msgstr "Ordena per rol" + +#: src/app/main/ui/dashboard/team.cljs:1227 +msgid "dashboard.order-invitations-by-status" +msgstr "Ordena per estat" + +#: src/app/main/data/dashboard.cljs:725 +msgid "dashboard.organization-deleted" +msgstr "S'ha suprimit l'organització %s." + +#: src/app/main/ui/dashboard/sidebar.cljs:375, src/app/main/ui/dashboard/sidebar.cljs:376, src/app/main/ui/dashboard/sidebar.cljs:839 +msgid "dashboard.other-teams" +msgstr "Altres equips" + #: src/app/main/ui/settings/password.cljs:106, src/app/main/ui/settings/password.cljs:120 msgid "dashboard.password-change" msgstr "Canvia la contrasenya" +#: src/app/main/data/common.cljs:194 +msgid "dashboard.permissions-change.admin" +msgstr "Ara sou administradors d'aquest equip." + +#: src/app/main/data/common.cljs:193 +msgid "dashboard.permissions-change.editor" +msgstr "Ara sou editors d'aquest equip." + +#: src/app/main/data/common.cljs:195 +msgid "dashboard.permissions-change.owner" +msgstr "Ara sou propietaris d'aquest equip." + +#: src/app/main/data/common.cljs:192 +msgid "dashboard.permissions-change.viewer" +msgstr "Ara sou lectors d'aquest equip." + +#: src/app/main/ui/dashboard/file_menu.cljs:40, src/app/main/ui/dashboard/fonts.cljs:46, src/app/main/ui/dashboard/libraries.cljs:55, src/app/main/ui/dashboard/projects.cljs:358, src/app/main/ui/dashboard/search.cljs:47, src/app/main/ui/dashboard/sidebar.cljs:442, src/app/main/ui/dashboard/sidebar.cljs:976, src/app/main/ui/dashboard/team.cljs:647, src/app/main/ui/dashboard/team.cljs:1251, src/app/main/ui/dashboard/team.cljs:1531, src/app/main/ui/dashboard/team.cljs:1638 +msgid "dashboard.personal-projects" +msgstr "Projectes personals" + #: src/app/main/ui/dashboard/pin_button.cljs:22, src/app/main/ui/dashboard/project_menu.cljs:96 msgid "dashboard.pin-unpin" msgstr "Fixa/Deixa de fixar" +#: src/app/main/ui/dashboard.cljs:228 +msgid "dashboard.plugins.bad-url" +msgstr "L'URL de l'extensió és incorrecte" + +#: src/app/main/ui/dashboard.cljs:226 +msgid "dashboard.plugins.parse-error" +msgstr "No es pot analitzar el manifest de l'extensió" + +#: src/app/main/ui/dashboard.cljs:189 +msgid "dashboard.plugins.try-plugin" +msgstr "Prova l'extensió: " + +#: src/app/main/ui/dashboard/sidebar.cljs:890 +msgid "dashboard.plus-create-new-organization" +msgstr "+ Crea una organització" + +#: src/app/main/data/dashboard.cljs:758 +msgid "dashboard.progress-notification.deleting-files" +msgstr "S'estan suprimint els fitxers…" + +#: src/app/main/data/dashboard.cljs:879 +msgid "dashboard.progress-notification.restoring-files" +msgstr "S'estan restaurant els fitxers…" + +#: src/app/main/data/dashboard.cljs:759 +msgid "dashboard.progress-notification.slow-delete" +msgstr "Supressió inesperadament lenta" + +#: src/app/main/data/dashboard.cljs:880 +msgid "dashboard.progress-notification.slow-restore" +msgstr "Restauració inesperadament lenta" + #: src/app/main/ui/dashboard/deleted.cljs:65, src/app/main/ui/dashboard/projects.cljs:59 msgid "dashboard.projects-title" msgstr "Projectes" @@ -573,6 +1170,44 @@ msgstr "Voleu eliminar el vostre compte?" msgid "dashboard.remove-shared" msgstr "Elimina de les biblioteques compartides" +#: src/app/main/data/common.cljs:229 +msgid "dashboard.removed-from-team" +msgstr "Ja no formeu part de l'equip “%s“." + +#: src/app/main/ui/dashboard/deleted.cljs:280 +msgid "dashboard.restore-all-confirmation.description" +msgstr "" +"Esteu a punt de restaurar tots els vostres projectes i fitxers. Això pot " +"trigar una estona." + +#: src/app/main/ui/dashboard/deleted.cljs:279 +msgid "dashboard.restore-all-confirmation.title" +msgstr "Restaura tots els projectes i fitxers" + +#: src/app/main/ui/dashboard/deleted.cljs:317, src/app/main/ui/settings/shortcuts.cljs:53 +msgid "dashboard.restore-all-deleted-button" +msgstr "Restaura-ho tot" + +#: src/app/main/data/dashboard.cljs:939 +msgid "dashboard.restore-files-success-notification" +msgstr "S'han restaurat %s fitxers correctament." + +#: src/app/main/ui/dashboard/deleted.cljs:87 +msgid "dashboard.restore-project-button" +msgstr "Restaura el projecte" + +#: src/app/main/ui/dashboard/deleted.cljs:44 +msgid "dashboard.restore-project-confirmation.description" +msgstr "Esteu a punt de restaurar el projecte %s i tots els fitxers que conté." + +#: src/app/main/ui/dashboard/deleted.cljs:43 +msgid "dashboard.restore-project-confirmation.title" +msgstr "Restaura el projecte" + +#: src/app/main/data/dashboard.cljs:911, src/app/main/data/dashboard.cljs:938, src/app/main/data/dashboard.cljs:975, src/app/main/ui/dashboard/file_menu.cljs:199 +msgid "dashboard.restore-success-notification" +msgstr "S'ha restaurat %s correctament." + #: src/app/main/ui/settings/profile.cljs:78 msgid "dashboard.save-settings" msgstr "Desa la configuració" @@ -585,6 +1220,53 @@ msgstr "Cerca…" msgid "dashboard.searching-for" msgstr "S'està cercant “%s“…" +#: src/app/main/ui/dashboard/sidebar.cljs:383 +msgid "dashboard.section.organizations" +msgstr "Organitzacions" + +#: src/app/main/ui/dashboard/sidebar.cljs:451 +msgid "dashboard.section.teams" +msgstr "Equips" + +#, unused +msgid "dashboard.select-organization-modal.accept" +msgstr "AFEGEIX A UNA ORGANITZACIÓ" + +#, unused +msgid "dashboard.select-organization-modal.choose" +msgstr "Trieu una organització:" + +#: src/app/main/ui/dashboard/team.cljs:1035 +msgid "dashboard.select-organization-modal.external-invitations-warning" +msgstr "" +"\"%s\" només permet que els membres de l'organització s'uneixin als seus " +"equips. Les invitacions pendents a persones de fora de l'organització es " +"revocaran." + +#: src/app/main/ui/dashboard/team.cljs:1031 +msgid "dashboard.select-organization-modal.external-invitations-will-be-canceled" +msgstr "Les invitacions pendents a usuaris externs se cancel·laran." + +#, unused +msgid "dashboard.select-organization-modal.permission-info" +msgstr "" +"Aquí trobareu les organitzacions de les quals formeu part on teniu permís " +"per moure l'equip." + +#, unused +msgid "dashboard.select-organization-modal.permission-info-add" +msgstr "" +"Aquí trobareu les organitzacions de les quals formeu part on teniu permís " +"per crear o afegir equips." + +#, unused +msgid "dashboard.select-organization-modal.select" +msgstr "Selecciona una organització" + +#: src/app/main/data/nitrate.cljs:463, src/app/main/ui/dashboard/team_form.cljs:157 +msgid "dashboard.select-organization-modal.title" +msgstr "Afegeix l'equip a una organització" + #: src/app/main/ui/settings/options.cljs:66 msgid "dashboard.select-ui-language" msgstr "Selecciona la llengua de la interfície" @@ -593,13 +1275,91 @@ msgstr "Selecciona la llengua de la interfície" msgid "dashboard.select-ui-theme" msgstr "Selecciona un tema" +#: src/app/main/ui/settings/options.cljs:76 +msgid "dashboard.select-ui-theme.dark" +msgstr "Penpot Dark (per defecte)" + +#: src/app/main/ui/settings/options.cljs:77 +msgid "dashboard.select-ui-theme.light" +msgstr "Penpot Light" + +#: src/app/main/ui/settings/options.cljs:78 +msgid "dashboard.select-ui-theme.system" +msgstr "Tema del sistema" + +#: src/app/main/ui/settings/notifications.cljs:57 +msgid "dashboard.settings.notifications.dashboard-comments.all" +msgstr "Tots els comentaris, les mencions i les respostes" + +#: src/app/main/ui/settings/notifications.cljs:59 +msgid "dashboard.settings.notifications.dashboard-comments.none" +msgstr "Cap" + +#: src/app/main/ui/settings/notifications.cljs:58 +msgid "dashboard.settings.notifications.dashboard-comments.partial" +msgstr "Només mencions i respostes" + +#: src/app/main/ui/settings/notifications.cljs:54 +msgid "dashboard.settings.notifications.dashboard-comments.title" +msgstr "Comentaris del fitxer" + +#: src/app/main/ui/settings/notifications.cljs:53 +msgid "dashboard.settings.notifications.dashboard.title" +msgstr "Notificacions del tauler" + +#: src/app/main/ui/settings/notifications.cljs:67 +msgid "dashboard.settings.notifications.email-comments.all" +msgstr "Tots els comentaris, les mencions i les respostes" + +#: src/app/main/ui/settings/notifications.cljs:69 +msgid "dashboard.settings.notifications.email-comments.none" +msgstr "Cap" + +#: src/app/main/ui/settings/notifications.cljs:68 +msgid "dashboard.settings.notifications.email-comments.partial" +msgstr "Només mencions i respostes" + +#: src/app/main/ui/settings/notifications.cljs:64 +msgid "dashboard.settings.notifications.email-comments.title" +msgstr "Comentaris del fitxer" + +#: src/app/main/ui/settings/notifications.cljs:76 +msgid "dashboard.settings.notifications.email-invites.all" +msgstr "Tot tipus d'invitacions i sol·licituds" + +#: src/app/main/ui/settings/notifications.cljs:79 +msgid "dashboard.settings.notifications.email-invites.none" +msgstr "Cap" + +#: src/app/main/ui/settings/notifications.cljs:73 +msgid "dashboard.settings.notifications.email-invites.title" +msgstr "Invitacions i sol·licituds" + +#: src/app/main/ui/settings/notifications.cljs:63 +msgid "dashboard.settings.notifications.email.title" +msgstr "Notificacions per correu electrònic" + +#: src/app/main/ui/settings/notifications.cljs:84 +msgid "dashboard.settings.notifications.submit" +msgstr "Actualitza la configuració" + +#: src/app/main/ui/settings/notifications.cljs:52 +msgid "dashboard.settings.notifications.title" +msgstr "Notificacions" + #: src/app/main/ui/dashboard/projects.cljs:292 msgid "dashboard.show-all-files" msgstr "Mostra tots els fitxers" +#: src/app/main/ui/workspace/main_menu.cljs:718 +msgid "dashboard.show-version-history" +msgstr "Historial de versions" + #: src/app/main/ui/dashboard/file_menu.cljs:99 msgid "dashboard.success-delete-file" -msgstr "S'ha eliminat el fitxer" +msgid_plural "dashboard.success-delete-file" +msgstr[0] "S'ha eliminat el fitxer" +msgstr[1] "S'han eliminat els fitxers" #: src/app/main/ui/dashboard/project_menu.cljs:63 msgid "dashboard.success-delete-project" @@ -607,7 +1367,9 @@ msgstr "S'ha eliminat el projecte" #: src/app/main/ui/dashboard/file_menu.cljs:94 msgid "dashboard.success-duplicate-file" -msgstr "S'ha duplicat el fitxer" +msgid_plural "dashboard.success-delete-file" +msgstr[0] "S'ha duplicat el fitxer" +msgstr[1] "S'han duplicat els fitxers" #: src/app/main/ui/dashboard/project_menu.cljs:35 msgid "dashboard.success-duplicate-project" @@ -625,6 +1387,10 @@ msgstr "S'han mogut els fitxers" msgid "dashboard.success-move-project" msgstr "S'ha mogut el projecte" +#, unused +msgid "dashboard.team-belong-organization" +msgstr "Aquest equip ara forma part de l'organització %s" + #: src/app/main/ui/dashboard/team.cljs:1663 msgid "dashboard.team-info" msgstr "Informació de l'equip" @@ -633,10 +1399,46 @@ msgstr "Informació de l'equip" msgid "dashboard.team-members" msgstr "Membres de l'equip" +#, unused +msgid "dashboard.team-no-longer-belong-organization" +msgstr "Aquest equip ja no forma part de l'organització %s" + +#: src/app/main/ui/dashboard/team.cljs:1670 +msgid "dashboard.team-organization" +msgstr "Organització de l'equip" + +#: src/app/main/ui/dashboard/team.cljs:1704 +msgid "dashboard.team-organization.add" +msgstr "Afegeix a una organització" + +#: src/app/main/data/nitrate.cljs:462, src/app/main/data/nitrate.cljs:519 +msgid "dashboard.team-organization.add.no-valid-organizations" +msgstr "No teniu permís per afegir aquest equip a cap de les vostres organitzacions." + +#: src/app/main/ui/dashboard/team.cljs:1693 +msgid "dashboard.team-organization.change" +msgstr "Canvia l'organització de l'equip" + +#: src/app/main/ui/dashboard/team.cljs:942 +msgid "dashboard.team-organization.disabled-organization-tooltip" +msgstr "Només es pot convidar persones de la vostra organització." + +#: src/app/main/ui/dashboard/team.cljs:1700 +msgid "dashboard.team-organization.none" +msgstr "Aquest equip no forma part de cap organització" + +#: src/app/main/ui/dashboard/team.cljs:1696 +msgid "dashboard.team-organization.remove" +msgstr "Elimina l'equip de l'organització" + #: src/app/main/ui/dashboard/team.cljs:1723 msgid "dashboard.team-projects" msgstr "Projectes de l'equip" +#: src/app/main/ui/dashboard/templates.cljs:132 +msgid "dashboard.template.add-to-project" +msgstr "Afegeix al vostre projecte" + #: src/app/main/ui/settings/options.cljs:71 msgid "dashboard.theme-change" msgstr "Tema de la interfície" @@ -645,6 +1447,24 @@ msgstr "Tema de la interfície" msgid "dashboard.title-search" msgstr "Resultats de la cerca" +#: src/app/main/ui/dashboard/deleted.cljs:307 +msgid "dashboard.trash-info-text-part1" +msgstr "Els fitxers eliminats romandran a la paperera durant" + +#: src/app/main/ui/dashboard/deleted.cljs:309 +msgid "dashboard.trash-info-text-part2" +msgstr "%s dies. " + +#: src/app/main/ui/dashboard/deleted.cljs:310 +msgid "dashboard.trash-info-text-part3" +msgstr "Després d'això, se suprimiran definitivament." + +#: src/app/main/ui/dashboard/deleted.cljs:312 +msgid "dashboard.trash-info-text-part4" +msgstr "" +"Si canvieu d'opinió, podeu restaurar-los o suprimir-los definitivament des " +"del menú de cada fitxer." + #: src/app/main/ui/dashboard/search.cljs:66 msgid "dashboard.type-something" msgstr "Escriviu per cercar resultats" @@ -657,6 +1477,94 @@ msgstr "Despublica la biblioteca" msgid "dashboard.update-settings" msgstr "Actualitza la configuració" +#: src/app/main/ui/dashboard/sidebar.cljs:1328 +#, unused +msgid "dashboard.upgrade-plan.no-limits" +msgstr "Sense límits per a la creativitat" + +#: src/app/main/ui/dashboard/sidebar.cljs:1326 +#, unused +msgid "dashboard.upgrade-plan.penpot-free" +msgstr "Penpot Free" + +#, unused +msgid "dashboard.user-no-longer-belong-organization" +msgstr "Ja no sou membre de l'organització %s" + +#: src/app/main/ui/settings/options.cljs:109 +msgid "dashboard.webgl-switch.beta" +msgstr "Beta" + +#: src/app/main/ui/settings/options.cljs:110 +msgid "dashboard.webgl-switch.description" +msgstr "" +"El renderatge WebGL pot millorar el rendiment, però és en fase beta i " +"potser menys estable. Poden aparèixer diferències visuals entre el llenç, " +"les exportacions (SVG/PDF) i el mode de vista." + +#: src/app/main/ui/settings/options.cljs:113 +msgid "dashboard.webgl-switch.disabled" +msgstr "Desactivat" + +#: src/app/main/ui/settings/options.cljs:113 +msgid "dashboard.webgl-switch.enabled" +msgstr "Activat" + +#: src/app/main/ui/settings/options.cljs:116 +msgid "dashboard.webgl-switch.feedback" +msgstr "Doneu-nos la vostra opinió" + +#: src/app/main/ui/settings/options.cljs:112 +msgid "dashboard.webgl-switch.status" +msgstr "Estat" + +#: src/app/main/ui/settings/options.cljs:108 +msgid "dashboard.webgl-switch.title" +msgstr "Renderatge WebGL" + +#: src/app/main/ui/dashboard/team.cljs:1398 +msgid "dashboard.webhooks.active" +msgstr "És actiu" + +#: src/app/main/ui/dashboard/team.cljs:1399 +msgid "dashboard.webhooks.active.explain" +msgstr "Quan s'activi aquest webhook, es lliuraran els detalls de l'esdeveniment" + +#: src/app/main/ui/dashboard/team.cljs:1441 +msgid "dashboard.webhooks.cant-edit" +msgstr "Només podeu suprimir o modificar els webhooks que hàgiu creat." + +#: src/app/main/ui/dashboard/team.cljs:1389 +msgid "dashboard.webhooks.content-type" +msgstr "Tipus de contingut" + +#: src/app/main/ui/dashboard/team.cljs:1421 +msgid "dashboard.webhooks.create" +msgstr "Crea un webhook" + +#: src/app/main/ui/dashboard/team.cljs:1324 +msgid "dashboard.webhooks.create.success" +msgstr "S'ha creat el webhook correctament." + +#: src/app/main/ui/dashboard/team.cljs:1418 +msgid "dashboard.webhooks.description" +msgstr "" +"Els webhooks són una manera senzilla de permetre que altres llocs web i " +"aplicacions rebin avisos quan passen determinats esdeveniments al Penpot. " +"Enviarem una petició POST a cadascuna de les URL que indiqueu." + +#: src/app/main/ui/dashboard/team.cljs:1545 +msgid "dashboard.webhooks.empty.add-one" +msgstr "Premeu el botó \"Crea un webhook\" per afegir-ne un." + +#: src/app/main/ui/dashboard/team.cljs:1544 +msgid "dashboard.webhooks.empty.no-webhooks" +msgstr "Encara no s'ha creat cap webhook." + +#, unused +msgid "dashboard.webhooks.update.success" +msgstr "S'ha actualitzat el webhook correctament." + #: src/app/main/ui/settings.cljs:36 msgid "dashboard.your-account-title" msgstr "El meu compte" @@ -681,6 +1589,10 @@ msgstr "Atenció" msgid "ds.component-subtitle" msgstr "Components a actualitzar:" +#: src/app/main/ui/workspace/plugins.cljs:379, src/app/main/ui/workspace/plugins.cljs:442 +msgid "ds.confirm-allow" +msgstr "Permet" + #: 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 msgid "ds.confirm-cancel" msgstr "Cancel·la" @@ -693,6 +1605,26 @@ msgstr "D'acord" msgid "ds.confirm-title" msgstr "N'esteu segur?" +#: src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:24 +msgid "ds.inputs.numeric-input.no-applicable-tokens" +msgstr "No hi ha tokens aplicables als conjunts ni als temes actius." + +#: src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:25 +msgid "ds.inputs.numeric-input.no-matches" +msgstr "No s'ha trobat cap coincidència." + +#: src/app/main/ui/ds/controls/numeric_input.cljs:746, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:519, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:176, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:270 +msgid "ds.inputs.numeric-input.open-token-list-dropdown" +msgstr "Obre la llista de tokens" + +#: src/app/main/ui/ds/controls/utilities/token_field.cljs:55, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:54, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:117, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:133 +msgid "ds.inputs.token-field.no-active-token-option" +msgstr "El token {%s} no és a cap conjunt actiu o té un valor no vàlid." + +#: src/app/main/data/auth.cljs:350 +msgid "errors.auth-provider-not-allowed" +msgstr "Proveïdor d'autenticació no permès per a aquest perfil" + #: src/app/main/data/auth.cljs:197 msgid "errors.auth-provider-not-configured" msgstr "L'autenticació del proveïdor no està configurada." @@ -701,10 +1633,68 @@ msgstr "L'autenticació del proveïdor no està configurada." msgid "errors.auth.unable-to-login" msgstr "Sembla que no esteu autenticat o que la sessió ha caducat." +#: src/app/main/data/fonts.cljs:256, src/app/main/ui/dashboard/fonts.cljs:134, src/app/main/ui/dashboard/fonts.cljs:178 +msgid "errors.bad-font" +msgstr "No s'ha pogut carregar el tipus de lletra %s" + +#: src/app/main/data/fonts.cljs:255 +msgid "errors.bad-font-plural" +msgstr "No s'han pogut carregar els tipus de lletra %s" + +#: src/app/main/data/workspace/media.cljs:237 +msgid "errors.cannot-upload" +msgstr "No es pot carregar el fitxer multimèdia." + +#: src/app/main/ui/comments.cljs:741, src/app/main/ui/comments.cljs:771, src/app/main/ui/comments.cljs:870 +msgid "errors.character-limit-exceeded" +msgstr "S'ha superat el límit de caràcters" + +#: src/app/main/data/workspace/libraries.cljs:1627 +msgid "errors.circular-library-reference" +msgstr "No es pot afegir la biblioteca: això crearia una dependència circular" + +#: src/app/main/ui/settings/integrations.cljs:93, src/app/util/clipboard.cljs:248 +msgid "errors.clipboard-api-unavailable" +msgstr "" +"L'API del porta-retalls no està disponible. Serviu el Penpot amb HTTPS per " +"a habilitar l'accés al porta-retalls" + #: src/app/main/data/workspace/clipboard.cljs:514 msgid "errors.clipboard-not-implemented" msgstr "El vostre navegador no pot fer aquesta operació" +#: src/app/util/clipboard.cljs:245 +msgid "errors.clipboard-permission-denied" +msgstr "" +"Accés al porta-retalls denegat. Permeteu l'accés al porta-retalls al vostre " +"navegador per a enganxar contingut" + +#: src/app/main/errors.cljs:451 +msgid "errors.comment-error" +msgstr "S'ha produït un error amb el comentari" + +#: src/app/main/errors.cljs:520 +msgid "errors.deprecated" +msgstr "" +"Ho sentim! Aquest és un fitxer antic que utilitza un tipus d'element del " +"Penpot obsolet i no el podeu obrir." + +#: src/app/main/errors.cljs:523 +msgid "errors.deprecated.contact.after" +msgstr "perquè us puguem ajudar." + +#: src/app/main/errors.cljs:521 +msgid "errors.deprecated.contact.before" +msgstr "Tot i que el Penpot ja no admet aquest tipus d'elements, podeu" + +#: src/app/main/errors.cljs:522 +msgid "errors.deprecated.contact.text" +msgstr "contactar amb nosaltres" + +#: src/app/main/data/workspace/tokens/library_edit.cljs:453 +msgid "errors.drop-token-set-parent-to-child" +msgstr "No es pot arrossegar un conjunt pare a un camí fill propi." + #: src/app/main/ui/auth/register.cljs:107, src/app/main/ui/auth/verify_token.cljs:128, src/app/main/ui/settings/change_email.cljs:29 msgid "errors.email-already-exists" msgstr "Aquest correu ja està en ús" @@ -717,6 +1707,14 @@ msgstr "Aquest correu ja està validat." msgid "errors.email-as-password" msgstr "No podeu fer servir l'adreça de correu com a contrasenya" +#: src/app/main/ui/auth/register.cljs:88 +msgid "errors.email-does-not-match-invitation" +msgstr "El correu electrònic no coincideix amb la invitació." + +#: src/app/main/data/auth.cljs:352, src/app/main/ui/auth/register.cljs:94, src/app/main/ui/dashboard/team.cljs:243 +msgid "errors.email-domain-not-allowed" +msgstr "Domini no permès" + #: src/app/main/ui/auth/recovery_request.cljs:57, src/app/main/ui/auth/register.cljs: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 msgid "errors.email-has-permanent-bounces" msgstr "El correu «%s» té molts informes de retorn permanents." @@ -725,14 +1723,72 @@ msgstr "El correu «%s» té molts informes de retorn permanents." msgid "errors.email-spam-or-permanent-bounces" msgstr "El correu «%s» s'ha marcat com a brossa o rebot permanent." +#: src/app/main/errors.cljs:497 +msgid "errors.feature-mismatch" +msgstr "" +"Sembla que esteu obrint un fitxer que té la funcionalitat «%s» habilitada, " +"però la versió actual del Penpot no l'admet o la té inhabilitada." + +#: src/app/main/errors.cljs:501, src/app/main/errors.cljs:515 +msgid "errors.feature-not-supported" +msgstr "La funcionalitat «%s» no s'admet." + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:302, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:234 +msgid "errors.field-max-length" +msgstr "Ha de contenir com a màxim %s caràcters." + +#, unused +msgid "errors.field-min-length" +msgstr "Ha de contenir com a mínim 1 caràcter." + +#: src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:471 +msgid "errors.field-missing" +msgstr "Camp buit" + +#: src/app/main/ui/settings/team-form.cljs, src/app/main/ui/auth/register.cljs, src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/onboarding/team_choice.cljs, src/app/main/ui/settings/access_tokens.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/settings/profile.cljs, src/app/main/ui/workspace/sidebar/assets.cljs +#, unused +msgid "errors.field-not-all-whitespace" +msgstr "El nom ha de contenir algun caràcter que no sigui un espai." + +#: src/app/main/errors.cljs:493 +msgid "errors.file-feature-mismatch" +msgstr "" +"Sembla que hi ha una discrepància entre les funcionalitats habilitades i " +"les del fitxer que intenteu obrir. Cal aplicar les migracions de «%s» abans " +"de poder obrir el fitxer." + +#: src/app/main/ui/dashboard/fonts.cljs:341 +msgid "errors.font-family-invalid-chars" +msgstr "" +"El nom de la família tipogràfica només pot contenir lletres, números, " +"espais, guions, guions baixos i punts." + #: src/app/main/data/auth.cljs: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 msgid "errors.generic" msgstr "Alguna cosa ha anat malament." +#: src/app/main/errors.cljs:200 +#, unused +msgid "errors.internal-assertion-error" +msgstr "Error intern d'assercció" + +#: src/app/main/errors.cljs:430 +msgid "errors.internal-worker-error" +msgstr "S'ha produït un problema amb el web worker." + #: src/app/main/ui/components/color_input.cljs:51 msgid "errors.invalid-color" msgstr "El color no és vàlid" +#: src/app/main/ui/settings/shortcuts.cljs:460, src/app/main/ui/settings/shortcuts.cljs:462, src/app/plugins/utils.cljs:500 +msgid "errors.invalid-data" +msgstr "Dades no vàlides" + +#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs, src/app/main/ui/auth/recovery_request.cljs +#, unused +msgid "errors.invalid-email" +msgstr "Escriviu un correu electrònic vàlid, si us plau" + #: src/app/main/ui/settings/change_email.cljs:62 msgid "errors.invalid-email-confirmation" msgstr "El correu de confirmació ha de coincidir" @@ -741,6 +1797,24 @@ msgstr "El correu de confirmació ha de coincidir" msgid "errors.invalid-recovery-token" msgstr "El codi de recuperació no és vàlid." +#: src/app/util/forms.cljs +#, unused +msgid "errors.invalid-text" +msgstr "Text no vàlid" + +#: src/app/main/ui/static.cljs:88 +msgid "errors.invite-email-mismatch" +msgstr "" +"Aquesta invitació és per a un altre correu electrònic. Tanqueu la sessió i " +"inicieu-la amb el compte convidat, o demaneu al propietari de l'equip una " +"invitació nova." + +#: src/app/main/ui/static.cljs:92 +msgid "errors.invite-expired" +msgstr "" +"Aquesta invitació ha caducat. Demaneu al propietari de l'equip que us " +"n'enviï una de nova." + #: src/app/main/ui/static.cljs:95 msgid "errors.invite-invalid" msgstr "Invitació no vàlida" @@ -753,6 +1827,20 @@ msgstr "Aquesta invitació pot estar cancel·lada o caducada." msgid "errors.ldap-disabled" msgstr "L'autenticació LDAP està inhabilitada." +#: src/app/main/errors.cljs:509, src/app/main/ui/dashboard/team.cljs:234, src/app/main/ui/onboarding/team_choice.cljs:117 +msgid "errors.max-quota-reached" +msgstr "Heu arribat a la quota de «%s». Contacteu amb l'assistència." + +#: src/app/main/ui/dashboard/team.cljs:1117 +msgid "errors.max-quote-reached" +msgstr "Heu arribat a la quota de «%s». Contacteu amb l'assistència." + +#: src/app/main/ui/dashboard/team.cljs:230, src/app/main/ui/dashboard/team.cljs:1113, src/app/main/ui/onboarding/team_choice.cljs:113 +msgid "errors.maximum-invitations-by-request-reached" +msgstr "" +"S'ha arribat al nombre màxim (%s) de correus electrònics que es poden " +"convidar en una sola sol·licitud" + #: src/app/main/data/workspace/media.cljs:228 msgid "errors.media-too-large" msgstr "La imatge és massa gran." @@ -773,6 +1861,32 @@ msgstr "" "El perfil que estàs convidant té els missatges de correu silenciats (per " "informes de correu brossa o de retorns alts)." +#: src/app/main/errors.cljs:483 +msgid "errors.migration-in-progress" +msgstr "Migració en curs" + +#: src/app/main/errors.cljs:385 +msgid "errors.only-creator-can-lock" +msgstr "Només la persona creadora de la versió la pot bloquejar" + +#: src/app/main/errors.cljs:393 +msgid "errors.only-creator-can-unlock" +msgstr "Només la persona creadora de la versió la pot desbloquejar" + +#, unused +msgid "errors.organization-leave.no-valid-teams" +msgstr "" +"S'ha produït un problema en abandonar l'organització. Torneu-ho a provar, " +"si us plau." + +#, unused +msgid "errors.organization-leave.organization-owner-cannot-leave" +msgstr "La persona propietària de l'organització no pot abandonar-la." + +#: src/app/main/ui/auth/verify_token.cljs:105 +msgid "errors.organization-not-found" +msgstr "Aquesta organització no existeix" + #: src/app/main/ui/settings/password.cljs #, unused msgid "errors.password-invalid-confirmation" @@ -783,6 +1897,10 @@ msgstr "La contrasenya de confirmació ha de coincidir" msgid "errors.password-too-short" msgstr "La contrasenya ha de tenir 8 caràcters com a mínim" +#: src/app/main/errors.cljs:366 +msgid "errors.paste-data-validation" +msgstr "Dades no vàlides al porta-retalls" + #: src/app/main/data/auth.cljs:348, src/app/main/ui/auth/login.cljs:91, src/app/main/ui/auth/login.cljs:99 msgid "errors.profile-blocked" msgstr "El perfil està bloquejat" @@ -797,6 +1915,22 @@ msgstr "" msgid "errors.registration-disabled" msgstr "El registre està desactivat." +#: src/app/main/errors.cljs:216 +msgid "errors.save-failed" +msgstr "" +"Els vostres últims canvis no s'han confirmat com a desats. Pot ser que el " +"desament no es reprengui automàticament. No tanqueu ni recarregueu aquesta " +"pestanya: podríeu perdre canvis. Contacteu amb l'assistència per a obtenir " +"ajuda." + +#: src/app/main/errors.cljs:442 +msgid "errors.svg-parser.invalid-svg" +msgstr "L'SVG no és vàlid o està mal format" + +#: src/app/main/errors.cljs:488 +msgid "errors.team-feature-mismatch" +msgstr "S'ha detectat la funcionalitat incompatible «%s»" + #: src/app/main/ui/dashboard/sidebar.cljs:507, src/app/main/ui/dashboard/team.cljs:505 msgid "errors.team-leave.insufficient-members" msgstr "" @@ -807,20 +1941,273 @@ msgstr "" msgid "errors.team-leave.member-does-not-exists" msgstr "El membre que intenteu assignar no existeix." +#: src/app/main/ui/dashboard/sidebar.cljs:504 +msgid "errors.team-leave.only-owner-can-delete" +msgstr "Només la persona propietària d'un equip el pot suprimir." + #: src/app/main/ui/dashboard/sidebar.cljs:513, src/app/main/ui/dashboard/team.cljs:511 msgid "errors.team-leave.owner-cant-leave" msgstr "" "El propietari no pot abandonar l'equip, heu de reassignar el rol de " "propietat." +#: common/src/app/common/types/team.cljc:26 +#, unused +msgid "errors.team-name-invalid-chars" +msgstr "El nom de l'equip no pot contenir cap dels caràcters següents: «.», «:» o«/»" + +#: src/app/main/ui/workspace/tokens/sets/helpers.cljs:25, src/app/main/ui/workspace/tokens/sets/helpers.cljs:46 +msgid "errors.token-set-already-exists" +msgstr "Ja existeix un conjunt amb el mateix nom" + +#: src/app/main/data/tokens.cljs: +#, unused +msgid "errors.token-set-doesnt-exists" +msgstr "No es pot duplicar un conjunt desconegut" + +#: src/app/main/data/workspace/tokens/library_edit.cljs:452 +msgid "errors.token-set-exists-on-drop" +msgstr "" +"No es pot completar l'arrossegament: ja existeix un conjunt amb el mateix " +"nom en aquest camí." + +#: src/app/main/data/workspace/tokens/library_edit.cljs:237, src/app/main/data/workspace/tokens/library_edit.cljs:256 +msgid "errors.token-theme-already-exists" +msgstr "Ja existeix una opció de tema amb el mateix nom" + +#: src/app/main/data/media.cljs:74 +#, unused +msgid "errors.token-theme-not-existing-sets" +msgstr "El tema fa referència a conjunts que no existeixen: %s" + +#: src/app/main/data/workspace/tokens/errors.cljs:50 +msgid "errors.tokens.circular-reference" +msgstr "El token té una referència circular" + +#: src/app/main/data/workspace/tokens/errors.cljs:116, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:245 +msgid "errors.tokens.composite-line-height-needs-font-size" +msgstr "" +"L'interlineat depèn de la mida de la lletra. Afegiu una mida de lletra per " +"a obtenir el valor resolt." + +#: src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:350, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:436 +msgid "errors.tokens.empty-field" +msgstr "Aquest camp no pot estar buit" + +#: src/app/main/data/workspace/tokens/errors.cljs:42 +msgid "errors.tokens.empty-input" +msgstr "El valor del token no pot estar buit" + +#: src/app/main/data/workspace/tokens/errors.cljs:16 +msgid "errors.tokens.error-parse" +msgstr "Error d'importació: no s'ha pogut analitzar l'JSON." + +#: src/app/main/data/workspace/tokens/errors.cljs:33, src/app/main/data/workspace/tokens/errors.cljs:38 +msgid "errors.tokens.import-error" +msgstr "Error d'importació:" + +#: src/app/main/data/workspace/tokens/errors.cljs:54 +msgid "errors.tokens.invalid-color" +msgstr "Valor de color no vàlid: %s" + +#: src/app/main/data/workspace/tokens/errors.cljs:108 +msgid "errors.tokens.invalid-font-family-token-value" +msgstr "" +"Valor de token no vàlid: només podeu fer referència a un token de tipus " +"font-family" + +#: src/app/main/data/workspace/tokens/errors.cljs:104 +msgid "errors.tokens.invalid-font-weight-token-value" +msgstr "" +"Valor de pes de lletra no vàlid: utilitzeu valors numèrics (100-950) o noms " +"estàndard (thin, light, regular, bold, etc.) seguits opcionalment de«Italic»" + +#: src/app/main/data/workspace/tokens/errors.cljs:24 +msgid "errors.tokens.invalid-json" +msgstr "Error d'importació: dades de token no vàlides a l'JSON." + +#: src/app/main/data/workspace/tokens/errors.cljs:28 +msgid "errors.tokens.invalid-json-token-name" +msgstr "Error d'importació: nom de token no vàlid a l'JSON." + +#: src/app/main/data/workspace/tokens/errors.cljs:29 +msgid "errors.tokens.invalid-json-token-name-detail" +msgstr "" +"\"%s\" no és un nom de token vàlid.\n" +"Els noms de token només poden contenir lletres i dígits separats per " +"caràcters . i no poden començar amb el signe $." + +#: src/app/main/data/workspace/tokens/errors.cljs:120 +msgid "errors.tokens.invalid-shadow-type-token-value" +msgstr "Tipus d'ombra no vàlid: només s'accepten «innerShadow» o «dropShadow»" + +#: src/app/main/data/workspace/tokens/errors.cljs:96 +msgid "errors.tokens.invalid-text-case-token-value" +msgstr "" +"Valor de token no vàlid: només s'accepten none, Uppercase, Lowercase o " +"Capitalize" + +#: src/app/main/data/workspace/tokens/errors.cljs:100 +msgid "errors.tokens.invalid-text-decoration-token-value" +msgstr "Valor de token no vàlid: només s'accepten none, underline i strike-through" + +#: src/app/main/data/workspace/tokens/errors.cljs:132 +msgid "errors.tokens.invalid-token-value-shadow" +msgstr "Valor no vàlid: ha de fer referència a un token d'ombra compost." + +#: src/app/main/data/workspace/tokens/errors.cljs:112 +msgid "errors.tokens.invalid-token-value-typography" +msgstr "Valor no vàlid: ha de fer referència a un token tipogràfic compost." + +#: src/app/main/data/workspace/tokens/errors.cljs:76, src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/errors.cljs:92 +msgid "errors.tokens.invalid-value" +msgstr "Valor de token no vàlid: %s" + +#: src/app/main/data/workspace/tokens/errors.cljs:72 +msgid "errors.tokens.missing-references" +msgstr "Referències de token que falten: " + +#: src/app/main/data/workspace/tokens/errors.cljs:68, src/app/main/ui/workspace/tokens/management/forms/controls/utils.cljs:126 +msgid "errors.tokens.name-collision" +msgstr "" +"El nom de grup de %s entra en conflicte amb un token del mateix nom en un " +"altre conjunt actiu." + +#: src/app/main/data/workspace/tokens/errors.cljs:20 +msgid "errors.tokens.no-token-files-found" +msgstr "No s'ha trobat cap token, conjunt ni tema en aquest fitxer." + +#: src/app/main/data/workspace/tokens/errors.cljs:58 +msgid "errors.tokens.number-too-large" +msgstr "Valor de token no vàlid. El valor resolt és massa gran: %s" + +#: src/app/main/data/workspace/tokens/errors.cljs:88, src/app/main/data/workspace/tokens/warnings.cljs:15 +msgid "errors.tokens.opacity-range" +msgstr "L'opacitat ha d'estar entre 0 i 100% o entre 0 i 1 (p. ex. 50% o 0,5)." + +#: src/app/main/data/workspace/tokens/errors.cljs:46, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:305, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:237 +msgid "errors.tokens.self-reference" +msgstr "El token té una autoreferència" + +#: src/app/main/data/workspace/tokens/errors.cljs:124 +msgid "errors.tokens.shadow-blur-range" +msgstr "El difuminat (blur) de l'ombra ha de ser superior o igual a 0." + +#: src/app/main/data/workspace/tokens/errors.cljs:128 +msgid "errors.tokens.shadow-spread-range" +msgstr "L'extensió (spread) de l'ombra ha de ser superior o igual a 0." + +#: src/app/main/data/workspace/tokens/errors.cljs:92, src/app/main/data/workspace/tokens/warnings.cljs:19 +msgid "errors.tokens.stroke-width-range" +msgstr "L'amplada del traç ha de ser superior o igual a 0." + +#: src/app/main/data/workspace/tokens/errors.cljs:84 +msgid "errors.tokens.value-with-percent" +msgstr "Valor no vàlid: no es permet %." + +#: src/app/main/data/workspace/tokens/errors.cljs:80 +msgid "errors.tokens.value-with-units" +msgstr "Valor no vàlid: no es permeten unitats." + #: src/app/main/data/media.cljs:77 msgid "errors.unexpected-error" msgstr "S'ha produït un error inesperat." +#: src/app/main/errors.cljs:105 +#, unused +msgid "errors.unexpected-exception" +msgstr "Error inesperat: %s" + #: src/app/main/ui/auth/verify_token.cljs:75 msgid "errors.unexpected-token" msgstr "Token desconegut" +#, unused +msgid "errors.validation" +msgstr "Error de validació" + +#: src/app/main/errors.cljs:401 +msgid "errors.version-already-locked" +msgstr "Aquesta versió ja està bloquejada" + +#: src/app/main/errors.cljs:377 +msgid "errors.version-locked" +msgstr "Aquesta versió està bloquejada i la resta de persones no la poden suprimir" + +#: src/app/main/errors.cljs:505 +msgid "errors.version-not-supported" +msgstr "El fitxer té un número de versió incompatible" + +#: src/app/main/ui/auth/recovery.cljs:38, src/app/main/ui/auth/register.cljs:120, src/app/main/ui/settings/password.cljs:36 +msgid "errors.weak-password" +msgstr "La contrasenya no compleix els requisits" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.in-dictionary" +msgstr "La contrasenya és massa comuna" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.insufficient-digits" +msgstr "Com a mínim 1 número" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.insufficient-lowercase" +msgstr "Com a mínim 1 lletra minúscula" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.insufficient-special" +msgstr "Com a mínim 1 caràcter especial" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.insufficient-uppercase" +msgstr "Com a mínim 1 lletra majúscula" + +#: src/app/main/ui/settings/password.cljs, src/app/main/ui/auth/register.cljs +#, unused +msgid "errors.weak-password.too-short" +msgstr "Com a mínim 8 caràcters" + +#: src/app/main/ui/static.cljs:371 +msgid "errors.webgl-context-lost.desc-message" +msgstr "El WebGL ha deixat de funcionar. Recarregueu la pàgina per a restablir-lo" + +#: src/app/main/ui/static.cljs:370 +msgid "errors.webgl-context-lost.main-message" +msgstr "Ep! S'ha perdut el context del llenç" + +#: src/app/main/ui/dashboard/team.cljs:1300, src/app/main/ui/dashboard/team.cljs:1306 +msgid "errors.webhooks.connection" +msgstr "Error de connexió, l'URL no és accessible" + +#: src/app/main/ui/dashboard/team.cljs:1291 +msgid "errors.webhooks.invalid-uri" +msgstr "L'URL no supera la validació." + +#: src/app/main/ui/dashboard/team.cljs:1484 +msgid "errors.webhooks.last-delivery" +msgstr "L'últim lliurament no ha anat bé." + +#: src/app/main/ui/dashboard/team.cljs:1294, src/app/main/ui/dashboard/team.cljs:1487 +msgid "errors.webhooks.ssl-validation" +msgstr "Error en la validació SSL." + +#: src/app/main/ui/dashboard/team.cljs:1297 +msgid "errors.webhooks.timeout" +msgstr "Temps d'espera esgotat" + +#: src/app/main/ui/dashboard/team.cljs:1309, src/app/main/ui/dashboard/team.cljs:1493 +msgid "errors.webhooks.unexpected" +msgstr "Error inesperat en validar" + +#: src/app/main/ui/dashboard/team.cljs:1303, src/app/main/ui/dashboard/team.cljs:1490 +msgid "errors.webhooks.unexpected-status" +msgstr "Estat inesperat %s" + #: src/app/main/ui/auth/login.cljs:103, src/app/main/ui/auth/login.cljs:107 msgid "errors.wrong-credentials" msgstr "El nom d'usuari o la contrasenya sembla incorrecte." @@ -833,6 +2220,10 @@ msgstr "La contrasenya anterior no és correcta" msgid "feedback.description" msgstr "Descripció" +#: src/app/main/ui/settings/feedback.cljs:123 +msgid "feedback.description-placeholder" +msgstr "Descriviu el motiu del vostre comentari" + #: src/app/main/ui/settings/feedback.cljs:151 msgid "feedback.discourse-subtitle1" msgstr "Ens encanta que sigueu aquí. Si necessiteu ajuda, cerqueu abans de publicar." @@ -841,6 +2232,16 @@ msgstr "Ens encanta que sigueu aquí. Si necessiteu ajuda, cerqueu abans de publ msgid "feedback.discourse-title" msgstr "Comunitat de Penpot" +#: src/app/main/ui/settings/feedback.cljs:144 +msgid "feedback.other-ways-contact" +msgstr "Altres maneres de contactar amb nosaltres" + +#: src/app/main/ui/settings/feedback.cljs:127 +msgid "feedback.penpot.link" +msgstr "" +"Si el comentari està relacionat amb un fitxer o un projecte, afegiu aquí " +"l'enllaç del Penpot:" + #: src/app/main/ui/settings/feedback.cljs:106 msgid "feedback.subject" msgstr "Tema" @@ -852,6 +2253,10 @@ msgstr "" "una idea o un dubte. Un membre del nostre equip respondrà tan aviat com " "sigui possible." +#: src/app/main/ui/settings/feedback.cljs:102 +msgid "feedback.title-contact-us" +msgstr "Contacteu amb nosaltres" + #: src/app/main/ui/settings/feedback.cljs:157 msgid "feedback.twitter-subtitle1" msgstr "Compte per a ajudar amb dubtes tècnics." @@ -860,6 +2265,22 @@ msgstr "Compte per a ajudar amb dubtes tècnics." msgid "feedback.twitter-title" msgstr "Compte de X d'ajuda" +#: src/app/main/ui/settings/feedback.cljs:111, src/app/main/ui/settings/feedback.cljs:112 +msgid "feedback.type" +msgstr "Tipus" + +#: src/app/main/ui/settings/feedback.cljs:116 +msgid "feedback.type.doubt" +msgstr "Dubte" + +#: src/app/main/ui/settings/feedback.cljs:114 +msgid "feedback.type.idea" +msgstr "Idea" + +#: src/app/main/ui/settings/feedback.cljs:115 +msgid "feedback.type.issue" +msgstr "Incidència" + #: src/app/main/ui/exports/files.cljs:131 #, unused msgid "files-download-modal.description-1" @@ -872,10 +2293,102 @@ msgstr "" msgid "files-download-modal.description-2" msgstr "* Pot incloure components, gràfics, colors i/o tipografies." +#: src/app/main/ui/exports/files.cljs:137 +msgid "files-download-modal.title" +msgstr "Baixa els fitxers" + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:140 +#, unused +msgid "files-export-modal.options.all.message" +msgstr "El fitxer i les biblioteques s'exportaran junts." + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:141 +#, unused +msgid "files-export-modal.options.all.title" +msgstr "Exporta el fitxer + biblioteques" + +#: src/app/main/ui/exports/files.cljs:164 +msgid "files-export-modal.options.detach-libraries.message" +msgstr "Els recursos de les biblioteques vinculades no s'inclouran al fitxer." + +#: src/app/main/ui/exports/files.cljs:163 +msgid "files-export-modal.options.detach-libraries.title" +msgstr "Tracta els recursos com a objectes bàsics" + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:142 +#, unused +msgid "files-export-modal.options.detach.message" +msgstr "Els recursos de les biblioteques vinculades no s'inclouran al fitxer." + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:143 +#, unused +msgid "files-export-modal.options.detach.title" +msgstr "Tracta els recursos com a objectes bàsics" + +#: src/app/main/ui/exports/files.cljs:158 +msgid "files-export-modal.options.include-libraries.message" +msgstr "" +"Els fitxers amb biblioteques vinculades s'inclouran a l'exportació i " +"mantindran els vincles. " + +#: src/app/main/ui/exports/files.cljs:157 +msgid "files-export-modal.options.include-libraries.title" +msgstr "Exporta el fitxer + biblioteques" + +#: src/app/main/ui/exports/files.cljs:167 +msgid "files-export-modal.options.link-later.message" +msgstr "En importar, podreu vincular biblioteques existents amb noms coincidents." + +#: src/app/main/ui/exports/files.cljs:166 +msgid "files-export-modal.options.link-later.title" +msgstr "Vincula les biblioteques coincidents en importar" + +#: src/app/main/ui/exports/files.cljs:161 +msgid "files-export-modal.options.merge-libraries.message" +msgstr "" +"El vostre fitxer s'exportarà amb els recursos de biblioteca fusionats a la " +"biblioteca local." + +#: src/app/main/ui/exports/files.cljs:160 +msgid "files-export-modal.options.merge-libraries.title" +msgstr "Incrusta els recursos de biblioteca al fitxer" + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:144 +#, unused +msgid "files-export-modal.options.merge.message" +msgstr "Els recursos de les biblioteques s'inclouran dins del fitxer." + +# DEPRECATED: use the equivalent "-libraries" key +#: src/app/main/ui/exports/files.cljs:145 +#, unused +msgid "files-export-modal.options.merge.title" +msgstr "Incrusta els recursos de biblioteca al fitxer" + #: src/app/main/ui/settings/password.cljs:39 msgid "generic.error" msgstr "S'ha produït un error" +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:161 +msgid "import-shortcuts.apply" +msgstr "Aplica" + +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:102 +msgid "import-shortcuts.diff-modal-text" +msgstr "Les dreceres següents canviaran amb la configuració importada." + +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:98 +msgid "import-shortcuts.diff-modal-title" +msgstr "Importa les dreceres" + +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:148 +msgid "import-shortcuts.no-changes" +msgstr "No s'ha trobat cap diferència entre les dreceres actuals i les importades." + #: src/app/main/ui/inspect/attributes/blur.cljs:31 #, unused msgid "inspect.attributes.blur" @@ -886,6 +2399,10 @@ msgstr "Difuminat" msgid "inspect.attributes.blur.value" msgstr "Valor" +#: src/app/main/ui/components/color_input.cljs:31 +msgid "inspect.attributes.color" +msgstr "Color" + #: src/app/main/ui/inspect/attributes/common.cljs:93, src/app/main/ui/inspect/right_sidebar.cljs:97 msgid "inspect.attributes.color.hex" msgstr "HEX" @@ -911,6 +2428,10 @@ msgstr "Baixa la imatge original" msgid "inspect.attributes.image.height" msgstr "Alçada" +#: src/app/main/ui/inspect/styles/rows/color_properties_row.cljs:123 +msgid "inspect.attributes.image.preview" +msgstr "Previsualització de la imatge d'emplenat de la forma" + #: src/app/main/ui/inspect/attributes/image.cljs:32 #, unused msgid "inspect.attributes.image.width" @@ -955,6 +2476,10 @@ msgstr "Amplada" msgid "inspect.attributes.shadow" msgstr "Ombra" +#: src/app/main/ui/inspect/attributes/geometry.cljs:50, src/app/main/ui/inspect/styles/style_box.cljs:27 +msgid "inspect.attributes.size" +msgstr "Mida i posició" + #: src/app/main/ui/inspect/attributes/stroke.cljs:105 msgid "inspect.attributes.stroke" msgstr "Traç" @@ -1008,6 +2533,11 @@ msgstr "Mida de la lletra" msgid "inspect.attributes.typography.font-style" msgstr "Estil de la lletra" +#: src/app/main/ui/inspect/attributes/text.cljs:113 +#, unused +msgid "inspect.attributes.typography.font-weight" +msgstr "Gruix de la lletra" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:685, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:696 msgid "inspect.attributes.typography.letter-spacing" msgstr "Espaiat de la lletra" @@ -1016,15 +2546,27 @@ msgstr "Espaiat de la lletra" msgid "inspect.attributes.typography.line-height" msgstr "Alçada de la línia" +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:594 +msgid "inspect.attributes.typography.mixed-font-family" +msgstr "Famílies tipogràfiques mixtes" + #: src/app/main/ui/inspect/attributes/text.cljs:140 #, unused msgid "inspect.attributes.typography.text-decoration" msgstr "Decoració del text" +#, unused +msgid "inspect.attributes.typography.text-decoration.line-through" +msgstr "Ratllat" + #: src/app/main/ui/inspect/attributes/text.cljs:111 msgid "inspect.attributes.typography.text-decoration.none" msgstr "Cap" +#: src/app/main/ui/inspect/attributes/text.cljs:112 +msgid "inspect.attributes.typography.text-decoration.strikethrough" +msgstr "Ratllat" + #: src/app/main/ui/inspect/attributes/text.cljs:113 msgid "inspect.attributes.typography.text-decoration.underline" msgstr "Subratllat" @@ -1046,14 +2588,62 @@ msgstr "Minúscules" msgid "inspect.attributes.typography.text-transform.none" msgstr "Cap" +#: src/app/main/ui/inspect/attributes/text.cljs:127 +msgid "inspect.attributes.typography.text-transform.unset" +msgstr "Sense assignar" + #: src/app/main/ui/inspect/attributes/text.cljs:126, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:720 msgid "inspect.attributes.typography.text-transform.uppercase" msgstr "Majúscules" +#: src/app/main/ui/inspect/attributes/variant.cljs:44 +msgid "inspect.attributes.variant" +msgstr "Propietats de la variant" + +#: src/app/main/ui/inspect/attributes/variant.cljs:44 +msgid "inspect.attributes.variants" +msgstr "Propietats de les variants" + +#: src/app/main/ui/inspect/right_sidebar.cljs:169 +msgid "inspect.color-space-label" +msgstr "Seleccioneu l'espai de color" + +#: src/app/main/ui/inspect/right_sidebar.cljs:235 +msgid "inspect.empty.help" +msgstr "" +"Si voleu saber més sobre la inspecció del disseny, visiteu el centre " +"d'ajuda del Penpot" + +#: src/app/main/ui/inspect/right_sidebar.cljs:239 +msgid "inspect.empty.more" +msgstr "Més informació" + +#: src/app/main/ui/inspect/right_sidebar.cljs:233 +msgid "inspect.empty.select" +msgstr "" +"Seleccioneu una forma, un tauler o un grup per a inspeccionar-ne les " +"propietats i el codi" + +#: src/app/main/ui/inspect/right_sidebar.cljs:165 +msgid "inspect.layer-info" +msgstr "Informació de la capa" + #: src/app/main/ui/inspect/right_sidebar.cljs:136 msgid "inspect.multiple-selected" msgstr "%s seleccionats" +#: src/app/main/ui/inspect/right_sidebar.cljs:67 +msgid "inspect.subtitle.copy" +msgstr "Còpia" + +#: src/app/main/ui/inspect/right_sidebar.cljs:63 +msgid "inspect.subtitle.main" +msgstr "Component principal" + +#: src/app/main/ui/inspect/right_sidebar.cljs:176 +msgid "inspect.tabs-switcher-label" +msgstr "Selector de pestanyes" + #: src/app/main/ui/inspect/right_sidebar.cljs:142 msgid "inspect.tabs.code.selected.circle" msgstr "Cercle" @@ -1098,22 +2688,327 @@ msgstr "SVG" msgid "inspect.tabs.code.selected.text" msgstr "Text" +#: src/app/main/ui/inspect/styles/panels/tokens_panel.cljs:26 +msgid "inspect.tabs.styles.active-sets" +msgstr "Sets actius" + +#: src/app/main/ui/inspect/styles/panels/tokens_panel.cljs:21 +msgid "inspect.tabs.styles.active-themes" +msgstr "Temes actius" + +#: src/app/main/ui/inspect/styles/style_box.cljs:75 +msgid "inspect.tabs.styles.copy-shorthand" +msgstr "Copieu la drecera CSS al porta-retalls" + +#: src/app/main/ui/inspect/styles/property_detail_copiable.cljs:52 +msgid "inspect.tabs.styles.copy-to-clipboard" +msgstr "Copieu al porta-retalls" + +#: src/app/main/ui/inspect/styles/style_box.cljs:22 +#, unused +msgid "inspect.tabs.styles.geometry-panel" +msgstr "Mida i posició" + +#: src/app/main/ui/inspect/styles/style_box.cljs:67, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:183 +msgid "inspect.tabs.styles.toggle-style" +msgstr "Commuteu el panell %s" + +#: src/app/main/ui/inspect/styles/style_box.cljs:26 +msgid "inspect.tabs.styles.token-panel" +msgstr "Sets i temes de tokens" + +#: src/app/main/ui/ds/controls/shared/token_option.cljs:46, src/app/main/ui/inspect/styles/rows/color_properties_row.cljs:104, src/app/main/ui/inspect/styles/rows/properties_row.cljs:62, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:144 +msgid "inspect.tabs.styles.token-resolved-value" +msgstr "Valor resolt:" + +#: src/app/main/ui/inspect/styles/style_box.cljs:25 +msgid "inspect.tabs.styles.variants-panel" +msgstr "Propietats de les variants" + +#: src/app/main/ui/settings/integrations.cljs:616 +msgid "integrations.access-tokens.create" +msgstr "Creeu un token d'accés nou" + +#: src/app/main/ui/settings/integrations.cljs:632 +msgid "integrations.access-tokens.empty.add-one" +msgstr "Premeu el botó \"Creeu un token d'accés nou\" per a generar-ne un." + +#: src/app/main/ui/settings/integrations.cljs:631 +msgid "integrations.access-tokens.empty.no-access-tokens" +msgstr "De moment no teniu cap token." + +#: src/app/main/ui/settings/integrations.cljs:606 +msgid "integrations.access-tokens.personal" +msgstr "Tokens d'accés personals" + +#: src/app/main/ui/settings/integrations.cljs:611 +msgid "integrations.access-tokens.personal.description" +msgstr "" +"Els tokens d'accés personals funcionen com una alternativa al nostre " +"sistema d'autenticació amb usuari i contrasenya i es poden utilitzar per a " +"permetre que una aplicació accedeixi a l'API interna del Penpot" + +#: src/app/main/ui/settings/integrations.cljs:68 +msgid "integrations.copy-to-clipboard" +msgstr "Copieu al porta-retalls" + +#: src/app/main/ui/settings/integrations.cljs:253 +msgid "integrations.create-access-token.title" +msgstr "Crea un token d'accés" + +#: src/app/main/ui/settings/integrations.cljs:252 +msgid "integrations.create-access-token.title.created" +msgstr "S'ha creat el token d'accés" + +#: src/app/main/ui/settings/integrations.cljs:371 +msgid "integrations.delete-token.accept" +msgstr "Elimina el token" + +#: src/app/main/ui/settings/integrations.cljs:370 +msgid "integrations.delete-token.message" +msgstr "Segur que voleu eliminar aquest token?" + +#: src/app/main/ui/settings/integrations.cljs:369 +msgid "integrations.delete-token.title" +msgstr "Elimina el token" + +#: src/app/main/ui/settings/integrations.cljs:213 +msgid "integrations.expiration-180-days" +msgstr "180 dies" + +#: src/app/main/ui/settings/integrations.cljs:210 +msgid "integrations.expiration-30-days" +msgstr "30 dies" + +#: src/app/main/ui/settings/integrations.cljs:211 +msgid "integrations.expiration-60-days" +msgstr "60 dies" + +#: src/app/main/ui/settings/integrations.cljs:212 +msgid "integrations.expiration-90-days" +msgstr "90 dies" + +#: src/app/main/ui/settings/integrations.cljs:208 +msgid "integrations.expiration-date.label" +msgstr "Data de caducitat" + +#: src/app/main/ui/settings/integrations.cljs:209 +msgid "integrations.expiration-never" +msgstr "Mai" + +#: src/app/main/ui/settings/integrations.cljs:393 +msgid "integrations.expired-on" +msgstr "Ha caducat el %s" + +#: src/app/main/ui/settings/integrations.cljs:394 +msgid "integrations.expires-on" +msgstr "Caduca el %s" + +#: src/app/main/ui/settings/integrations.cljs:294 +msgid "integrations.generate-mcp-key.title" +msgstr "Genera una clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:292 +msgid "integrations.generate-mcp-key.title.created" +msgstr "S'ha generat la clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:124 +#, unused +msgid "integrations.info.mcp-client-config" +msgstr "Afegiu aquesta configuració al vostre client MCP (p. ex. ~/​​​​​​.mcp.json)." + +#: src/app/main/ui/settings/integrations.cljs:193 +msgid "integrations.info.mcp-server" +msgstr "" +"El servidor MCP del Penpot permet que els clients MCP interactuïn " +"directament amb els fitxers de disseny del Penpot." + +#: src/app/main/ui/settings/integrations.cljs:119 +msgid "integrations.mcp-key.will-expire" +msgstr "La clau MCP caducarà el %s" + +#: src/app/main/ui/settings/integrations.cljs:122 +msgid "integrations.mcp-key.will-not-expire" +msgstr "La clau MCP no té data de caducitat" + +#: src/app/main/ui/settings/integrations.cljs:498 +msgid "integrations.mcp-server.description" +msgstr "" +"El servidor MCP del Penpot permet que els clients MCP interactuïn " +"directament amb els fitxers de disseny del Penpot." + +#: src/app/main/ui/settings/integrations.cljs:415 +#, unused +msgid "integrations.mcp-server.mcp-keys.copy" +msgstr "Copia l'enllaç" + +#: src/app/main/ui/settings/integrations.cljs:581 +msgid "integrations.mcp-server.mcp-keys.help" +msgstr "Com configurar els clients MCP" + +#: src/app/main/ui/settings/integrations.cljs:568 +msgid "integrations.mcp-server.mcp-keys.info" +msgstr "" +"Aquesta és l'URL del servidor que haureu de configurar al vostre client MCP " +"per a connectar-lo al servidor MCP del Penpot." + +#: src/app/main/ui/settings/integrations.cljs:548 +msgid "integrations.mcp-server.mcp-keys.regenerate" +msgstr "Regenera la clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:541 +msgid "integrations.mcp-server.mcp-keys.title" +msgstr "Clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:549 +msgid "integrations.mcp-server.mcp-keys.tootip" +msgstr "La clau MCP és necessària per a configurar el client MCP" + +#: src/app/main/ui/settings/integrations.cljs:504 +msgid "integrations.mcp-server.status" +msgstr "Estat" + +#: src/app/main/ui/settings/integrations.cljs:524 +msgid "integrations.mcp-server.status.disabled" +msgstr "Desactivat" + +#: src/app/main/ui/settings/integrations.cljs:523 +msgid "integrations.mcp-server.status.enabled" +msgstr "Activat" + +#: src/app/main/ui/settings/integrations.cljs:514 +msgid "integrations.mcp-server.status.expired.0" +msgstr "" +"La clau MCP utilitzada per a connectar-vos al servidor MCP ha caducat. Per " +"tant, no es pot establir la connexió." + +#: src/app/main/ui/settings/integrations.cljs:519 +msgid "integrations.mcp-server.status.expired.1" +msgstr "" +"Regenereu la clau MCP i actualitzeu la configuració del vostre client amb " +"la clau nova." + +#: src/app/main/ui/settings/integrations.cljs:489 +msgid "integrations.mcp-server.title" +msgstr "Servidor MCP" + +#: src/app/main/ui/settings/integrations.cljs:493 +msgid "integrations.mcp-server.title.beta" +msgstr "Beta" + +#: src/app/main/ui/settings/integrations.cljs:200 +msgid "integrations.name.label" +msgstr "Nom" + +#: src/app/main/ui/settings/integrations.cljs:201 +msgid "integrations.name.placeholder" +msgstr "El nom us pot ajudar a saber per a què serveix el token" + +#: src/app/main/ui/settings/integrations.cljs:392 +msgid "integrations.no-expiration" +msgstr "Sense data de caducitat" + +#: src/app/main/ui/settings/integrations.cljs:478 +msgid "integrations.notification.success.copied-link" +msgstr "S'ha copiat l'enllaç al porta-retalls" + +#: src/app/main/ui/settings/integrations.cljs:241, src/app/main/ui/settings/integrations.cljs:274, src/app/main/ui/settings/integrations.cljs:319 +msgid "integrations.notification.success.created" +msgstr "S'ha creat el token correctament" + +#: src/app/main/ui/settings/integrations.cljs:87 +msgid "integrations.notification.success.mcp-key-copied" +msgstr "S'ha copiat la clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:444 +msgid "integrations.notification.success.mcp-server-disabled" +msgstr "S'ha desactivat el servidor MCP" + +#: src/app/main/ui/settings/integrations.cljs:443 +msgid "integrations.notification.success.mcp-server-enabled" +msgstr "S'ha activat el servidor MCP" + +#: src/app/main/ui/settings/integrations.cljs:88 +msgid "integrations.notification.success.token-copied" +msgstr "S'ha copiat el token" + +#: src/app/main/ui/settings/integrations.cljs:337 +msgid "integrations.regenerate-mcp-key.info" +msgstr "" +"Si regenereu la clau MCP, l'actual es revocarà immediatament. Qualsevol " +"aplicació que l'utilitzi deixarà de funcionar." + +#: src/app/main/ui/settings/integrations.cljs:336 +msgid "integrations.regenerate-mcp-key.title" +msgstr "Regenera la clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:334 +msgid "integrations.regenerate-mcp-key.title.created" +msgstr "S'ha regenerat la clau MCP" + +#: src/app/main/ui/settings/integrations.cljs:655 +msgid "integrations.title" +msgstr "Integracions" + +#: src/app/main/ui/settings/integrations.cljs:108 +msgid "integrations.token.info.non-recuperable" +msgstr "" +"Aquest token únic no es pot recuperar. Si el perdeu, n'haureu de crear un " +"de nou." + +#: src/app/main/ui/settings/integrations.cljs:120 +msgid "integrations.token.will-expire" +msgstr "El token caducarà el %s" + +#: src/app/main/ui/settings/integrations.cljs:123 +msgid "integrations.token.will-not-expire" +msgstr "El token no té data de caducitat" + +#: src/app/main/ui/dashboard/comments.cljs:94 +msgid "label.mark-all-as-read" +msgstr "Marca-ho tot com a llegit" + #: src/app/main/ui/settings/shortcuts.cljs:473, src/app/main/ui/settings/sidebar.cljs:112, src/app/main/ui/workspace/main_menu.cljs:219 msgid "label.shortcuts" msgstr "Dreceres" +#: src/app/main/ui/dashboard/sidebar.cljs:1517 +msgid "labels.about-penpot" +msgstr "Quant a Penpot" + #: src/app/main/data/common.cljs:92, src/app/main/data/team.cljs:193, src/app/main/data/team.cljs:650, src/app/main/ui/dashboard/import.cljs:640, src/app/main/ui/dashboard/import.cljs:646 msgid "labels.accept" msgstr "Acceptar" +#: src/app/main/ui/settings/sidebar.cljs:123 +#, unused +msgid "labels.access-tokens" +msgstr "Testimonis d'accés" + +#: src/app/main/ui/dashboard/team.cljs:1505 +msgid "labels.active" +msgstr "Actiu" + +#: src/app/main/ui/workspace/libraries.cljs:172 +msgid "labels.add" +msgstr "Afegeix" + #: src/app/main/ui/dashboard/fonts.cljs:203 msgid "labels.add-custom-font" msgstr "Afegeix tipografia" +#: src/app/main/ui/workspace/libraries.cljs:172 +msgid "labels.adding" +msgstr "S'està afegint…" + #: src/app/main/ui/dashboard/team.cljs:166, src/app/main/ui/dashboard/team.cljs:433, src/app/main/ui/dashboard/team.cljs:676, src/app/main/ui/dashboard/team.cljs:706, src/app/main/ui/onboarding/team_choice.cljs:72 msgid "labels.admin" msgstr "Administració" +#: src/app/main/ui/onboarding/questions.cljs:158 +msgid "labels.adobe-xd" +msgstr "Adobe XD" + #: src/app/main/ui/settings/shortcuts.cljs:294, src/app/main/ui/workspace/tokens/management/context_menu.cljs:98, src/app/main/ui/workspace/tokens/management/context_menu.cljs:136, src/app/main/ui/workspace/tokens/management/token_pill.cljs:118 msgid "labels.all" msgstr "Tots" @@ -1136,10 +3031,30 @@ msgstr "" msgid "labels.bad-gateway.main-message" msgstr "Error del servidor (Bad Gateway)" +#: src/app/main/ui/inspect/attributes/blur.cljs:32, src/app/main/ui/inspect/styles/style_box.cljs:33, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:115, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:278 +msgid "labels.blur" +msgstr "Difuminat" + +#: src/app/main/ui/inspect/attributes/blur.cljs:31, src/app/main/ui/inspect/styles/style_box.cljs:32, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:262, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:274 +msgid "labels.blur-effects" +msgstr "Efectes de difuminat" + #: 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 msgid "labels.cancel" msgstr "Cancel·la" +#: src/app/main/ui/onboarding/questions.cljs:160 +msgid "labels.canva" +msgstr "Canva" + +#: src/app/main/ui/dashboard/sidebar.cljs:1330 +msgid "labels.check-for-updates" +msgstr "Comprova si hi ha actualitzacions" + +#: src/app/main/ui/dashboard/sidebar.cljs:1329 +msgid "labels.checking-for-updates" +msgstr "S'està comprovant si hi ha actualitzacions…" + #: src/app/main/data/common.cljs:98, src/app/main/ui/alert.cljs:63, src/app/main/ui/confirm.cljs:78, src/app/main/ui/dashboard/check_updates.cljs:217, src/app/main/ui/dashboard/check_updates.cljs:256, src/app/main/ui/dashboard/check_updates.cljs:272, src/app/main/ui/dashboard/check_updates.cljs:311, src/app/main/ui/dashboard/comments.cljs:101, src/app/main/ui/dashboard/import.cljs:943, src/app/main/ui/dashboard/projects.cljs:102, src/app/main/ui/ds/layout/modal.cljs:96, src/app/main/ui/ds/product/panel_title.cljs:32, src/app/main/ui/exports/files.cljs:139, src/app/main/ui/exports/files.cljs:227, src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:82, src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:93, src/app/main/ui/settings/integrations.cljs:128, src/app/main/ui/settings/integrations.cljs:247, src/app/main/ui/settings/integrations.cljs:287, src/app/main/ui/settings/integrations.cljs:329, src/app/main/ui/settings/restore_shortcuts_modal.cljs:85, src/app/main/ui/settings/subscription.cljs:404, src/app/main/ui/static.cljs:150, src/app/main/ui/static.cljs:220, src/app/main/ui/viewer/login.cljs:81, src/app/main/ui/viewer/share_link.cljs:174, src/app/main/ui/workspace/components_debugger.cljs:1102, src/app/main/ui/workspace/libraries.cljs:683, src/app/main/ui/workspace/sidebar/layers.cljs:594, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:825, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:846, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:43, src/app/main/ui/workspace/sidebar.cljs:257, src/app/main/ui/workspace/tokens/export.cljs:25, src/app/main/ui/workspace/tokens/import.cljs:19, src/app/main/ui/workspace/tokens/import_from_library.cljs:63, src/app/main/ui/workspace/tokens/management/forms/modals.cljs:99, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:114, src/app/main/ui/workspace/tokens/remapping_modal.cljs:93, src/app/main/ui/workspace/tokens/settings/menu.cljs:77, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:61, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:144, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:458, src/app/main/ui/workspace/webgl_unavailable_modal.cljs:56 msgid "labels.close" msgstr "Tanca" @@ -1148,6 +3063,23 @@ msgstr "Tanca" msgid "labels.code" msgstr "Codi" +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:181 +msgid "labels.collapse" +msgstr "Replega" + +#: src/app/main/ui/workspace/colorpicker.cljs:429 +msgid "labels.color" +msgstr "Color" + +#: src/app/main/ui/comments.cljs:925 +msgid "labels.comment" +msgstr "Comentari" + +#: src/app/main/ui/comments.cljs:923 +#, unused +msgid "labels.comment.mark-as-solved" +msgstr "Marca com a resolt" + #: src/app/main/ui/viewer/comments.cljs:72, src/app/main/ui/workspace/comments.cljs:130 msgid "labels.comments" msgstr "Comentaris" @@ -1156,10 +3088,26 @@ msgstr "Comentaris" msgid "labels.community" msgstr "Comunitat" +#: src/app/main/ui/dashboard/sidebar.cljs:1503 +msgid "labels.community-contributions" +msgstr "Comunitat i contribucions" + +#: src/app/main/ui/inspect/right_sidebar.cljs:109 +msgid "labels.computed" +msgstr "Calculat" + #: src/app/main/ui/settings/password.cljs:103 msgid "labels.confirm-password" msgstr "Confirmeu la contrasenya" +#: src/app/main/ui/static.cljs:424 +msgid "labels.contact-support" +msgstr "Contacta amb l'assistència" + +#: src/app/main/ui/settings/sidebar.cljs:147, src/app/main/ui/settings/subscription.cljs:939 +msgid "labels.contact-us" +msgstr "Contacteu amb nosaltres" + #: 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 msgid "labels.continue" msgstr "Continua" @@ -1172,10 +3120,22 @@ msgstr "Continua amb" msgid "labels.continue-with-penpot" msgstr "Podeu continuar amb un compte de Penpot" +#: src/app/main/ui/components/copy_button.cljs:41 +msgid "labels.copy" +msgstr "Copia" + +#: src/app/main/ui/inspect/attributes/common.cljs:101 +msgid "labels.copy-color" +msgstr "Copia el color" + #: src/app/main/ui/dashboard/team.cljs:765 msgid "labels.copy-invitation-link" msgstr "Copia l'enllaç" +#: src/app/main/ui/static.cljs:72, src/app/main/ui/static.cljs:343, src/app/main/ui/static.cljs:364 +msgid "labels.copyright-period" +msgstr "Kaleidos © 2019-actualitat" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:186, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:203 msgid "labels.create" msgstr "Crea" @@ -1188,6 +3148,10 @@ msgstr "Crea un equip nou" msgid "labels.create-team.placeholder" msgstr "Introduïu el nom de l'equip nou" +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:111, src/app/main/ui/settings/restore_shortcuts_modal.cljs:102 +msgid "labels.current" +msgstr "Actual" + #, unused msgid "labels.custom-fonts" msgstr "Tipografies personalitzades" @@ -1196,6 +3160,10 @@ msgstr "Tipografies personalitzades" msgid "labels.dashboard" msgstr "Tauler" +#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:104 +msgid "labels.default" +msgstr "Predeterminat" + #: 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 msgid "labels.delete" msgstr "Elimina" @@ -1216,10 +3184,56 @@ msgstr "Esborra invitació" msgid "labels.delete-multi-files" msgstr "Elimina %s fitxers" +#: src/app/main/ui/settings/profile.cljs:116 +msgid "labels.delete-profile-photo.message" +msgstr "Esteu segur que voleu suprimir la foto de perfil?" + +#: src/app/main/ui/settings/profile.cljs:115 +msgid "labels.delete-profile-photo.title" +msgstr "Suprimeix la foto de perfil" + +#: src/app/main/ui/dashboard/deleted.cljs:219 +msgid "labels.deleted" +msgstr "Suprimits" + +#: src/app/main/ui/onboarding/questions.cljs:83 +msgid "labels.developer" +msgstr "Desenvolupament" + +#: src/app/main/ui/onboarding/questions.cljs:260 +#, unused +msgid "labels.director" +msgstr "Director" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:211 +msgid "labels.discard" +msgstr "Descarta" + +#: src/app/main/data/workspace/mcp.cljs:186 +#, unused +msgid "labels.dismiss" +msgstr "Descarta" + +#: src/app/main/ui/settings/feedback.cljs:135, src/app/main/ui/static.cljs:418 +msgid "labels.download" +msgstr "Baixa %s" + +#: src/app/main/ui/dashboard/fonts.cljs:283 +msgid "labels.download-simple" +msgstr "Baixa" + +#: src/app/main/ui/exports/files.cljs:219 +msgid "labels.downloading-file" +msgstr "S'està baixant el fitxer…" + #: 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 msgid "labels.drafts" msgstr "Esborranys" +#: src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:76, src/app/main/ui/workspace/tokens/management/node_context_menu.cljs:106, src/app/main/ui/workspace/tokens/sets/context_menu.cljs:65 +msgid "labels.duplicate" +msgstr "Duplica" + #: 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 msgid "labels.edit" msgstr "Edita" @@ -1232,6 +3246,23 @@ msgstr "Edita'l" msgid "labels.editor" msgstr "Editor" +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:296 +msgid "labels.empty" +msgstr "Buit" + +#: src/app/main/ui/dashboard/import.cljs:350, src/app/worker/import.cljs:204, src/app/worker/import.cljs:245 +msgid "labels.error" +msgstr "Error" + +#: src/app/main/ui/onboarding/questions.cljs:404 +#, unused +msgid "labels.event" +msgstr "Esdeveniment" + +#: src/app/main/data/workspace/versions.cljs:314 +msgid "labels.exit" +msgstr "Surt" + #: src/app/main/ui/dashboard/team.cljs:782 msgid "labels.expired-invitation" msgstr "Ha caducat" @@ -1248,6 +3279,18 @@ msgstr "Opinions desactivades" msgid "labels.feedback-sent" msgstr "S'ha enviat l'opinió" +#: src/app/main/ui/onboarding/questions.cljs:154 +msgid "labels.figma" +msgstr "Figma" + +#: src/app/main/ui/inspect/styles/style_box.cljs:28 +msgid "labels.fill" +msgstr "Emplenament" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1282 +msgid "labels.flex-layout" +msgstr "Disposició flexible" + #: src/app/main/ui/dashboard/fonts.cljs:472 msgid "labels.font-family" msgstr "Família tipogràfica" @@ -1264,6 +3307,16 @@ msgstr "Estils" msgid "labels.fonts" msgstr "Tipografies" +#: src/app/main/ui/onboarding/questions.cljs:259 +#, unused +msgid "labels.founder" +msgstr "CEO o fundador" + +#: src/app/main/ui/onboarding/questions.cljs:258 +#, unused +msgid "labels.freelancer" +msgstr "Autònom" + #: src/app/main/ui/dashboard/sidebar.cljs:1250, src/app/main/ui/workspace/main_menu.cljs:201 msgid "labels.github-repo" msgstr "Repositori Github" @@ -1276,14 +3329,38 @@ msgstr "Envia opinions" msgid "labels.go-back" msgstr "Enrere" +#: src/app/main/ui/onboarding/questions.cljs:85 +msgid "labels.graphic-design" +msgstr "Disseny gràfic" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1286 +msgid "labels.grid-layout" +msgstr "Disposició de quadrícula" + #: 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 msgid "labels.help-center" msgstr "Centre d'ajuda" +#: src/app/main/ui/dashboard/sidebar.cljs:1491 +msgid "labels.help-learning" +msgstr "Ajuda i aprenentatge" + +#: src/app/main/ui/dashboard/templates.cljs:90 +msgid "labels.hide" +msgstr "Amaga" + #: src/app/main/ui/viewer/comments.cljs:115, src/app/main/ui/workspace/comments.cljs:76 msgid "labels.hide-resolved-comments" msgstr "Amaga els comentaris resolts" +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:113, src/app/main/ui/settings/shortcuts.cljs:544, src/app/main/ui/workspace/tokens/sidebar.cljs:131 +msgid "labels.import" +msgstr "Importa" + +#: src/app/main/ui/dashboard/team.cljs:1506 +msgid "labels.inactive" +msgstr "Inactiu" + #: src/app/main/ui/inspect/right_sidebar.cljs:114 msgid "labels.info" msgstr "Informació" @@ -1292,10 +3369,28 @@ msgstr "Informació" msgid "labels.installed-fonts" msgstr "Tipografies instal·lades" +#: src/app/main/ui/settings/sidebar.cljs:134 +msgid "labels.integrations" +msgstr "Integracions" + +#: src/app/main/ui/static.cljs:414 +msgid "labels.internal-error.desc-message-first" +msgstr "Alguna cosa ha fallat." + +#: src/app/main/ui/static.cljs:415 +msgid "labels.internal-error.desc-message-second" +msgstr "" +"Podeu tornar a provar l'operació o contacteu amb l'assistència per informar " +"de l'error." + #: src/app/main/ui/static.cljs:411 msgid "labels.internal-error.main-message" msgstr "Error intern" +#: src/app/main/ui/onboarding/questions.cljs:162 +msgid "labels.invision" +msgstr "InVision" + #: 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 msgid "labels.invitations" msgstr "Invitacions" @@ -1304,18 +3399,42 @@ msgstr "Invitacions" msgid "labels.language" msgstr "Llengua" +#: src/app/main/ui/inspect/styles/style_box.cljs:35, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1296 +msgid "labels.layout" +msgstr "Disposició" + +#: src/app/main/ui/dashboard/sidebar.cljs:1213 +msgid "labels.learning-center" +msgstr "Centre d'aprenentatge" + #: src/app/main/ui/workspace/main_menu.cljs:192 msgid "labels.libraries-and-templates" msgstr "Biblioteques i plantilles" +#: 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 +msgid "labels.loading" +msgstr "S'està carregant…" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:251 +msgid "labels.lock" +msgstr "Bloqueja" + #: src/app/main/ui/viewer/header.cljs:208 msgid "labels.log-or-sign" msgstr "Inicia sessió o registra'm" +#: src/app/main/ui/static.cljs:66, src/app/main/ui/static.cljs:161 +msgid "labels.login" +msgstr "Entra" + #: src/app/main/ui/dashboard/sidebar.cljs:1527 msgid "labels.logout" msgstr "Tanca la sessió" +#: src/app/main/ui/onboarding/questions.cljs:86 +msgid "labels.marketing" +msgstr "Màrqueting" + #: src/app/main/ui/dashboard/team.cljs:623 msgid "labels.member" msgstr "Membre" @@ -1324,10 +3443,47 @@ msgstr "Membre" msgid "labels.members" msgstr "Membres" +#: src/app/main/ui/comments.cljs:599 +msgid "labels.mention" +msgstr "Menció" + +#: src/app/main/ui/ds/controls/numeric_input.cljs:707, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299 +#, unused +msgid "labels.mixed-values" +msgstr "Diversos" + #: src/app/main/ui/settings/password.cljs:96 msgid "labels.new-password" msgstr "Contrasenya nova" +#: src/app/main/ui/dashboard/import.cljs:671, src/app/main/ui/dashboard/templates.cljs:297, src/app/main/ui/onboarding/questions.cljs:52, src/app/main/ui/viewer.cljs:112, src/app/main/ui/workspace/sidebar/layers.cljs:613 +msgid "labels.next" +msgstr "Següent" + +#: src/app/main/ui/static.cljs:353 +msgid "labels.nitrate-not-configured.desc-message" +msgstr "" +"Aquesta instància necessita un pas de configuració que arriba amb la versió " +"més recent." + +#: src/app/main/ui/static.cljs:356 +msgid "labels.nitrate-not-configured.learn-more" +msgstr "Consulteu la nostra" + +#: src/app/main/ui/static.cljs:351 +msgid "labels.nitrate-not-configured.main-message" +msgstr "El Penpot encara no es pot iniciar." + +#: src/app/main/ui/static.cljs:361 +msgid "labels.nitrate-not-configured.technical-guide" +msgstr "guia tècnica" + +#: src/app/main/ui/static.cljs:341 +msgid "labels.nitrate-unavailable.main-message" +msgstr "" +"El Penpot no està disponible temporalment per un problema del sistema. " +"Torneu-ho a provar d'aquí a una estona." + #: src/app/main/ui/dashboard/comments.cljs:120, src/app/main/ui/workspace/comments.cljs:164 msgid "labels.no-comments-available" msgstr "No teniu notificacions de comentaris pendents" @@ -1336,6 +3492,14 @@ msgstr "No teniu notificacions de comentaris pendents" msgid "labels.no-invitations" msgstr "No hi ha invitacions." +#: src/app/main/ui/dashboard/team.cljs:855 +msgid "labels.no-invitations-gather-people" +msgstr "Reuniu la vostra gent i creeu grans coses plegats." + +#: src/app/main/ui/components/select.cljs:256 +msgid "labels.no-matches" +msgstr "Cap coincidència" + #: src/app/main/ui/static.cljs #, unused msgid "labels.not-found.desc-message" @@ -1347,6 +3511,10 @@ msgstr "" msgid "labels.not-found.main-message" msgstr "Vaja!" +#: src/app/main/ui/settings/sidebar.cljs:106 +msgid "labels.notifications" +msgstr "Notificacions" + #: src/app/main/ui/dashboard/projects.cljs:242, src/app/main/ui/dashboard/team.cljs:1733 msgid "labels.num-of-files" msgid_plural "labels.num-of-files" @@ -1365,6 +3533,10 @@ msgid_plural "labels.num-of-projects" msgstr[0] "1 projecte" msgstr[1] "%s projectes" +#, unused +msgid "labels.ok" +msgstr "D'acord" + #: src/app/main/ui/settings/password.cljs:89 msgid "labels.old-password" msgstr "Contrasenya antiga" @@ -1374,10 +3546,26 @@ msgstr "Contrasenya antiga" msgid "labels.only-yours" msgstr "Només els meus" +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:994 +msgid "labels.open" +msgstr "Obre" + +#: src/app/main/ui/comments.cljs:933, src/app/main/ui/comments.cljs:998, src/app/main/ui/settings/integrations.cljs:400, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:402, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:587, src/app/main/ui/workspace/top_toolbar.cljs:92 +msgid "labels.options" +msgstr "Opcions" + #, unused msgid "labels.or" msgstr "o" +#: src/app/main/ui/onboarding/questions.cljs:130, src/app/main/ui/onboarding/questions.cljs:201, src/app/main/ui/onboarding/questions.cljs:313, src/app/main/ui/workspace/colorpicker/libraries.cljs:129 +msgid "labels.other" +msgstr "Altra (especifiqueu)" + +#: src/app/main/ui/onboarding/questions.cljs:88, src/app/main/ui/onboarding/questions.cljs:164, src/app/main/ui/onboarding/questions.cljs:277 +msgid "labels.other-short" +msgstr "Altra" + #: 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" msgstr "Propietari" @@ -1390,6 +3578,34 @@ msgstr "Contrasenya" msgid "labels.pending-invitation" msgstr "Pendent" +#: src/app/main/ui/dashboard/sidebar.cljs:1313 +msgid "labels.penpot-changelog" +msgstr "Registre de canvis del Penpot" + +#: src/app/main/ui/dashboard/sidebar.cljs:1219 +msgid "labels.penpot-hub" +msgstr "Penpot hub" + +#: src/app/main/ui/dashboard/sidebar.cljs:1165 +msgid "labels.pinned-projects" +msgstr "Projectes fixats" + +#: src/app/main/ui/comments.cljs:697 +msgid "labels.post" +msgstr "Publica" + +#: src/app/main/ui/dashboard/import.cljs:666, src/app/main/ui/onboarding/questions.cljs:48, src/app/main/ui/viewer.cljs:105, src/app/main/ui/workspace/sidebar/layers.cljs:611 +msgid "labels.previous" +msgstr "Anterior" + +#: src/app/main/ui/onboarding/questions.cljs:82 +msgid "labels.product-design" +msgstr "Disseny de producte o UX" + +#: src/app/main/ui/onboarding/questions.cljs:87 +msgid "labels.product-management" +msgstr "Gestió de productes" + #: src/app/main/ui/settings/profile.cljs:149, src/app/main/ui/settings/sidebar.cljs:96 msgid "labels.profile" msgstr "Perfil" @@ -1398,6 +3614,18 @@ msgstr "Perfil" msgid "labels.projects" msgstr "Projectes" +#: src/app/main/ui/dashboard/deleted.cljs:212 +msgid "labels.recent" +msgstr "Recents" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:209, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:179 +msgid "labels.reference" +msgstr "Referència" + +#: src/app/main/data/common.cljs:85 +msgid "labels.refresh" +msgstr "Actualitza" + #: src/app/main/ui/settings/sidebar.cljs:140, src/app/main/ui/workspace/main_menu.cljs:183 msgid "labels.release-notes" msgstr "Notes de la versió" @@ -1407,6 +3635,10 @@ msgstr "Notes de la versió" msgid "labels.reload-file" msgstr "Recarrega el fitxer" +#: src/app/main/ui/static.cljs:374 +msgid "labels.reload-page" +msgstr "Recarrega la pàgina" + #: src/app/main/ui/forms.cljs:191, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:167, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:406 msgid "labels.remove" msgstr "Elimina" @@ -1423,10 +3655,38 @@ msgstr "Canvia el nom" msgid "labels.rename-team" msgstr "Canvia el nom de l’equip" +#: src/app/main/ui/comments.cljs:660 +msgid "labels.replies" +msgstr "respostes" + +#: src/app/main/ui/comments.cljs:665 +msgid "labels.replies.new" +msgstr "respostes noves" + +#: src/app/main/ui/comments.cljs:659 +msgid "labels.reply" +msgstr "resposta" + +#: src/app/main/ui/comments.cljs:664 +msgid "labels.reply.new" +msgstr "resposta nova" + +#: src/app/main/ui/comments.cljs:735 +msgid "labels.reply.thread" +msgstr "Respon" + +#: src/app/main/ui/dashboard/team.cljs:904 +msgid "labels.resend" +msgstr "Reenvia" + #: src/app/main/ui/dashboard/team.cljs:1207 msgid "labels.resend-invitation" msgstr "Reenvia invitació" +#: src/app/main/data/workspace/versions.cljs:246, src/app/main/data/workspace/versions.cljs:319, src/app/main/ui/workspace/sidebar/versions.cljs:238 +msgid "labels.restore" +msgstr "Restaura" + #: 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 msgid "labels.retry" msgstr "Tornar a intentar-ho" @@ -1447,6 +3707,10 @@ msgstr "Cerca" msgid "labels.search-font" msgstr "Cerca tipografia" +#: src/app/main/ui/onboarding/questions.cljs:81, src/app/main/ui/onboarding/questions.cljs:215 +msgid "labels.select-option" +msgstr "Seleccioneu una opció" + #: src/app/main/ui/settings/feedback.cljs:138 msgid "labels.send" msgstr "Envia" @@ -1463,10 +3727,18 @@ msgstr "Estem de manteniment programat dels nostres sistemes." msgid "labels.service-unavailable.main-message" msgstr "Servei no disponible" +#: src/app/main/ui/workspace/tokens/sidebar.cljs:75 +msgid "labels.sets" +msgstr "Sets" + #: 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 msgid "labels.settings" msgstr "Configuració" +#: src/app/main/ui/inspect/styles/style_box.cljs:34, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:233 +msgid "labels.shadow" +msgstr "Ombra" + #: src/app/main/ui/viewer/header.cljs:204 msgid "labels.share" msgstr "Comparteix" @@ -1479,6 +3751,10 @@ msgstr "Comparteix prototip" msgid "labels.shared-libraries" msgstr "Biblioteques compartides" +#: src/app/main/ui/dashboard/templates.cljs:86 +msgid "labels.show" +msgstr "Mostra" + #: src/app/main/ui/viewer/comments.cljs:84, src/app/main/ui/workspace/comments.cljs:58, src/app/main/ui/workspace/comments.cljs:138 msgid "labels.show-all-comments" msgstr "Mostra tots els comentaris" @@ -1487,18 +3763,103 @@ msgstr "Mostra tots els comentaris" msgid "labels.show-comments-list" msgstr "Mostra la llista de comentaris" +#: src/app/main/ui/viewer/comments.cljs:103, src/app/main/ui/workspace/comments.cljs:70, src/app/main/ui/workspace/comments.cljs:140 +msgid "labels.show-mentions" +msgstr "Mostra només les vostres mencions" + #: src/app/main/ui/viewer/comments.cljs:93, src/app/main/ui/workspace/comments.cljs:64, src/app/main/ui/workspace/comments.cljs:139 msgid "labels.show-your-comments" msgstr "Mostra només els meus comentaris" +#: src/app/main/ui/onboarding/questions.cljs:156 +msgid "labels.sketch" +msgstr "Sketch" + +#: src/app/main/ui/dashboard/sidebar.cljs:1144 +msgid "labels.sources" +msgstr "Recursos" + +#: src/app/main/ui/static.cljs:545 +msgid "labels.sso-error.desc-message" +msgstr "" +"L'inici de sessió amb el proveïdor d'identitat de la vostra organització no " +"s'ha completat. Pot ser que el proveïdor no estigui disponible o que el " +"vostre compte encara no figuri al seu directori." + +#: src/app/main/ui/static.cljs:546 +msgid "labels.sso-error.retry" +msgstr "Torneu-ho a provar" + +#: src/app/main/ui/static.cljs:544 +msgid "labels.sso-error.title" +msgstr "No s'ha pogut iniciar la sessió a %s" + +#: src/app/main/ui/onboarding/questions.cljs:53 +msgid "labels.start" +msgstr "Comença" + #: src/app/main/ui/dashboard/team.cljs:1223 msgid "labels.status" msgstr "Estat" +#: src/app/main/ui/inspect/styles/style_box.cljs:29, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:72 +msgid "labels.stroke" +msgstr "Traç" + +#: src/app/main/ui/onboarding/questions.cljs:84 +msgid "labels.student-teacher" +msgstr "Estudiant o professor" + +#: src/app/main/ui/inspect/right_sidebar.cljs:107, src/app/main/ui/inspect/styles.cljs:149 +msgid "labels.styles" +msgstr "Estils" + +#: src/app/main/ui/inspect/styles/style_box.cljs:40 +msgid "labels.svg" +msgstr "SVG" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:497 +msgid "labels.switch" +msgstr "Intercanvia" + +#: src/app/main/ui/onboarding/questions.cljs:256 +#, unused +msgid "labels.team-leader" +msgstr "Cap d'equip" + +#: src/app/main/ui/onboarding/questions.cljs:257 +#, unused +msgid "labels.team-member" +msgstr "Membre de l'equip" + +#: src/app/main/ui/inspect/styles/style_box.cljs:30 +msgid "labels.text" +msgstr "Text" + +#: src/app/main/ui/workspace/tokens/themes.cljs:36 +msgid "labels.themes" +msgstr "Temes" + #: src/app/main/ui/workspace/main_menu.cljs:174 msgid "labels.tutorials" msgstr "Tutorials" +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:189 +msgid "labels.typography" +msgstr "Tipografia" + +#: src/app/main/data/workspace/tokens/errors.cljs:136, src/app/main/data/workspace/tokens/errors.cljs:163, src/app/main/data/workspace/tokens/errors.cljs:175 +msgid "labels.unknown-error" +msgstr "Error desconegut" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:245 +msgid "labels.unlock" +msgstr "Desbloqueja" + +#: src/app/main/ui/dashboard/file_menu.cljs:286 +msgid "labels.unpublish-multi-files" +msgstr "Despublica %s fitxers" + #: src/app/main/ui/settings/profile.cljs:123 msgid "labels.update" msgstr "Actualitza" @@ -1519,6 +3880,18 @@ msgstr "Pugeu tipografies personalitzades" msgid "labels.uploading" msgstr "S'està pujant…" +#: src/app/main/ui/dashboard/import.cljs:617 +msgid "labels.uploading-file" +msgstr "S'està pujant el fitxer…" + +#: src/app/main/ui/inspect/right_sidebar.cljs:65, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1047 +msgid "labels.variant" +msgstr "Variant" + +#: src/app/main/ui/dashboard/sidebar.cljs:1307 +msgid "labels.version-notes" +msgstr "Notes de la versió %s" + #: src/app/main/ui/workspace/sidebar/sitemap.cljs:322 msgid "labels.view-only" msgstr "Només lectura" @@ -1527,6 +3900,21 @@ msgstr "Només lectura" msgid "labels.viewer" msgstr "Visor" +#: src/app/main/ui/inspect/styles/style_box.cljs:39 +msgid "labels.visibility" +msgstr "Visibilitat" + +#: src/app/main/ui/dashboard/import.cljs:297 +#, unused +msgid "labels.warning-count" +msgid_plural "labels.warning-count" +msgstr[0] "%s avís" +msgstr[1] "%s avisos" + +#: src/app/main/ui/dashboard/sidebar.cljs:590, src/app/main/ui/dashboard/team.cljs:128, src/app/main/ui/dashboard/team.cljs:138, src/app/main/ui/dashboard/team.cljs:1416 +msgid "labels.webhooks" +msgstr "Webhooks" + #: src/app/main/ui/comments.cljs:862 msgid "labels.write-new-comment" msgstr "Escriu un comentari nou" @@ -1539,14 +3927,144 @@ msgstr "(jo)" msgid "labels.your-account" msgstr "El meu compte" +#: src/app/main/ui/onboarding/questions.cljs:403 +#, unused +msgid "labels.youtube" +msgstr "YouTube" + +#: src/app/main/ui/ds/product/loader.cljs:21 +msgid "loader.tips.01.message" +msgstr "" +"Manteniu els vostres dissenys coherents i fàcils d'actualitzar en tots els " +"projectes." + +#: src/app/main/ui/ds/product/loader.cljs:20 +msgid "loader.tips.01.title" +msgstr "Components reutilitzables" + +#: src/app/main/ui/ds/product/loader.cljs:23 +msgid "loader.tips.02.message" +msgstr "Treballeu amb el vostre equip en directe, compartiu opinions a l'instant." + +#: src/app/main/ui/ds/product/loader.cljs:22 +msgid "loader.tips.02.title" +msgstr "Col·laboració en temps real" + +#: src/app/main/ui/ds/product/loader.cljs:25 +msgid "loader.tips.03.message" +msgstr "" +"Dissenyeu amb flexibilitat amb controls de disposició familiars, com els de " +"CSS." + +#: src/app/main/ui/ds/product/loader.cljs:24 +msgid "loader.tips.03.title" +msgstr "Disposicions com CSS" + +#: src/app/main/ui/ds/product/loader.cljs:27 +msgid "loader.tips.04.message" +msgstr "Obteniu codi CSS i SVG directament dels vostres dissenys." + +#: src/app/main/ui/ds/product/loader.cljs:26 +msgid "loader.tips.04.title" +msgstr "Exportació a codi" + +#: src/app/main/ui/ds/product/loader.cljs:29 +msgid "loader.tips.05.message" +msgstr "Compartiu recursos i estils per a mantenir la coherència." + +#: src/app/main/ui/ds/product/loader.cljs:28 +msgid "loader.tips.05.title" +msgstr "Biblioteques de disseny" + +#: src/app/main/ui/ds/product/loader.cljs:31 +msgid "loader.tips.06.message" +msgstr "Doneu vida a les vostres idees amb animacions i transicions." + +#: src/app/main/ui/ds/product/loader.cljs:30 +msgid "loader.tips.06.title" +msgstr "Prototips interactius" + +#: src/app/main/ui/ds/product/loader.cljs:33 +msgid "loader.tips.07.message" +msgstr "El Penpot utilitza SVG i CSS per a un desenvolupament sense friccions." + +#: src/app/main/ui/ds/product/loader.cljs:32 +msgid "loader.tips.07.title" +msgstr "Formats estàndard del web" + +#: src/app/main/ui/ds/product/loader.cljs:35 +msgid "loader.tips.08.message" +msgstr "" +"Accelereu el vostre flux de treball amb dreceres pràctiques com Shift + A " +"per a l'Auto Layout." + +#: src/app/main/ui/ds/product/loader.cljs:34 +msgid "loader.tips.08.title" +msgstr "Dreceres de teclat" + +#: src/app/main/ui/ds/product/loader.cljs:37 +msgid "loader.tips.09.message" +msgstr "Trieu el tema que s'adapti al vostre estil." + +#: src/app/main/ui/ds/product/loader.cljs:36 +msgid "loader.tips.09.title" +msgstr "Mode clar i fosc" + +#: src/app/main/ui/ds/product/loader.cljs:39 +msgid "loader.tips.10.message" +msgstr "" +"Amplieu el Penpot amb plugins creats per la comunitat per a obtenir " +"funcionalitats addicionals." + +#: src/app/main/ui/ds/product/loader.cljs:38 +msgid "loader.tips.10.title" +msgstr "Compatibilitat amb plugins" + +#: src/app/main/ui/workspace/colorpicker.cljs:487 +msgid "media.choose-image" +msgstr "Trieu una imatge" + +#: src/app/main/ui/workspace/colorpicker/libraries.cljs:106, src/app/main/ui/workspace/colorpicker.cljs:273 +msgid "media.gradient" +msgstr "Degradat" + #: src/app/main/data/workspace/media.cljs:302, src/app/main/ui/components/color_bullet.cljs:42, src/app/main/ui/components/color_bullet.cljs:55, src/app/main/ui/ds/utilities/swatch.cljs:52, src/app/main/ui/ds/utilities/swatch.cljs:68, src/app/main/ui/inspect/attributes/common.cljs:43, src/app/main/ui/inspect/styles/rows/color_properties_row.cljs:67, src/app/main/ui/workspace/colorpicker.cljs:275, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:448 msgid "media.image" msgstr "Imatge" +#: src/app/main/ui/inspect/attributes/common.cljs:53 +msgid "media.image.short" +msgstr "img" + +#: src/app/main/ui/workspace/colorpicker.cljs:482 +msgid "media.keep-aspect-ratio" +msgstr "Mantingueu la proporció" + +#: src/app/main/ui/workspace/colorpicker.cljs:228 +#, unused +msgid "media.linear" +msgstr "Lineal" + #: src/app/main/data/media.cljs:51, src/app/main/data/workspace/media.cljs:261, src/app/main/data/workspace/media.cljs:473 msgid "media.loading" msgstr "S'està carregant la imatge…" +#: src/app/main/ui/workspace/colorpicker.cljs:229 +#, unused +msgid "media.radial" +msgstr "Radial" + +#: src/app/main/ui/workspace/colorpicker.cljs:271 +msgid "media.solid" +msgstr "Sòlid" + +#: src/app/main/data/common.cljs:120 +msgid "modals.add-shared-confirm-empty.hint" +msgstr "" +"La vostra biblioteca està buida. Un cop afegida com a biblioteca " +"compartida, els recursos que creeu estaran disponibles per a utilitzar-los " +"a la resta dels vostres fitxers. Segur que voleu publicar-la?" + #: src/app/main/data/common.cljs:122 msgid "modals.add-shared-confirm.accept" msgstr "Afegeix com a biblioteca compartida" @@ -1562,6 +4080,20 @@ msgstr "" msgid "modals.add-shared-confirm.message" msgstr "Afegeix \"%s\" com a biblioteca compartida" +#: src/app/main/data/nitrate.cljs:249 +msgid "modals.before-leave-organization.message" +msgstr "" +"Sou l'únic membre d'alguns dels equips. Aquests equips se suprimiran " +"juntament amb els seus projectes i fitxers." + +#: src/app/main/data/nitrate.cljs:248, src/app/main/ui/dashboard/change_owner.cljs:151 +msgid "modals.before-leave-organization.title" +msgstr "ABANS D'ABANDONAR L'ORGANITZACIÓ" + +#: src/app/main/data/nitrate.cljs:252 +msgid "modals.before-leave-organization.warning" +msgstr "Qualsevol equip del qual sigueu l'únic membre se suprimirà." + #: src/app/main/ui/workspace/nudge.cljs:59 msgid "modals.big-nudge" msgstr "Màxima" @@ -1588,6 +4120,22 @@ msgstr "Canvia el correu" msgid "modals.change-email.title" msgstr "Canvieu el vostre correu electrònic" +#: src/app/main/ui/dashboard/team.cljs:1410 +msgid "modals.create-webhook.submit-label" +msgstr "Crea un webhook" + +#: src/app/main/ui/dashboard/team.cljs:1375 +msgid "modals.create-webhook.title" +msgstr "Crea un webhook" + +#: src/app/main/ui/dashboard/team.cljs:1386 +msgid "modals.create-webhook.url.label" +msgstr "Payload URL" + +#: src/app/main/ui/dashboard/team.cljs:1387 +msgid "modals.create-webhook.url.placeholder" +msgstr "https://example.com/postreceive" + #: src/app/main/ui/settings/delete_account.cljs:105 msgid "modals.delete-account.cancel" msgstr "Cancel·la i conserva el meu compte" @@ -1601,10 +4149,40 @@ msgstr "Sí, elimina el meu compte" msgid "modals.delete-account.info" msgstr "Si suprimiu el compte, perdreu tots els vostres projectes i arxius actuals." +#: src/app/main/ui/settings/delete_account.cljs +#, unused +msgid "modals.delete-account.info.with-organizations" +msgstr "" +"Aquesta acció és irreversible. El vostre compte, la subscripció i les " +"organitzacions se suprimiran immediatament. També perdreu l'accés als " +"vostres projectes i fitxers actuals." + +#: src/app/main/ui/settings/delete_account.cljs:83 +msgid "modals.delete-account.owned-organizations.list-title" +msgstr "Organitzacions que se suprimiran" + +#: src/app/main/ui/settings/delete_account.cljs:98 +msgid "modals.delete-account.owned-organizations.members-count" +msgstr "%s membres" + +#: src/app/main/ui/settings/delete_account.cljs:96 +msgid "modals.delete-account.owned-organizations.teams-count" +msgstr "%s equips" + #: src/app/main/ui/settings/delete_account.cljs:64 msgid "modals.delete-account.title" msgstr "Segur que voleu eliminar el compte?" +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:229 +msgid "modals.delete-asset-group.message" +msgid_plural "modals.delete-asset-group.message" +msgstr[0] "Segur que voleu suprimir aquest recurs?" +msgstr[1] "Segur que voleu suprimir aquests %s recursos?" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:228 +msgid "modals.delete-asset-group.title" +msgstr "Elimina el grup" + #: src/app/main/ui/comments.cljs:913 msgid "modals.delete-comment-thread.accept" msgstr "Elimina la conversa" @@ -1619,6 +4197,14 @@ msgstr "" msgid "modals.delete-comment-thread.title" msgstr "Elimina la conversa" +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:156 +msgid "modals.delete-component-annotation.message" +msgstr "Segur que voleu suprimir aquesta anotació?" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:155 +msgid "modals.delete-component-annotation.title" +msgstr "Suprimeix l'anotació" + #: src/app/main/ui/dashboard/file_menu.cljs:126 msgid "modals.delete-file-confirm.accept" msgstr "Elimina el fitxer" @@ -1663,6 +4249,10 @@ msgstr "" msgid "modals.delete-font.title" msgstr "S'està eliminant la tipografia" +#: src/app/main/data/team.cljs:159 +msgid "modals.delete-organization-team-confirm.message" +msgstr "Segur que voleu suprimir aquest equip que forma part de l'organització %s?" + #: src/app/main/ui/workspace/context_menu.cljs:808, src/app/main/ui/workspace/sidebar/sitemap.cljs:125 msgid "modals.delete-page.body" msgstr "Segur que voleu eliminar la pàgina?" @@ -1671,6 +4261,14 @@ msgstr "Segur que voleu eliminar la pàgina?" msgid "modals.delete-page.title" msgstr "Elimina la pàgina" +#: src/app/main/ui/workspace/context_menu.cljs:814 +msgid "modals.delete-pages.body" +msgstr "Segur que voleu suprimir les pàgines seleccionades?" + +#: src/app/main/ui/workspace/context_menu.cljs:813 +msgid "modals.delete-pages.title" +msgstr "Elimina les pàgines" + #: src/app/main/ui/dashboard/project_menu.cljs:73 msgid "modals.delete-project-confirm.accept" msgstr "Elimina el projecte" @@ -1689,12 +4287,30 @@ msgid_plural "modals.delete-shared-confirm.accept" msgstr[0] "Suprimeix el fitxer" msgstr[1] "Suprimeix els fitxers" +#: src/app/main/ui/delete_shared.cljs:56 +msgid "modals.delete-shared-confirm.activated.no-files-message" +msgid_plural "modals.delete-shared-confirm.activated.no-files-message" +msgstr[0] "No està activada en cap fitxer." +msgstr[1] "No estan activades en cap fitxer." + +#: src/app/main/ui/delete_shared.cljs:58 +msgid "modals.delete-shared-confirm.activated.scd-message" +msgid_plural "modals.delete-shared-confirm.activated.scd-message" +msgstr[0] "Aquesta biblioteca està activada aquí: " +msgstr[1] "Aquestes biblioteques estan activades aquí: " + #: src/app/main/ui/delete_shared.cljs:47 msgid "modals.delete-shared-confirm.message" msgid_plural "modals.delete-shared-confirm.message" msgstr[0] "Esteu segur que voleu suprimir aquest fitxer?" msgstr[1] "Esteu segur que voleu suprimir aquests fitxers?" +#: src/app/main/ui/delete_shared.cljs:42 +msgid "modals.delete-shared-confirm.title" +msgid_plural "modals.delete-shared-confirm.title" +msgstr[0] "S'està suprimint el fitxer" +msgstr[1] "S'estan suprimint els fitxers" + #: src/app/main/data/team.cljs:166 msgid "modals.delete-team-confirm.accept" msgstr "Elimina l'equip" @@ -1721,6 +4337,50 @@ msgstr "Segur que voleu eliminar aquest membre de l'equip?" msgid "modals.delete-team-member-confirm.title" msgstr "Elimina el membre de l'equip" +#: src/app/main/ui/delete_shared.cljs:60 +msgid "modals.delete-unpublish-shared-confirm.activated.hint" +msgid_plural "modals.delete-unpublish-shared-confirm.activated.hint" +msgstr[0] "" +"Els recursos que ja s'hagin utilitzat en aquest fitxer hi romandran (cap " +"disseny no es farà malbé)." +msgstr[1] "" +"Els recursos que ja s'hagin utilitzat en aquests fitxers hi romandran (cap " +"disseny no es farà malbé)." + +#: src/app/main/ui/dashboard/team.cljs:1477 +msgid "modals.delete-webhook.accept" +msgstr "Suprimeix el webhook" + +#: src/app/main/ui/dashboard/team.cljs:1476 +msgid "modals.delete-webhook.message" +msgstr "Segur que voleu suprimir aquest webhook?" + +#: src/app/main/ui/dashboard/team.cljs:1475 +msgid "modals.delete-webhook.title" +msgstr "S'està suprimint el webhook" + +#: src/app/main/ui/dashboard/team.cljs:1409 +msgid "modals.edit-webhook.submit-label" +msgstr "Edita el webhook" + +#: src/app/main/ui/dashboard/team.cljs:1374 +msgid "modals.edit-webhook.title" +msgstr "Edita el webhook" + +#: src/app/main/ui/workspace/tokens/import_from_library.cljs:75 +msgid "modals.import-library-tokens.description" +msgstr "" +"La biblioteca té tokens i temes que probablement utilitzen els seus " +"components." + +#: src/app/main/ui/workspace/tokens/import_from_library.cljs:92 +msgid "modals.import-library-tokens.import" +msgstr "Importa els tokens" + +#: src/app/main/ui/workspace/tokens/import_from_library.cljs:72 +msgid "modals.import-library-tokens.title" +msgstr "Voleu importar els tokens de la biblioteca?" + #: src/app/main/ui/dashboard/team.cljs:308 msgid "modals.invite-member-confirm.accept" msgstr "Envia una invitació" @@ -1729,6 +4389,57 @@ msgstr "Envia una invitació" msgid "modals.invite-member.emails" msgstr "Correus electrònics, separats per una coma" +#: src/app/main/ui/dashboard/team.cljs:286 +msgid "modals.invite-member.repeated-invitation" +msgstr "Alguns membres ja són a l'equip. Convidarem la resta." + +#: src/app/main/data/team.cljs:649 +msgid "modals.invite-restricted-members.all-blocked" +msgstr "" +"Només es pot convidar membres existents de l'organització. Com que cap " +"persona de la vostra llista n'és membre, no s'ha enviat cap invitació." + +#: src/app/main/data/team.cljs:648 +msgid "modals.invite-restricted-members.all-blocked-title" +msgstr "No s'ha enviat cap invitació" + +#: src/app/main/data/team.cljs:192 +msgid "modals.invite-restricted-members.all-organization-members-in-team" +msgstr "" +"Només es pot convidar a aquest equip membres de l'organització \"%s\", i " +"totes aquestes persones ja en són membres. Si necessiteu més informació, " +"contacteu amb la persona propietària de l'organització." + +#: src/app/main/ui/dashboard/team.cljs:340 +msgid "modals.invite-restricted-members.blocked-addresses" +msgstr "Adreces que no rebran cap invitació" + +#: src/app/main/ui/dashboard/team.cljs:357 +msgid "modals.invite-restricted-members.cancel" +msgstr "Cancel·la" + +#: src/app/main/ui/dashboard/team.cljs:330 +msgid "modals.invite-restricted-members.description" +msgstr "Només es pot convidar membres existents de l'organització." + +#: src/app/main/ui/dashboard/team.cljs:365 +msgid "modals.invite-restricted-members.send" +msgstr "Envia les invitacions" + +#: src/app/main/ui/dashboard/team.cljs:325 +msgid "modals.invite-restricted-members.title" +msgstr "Algunes invitacions no es poden enviar" + +#: src/app/main/ui/dashboard/team.cljs:331 +msgid "modals.invite-restricted-members.warning" +msgstr "Algunes persones de la vostra llista no rebran les invitacions." + +#: src/app/main/ui/dashboard/team.cljs:278 +msgid "modals.invite-team-member.text" +msgstr "" +"Podeu convidar membres a l'equip perquè puguin accedir a aquest fitxer i a " +"tots els fitxers de l'equip." + #: src/app/main/data/team.cljs:195, src/app/main/ui/dashboard/team.cljs:272, src/app/main/ui/dashboard/team_form.cljs:155 msgid "modals.invite-team-member.title" msgstr "Convida membres a l'equip" @@ -1751,7 +4462,9 @@ msgstr "" #: src/app/main/ui/dashboard/change_owner.cljs:53 msgid "modals.leave-and-reassign.hint1" -msgstr "Sou el propietari de %s." +msgstr "" +"Sou el propietari d’aquest equip. Seleccioneu una altra persona integrant " +"per a promoure-la al rol de propietat." #: src/app/main/ui/dashboard/change_owner.cljs:76, src/app/main/ui/dashboard/change_owner.cljs:183 msgid "modals.leave-and-reassign.promote-and-leave" @@ -1777,12 +4490,56 @@ msgstr "Segur que voleu deixar l'equip?" msgid "modals.leave-confirm.title" msgstr "S'està abandonant l'equip" +#: src/app/main/ui/dashboard/change_owner.cljs:158 +msgid "modals.leave-organization-and-reassign.hint" +msgstr "" +"Sou propietari d'alguns equips de l'organització. Promoveu un altre membre " +"a propietari." + +#: src/app/main/ui/dashboard/change_owner.cljs:161 +msgid "modals.leave-organization-and-reassign.hint-delete" +msgstr "" +"Sou l'únic membre d'alguns dels equips. Aquests equips se suprimiran " +"juntament amb els seus projectes i fitxers." + +#: src/app/main/ui/dashboard/change_owner.cljs:163 +msgid "modals.leave-organization-and-reassign.hint-promote" +msgstr "" +"A més, sou propietari d'alguns equips de l'organització. Promoveu un altre " +"membre a propietari." + +#: src/app/main/data/nitrate.cljs:250, src/app/main/data/nitrate.cljs:259 +msgid "modals.leave-organization-confirm.accept" +msgstr "Abandona l'organització" + +#: src/app/main/data/nitrate.cljs:258 +msgid "modals.leave-organization-confirm.message" +msgstr "" +"Perdreu permanentment l'accés a tots els equips, projectes i fitxers que hi " +"ha." + +#: src/app/main/data/nitrate.cljs:257 +msgid "modals.leave-organization-confirm.title" +msgstr "Voleu abandonar l'organització %s?" + #: src/app/main/ui/delete_shared.cljs:54 msgid "modals.move-shared-confirm.accept" msgid_plural "modals.move-shared-confirm.accept" msgstr[0] "Mou" msgstr[1] "Mou" +#: src/app/main/ui/delete_shared.cljs:49 +msgid "modals.move-shared-confirm.message" +msgid_plural "modals.move-shared-confirm.message" +msgstr[0] "Segur que voleu moure aquesta biblioteca?" +msgstr[1] "Segur que voleu moure aquestes biblioteques?" + +#: src/app/main/ui/delete_shared.cljs:44 +msgid "modals.move-shared-confirm.title" +msgid_plural "modals.move-shared-confirm.title" +msgstr[0] "Mou la biblioteca" +msgstr[1] "Mou les biblioteques" + #: src/app/main/ui/workspace/main_menu.cljs:317, src/app/main/ui/workspace/nudge.cljs:46 msgid "modals.nudge-title" msgstr "Quantitat d'atracció" @@ -1800,8 +4557,8 @@ msgstr "" #: src/app/main/ui/dashboard/team.cljs:490 msgid "modals.promote-owner-confirm.message" msgstr "" -"Actualment sou el propietari de l'equip. Segur que voleu ascendir aquest " -"usuari a propietari?" +"Actualment sou el propietari de l'equip. Segur que voleu transferir la " +"propietat de l'equip a %s?" #: src/app/main/ui/dashboard/team.cljs:489 msgid "modals.promote-owner-confirm.title" @@ -1811,6 +4568,14 @@ msgstr "Ascendeix a propietari" msgid "modals.publish-empty-library.accept" msgstr "Publica" +#: src/app/main/ui/workspace/libraries.cljs:308 +msgid "modals.publish-empty-library.message" +msgstr "La vostra biblioteca està buida. Segur que voleu publicar-la?" + +#: src/app/main/ui/workspace/libraries.cljs:307 +msgid "modals.publish-empty-library.title" +msgstr "Publica la biblioteca buida" + #: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs #, unused msgid "modals.remove-shared-confirm.accept" @@ -1828,10 +4593,46 @@ msgstr "" msgid "modals.remove-shared-confirm.message" msgstr "Elimina «%s» com a biblioteca compartida" +#: src/app/main/data/nitrate.cljs:306 +msgid "modals.remove-team-organization.accept" +msgstr "Elimina de l'organització" + +#: src/app/main/data/nitrate.cljs:304 +msgid "modals.remove-team-organization.info" +msgstr "" +"Els projectes i els fitxers continuaran disponibles per als membres de " +"l'equip, però la configuració de l'organització ja no s'aplicarà." + +#: src/app/main/data/nitrate.cljs:303 +msgid "modals.remove-team-organization.text" +msgstr "Segur que voleu treure l'equip «%s» de l'organització «%s»?" + +#: src/app/main/data/nitrate.cljs:302 +msgid "modals.remove-team-organization.title" +msgstr "TRAIEU L'EQUIP DE L'ORGANITZACIÓ" + #: src/app/main/ui/workspace/nudge.cljs:52 msgid "modals.small-nudge" msgstr "Mínima" +#: src/app/main/ui/delete_shared.cljs:53 +msgid "modals.unpublish-shared-confirm.accept" +msgid_plural "modals.unpublish-shared-confirm.accept" +msgstr[0] "Despublica" +msgstr[1] "Despublica" + +#: src/app/main/ui/delete_shared.cljs:48 +msgid "modals.unpublish-shared-confirm.message" +msgid_plural "modals.unpublish-shared-confirm.message" +msgstr[0] "Segur que voleu despublicar aquesta biblioteca?" +msgstr[1] "Segur que voleu despublicar aquestes biblioteques?" + +#: src/app/main/ui/delete_shared.cljs:43 +msgid "modals.unpublish-shared-confirm.title" +msgid_plural "modals.unpublish-shared-confirm.title" +msgstr[0] "Despublica la biblioteca" +msgstr[1] "Despublica les biblioteques" + #: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs #, unused msgid "modals.update-remote-component-in-bulk.hint" @@ -1862,10 +4663,349 @@ msgstr "" msgid "modals.update-remote-component.message" msgstr "Actualitza un component en una biblioteca compartida" +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:58 +msgid "nitrate.activation-code.expired-error" +msgstr "Aquest codi ha caducat." + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:60 +msgid "nitrate.activation-code.invalid-error" +msgstr "Codi no vàlid." + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:59 +msgid "nitrate.activation-code.used-error" +msgstr "Aquest codi ja s'ha utilitzat." + +#: src/app/main/ui/nitrate/nitrate_activation_success_modal.cljs:58 +msgid "nitrate.activation-success.active-until" +msgstr "El vostre pla està actiu fins al %s." + +#: src/app/main/ui/dashboard/subscription.cljs:211, src/app/main/ui/nitrate/nitrate_activation_success_modal.cljs:69 +msgid "nitrate.activation-success.create-organization" +msgstr "Creeu una organització" + +#: src/app/main/ui/nitrate/nitrate_activation_success_modal.cljs:64 +msgid "nitrate.activation-success.enjoy" +msgstr "Gaudiu del vostre pla!" + +#: src/app/main/ui/nitrate/nitrate_activation_success_modal.cljs:61 +msgid "nitrate.activation-success.manage-info" +msgstr "" +"Podeu editar la vostra subscripció en qualsevol moment des de la " +"pàgina\"Subscripció\" als detalls del compte." + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:121 +msgid "nitrate.code-activation.footer-after" +msgstr "Envieu el fitxer a" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:126 +msgid "nitrate.code-activation.footer-before" +msgstr "i us enviarem el vostre codi." + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:119 +msgid "nitrate.code-activation.footer-download" +msgstr "Descarregueu la sol·licitud" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:114 +msgid "nitrate.code-activation.footer-title" +msgstr "Necessiteu un codi?" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:96 +msgid "nitrate.code-activation.input-label" +msgstr "Introduïu el vostre codi d'activació" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:100 +msgid "nitrate.code-activation.placeholder" +msgstr "Enganxeu aquí el vostre codi d'activació" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:89 +msgid "nitrate.code-activation.renew-title" +msgstr "RENOVA ENTERPRISE" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:111 +msgid "nitrate.code-activation.submit" +msgstr "Activa" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:90 +msgid "nitrate.code-activation.title" +msgstr "Activeu l'Enterprise" + +#: src/app/main/ui/settings/subscription.cljs:901 +msgid "nitrate.contact-sales.button" +msgstr "Contacteu amb vendes" + +#: src/app/main/ui/settings/subscription.cljs:894 +msgid "nitrate.contact-sales.downgrade-contact-info" +msgstr "" +"Per a canviar a aquest pla, contacteu amb el nostre equip de vendes. Us " +"ajudarem a actualitzar la vostra subscripció i ens assegurarem que tot " +"quedi configurat correctament." + +#: src/app/main/ui/settings/subscription.cljs:880 +msgid "nitrate.contact-sales.downgrade-organization-deleted" +msgstr "La vostra organització s'eliminarà." + +#: src/app/main/ui/settings/subscription.cljs:882 +msgid "nitrate.contact-sales.downgrade-storage-limited" +msgstr "" +"El vostre emmagatzematge total, l'historial de versions automàtiques i el " +"període de recuperació de fitxers es limitaran." + +#: src/app/main/ui/settings/subscription.cljs:881 +msgid "nitrate.contact-sales.downgrade-teams-available" +msgstr "" +"Els equips, els projectes i els fitxers deixaran de formar part de cap " +"organització, però continuaran disponibles." + +#: src/app/main/ui/settings/subscription.cljs:878 +msgid "nitrate.contact-sales.downgrade-title" +msgstr "Quan baixeu de pla:" + +#: src/app/main/ui/settings/subscription.cljs:875 +msgid "nitrate.contact-sales.title" +msgstr "Voleu canviar al pla %s?" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:103 +msgid "nitrate.form.cancel-anytime" +msgstr "" +"El pagament es processarà al final del període de prova. Podeu cancel·lar " +"en qualsevol moment." + +#: src/app/main/ui/nitrate/nitrate_form.cljs:120 +msgid "nitrate.form.contact-trial" +msgstr "Contacteu amb nosaltres per a provar l'Enterprise durant 14 dies:" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:119 +msgid "nitrate.form.contact-upgrade" +msgstr "Contacteu amb nosaltres per a pujar a l'Enterprise:" + +#: src/app/main/ui/settings/subscription.cljs:849 +msgid "nitrate.form.contact-us-free-trial" +msgstr "Contacteu amb nosaltres per a provar el pla Enterprise durant 14 dies:" + +#: src/app/main/ui/settings/subscription.cljs:849 +msgid "nitrate.form.contact-us-upgrade" +msgstr "Contacteu amb nosaltres per a pujar al pla Enterprise:" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:82, src/app/main/ui/nitrate/nitrate_form.cljs:102 +#, unused +msgid "nitrate.form.enter-code" +msgstr "Introduïu el codi d'activació" + +#: src/app/main/ui/settings/subscription.cljs:832 +msgid "nitrate.form.enterprise-description" +msgstr "" +"Ara mateix no se us cobrarà res. El pagament es processarà al final del " +"període de prova. Podeu cancel·lar en qualsevol moment." + +#: src/app/main/ui/nitrate/nitrate_form.cljs:83 +msgid "nitrate.form.enterprise-feature-1" +msgstr "Permisos globals i granulars per a equips i projectes" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:85 +msgid "nitrate.form.enterprise-feature-2" +msgstr "" +"Control centralitzat sobre qui fa què i on, des d'una consola " +"d'administració dedicada" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:87 +msgid "nitrate.form.enterprise-feature-3" +msgstr "" +"Llibertat total del codi obert, amb la governança que la vostra " +"organització necessita" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:80, src/app/main/ui/settings/subscription.cljs:827, src/app/main/ui/settings/subscription.cljs:849 +msgid "nitrate.form.enterprise-intro" +msgstr "" +"Tot el que els vostres equips necessiten per a treballar de manera segura a " +"gran escala%s" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:92 +msgid "nitrate.form.enterprise.price" +msgstr "per membre i mes" + +#: src/app/main/ui/settings/subscription.cljs:778, src/app/main/ui/settings/subscription.cljs:845 +msgid "nitrate.form.free-trial-button" +msgstr "Proveu-ho gratis durant 14 dies" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:114 +msgid "nitrate.form.see-plan" +msgstr "Vegeu el vostre pla actual" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:100 +msgid "nitrate.form.start-enterprise" +msgstr "Comenceu amb l'Enterprise" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:108, src/app/main/ui/nitrate/nitrate_form.cljs:128 +msgid "nitrate.form.subscribe-with-code" +msgstr "Subscriviu-vos amb un codi d'activació" + +#: src/app/main/ui/nitrate/nitrate_form.cljs:77, src/app/main/ui/settings/subscription.cljs:821 +msgid "nitrate.form.title" +msgstr "Desbloquegeu les funcions Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:225, src/app/main/ui/nitrate/nitrate_form.cljs:101 +msgid "nitrate.form.try-free" +msgstr "Proveu-ho gratis durant 14 dies" + +#: src/app/main/ui/nitrate/nitrate_activation_success_modal.cljs:54 +msgid "nitrate.modal-success.title" +msgstr "Us donem la benvinguda a l'Enterprise!" + +#: src/app/main/ui/settings/subscription.cljs:613 +msgid "nitrate.subscription.active-until" +msgstr "Actiu fins al %s" + +#: src/app/main/ui/nitrate/nitrate_code_activation_modal.cljs:51 +msgid "nitrate.subscription.renew-success" +msgstr "La vostra subscripció a l'Enterprise s'ha renovat." + +#: src/app/main/ui/settings/subscription.cljs:625, src/app/main/ui/settings/subscription.cljs:928 +msgid "nitrate.subscription.settings.manual-cancel" +msgstr "Cancel·leu la subscripció" + +#: src/app/main/ui/settings/subscription.cljs:932 +msgid "nitrate.subscription.settings.manual-contact-us" +msgstr "" +"Per a cancel·lar la vostra subscripció a l'Enterprise, contacteu amb " +"nosaltres a:" + +#: src/app/main/ui/settings/subscription.cljs:111 +msgid "nitrate.subscription.settings.renew-with-code" +msgstr "Renoveu amb un codi d'activació" + +#: src/app/main/ui/static.cljs:313 +msgid "not-found.desc-message.doesnt-exist" +msgstr "Aquesta pàgina no existeix" + +#: src/app/main/ui/static.cljs:312 +msgid "not-found.desc-message.error" +msgstr "Error 404" + +#: src/app/main/ui/static.cljs:162 +msgid "not-found.login.free" +msgstr "" +"El Penpot és l'eina de disseny lliure i de codi obert per a la " +"col·laboració entre disseny i codi" + +#: src/app/main/ui/auth/recovery_request.cljs:112 +msgid "not-found.login.sent-recovery" +msgstr "Us hem enviat un correu de recuperació a" + +#: src/app/main/ui/auth/recovery_request.cljs:114 +msgid "not-found.login.sent-recovery-check" +msgstr "Comproveu el correu i feu clic en l'enllaç per a crear una contrasenya nova." + +#: src/app/main/ui/static.cljs:176 +msgid "not-found.login.signup-free" +msgstr "Registreu-vos gratuïtament" + +#: src/app/main/ui/static.cljs:177 +msgid "not-found.login.start-using" +msgstr "I comenceu a utilitzar el Penpot en segons!" + +#: src/app/main/ui/static.cljs:74 +msgid "not-found.made-with-love" +msgstr "Fet amb AMOR i codi obert" + +#: src/app/main/ui/static.cljs:273 +msgid "not-found.no-permission.already-requested.file" +msgstr "Ja heu sol·licitat accés a aquest fitxer." + +#: src/app/main/ui/static.cljs:274 +msgid "not-found.no-permission.already-requested.or-others.file" +msgstr "" +"Ja heu sol·licitat accés a aquest fitxer o a altres fitxers o projectes " +"d'aquest equip." + +#: src/app/main/ui/static.cljs:280 +msgid "not-found.no-permission.already-requested.or-others.project" +msgstr "" +"Ja heu sol·licitat accés a aquest projecte o a altres projectes o fitxers " +"d'aquest equip." + +#: src/app/main/ui/static.cljs:279 +msgid "not-found.no-permission.already-requested.project" +msgstr "Ja heu sol·licitat accés a aquest projecte." + +#: src/app/main/ui/static.cljs:294, src/app/main/ui/static.cljs:303 +msgid "not-found.no-permission.ask" +msgstr "SOL·LICITEU L'ACCÉS" + +#: src/app/main/ui/static.cljs:286 +msgid "not-found.no-permission.done.remember" +msgstr "Recordeu que, si el propietari ho permet, us convidaran a l'equip." + +#: src/app/main/ui/static.cljs:285 +msgid "not-found.no-permission.done.success" +msgstr "La vostra sol·licitud s'ha enviat correctament!" + +#: src/app/main/ui/static.cljs:291 +msgid "not-found.no-permission.file" +msgstr "No teniu accés a aquest fitxer." + +#: src/app/main/ui/static.cljs:61, src/app/main/ui/static.cljs:269, src/app/main/ui/static.cljs:275, src/app/main/ui/static.cljs:281, src/app/main/ui/static.cljs:287, src/app/main/ui/static.cljs:296, src/app/main/ui/static.cljs:305, src/app/main/ui/static.cljs:548 +msgid "not-found.no-permission.go-dashboard" +msgstr "Aneu als projectes personals" + +#: src/app/main/ui/static.cljs:293, src/app/main/ui/static.cljs:302 +msgid "not-found.no-permission.if-approves" +msgstr "Si el propietari ho permet, us convidaran a l'equip." + +#: src/app/main/ui/static.cljs:468, src/app/main/ui/static.cljs:481 +msgid "not-found.no-permission.penpot-file" +msgstr "Fitxer del Penpot" + +#: src/app/main/ui/static.cljs:268, src/app/main/ui/static.cljs:300 +msgid "not-found.no-permission.project" +msgstr "No teniu accés a aquest projecte." + +#: src/app/main/ui/static.cljs:467, src/app/main/ui/static.cljs:479 +msgid "not-found.no-permission.project-name" +msgstr "PROJECTE" + +#: src/app/main/ui/static.cljs:292 +msgid "not-found.no-permission.you-can-ask.file" +msgstr "Per a accedir a aquest fitxer, podeu demanar-ho al propietari de l'equip." + +#: src/app/main/ui/static.cljs:301 +msgid "not-found.no-permission.you-can-ask.project" +msgstr "Per a accedir a aquest projecte, podeu demanar-ho al propietari de l'equip." + +#: src/app/main/data/common.cljs:91 +msgid "notifications.by-code.maintenance" +msgstr "" +"Pausa de manteniment: d'aquí a 5 minuts estarem fora de servei per un breu " +"manteniment." + +#: src/app/main/data/common.cljs:84 +msgid "notifications.by-code.upgrade-version" +msgstr "Hi ha una versió nova disponible." + +#: src/app/main/ui/auth/verify_token.cljs:113, src/app/main/ui/auth/verify_token.cljs:116 +msgid "notifications.invitation-canceled" +msgstr "Aquesta invitació ja no està disponible." + +#: src/app/main/ui/dashboard/team.cljs:1090 +msgid "notifications.invitation-deleted" +msgstr "Invitació suprimida correctament" + #: src/app/main/ui/dashboard/team.cljs:213, src/app/main/ui/dashboard/team.cljs:1131 msgid "notifications.invitation-email-sent" msgstr "La invitació s'ha enviat correctament" +#: src/app/main/ui/dashboard/team.cljs:750 +msgid "notifications.invitation-link-copied" +msgstr "Enllaç d'invitació copiat" + +#: src/app/main/data/workspace/mcp.cljs:185 +#, unused +msgid "notifications.mcp.active-in-another-tab" +msgstr "L'MCP està actiu en una altra pestanya. Voleu canviar aquí?" + +#, unused +msgid "notifications.mcp.active-in-this-tab" +msgstr "L'MCP ja està actiu en aquesta pestanya." + #: src/app/main/ui/settings/delete_account.cljs:28 msgid "notifications.profile-deletion-not-allowed" msgstr "" @@ -1880,22 +5020,170 @@ msgstr "El perfil s'ha desat correctament!" msgid "notifications.validation-email-sent" msgstr "S'ha enviat un correu electrònic de verificació a %s. Reviseu el correu!" +#, unused +msgid "onboarding-v2.before-start.desc1" +msgstr "" +"Heu de saber que hi ha molts recursos disponibles per a ajudar-vos a " +"començar amb el Penpot, com la guia d'usuari i el nostre canal de Youtube." + +#, unused +msgid "onboarding-v2.before-start.desc2" +msgstr "" +"Informació detallada sobre com utilitzar el Penpot. Des del prototipatge " +"fins a organitzar o compartir dissenys." + #, unused msgid "onboarding-v2.before-start.desc2.title" msgstr "Guia d'ús" +#, unused +msgid "onboarding-v2.before-start.desc3" +msgstr "Podeu veure els nostres tutorials i els que ha creat la nostra comunitat." + +#, unused +msgid "onboarding-v2.before-start.desc3.title" +msgstr "Tutorials en vídeo" + +#, unused +msgid "onboarding-v2.before-start.title" +msgstr "Abans de començar" + +#: src/app/main/ui/onboarding/newsletter.cljs:68 +#, unused +msgid "onboarding-v2.newsletter.desc" +msgstr "" +"Subscriviu-vos al butlletí del Penpot per a estar al dia del progrés del " +"producte i de les novetats." + +#: src/app/main/ui/onboarding/newsletter.cljs:88 +#, unused +msgid "onboarding-v2.newsletter.news" +msgstr "" +"Vull rebre notícies sobre el Penpot (articles del blog, tutorials en vídeo, " +"emissions...)." + +#: src/app/main/ui/onboarding/newsletter.cljs:96 +#, unused +msgid "onboarding-v2.newsletter.privacy1" +msgstr "Ens importa la privadesa, aquí podeu llegir la nostra " + +#: src/app/main/ui/onboarding/newsletter.cljs:102 +#, unused +msgid "onboarding-v2.newsletter.privacy2" +msgstr "" +"Només us enviarem correus rellevants. Podeu donar-vos de baixa en qualsevol " +"moment mitjançant l'enllaç de baixa de qualsevol dels nostres butlletins." + +#: src/app/main/ui/auth/register.cljs:35 +msgid "onboarding-v2.newsletter.updates" +msgstr "" +"Vull rebre actualitzacions del producte (funcionalitats noves, versions, " +"correccions...)." + +#, unused +msgid "onboarding-v2.welcome.desc1" +msgstr "" +"El Penpot és de codi obert i el fan Kaleidos i la comunitat, on molta gent " +"ja s'ajuda mútuament. Tothom hi pot col·laborar:" + +#, unused +msgid "onboarding-v2.welcome.desc2" +msgstr "" +"Un espai públic per a aprendre, compartir i debatre sobre el Penpot, el seu " +"present i el seu futur, amb tota la comunitat i l'equip principal del " +"Penpot." + +#, unused +msgid "onboarding-v2.welcome.desc2.title" +msgstr "Participar en la comunitat" + +#, unused +msgid "onboarding-v2.welcome.desc3" +msgstr "" +"On trobareu com col·laborar amb traduccions, peticions de funcionalitats, " +"contribucions al nucli, caça d'errors…" + +#, unused +msgid "onboarding-v2.welcome.desc3.title" +msgstr "Guia de contribució" + #: src/app/main/ui/onboarding/team_choice.cljs:251 msgid "onboarding-v2.welcome.title" msgstr "Us donem la benvinguda a Penpot!" +#: src/app/main/ui/onboarding/team_choice.cljs:254 +#, unused +msgid "onboarding.choice.team-up.continue-creating-team" +msgstr "Continueu creant l'equip" + +#: src/app/main/ui/onboarding/team_choice.cljs:242 +msgid "onboarding.choice.team-up.continue-without-a-team" +msgstr "Continueu sense equip" + +#: src/app/main/ui/onboarding/team_choice.cljs:236 +msgid "onboarding.choice.team-up.create-team-and-invite" +msgstr "Creeu l'equip i convideu" + +#, unused +msgid "onboarding.choice.team-up.create-team-and-send-invites" +msgstr "Creeu l'equip i envieu invitacions" + +#: src/app/main/ui/onboarding/team_choice.cljs:234 +#, unused +msgid "onboarding.choice.team-up.create-team-and-send-invites-description" +msgstr "Podreu convidar més tard" + #: src/app/main/ui/onboarding/team_choice.cljs:201 msgid "onboarding.choice.team-up.create-team-desc" msgstr "Quan poseu un nom a l'equip, podreu convidar persones a unir-s'hi." +#: src/app/main/ui/onboarding/team_choice.cljs:189 +msgid "onboarding.choice.team-up.create-team-enter" +msgstr "Escriviu el nom de l'equip" + +#: src/app/main/ui/onboarding/team_choice.cljs:196 +msgid "onboarding.choice.team-up.create-team-name" +msgstr "Nom de l'equip" + +#: src/app/main/ui/onboarding/team_choice.cljs:237 +msgid "onboarding.choice.team-up.create-team-without-invite" +msgstr "Creeu l'equip" + +#, unused +msgid "onboarding.choice.team-up.create-team-without-inviting" +msgstr "Creeu l'equip sense convidar" + #: src/app/main/ui/dashboard/projects.cljs:99, src/app/main/ui/onboarding/team_choice.cljs:207 msgid "onboarding.choice.team-up.invite-members" msgstr "Convida membres" +#: src/app/main/ui/onboarding/team_choice.cljs:226 +msgid "onboarding.choice.team-up.invite-members-desc" +msgstr "" +"Desenvolupadors, dissenyadors, gestors... tothom és benvingut. Podreu " +"convidar més gent més tard." + +#: src/app/main/ui/onboarding/team_choice.cljs:187 +#, unused +msgid "onboarding.choice.team-up.invite-members-info" +msgstr "" +"Recordeu d'incloure tothom. Desenvolupadors, dissenyadors, gestors... La " +"diversitat suma :)" + +#: src/app/main/ui/dashboard/team.cljs:292 +msgid "onboarding.choice.team-up.roles" +msgstr "Convideu amb el rol:" + +#: src/app/main/ui/onboarding/team_choice.cljs:222 +#, unused +msgid "onboarding.choice.team-up.start-without-a-team" +msgstr "Comenceu sense equip" + +#: src/app/main/ui/onboarding/team_choice.cljs:224 +#, unused +msgid "onboarding.choice.team-up.start-without-a-team-description" +msgstr "Podreu crear un equip més tard." + #, unused msgid "onboarding.newsletter.accept" msgstr "Sí, subscriu-m'hi" @@ -1917,10 +5205,216 @@ msgstr "Política de privacitat." msgid "onboarding.newsletter.title" msgstr "Voleu rebre les novetats de Penpot?" +#: src/app/main/ui/onboarding/questions.cljs:104 +msgid "onboarding.questions.lets-get-started" +msgstr "Comencem!" + +#: src/app/main/ui/onboarding/questions.cljs:248 +#, unused +msgid "onboarding.questions.reasons.alternative" +msgstr "Cerco una alternativa a Figma, XD, etc." + +#: src/app/main/ui/onboarding/questions.cljs:242 +#, unused +msgid "onboarding.questions.reasons.exploring" +msgstr "Només hi faig una ullada" + +#: src/app/main/ui/onboarding/questions.cljs:245 +#, unused +msgid "onboarding.questions.reasons.fit" +msgstr "Estic valorant si el Penpot és adequat per al meu equip" + +#: src/app/main/ui/onboarding/questions.cljs:251 +#, unused +msgid "onboarding.questions.reasons.testing" +msgstr "Ho estic provant abans d'autoallotjar-lo" + +#: src/app/main/ui/onboarding/questions.cljs:407 +#, unused +msgid "onboarding.questions.referer.article" +msgstr "Article (blog, publicació, butlletí)" + +#: src/app/main/ui/onboarding/questions.cljs:405 +#, unused +msgid "onboarding.questions.referer.search" +msgstr "Cercador (Google, Yahoo, Bing)" + +#: src/app/main/ui/onboarding/questions.cljs:406 +#, unused +msgid "onboarding.questions.referer.social" +msgstr "Xarxes socials (X, Linkedin, FB, etc.)" + +#: src/app/main/ui/onboarding/questions.cljs:275 +msgid "onboarding.questions.start-with.code" +msgstr "Generar codi real a partir de dissenys" + +#: src/app/main/ui/onboarding/questions.cljs:273 +msgid "onboarding.questions.start-with.ds" +msgstr "Crear sistemes de disseny" + +#: src/app/main/ui/onboarding/questions.cljs:271 +msgid "onboarding.questions.start-with.prototyping" +msgstr "Prototipatge" + +#: src/app/main/ui/onboarding/questions.cljs:267 +msgid "onboarding.questions.start-with.ui" +msgstr "Dissenyar la UI/UX d'una app" + +#: src/app/main/ui/onboarding/questions.cljs:269 +msgid "onboarding.questions.start-with.wireframing" +msgstr "Wireframing" + +#: src/app/main/ui/onboarding/questions.cljs:114 +msgid "onboarding.questions.step1.question1" +msgstr "Per a què utilitzareu el Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:272 +#, unused +msgid "onboarding.questions.step1.question2" +msgstr "Què us ha portat avui al Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:110 +msgid "onboarding.questions.step1.subtitle" +msgstr "" +"Expliqueu-nos una mica qui sou per a ajudar-nos a fer que el Penpot " +"funcioni per a vosaltres. Les vostres respostes ens ajudaran a prioritzar " +"funcionalitats noves i a orientar-vos per a començar." + +#: src/app/main/ui/onboarding/questions.cljs:107 +msgid "onboarding.questions.step1.title" +msgstr "Ajudieu-nos a conèixer-vos" + +#: src/app/main/ui/onboarding/questions.cljs:188 +msgid "onboarding.questions.step2.title" +msgstr "Quina d'aquestes eines utilitzeu més?" + +#: src/app/main/ui/onboarding/questions.cljs:121 +msgid "onboarding.questions.step3.question1" +msgstr "Quina mena de feina feu?" + +#: src/app/main/ui/onboarding/questions.cljs:303 +#, unused +msgid "onboarding.questions.step3.question2" +msgstr "Quin és el vostre rol?" + +#: src/app/main/ui/onboarding/questions.cljs:289 +#, unused +msgid "onboarding.questions.step3.question3" +msgstr "Quina mida té la vostra empresa?" + +#: src/app/main/ui/onboarding/questions.cljs:242 +msgid "onboarding.questions.step3.title" +msgstr "Quina és la mida de la vostra empresa?" + +#: src/app/main/ui/onboarding/questions.cljs:300 +msgid "onboarding.questions.step4.title" +msgstr "Per on voldríeu començar?" + +#: src/app/main/ui/onboarding/questions.cljs:428 +#, unused +msgid "onboarding.questions.step5.title" +msgstr "Com heu conegut el Penpot?" + +#: src/app/main/ui/onboarding/questions.cljs:226 +msgid "onboarding.questions.team-size.1001-5000" +msgstr "1.001 - 5.000" + +#: src/app/main/ui/onboarding/questions.cljs:222 +msgid "onboarding.questions.team-size.101-500" +msgstr "101 - 500" + +#: src/app/main/ui/onboarding/questions.cljs:233 +#, unused +msgid "onboarding.questions.team-size.11-30" +msgstr "11-30" + +#: src/app/main/ui/onboarding/questions.cljs:233 +#, unused +msgid "onboarding.questions.team-size.2-10" +msgstr "2-10" + +#: src/app/main/ui/onboarding/questions.cljs:220 +msgid "onboarding.questions.team-size.2-100" +msgstr "2 - 100" + +#: src/app/main/ui/onboarding/questions.cljs:231 +#, unused +msgid "onboarding.questions.team-size.31-50" +msgstr "31-50" + +#: src/app/main/ui/onboarding/questions.cljs:224 +msgid "onboarding.questions.team-size.501-1000" +msgstr "501 - 1.000" + +#: src/app/main/ui/onboarding/questions.cljs:234 +#, unused +msgid "onboarding.questions.team-size.freelancer" +msgstr "Treballo pel meu compte" + +#: src/app/main/ui/onboarding/questions.cljs:218 +msgid "onboarding.questions.team-size.just-me" +msgstr "Només jo" + +#: src/app/main/ui/onboarding/questions.cljs:230 +#, unused +msgid "onboarding.questions.team-size.more-than-50" +msgstr "Més de 50" + +#: src/app/main/ui/onboarding/questions.cljs:228 +msgid "onboarding.questions.team-size.more-than-5001" +msgstr "5.001+" + +#: src/app/main/ui/onboarding/questions.cljs:235 +#, unused +msgid "onboarding.questions.team-size.personal-project" +msgstr "Treballo en un projecte personal" + +#: src/app/main/ui/onboarding/questions.cljs:76 +msgid "onboarding.questions.use.education" +msgstr "Educació" + +#: src/app/main/ui/onboarding/questions.cljs:77 +msgid "onboarding.questions.use.personal" +msgstr "Personal" + +#: src/app/main/ui/onboarding/questions.cljs:75 +msgid "onboarding.questions.use.work" +msgstr "Feina" + #: src/app/main/ui/onboarding/team_choice.cljs:183 msgid "onboarding.team-modal.create-team" msgstr "Crea un equip" +#: src/app/main/ui/onboarding/team_choice.cljs:54 +msgid "onboarding.team-modal.create-team-desc" +msgstr "" +"Un equip us permet col·laborar amb altres usuaris del Penpot treballant en " +"els mateixos fitxers i projectes." + +#: src/app/main/ui/onboarding/team_choice.cljs:58 +msgid "onboarding.team-modal.create-team-feature-1" +msgstr "Fitxers i projectes il·limitats" + +#: src/app/main/ui/onboarding/team_choice.cljs:60 +msgid "onboarding.team-modal.create-team-feature-2" +msgstr "Edició multijugador" + +#: src/app/main/ui/onboarding/team_choice.cljs:62 +msgid "onboarding.team-modal.create-team-feature-3" +msgstr "Gestió de rols" + +#: src/app/main/ui/onboarding/team_choice.cljs:64 +msgid "onboarding.team-modal.create-team-feature-4" +msgstr "Membres il·limitats" + +#: src/app/main/ui/onboarding/team_choice.cljs:66 +msgid "onboarding.team-modal.create-team-feature-5" +msgstr "100% gratuït!" + +#: src/app/main/ui/onboarding/team_choice.cljs:49 +msgid "onboarding.team-modal.team-definition" +msgstr "Què és un equip?" + #: src/app/main/ui/onboarding/templates.cljs:78 msgid "onboarding.templates.subtitle" msgstr "Aquí teniu algunes plantilles." @@ -1933,14 +5427,63 @@ msgstr "Comenceu a dissenyar" msgid "onboarding.welcome.alt" msgstr "Penpot" +#: src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:42, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:101, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:108 +#, unused +msgid "options.deleted-token" +msgstr "Aquest token no existeix o s'ha eliminat." + +#: src/app/main/ui/ds/controls/utilities/token_field.cljs:52, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:57, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:120, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:136 +msgid "options.deleted-token-with-name" +msgstr "El token {%s} no existeix o s'ha eliminat." + +#: src/app/plugins/utils.cljs:538 +msgid "plugins.validation.invalid-value" +msgstr "s'esperava %s, s'ha rebut %s (%s)" + +#: src/app/plugins/utils.cljs:552 +msgid "plugins.validation.message" +msgstr "El camp %s no és vàlid: %s" + +#: src/app/plugins/utils.cljs:541 +msgid "plugins.validation.received-value" +msgstr "s'ha rebut %s (%s)" + #: src/app/main/ui/auth/recovery.cljs:97 msgid "profile.recovery.go-to-login" msgstr "Vés a l'inici de sessió" +#: src/app/main/ui/settings/import_shortcuts_diff_modal.cljs:109, src/app/main/ui/settings/restore_shortcuts_modal.cljs:100 +msgid "restore-shortcuts.acction" +msgstr "Acció" + +#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:94 +msgid "restore-shortcuts.modal-text" +msgstr "Les dreceres següents es restauraran als valors predeterminats." + +#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:90 +msgid "restore-shortcuts.modal-title" +msgstr "Restaura la configuració predeterminada" + +#: src/app/main/ui/settings/restore_shortcuts_modal.cljs:170 +msgid "restore-shortcuts.restore" +msgstr "Restaura" + +#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:990, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:419 +msgid "settings.detach" +msgstr "Desvincula" + #: src/app/main/ui/ds/controls/numeric_input.cljs:725, src/app/main/ui/inspect/exports.cljs:170, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:192, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:222, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:243, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:261, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:278, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:297, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:299, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:346, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:503, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1070, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1310, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:163, src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:174, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/input_wrapper_tokens.cljs:25, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:244, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:388, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:399, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:425, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:435, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:519, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:553, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:586, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:620, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:755, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:793, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:86, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:189, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:197, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:572, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:595, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:606, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:634, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:647, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:656, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:667, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:688, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:699, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:165, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:271, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:622, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:679, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:698, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:468, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:348, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:390 msgid "settings.multiple" msgstr "Mixt" +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:477 +msgid "settings.remove-color" +msgstr "Elimina el color" + +#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:482 +msgid "settings.select-this-color" +msgstr "Selecciona els elements que utilitzen aquest estil" + # SECTIONS #: src/app/main/ui/shortcuts.cljs:225 msgid "shortcut-section.basics" @@ -1964,6 +5507,11 @@ msgstr "Espai de treball" msgid "shortcut-subsection.alignment" msgstr "Alineació" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:60 +#, unused +msgid "shortcut-subsection.edit" +msgstr "Edita" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:60 #, unused msgid "shortcut-subsection.generic" @@ -2008,6 +5556,11 @@ msgstr "Camins" msgid "shortcut-subsection.shape" msgstr "Formes" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:70 +#, unused +msgid "shortcut-subsection.text-editor" +msgstr "Textos" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:71 #, unused msgid "shortcut-subsection.tools" @@ -2038,11 +5591,21 @@ msgstr "Afegeix node" msgid "shortcuts.align-bottom" msgstr "Alinea a baix" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:77 +#, unused +msgid "shortcuts.align-center" +msgstr "Alinea al centre" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:78 #, unused msgid "shortcuts.align-hcenter" msgstr "Alinea al centre horitzontalment" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:79 +#, unused +msgid "shortcuts.align-justify" +msgstr "Alinea justificat" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:80 #, unused msgid "shortcuts.align-left" @@ -2068,6 +5631,11 @@ msgstr "Alinea al centre verticalment" msgid "shortcuts.artboard-selection" msgstr "Crea un tauler a partir de selecció" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:85 +#, unused +msgid "shortcuts.bold" +msgstr "Commuta la negreta" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:86 #, unused msgid "shortcuts.bool-difference" @@ -2118,6 +5686,21 @@ msgstr "Esborra desfer" msgid "shortcuts.copy" msgstr "Copia" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:96 +#, unused +msgid "shortcuts.copy-link" +msgstr "Copia l'enllaç" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:106 +#, unused +msgid "shortcuts.copy-props" +msgstr "Copia les propietats" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:97 +#, unused +msgid "shortcuts.create-component-variant" +msgstr "Crea un component o una variant" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:98 #, unused msgid "shortcuts.create-new-project" @@ -2142,11 +5725,38 @@ msgstr "Elimina" msgid "shortcuts.delete-node" msgstr "Elimina el node" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:103 +#, unused +msgid "shortcuts.delete-node-and-segments" +msgstr "Elimina el node i els segments" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:103 +#, unused +msgid "shortcuts.deselect-all" +msgstr "Desselecciona-ho tot" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:104 #, unused msgid "shortcuts.detach-component" msgstr "Separa el component" +#: src/app/main/ui/shortcuts.cljs:589 +msgid "shortcuts.disable" +msgstr "Deshabilita la drecera" + +#: src/app/main/ui/settings/shortcuts.cljs:299, src/app/main/ui/settings/shortcuts.cljs:529 +msgid "shortcuts.disabled" +msgstr "Deshabilitada" + +#: src/app/main/ui/shortcuts.cljs:662 +msgid "shortcuts.disabled-shortcut" +msgstr "Drecera deshabilitada" + +#: src/app/main/ui/settings/shortcuts.cljs +#, unused +msgid "shortcuts.draw-arrow" +msgstr "Fletxa" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:104 #, unused msgid "shortcuts.draw-curve" @@ -2162,6 +5772,11 @@ msgstr "El·lipse" msgid "shortcuts.draw-frame" msgstr "Tauler" +#: src/app/main/ui/settings/shortcuts.cljs +#, unused +msgid "shortcuts.draw-line" +msgstr "Línia" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:107 #, unused msgid "shortcuts.draw-nodes" @@ -2187,6 +5802,24 @@ msgstr "Text" msgid "shortcuts.duplicate" msgstr "Duplica" +#: src/app/main/ui/shortcuts.cljs:572 +msgid "shortcuts.edit-modal.conflict" +msgstr "Combinació assignada a \"%s\". Si la deseu, s'eliminarà d'allà." + +#: src/app/main/ui/shortcuts.cljs:563 +msgid "shortcuts.edit-modal.reset-pending" +msgstr "Si la deseu, aquesta drecera tornarà al valor original:" + +#: src/app/main/ui/shortcuts.cljs:574 +msgid "shortcuts.edit-modal.success" +msgstr "" +"Aquesta combinació de tecles està disponible i es pot assignar sense " +"conflictes." + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:157 +msgid "shortcuts.edit-on-settings" +msgstr "Personalitzeu-les a la configuració" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:112 #, unused msgid "shortcuts.escape" @@ -2197,6 +5830,16 @@ msgstr "Cancel·la" msgid "shortcuts.export-shapes" msgstr "Exporta formes" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:114 +#, unused +msgid "shortcuts.find" +msgstr "Cerca" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:115 +#, unused +msgid "shortcuts.find-and-replace" +msgstr "Cerca i reemplaça" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:116 #, unused msgid "shortcuts.fit-all" @@ -2212,6 +5855,16 @@ msgstr "Gira horitzontalment" msgid "shortcuts.flip-vertical" msgstr "Gira verticalment" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:119 +#, unused +msgid "shortcuts.font-size-dec" +msgstr "Disminueix la mida de la lletra" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:120 +#, unused +msgid "shortcuts.font-size-inc" +msgstr "Augmenta la mida de la lletra" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:121 #, unused msgid "shortcuts.go-to-drafts" @@ -2242,6 +5895,10 @@ msgstr "Distribueix horitzontalment" msgid "shortcuts.hide-ui" msgstr "Mostra/Amaga la interfície" +#: src/app/main/ui/settings/shortcuts.cljs:536 +msgid "shortcuts.import-export" +msgstr "Importa/Exporta" + #: src/app/main/ui/workspace/right_header.cljs:92 msgid "shortcuts.increase-zoom" msgstr "Amplia" @@ -2251,11 +5908,25 @@ msgstr "Amplia" msgid "shortcuts.insert-image" msgstr "Insereix imatge" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:129 +#, unused +msgid "shortcuts.italic" +msgstr "Commuta la cursiva" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:130 #, unused msgid "shortcuts.join-nodes" msgstr "Uneix nodes" +#: src/app/main/ui/shortcuts.cljs:551 +msgid "shortcuts.key-combo" +msgstr "Premeu la combinació de tecles" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:131 +#, unused +msgid "shortcuts.line-through" +msgstr "Commuta el text tatxat" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:132 #, unused msgid "shortcuts.make-corner" @@ -2331,6 +6002,18 @@ msgstr "Mou amunt" msgid "shortcuts.next-frame" msgstr "Següent tauler" +#: src/app/main/ui/settings/shortcuts.cljs:510 +msgid "shortcuts.no-disabled" +msgstr "No hi ha dreceres deshabilitades" + +#: src/app/main/ui/settings/shortcuts.cljs:500 +msgid "shortcuts.no-personalized" +msgstr "Ves a Totes per començar a personalitzar les dreceres." + +#: src/app/main/ui/settings/shortcuts.cljs:242, src/app/main/ui/settings/shortcuts.cljs:491 +msgid "shortcuts.no-shortcuts" +msgstr "No hi ha cap drecera que coincideixi amb la cerca" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:154 msgid "shortcuts.not-found" msgstr "No s'han trobat dreceres" @@ -2400,6 +6083,11 @@ msgstr "Ves als comentaris del visor" msgid "shortcuts.open-dashboard" msgstr "Ves al panell de control" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:160 +#, unused +msgid "shortcuts.open-inspect" +msgstr "Ves a la secció d'inspecció del visor" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:161 #, unused msgid "shortcuts.open-interactions" @@ -2419,11 +6107,38 @@ msgstr "Ves a l'espai de treball" msgid "shortcuts.or" msgstr " o " +#: src/app/main/ui/shortcuts.cljs:532, src/app/main/ui/shortcuts.cljs:674 +msgid "shortcuts.overwritten-by" +msgstr "Aquesta drecera s'ha reassignat a %s" + +#: src/app/main/ui/settings/shortcuts.cljs:468 +msgid "shortcuts.page" +msgstr "Pàgina de dreceres" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:164 #, unused msgid "shortcuts.paste" msgstr "Enganxa" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:111 +#, unused +msgid "shortcuts.paste-props" +msgstr "Enganxa les propietats" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:165 +#, unused +msgid "shortcuts.paste-replace" +msgstr "Enganxa i reemplaça" + +#: src/app/main/ui/settings/shortcuts.cljs:296, src/app/main/ui/settings/shortcuts.cljs:523 +msgid "shortcuts.personalized" +msgstr "Personalitzades" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:604 +#, unused +msgid "shortcuts.plugins" +msgstr "Gestor d'extensions" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:166 #, unused msgid "shortcuts.prev-frame" @@ -2434,11 +6149,31 @@ msgstr "Tauler anterior" msgid "shortcuts.redo" msgstr "Refés" +#: src/app/main/ui/settings/shortcuts.cljs:479 +msgid "shortcuts.reload-hint" +msgstr "" +"Després d'editar les dreceres, recarregueu les altres pestanyes obertes del " +"Penpot per aplicar els canvis." + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:168 +#, unused +msgid "shortcuts.rename" +msgstr "Canvia el nom" + +#: src/app/main/ui/shortcuts.cljs:597 +msgid "shortcuts.reset" +msgstr "Restableix els valors predeterminats" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:169 #, unused msgid "shortcuts.reset-zoom" msgstr "Restableix el zoom" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:170 +#, unused +msgid "shortcuts.scale" +msgstr "Escala" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:171 #, unused msgid "shortcuts.search-placeholder" @@ -2449,11 +6184,31 @@ msgstr "Cerca dreceres" msgid "shortcuts.select-all" msgstr "Selecciona-ho tot" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:173 +#, unused +msgid "shortcuts.select-next" +msgstr "Selecciona la capa següent" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:174 +#, unused +msgid "shortcuts.select-parent-layer" +msgstr "Selecciona la capa pare" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:175 +#, unused +msgid "shortcuts.select-prev" +msgstr "Selecciona la capa anterior" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:176 #, unused msgid "shortcuts.separate-nodes" msgstr "Separa els nodes" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:182 +#, unused +msgid "shortcuts.show-measure" +msgstr "Mostra les mesures" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:177 #, unused msgid "shortcuts.show-pixel-grid" @@ -2503,6 +6258,11 @@ msgstr "Commuta els recursos" msgid "shortcuts.toggle-colorpalette" msgstr "Commuta paleta de colors" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs +#, unused +msgid "shortcuts.toggle-comments-visibility" +msgstr "Mostra o amaga els comentaris" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:188 #, unused msgid "shortcuts.toggle-focus-mode" @@ -2526,7 +6286,17 @@ msgstr "Mostra/Amaga l'historial" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:192 #, unused msgid "shortcuts.toggle-layers" -msgstr "Commutales capes" +msgstr "Commuta les capes" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:193 +#, unused +msgid "shortcuts.toggle-layout-flex" +msgstr "Afegeix o suprimeix la disposició flexible" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:194 +#, unused +msgid "shortcuts.toggle-layout-grid" +msgstr "Afegeix o suprimeix la disposició de quadrícula" #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:195 #, unused @@ -2538,11 +6308,31 @@ msgstr "Bloqueja la selecció" msgid "shortcuts.toggle-lock-size" msgstr "Bloqueja les proporcions" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:197 +#, unused +msgid "shortcuts.toggle-rulers" +msgstr "Mostra o amaga les regles" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:198 +#, unused +msgid "shortcuts.toggle-snap-guides" +msgstr "Ajusta a les guies" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:199 +#, unused +msgid "shortcuts.toggle-snap-ruler-guide" +msgstr "Ajusta a les guies de les regles" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:200 #, unused msgid "shortcuts.toggle-textpalette" msgstr "Mostra/amaga la paleta de text" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:201 +#, unused +msgid "shortcuts.toggle-theme" +msgstr "Canvia el tema" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:202 #, unused msgid "shortcuts.toggle-visibility" @@ -2553,6 +6343,11 @@ msgstr "Mostra/amaga l'element" msgid "shortcuts.toggle-zoom-style" msgstr "Commuta l'estil de zoom" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:204 +#, unused +msgid "shortcuts.underline" +msgstr "Commuta el subratllat" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:205 #, unused msgid "shortcuts.undo" @@ -2573,11 +6368,511 @@ msgstr "Desemmascara" msgid "shortcuts.v-distribute" msgstr "Distribueix verticalment" +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:209 +#, unused +msgid "shortcuts.zoom-lense-decrease" +msgstr "Redueix el zoom de la lupa" + +#: src/app/main/ui/workspace/sidebar/shortcuts.cljs:210 +#, unused +msgid "shortcuts.zoom-lense-increase" +msgstr "Augmenta el zoom de la lupa" + #: src/app/main/ui/workspace/sidebar/shortcuts.cljs:211 #, unused msgid "shortcuts.zoom-selected" msgstr "Amplia a la selecció" +#: src/app/main/ui/dashboard/subscription.cljs:207 +msgid "subscription.banner.create-organization-info" +msgstr "" +"Creeu una organització i descobriu exactament com funciona l'Enterprise. " +"Definiu regles, gestioneu els vostres equips i descobriu un nou nivell de " +"control sobre el vostre flux de treball de disseny." + +#: src/app/main/ui/dashboard/subscription.cljs:205 +msgid "subscription.banner.see-enterprise" +msgstr "Vegeu l'Enterprise en acció" + +#: src/app/main/ui/dashboard/subscription.cljs:269 +msgid "subscription.current-plan.enterprise" +msgstr "Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:268, src/app/main/ui/settings/subscription.cljs:780 +msgid "subscription.current-plan.nitrate" +msgstr "Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:267 +msgid "subscription.current-plan.nitrate-trial" +msgstr "Enterprise (prova)" + +#: src/app/main/ui/dashboard/subscription.cljs:262 +msgid "subscription.current-plan.professional" +msgstr "Professional" + +#: src/app/main/ui/dashboard/subscription.cljs:257 +msgid "subscription.current-plan.title" +msgstr "La vostra subscripció" + +#: src/app/main/ui/dashboard/subscription.cljs:265 +msgid "subscription.current-plan.unlimited" +msgstr "Unlimited" + +#: src/app/main/ui/dashboard/subscription.cljs:264 +msgid "subscription.current-plan.unlimited-trial" +msgstr "Unlimited (prova)" + +#: src/app/main/ui/dashboard/subscription.cljs:245 +msgid "subscription.dashboard.banner.renew" +msgstr "Renova" + +#: src/app/main/ui/dashboard/subscription.cljs:232 +msgid "subscription.dashboard.banner.renew-subscription" +msgstr "Renoveu la vostra subscripció" + +#: src/app/main/ui/dashboard/subscription.cljs:238 +msgid "subscription.dashboard.banner.subscription-expire-days" +msgstr "La vostra subscripció a l'Enterprise caduca en %s dies (%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:236 +msgid "subscription.dashboard.banner.subscription-expired" +msgstr "La vostra subscripció a l'Enterprise ha caducat. (%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:217 +msgid "subscription.dashboard.banner.unlock-features" +msgstr "Desbloquegeu les funcions Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:219 +msgid "subscription.dashboard.banner.unlock-features-description-text" +msgstr "" +"Definiu permisos granulars i manteniu el control, sense renunciar a la " +"llibertat del codi obert que tant agrada al vostre equip." + +#: src/app/main/ui/dashboard/subscription.cljs:224 +msgid "subscription.dashboard.banner.upgrade-nitrate" +msgstr "Comenceu amb l'Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:117, src/app/main/ui/dashboard/subscription.cljs:315 +msgid "subscription.dashboard.power-up.enterprise-plan" +msgstr "Pla Enterprise" + +#: src/app/main/ui/dashboard/subscription.cljs:112 +msgid "subscription.dashboard.power-up.enterprise-trial.top-title" +msgstr "Pla Enterprise (prova)" + +#: src/app/main/ui/dashboard/subscription.cljs:87 +msgid "subscription.dashboard.power-up.professional.bottom-button" +msgstr "Milloreu-ho!" + +#: src/app/main/ui/dashboard/subscription.cljs:86 +msgid "subscription.dashboard.power-up.professional.bottom-description" +msgstr "" +"Obteniu emmagatzematge addicional, recuperació de fitxers i molt més per " +"als vostres equips." + +#: src/app/main/ui/dashboard/subscription.cljs:85 +msgid "subscription.dashboard.power-up.professional.top-title" +msgstr "Pla Professional" + +#: src/app/main/ui/dashboard/subscription.cljs:64, src/app/main/ui/settings/subscription.cljs:107, src/app/main/ui/settings/subscription.cljs:131 +#, unused +msgid "subscription.dashboard.power-up.subscribe" +msgstr "Subscriviu-vos" + +#: src/app/main/ui/dashboard/subscription.cljs:97 +#, markdown +msgid "subscription.dashboard.power-up.trial.bottom-description" +msgstr "" +"Us agrada el període de prova? Desbloquegeu l'accés complet per a " +"sempre.[Subscriviu-vos|target:self](%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:96 +msgid "subscription.dashboard.power-up.trial.top-title" +msgstr "Pla Unlimited (prova)" + +#: src/app/main/ui/dashboard/subscription.cljs:103, src/app/main/ui/dashboard/subscription.cljs:314 +msgid "subscription.dashboard.power-up.unlimited-plan" +msgstr "Pla Unlimited" + +#: src/app/main/ui/dashboard/subscription.cljs:104 +#, markdown +msgid "subscription.dashboard.power-up.unlimited.bottom-text" +msgstr "" +"Obteniu emmagatzematge il·limitat, recuperació de fitxers ampliada i " +"editors il·limitats per a tots els vostres equips a un preu fix. [Feu una " +"ullada al pla Enterprise.|target:self](%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:70 +#, unused +msgid "subscription.dashboard.power-up.unlimited.cta" +msgstr "Feu-hi una ullada" + +#: src/app/main/ui/dashboard/subscription.cljs:68 +#, unused +msgid "subscription.dashboard.power-up.unlimited.top-description" +msgstr "" +"Editors addicionals, emmagatzematge i versions desades automàticament, " +"còpia de seguretat de fitxers i molt més." + +#: src/app/main/ui/dashboard/subscription.cljs:84, src/app/main/ui/dashboard/subscription.cljs:95, src/app/main/ui/dashboard/subscription.cljs:102, src/app/main/ui/dashboard/subscription.cljs:111, src/app/main/ui/dashboard/subscription.cljs:116 +msgid "subscription.dashboard.power-up.your-subscription" +msgstr "La vostra subscripció:" + +#: src/app/main/ui/dashboard/subscription.cljs:349 +msgid "subscription.dashboard.professional-dashboard-cta-title" +msgstr "" +"Teniu %s editors als vostres equips, mentre que el vostre pla Professional " +"en cobreix fins a 8." + +#: src/app/main/ui/dashboard/subscription.cljs:357 +#, markdown +msgid "subscription.dashboard.professional-dashboard-cta-upgrade-owner" +msgstr "" +"Canvieu ara a Unlimited o Enterprise per a desbloquejar més editors, " +"emmagatzematge i recuperació de fitxers. [Subscriviu-vos " +"ara.|target:self](%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:290 +msgid "subscription.dashboard.team-plan" +msgstr "Pla d'equip" + +#: src/app/main/ui/dashboard/subscription.cljs:352 +msgid "subscription.dashboard.unlimited-dashboard-cta-title" +msgstr "" +"El vostre equip continua creixent! El vostre pla Unlimited cobreix fins a " +"%s editors, però ara en teniu %s." + +#: src/app/main/ui/dashboard/subscription.cljs:360 +#, markdown +msgid "subscription.dashboard.unlimited-dashboard-cta-upgrade-owner" +msgstr "" +"Canvieu ara el vostre pla per a ajustar-lo al nombre actual " +"d'editors.[Subscriviu-vos ara.|target:self](%s)" + +#: src/app/main/ui/dashboard/subscription.cljs:337 +msgid "subscription.dashboard.unlimited-members-extra-editors-cta-text" +msgstr "" +"Només els editors nous dels vostres equips comptaran per a la facturació " +"futura. Es continuarà aplicant una tarifa plana de 175 $/mes per a 25 o més " +"editors." + +#: src/app/main/ui/dashboard/subscription.cljs:333 +msgid "subscription.dashboard.unlimited-members-extra-editors-cta-title" +msgstr "Convidar persones amb el pla Unlimited" + +#: src/app/main/ui/dashboard/sidebar.cljs:1330 +#, unused +msgid "subscription.dashboard.upgrade-plan.power-up" +msgstr "Millora" + +#: src/app/main/ui/settings/subscription.cljs:429 +msgid "subscription.error.nitrate.checkout-cancelled" +msgstr "El pagament no s'ha completat. Torneu-ho a intentar quan vulgueu." + +#: src/app/main/ui/settings/subscription.cljs:428, src/app/main/ui/settings/subscription.cljs:448 +msgid "subscription.error.nitrate.checkout-failed" +msgstr "" +"El pagament no s'ha completat. Torneu-ho a intentar. Si el problema " +"continua, contacteu amb nosaltres: support@penpot.app." + +#: src/app/main/ui/settings/sidebar.cljs:126, src/app/main/ui/settings/subscription.cljs:545, src/app/main/ui/settings/subscription.cljs:606 +msgid "subscription.labels" +msgstr "Subscripció" + +#: src/app/main/ui/settings/subscription.cljs:105 +msgid "subscription.settings.activate-by-code" +msgstr "Introduïu el codi d'activació" + +#: src/app/main/ui/settings/subscription.cljs:655, src/app/main/ui/settings/subscription.cljs:681 +msgid "subscription.settings.add-payment-to-continue" +msgstr "Afegiu un mètode de pagament per a continuar després del període de prova" + +#: src/app/main/ui/settings/subscription.cljs:621 +msgid "subscription.settings.admin-console" +msgstr "Consola d'administració" + +#: src/app/main/ui/settings/subscription.cljs:649, src/app/main/ui/settings/subscription.cljs:740 +msgid "subscription.settings.benefits.all-professional-benefits" +msgstr "Tots els avantatges del pla Professional i:" + +#: src/app/main/ui/settings/subscription.cljs:662, src/app/main/ui/settings/subscription.cljs:675, src/app/main/ui/settings/subscription.cljs:686, src/app/main/ui/settings/subscription.cljs:756 +msgid "subscription.settings.benefits.all-unlimited-benefits" +msgstr "Tots els avantatges del pla Unlimited i:" + +#: src/app/main/ui/settings/subscription.cljs:614, src/app/main/ui/settings/subscription.cljs:771 +msgid "subscription.settings.benefits.nitrate-unlimited-benefits" +msgstr "Tots els avantatges del pla Unlimited, a més de:" + +#: src/app/main/ui/settings/subscription.cljs:64 +msgid "subscription.settings.editors" +msgstr "(x %s editors)" + +#: src/app/main/ui/dashboard/subscription.cljs:298, src/app/main/ui/settings/subscription.cljs:124, src/app/main/ui/settings/subscription.cljs:464, src/app/main/ui/settings/subscription.cljs:466, src/app/main/ui/settings/subscription.cljs:600, src/app/main/ui/settings/subscription.cljs:611, src/app/main/ui/settings/subscription.cljs:684, src/app/main/ui/settings/subscription.cljs:752, src/app/main/ui/settings/subscription.cljs:768 +msgid "subscription.settings.enterprise" +msgstr "Enterprise" + +#: src/app/main/ui/settings/subscription.cljs:120, src/app/main/ui/settings/subscription.cljs:599, src/app/main/ui/settings/subscription.cljs:673 +msgid "subscription.settings.enterprise-trial" +msgstr "Enterprise (prova)" + +#: src/app/main/ui/settings/subscription.cljs:677, src/app/main/ui/settings/subscription.cljs:688, src/app/main/ui/settings/subscription.cljs:758 +msgid "subscription.settings.enterprise.autosave" +msgstr "Versions desades automàticament de 90 dies i recuperació de fitxers" + +#: src/app/main/ui/settings/subscription.cljs:678, src/app/main/ui/settings/subscription.cljs:689, src/app/main/ui/settings/subscription.cljs:759 +msgid "subscription.settings.enterprise.capped-bill" +msgstr "Factura mensual fixa" + +#: src/app/main/ui/settings/subscription.cljs:619, src/app/main/ui/settings/subscription.cljs:776 +msgid "subscription.settings.enterprise.nitrate.advanced-control" +msgstr "Control avançat:" + +#: src/app/main/ui/settings/subscription.cljs:617, src/app/main/ui/settings/subscription.cljs:774 +msgid "subscription.settings.enterprise.nitrate.enterprise-security" +msgstr "Seguretat Enterprise:" + +#: src/app/main/ui/settings/subscription.cljs:615, src/app/main/ui/settings/subscription.cljs:772 +msgid "subscription.settings.enterprise.nitrate.multi-organization-management" +msgstr "Gestió multiorganització:" + +#: src/app/main/ui/settings/subscription.cljs:618, src/app/main/ui/settings/subscription.cljs:775 +msgid "subscription.settings.enterprise.nitrate.native-sso" +msgstr "" +"SAML/SSO natiu i registre complet d'auditoria (Audit Trail) per a informes " +"de compliment." + +#: src/app/main/ui/settings/subscription.cljs:620, src/app/main/ui/settings/subscription.cljs:777 +msgid "subscription.settings.enterprise.nitrate.plugin-whitelisting" +msgstr "" +"Llista blanca granular de complements (plugins), inclòs el nostre servidor " +"MCP segur i aïllat per a la connectivitat amb IA." + +#: src/app/main/ui/settings/subscription.cljs:616, src/app/main/ui/settings/subscription.cljs:773 +msgid "subscription.settings.enterprise.nitrate.support-team" +msgstr "" +"Compatibilitat amb jerarquies d'equips complexes i suborganitzacions " +"independents." + +#: src/app/main/ui/settings/subscription.cljs:676, src/app/main/ui/settings/subscription.cljs:687, src/app/main/ui/settings/subscription.cljs:757 +msgid "subscription.settings.enterprise.unlimited-storage-benefit" +msgstr "Emmagatzematge il·limitat" + +#: src/app/main/ui/dashboard/subscription.cljs:303, src/app/main/ui/settings/subscription.cljs:624, src/app/main/ui/settings/subscription.cljs:653, src/app/main/ui/settings/subscription.cljs:666, src/app/main/ui/settings/subscription.cljs:679, src/app/main/ui/settings/subscription.cljs:690 +msgid "subscription.settings.manage-your-subscription" +msgstr "Gestioneu la vostra subscripció" + +#: src/app/main/ui/settings/subscription.cljs:349 +msgid "subscription.settings.management-dialog.step-2-add-payment-button" +msgstr "Afegiu les dades de pagament" + +#: src/app/main/ui/settings/subscription.cljs:336 +msgid "subscription.settings.management-dialog.step-2-description" +msgstr "" +"Afegiu ara les vostres dades de pagament perquè la vostra subscripció " +"continuï funcionant sense problemes després del període de prova i " +"continueu donant suport al nostre projecte de codi obert. De moment no se " +"us farà cap càrrec." + +#: src/app/main/ui/settings/subscription.cljs:344 +msgid "subscription.settings.management-dialog.step-2-skip-button" +msgstr "Ometeu-ho de moment i comenceu la prova" + +#: src/app/main/ui/settings/subscription.cljs:267 +msgid "subscription.settings.management-dialog.step-2-title" +msgstr "Ajudeu-nos a créixer i faciliteu el vostre període de prova" + +#: src/app/main/ui/settings/subscription.cljs:136 +msgid "subscription.settings.management.dialog.currently-editors-title" +msgid_plural "subscription.settings.management.dialog.currently-editors-title" +msgstr[0] "Actualment teniu %s persona als vostres equips que pot editar." +msgstr[1] "Actualment teniu %s persones als vostres equips que poden editar." + +#: src/app/main/ui/settings/subscription.cljs:281 +msgid "subscription.settings.management.dialog.downgrade" +msgstr "" +"Atenció: si canvieu a un pla inferior, tindreu menys emmagatzematge i " +"còpies de seguretat i un historial de versions més curts." + +#: src/app/main/ui/settings/subscription.cljs:138 +msgid "subscription.settings.management.dialog.editors" +msgstr "Editors" + +#: src/app/main/ui/settings/subscription.cljs:145 +msgid "subscription.settings.management.dialog.editors-explanation" +msgstr "" +"(Propietaris, administradors i editors. Els lectors no compten com a " +"editors)" + +#: src/app/main/ui/settings/subscription.cljs:314 +msgid "subscription.settings.management.dialog.input-error" +msgstr "" +"No podeu fixar un nombre d'editors inferior al que teniu ara. Canvieu el " +"rol (d'editor/administrador a lector) de les persones que no editen fitxers " +"a la configuració de l'equip." + +#: src/app/main/ui/settings/subscription.cljs:310 +msgid "subscription.settings.management.dialog.payment-explanation" +msgstr "" +"El càrrec es farà després del període de prova. Ara mateix no cal cap " +"targeta de crèdit." + +#: src/app/main/ui/settings/subscription.cljs:303, src/app/main/ui/settings/subscription.cljs:307 +#, markdown +msgid "subscription.settings.management.dialog.price-month" +msgstr "**$%s**/mes" + +#: src/app/main/ui/settings/subscription.cljs:268 +msgid "subscription.settings.management.dialog.title" +msgstr "Apliqueu %s als vostres equips" + +#: src/app/main/ui/settings/subscription.cljs:317 +msgid "subscription.settings.management.dialog.unlimited-capped-warning" +msgstr "" +"Consell: podeu augmentar ara el nombre de seients per a avançar-vos a les " +"invitacions. Amb 25 o més editors en tots els equips, gaudireu d'una tarifa " +"plana de 175 $ al mes." + +#: src/app/main/ui/settings/subscription.cljs:709 +msgid "subscription.settings.member-since" +msgstr "Membre del Penpot des de: %s" + +#: src/app/main/ui/settings/subscription.cljs:731, src/app/main/ui/settings/subscription.cljs:746, src/app/main/ui/settings/subscription.cljs:762, src/app/main/ui/settings/subscription.cljs:782 +msgid "subscription.settings.more-information" +msgstr "Més informació" + +#: src/app/main/ui/settings/subscription.cljs:770, src/app/main/ui/settings/subscription.cljs:830 +msgid "subscription.settings.organization-member-month" +msgstr "membre de l'organització / mes" + +#: src/app/main/ui/settings/subscription.cljs:712 +msgid "subscription.settings.other-plans" +msgstr "Altres plans del Penpot" + +#: src/app/main/ui/settings/subscription.cljs:755 +msgid "subscription.settings.price-organization-month" +msgstr "organització per mes" + +#: src/app/main/ui/settings/subscription.cljs:716, src/app/main/ui/settings/subscription.cljs:739 +msgid "subscription.settings.price-user-month" +msgstr "usuari / mes" + +#: src/app/main/ui/dashboard/subscription.cljs:293, src/app/main/ui/settings/subscription.cljs:122, src/app/main/ui/settings/subscription.cljs:633, src/app/main/ui/settings/subscription.cljs:714 +msgid "subscription.settings.professional" +msgstr "Professional" + +#: src/app/main/ui/settings/subscription.cljs:638, src/app/main/ui/settings/subscription.cljs:721 +msgid "subscription.settings.professional.autosave-benefit" +msgstr "Versions desades automàticament de 7 dies i recuperació de fitxers" + +#: src/app/main/ui/settings/subscription.cljs:642, src/app/main/ui/settings/subscription.cljs:725 +msgid "subscription.settings.professional.selfhost.community-support" +msgstr "Totes les funcions de disseny i prototipatge. Assistència de la comunitat." + +#: src/app/main/ui/settings/subscription.cljs:636, src/app/main/ui/settings/subscription.cljs:719 +msgid "subscription.settings.professional.selfhost.control-over-data" +msgstr "Control total sobre les dades i la infraestructura." + +#: src/app/main/ui/settings/subscription.cljs:639, src/app/main/ui/settings/subscription.cljs:722 +msgid "subscription.settings.professional.selfhost.unlimited-users" +msgstr "Usuaris, equips i fitxers il·limitats." + +#: src/app/main/ui/settings/subscription.cljs:635, src/app/main/ui/settings/subscription.cljs:718 +msgid "subscription.settings.professional.storage-benefit" +msgstr "10 GB d'emmagatzematge" + +#: src/app/main/ui/settings/subscription.cljs:641, src/app/main/ui/settings/subscription.cljs:724 +msgid "subscription.settings.professional.teams-editors-benefit" +msgstr "Equips il·limitats. Fins a 8 editors als vostres equips." + +#: src/app/main/ui/settings/subscription.cljs:60 +msgid "subscription.settings.recommended" +msgstr "Recomanat" + +#: src/app/main/ui/settings/subscription.cljs:609 +msgid "subscription.settings.section-plan" +msgstr "La vostra subscripció" + +#: src/app/main/ui/settings/subscription.cljs:364 +msgid "subscription.settings.start-trial" +msgstr "Comenceu la prova gratuïta" + +#: src/app/main/ui/settings/subscription.cljs:329, src/app/main/ui/settings/subscription.cljs:726, src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:760, src/app/main/ui/settings/subscription.cljs:778, src/app/main/ui/settings/subscription.cljs:845 +msgid "subscription.settings.subscribe" +msgstr "Subscriviu-vos" + +#: src/app/main/ui/settings/subscription.cljs:702 +msgid "subscription.settings.subscribed-since" +msgstr "Esteu al pla %s des de %s." + +#: src/app/main/ui/settings/subscription.cljs:396 +msgid "subscription.settings.success.dialog.description" +msgstr "" +"Podeu editar la vostra subscripció en qualsevol moment des de la " +"pàgina\"Subscripció\" als detalls del compte." + +#: src/app/main/ui/settings/subscription.cljs:398 +msgid "subscription.settings.success.dialog.footer" +msgstr "Gaudiu del vostre pla!" + +#: src/app/main/ui/settings/subscription.cljs:394 +msgid "subscription.settings.success.dialog.thanks" +msgstr "Gràcies per triar el pla %s del Penpot!" + +#: src/app/main/ui/settings/subscription.cljs:391 +msgid "subscription.settings.success.dialog.title" +msgstr "Sou %s!" + +#: src/app/main/ui/settings/subscription.cljs:744, src/app/main/ui/settings/subscription.cljs:760 +msgid "subscription.settings.try-it-free" +msgstr "Proveu-ho gratis durant 14 dies" + +#: src/app/main/ui/dashboard/subscription.cljs:296, src/app/main/ui/settings/subscription.cljs:123, src/app/main/ui/settings/subscription.cljs:465, src/app/main/ui/settings/subscription.cljs:597, src/app/main/ui/settings/subscription.cljs:660, src/app/main/ui/settings/subscription.cljs:736 +msgid "subscription.settings.unlimited" +msgstr "Unlimited" + +#: src/app/main/ui/dashboard/subscription.cljs:295, src/app/main/ui/settings/subscription.cljs:119, src/app/main/ui/settings/subscription.cljs:596, src/app/main/ui/settings/subscription.cljs:647 +msgid "subscription.settings.unlimited-trial" +msgstr "Unlimited (prova)" + +#: src/app/main/ui/settings/subscription.cljs:651, src/app/main/ui/settings/subscription.cljs:664, src/app/main/ui/settings/subscription.cljs:742 +msgid "subscription.settings.unlimited.autosave-benefit" +msgstr "Versions desades automàticament de 30 dies i recuperació de fitxers" + +#: src/app/main/ui/settings/subscription.cljs:652, src/app/main/ui/settings/subscription.cljs:665, src/app/main/ui/settings/subscription.cljs:743 +msgid "subscription.settings.unlimited.bill" +msgstr "Factura mensual limitada a 175 $" + +#: src/app/main/ui/settings/subscription.cljs:650, src/app/main/ui/settings/subscription.cljs:663, src/app/main/ui/settings/subscription.cljs:741 +msgid "subscription.settings.unlimited.storage-benefit" +msgstr "25 GB d'emmagatzematge" + +#: src/app/main/ui/dashboard/subscription.cljs:328 +msgid "subscription.workspace.header.menu.option.power-up" +msgstr "Milloreu el vostre pla" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:62 +#, markdown +msgid "subscription.workspace.versions.warning.enterprise.subtext-owner" +msgstr "Si voleu augmentar aquest límit, escriviu-nos a [%s](mailto)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:64 +#, markdown +msgid "subscription.workspace.versions.warning.subtext-member" +msgstr "" +"Si voleu augmentar aquest límit, contacteu amb el propietari de " +"l'equip:[%s](mailto)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:63 +#, markdown +msgid "subscription.workspace.versions.warning.subtext-owner" +msgstr "Si voleu augmentar aquest límit, [canvieu el vostre pla|target:self](%s)" + +#: src/app/main/ui/dashboard/team.cljs:1202 +msgid "team.invitations-selected" +msgid_plural "team.invitations-selected" +msgstr[0] "1 invitació seleccionada" +msgstr[1] "%s invitacions seleccionades" + #: src/app/main/ui/dashboard/files.cljs:188 msgid "title.dashboard.files" msgstr "%s - Penpot" @@ -2610,6 +6905,14 @@ msgstr "Penpot - Llibertat de disseny per a equips" msgid "title.settings.feedback" msgstr "Envia opinions - Penpot" +#: src/app/main/ui/settings/integrations.cljs:646 +msgid "title.settings.integrations" +msgstr "Integracions - Penpot" + +#: src/app/main/ui/settings/notifications.cljs:45 +msgid "title.settings.notifications" +msgstr "Notificacions - Penpot" + #: src/app/main/ui/settings/options.cljs:123 msgid "title.settings.options" msgstr "Configuració - Penpot" @@ -2634,6 +6937,10 @@ msgstr "Membres - %s - Penpot" msgid "title.team-settings" msgstr "Configuració - %s - Penpot" +#: src/app/main/ui/dashboard/team.cljs:1529 +msgid "title.team-webhooks" +msgstr "Webhooks - %s - Penpot" + #: src/app/main/ui/viewer.cljs:422 msgid "title.viewer" msgstr "%s - Visor - Penpot" @@ -2642,6 +6949,10 @@ msgstr "%s - Visor - Penpot" msgid "title.workspace" msgstr "%s - Penpot" +#: src/app/main/ui/ds/controls/utilities/token_field.cljs:120, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:83, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:171 +msgid "token-actions.detach-token" +msgstr "Desvincula el token" + #: src/app/main/ui.cljs:138 #, unused msgid "viewer.breaking-change.description" @@ -2670,10 +6981,19 @@ msgstr "Comentaris (%s)" msgid "viewer.header.dont-show-interactions" msgstr "No mostris les interaccions" +#: src/app/main/ui/viewer/header.cljs:187 +#, unused +msgid "viewer.header.edit-in-workspace" +msgstr "Edita a l'espai de treball" + #: src/app/main/ui/viewer/header.cljs:195 msgid "viewer.header.fullscreen" msgstr "Pantalla completa" +#: src/app/main/ui/viewer/header.cljs:350 +msgid "viewer.header.inspect-section" +msgstr "Inspecciona (%s)" + #: src/app/main/ui/viewer/interactions.cljs:258 msgid "viewer.header.interactions" msgstr "Interaccions" @@ -2698,6 +7018,59 @@ msgstr "Mostra les interaccions en fer clic" msgid "viewer.header.sitemap" msgstr "Mapa del lloc" +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:76 +msgid "webgl.modals.webgl-unavailable.cta-dashboard" +msgstr "Aneu al tauler" + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:78 +msgid "webgl.modals.webgl-unavailable.cta-troubleshooting" +msgstr "Guia de resolució de problemes" + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:62 +msgid "webgl.modals.webgl-unavailable.message" +msgstr "" +"WebGL no està disponible al vostre navegador, i és necessari perquè el " +"Penpot funcioni. Comproveu la configuració del navegador i/o tanqueu les " +"pestanyes que consumeixin molts gràfics." + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:58 +msgid "webgl.modals.webgl-unavailable.title" +msgstr "Vaja! WebGL no està disponible" + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:71 +msgid "webgl.modals.webgl-unavailable.troubleshooting.after" +msgstr "" +"per a revisar la configuració del navegador, l'acceleració de GPU, els " +"controladors i els problemes habituals del sistema." + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:65 +msgid "webgl.modals.webgl-unavailable.troubleshooting.before" +msgstr "Seguiu la nostra " + +#: src/app/main/ui/workspace/webgl_unavailable_modal.cljs:70 +msgid "webgl.modals.webgl-unavailable.troubleshooting.link" +msgstr "guia de resolució de problemes de WebGL" + +#, unused +msgid "webgl.toast.webgl-render-disabled" +msgstr "Renderització WebGL desactivada" + +#, unused +msgid "webgl.toast.webgl-render-enabled" +msgstr "Renderització WebGL activada" + +#: src/app/render_wasm/api.cljs:2456 +msgid "webgl.webgl-context-lost.toast" +msgstr "S'ha perdut el context WebGL" + +#: src/app/render_wasm/api.cljs:2479 +msgid "webgl.webgl-context-recovered.toast" +msgstr "S'ha recuperat el context WebGL" + +#: src/app/main/ui/dashboard/team.cljs:1483 +msgid "webhooks.last-delivery.success" +msgstr "L'últim lliurament ha anat bé." + #: src/app/main/ui/workspace/sidebar/options/menus/align.cljs:71 msgid "workspace.align.hcenter" msgstr "Alinea el centre horitzontal (%s)" @@ -2730,6 +7103,10 @@ msgstr "Distribueix l'espaiat vertical (%s)" msgid "workspace.align.vtop" msgstr "Alinea la part superior (%s)" +#: src/app/main/ui/workspace/sidebar/assets.cljs:181 +msgid "workspace.assets.add-library" +msgstr "Afegeix una biblioteca" + #: src/app/main/ui/workspace/sidebar/assets.cljs #, unused msgid "workspace.assets.assets" @@ -2743,10 +7120,26 @@ msgstr "Tots els recursos" msgid "workspace.assets.colors" msgstr "Colors" +#: src/app/main/ui/workspace/sidebar/assets/colors.cljs:520 +msgid "workspace.assets.colors.add-color" +msgstr "Afegeix un color" + +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:91 +msgid "workspace.assets.component-group-options" +msgstr "Opcions del grup de components" + #: src/app/main/ui/dashboard/grid.cljs:152, src/app/main/ui/dashboard/grid.cljs:167, src/app/main/ui/workspace/sidebar/assets/components.cljs:588, src/app/main/ui/workspace/sidebar/assets.cljs:161 msgid "workspace.assets.components" msgstr "Components" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:609 +msgid "workspace.assets.components.add-component" +msgstr "Afegeix un component" + +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:177, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:614 +msgid "workspace.assets.components.num-variants" +msgstr "%s variants" + #: src/app/main/ui/workspace/sidebar/assets/groups.cljs:160 msgid "workspace.assets.create-group" msgstr "Crea un grup" @@ -2761,19 +7154,39 @@ msgstr "" msgid "workspace.assets.delete" msgstr "Elimina" +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:74 +msgid "workspace.assets.delete-group" +msgstr "Elimina el grup" + +#: src/app/main/ui/workspace/context_menu.cljs:824 +msgid "workspace.assets.delete-pages" +msgstr "Elimina les pàgines" + #: src/app/main/ui/workspace/context_menu.cljs:833, src/app/main/ui/workspace/sidebar/assets/colors.cljs:262, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:471, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:817 msgid "workspace.assets.duplicate" msgstr "Duplica" +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:649 +msgid "workspace.assets.duplicate-main" +msgstr "Duplica el principal" + #: src/app/main/ui/workspace/sidebar/assets/colors.cljs:258, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:466 msgid "workspace.assets.edit" msgstr "Edita" +#: src/app/main/ui/workspace/sidebar/assets.cljs:195 +msgid "workspace.assets.filter" +msgstr "Filtra" + #: src/app/main/ui/workspace/sidebar/assets/graphics.cljs:386, src/app/main/ui/workspace/sidebar/assets.cljs:152 #, unused msgid "workspace.assets.graphics" msgstr "Gràfics" +#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:194, src/app/main/ui/workspace/colorpicker/libraries.cljs:347, src/app/main/ui/workspace/sidebar/assets/components.cljs:604 +msgid "workspace.assets.grid-view" +msgstr "Vista de quadrícula" + #: src/app/main/ui/workspace/sidebar/assets/colors.cljs:269, src/app/main/ui/workspace/sidebar/assets/components.cljs:654, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:480 msgid "workspace.assets.group" msgstr "Agrupa" @@ -2782,14 +7195,26 @@ msgstr "Agrupa" msgid "workspace.assets.group-name" msgstr "Nom del grup" +#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:195, src/app/main/ui/workspace/colorpicker/libraries.cljs:346, src/app/main/ui/workspace/sidebar/assets/components.cljs:600 +msgid "workspace.assets.list-view" +msgstr "Vista de llista" + #: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:106, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:698 msgid "workspace.assets.local-library" msgstr "llibreria local" +#: src/app/main/ui/workspace/sidebar/assets.cljs:186 +msgid "workspace.assets.manage-library" +msgstr "Gestiona la biblioteca" + #: src/app/main/ui/workspace/color_palette.cljs:204, src/app/main/ui/workspace/sidebar/assets/file_library.cljs:305 msgid "workspace.assets.not-found" msgstr "No s'han trobat recursos" +#: src/app/main/ui/workspace/sidebar/assets/file_library.cljs:111 +msgid "workspace.assets.open-library" +msgstr "Obre el fitxer de la biblioteca" + #: src/app/main/ui/workspace/context_menu.cljs:831, src/app/main/ui/workspace/sidebar/assets/colors.cljs:254, src/app/main/ui/workspace/sidebar/assets/components.cljs:645, src/app/main/ui/workspace/sidebar/assets/groups.cljs:66, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:461 msgid "workspace.assets.rename" msgstr "Canvia el nom" @@ -2809,10 +7234,28 @@ msgid_plural "workspace.assets.selected-count" msgstr[0] "%s element seleccionat" msgstr[1] "%s elements seleccionats" +#: src/app/main/ui/dashboard/grid.cljs:478, src/app/main/ui/dashboard/grid.cljs:479 +msgid "workspace.assets.shared-library" +msgstr "Biblioteca compartida" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:263 +msgid "workspace.assets.sidebar.components" +msgid_plural "workspace.assets.sidebar.components" +msgstr[0] "1 component" +msgstr[1] "%s components" + +#: src/app/main/ui/workspace/sidebar/assets.cljs:213 +msgid "workspace.assets.sort" +msgstr "Ordena" + #: src/app/main/ui/dashboard/grid.cljs:160, src/app/main/ui/dashboard/grid.cljs:216, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:422, src/app/main/ui/workspace/sidebar/assets.cljs:167 msgid "workspace.assets.typography" msgstr "Tipografies" +#: src/app/main/ui/workspace/sidebar/assets/groups.cljs:87, src/app/main/ui/workspace/sidebar/assets/typographies.cljs:430 +msgid "workspace.assets.typography.add-typography" +msgstr "Afegeix una tipografia" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs #, unused msgid "workspace.assets.typography.font-id" @@ -2842,6 +7285,10 @@ msgstr "Alçada de la línia" msgid "workspace.assets.typography.sample" msgstr "Ag" +#, unused +msgid "workspace.assets.typography.text-styles" +msgstr "Estils de text" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:867 msgid "workspace.assets.typography.text-transform" msgstr "Transforma el text" @@ -2850,6 +7297,112 @@ msgstr "Transforma el text" msgid "workspace.assets.ungroup" msgstr "Desagrupa" +#: src/app/main/data/workspace/clipboard.cljs:1168 +msgid "workspace.clipboard.copying" +msgstr "S'està copiant la imatge…" + +#: src/app/main/data/workspace/clipboard.cljs:1191 +msgid "workspace.clipboard.image-copied" +msgstr "Imatge copiada al porta-retalls" + +#: src/app/main/data/workspace/clipboard.cljs:1197 +msgid "workspace.clipboard.image-copy-failed" +msgstr "Error en copiar la imatge" + +#: src/app/main/ui/workspace/colorpicker.cljs:440 +msgid "workspace.colorpicker.color-picker" +msgstr "Selector de color" + +#: src/app/main/ui/workspace/colorpicker.cljs:433, src/app/main/ui/workspace/colorpicker.cljs:447 +msgid "workspace.colorpicker.color-tokens" +msgstr "Tokens de color" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:513 +msgid "workspace.component.swap.loop-error" +msgstr "Els components no es poden niar dins d'ells mateixos." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:512 +msgid "workspace.component.switch.loop-error-multi" +msgstr "" +"No s'han pogut intercanviar algunes còpies. Els components no es poden niar " +"dins d'ells mateixos." + +#: src/app/main/ui/workspace/context_menu.cljs:980 +msgid "workspace.context-menu.grid-cells.area" +msgstr "Crea una àrea" + +#: src/app/main/ui/workspace/context_menu.cljs:991 +msgid "workspace.context-menu.grid-cells.copy-columns" +msgstr "Copia les columnes" + +#: src/app/main/ui/workspace/context_menu.cljs:987 +msgid "workspace.context-menu.grid-cells.copy-rows" +msgstr "Copia les files" + +#: src/app/main/ui/workspace/context_menu.cljs:983 +msgid "workspace.context-menu.grid-cells.create-board" +msgstr "Crea un tauler" + +#: src/app/main/ui/workspace/context_menu.cljs:975 +msgid "workspace.context-menu.grid-cells.merge" +msgstr "Fusiona les cel·les" + +#: src/app/main/ui/workspace/context_menu.cljs:995 +msgid "workspace.context-menu.grid-cells.paste-tracks" +msgstr "Enganxa" + +#: src/app/main/ui/workspace/context_menu.cljs:902 +msgid "workspace.context-menu.grid-track.column.add-after" +msgstr "Afegeix 1 columna a la dreta" + +#: src/app/main/ui/workspace/context_menu.cljs:901 +msgid "workspace.context-menu.grid-track.column.add-before" +msgstr "Afegeix 1 columna a l'esquerra" + +#: src/app/main/ui/workspace/context_menu.cljs:903 +msgid "workspace.context-menu.grid-track.column.delete" +msgstr "Elimina la columna" + +#: src/app/main/ui/workspace/context_menu.cljs:904 +msgid "workspace.context-menu.grid-track.column.delete-shapes" +msgstr "Elimina la columna amb el contingut" + +#: src/app/main/ui/workspace/context_menu.cljs:900 +msgid "workspace.context-menu.grid-track.column.duplicate" +msgstr "Duplica la columna" + +#: src/app/main/ui/workspace/context_menu.cljs:909 +msgid "workspace.context-menu.grid-track.row.add-after" +msgstr "Afegeix 1 fila a sota" + +#: src/app/main/ui/workspace/context_menu.cljs:908 +msgid "workspace.context-menu.grid-track.row.add-before" +msgstr "Afegeix 1 fila a sobre" + +#: src/app/main/ui/workspace/context_menu.cljs:910 +msgid "workspace.context-menu.grid-track.row.delete" +msgstr "Elimina la fila" + +#: src/app/main/ui/workspace/context_menu.cljs:911 +msgid "workspace.context-menu.grid-track.row.delete-shapes" +msgstr "Elimina la fila amb el contingut" + +#: src/app/main/ui/workspace/context_menu.cljs:907 +msgid "workspace.context-menu.grid-track.row.duplicate" +msgstr "Duplica la fila" + +#: src/app/main/ui/workspace/context_menu.cljs:1029 +msgid "workspace.context-menu.guides.change-color" +msgstr "Color de la guia" + +#: src/app/main/ui/workspace/context_menu.cljs:1041 +msgid "workspace.context-menu.guides.remove" +msgstr "Elimina la guia" + +#: src/app/main/ui/workspace/sidebar/debug.cljs:52 +msgid "workspace.debug.title" +msgstr "Eines de depuració" + #: src/app/main/ui/workspace/sidebar/layers.cljs:856 msgid "workspace.focus.focus-mode" msgstr "Mode d'enfocament" @@ -2878,6 +7431,10 @@ msgstr "Degradat radial" msgid "workspace.header.menu.disable-dynamic-alignment" msgstr "Desactiva l'alineació dinàmica" +#: src/app/main/ui/workspace/main_menu.cljs:254 +msgid "workspace.header.menu.disable-scale-content" +msgstr "Desactiva l'escala proporcional" + #: src/app/main/ui/workspace/header.cljs #, unused msgid "workspace.header.menu.disable-scale-text" @@ -2891,10 +7448,22 @@ msgstr "No ajustis a les guies" msgid "workspace.header.menu.disable-snap-pixel-grid" msgstr "No ajustis als píxels" +#: src/app/main/ui/workspace/main_menu.cljs:267 +msgid "workspace.header.menu.disable-snap-ruler-guides" +msgstr "No ajustis a les guies de les regles" + +#: src/app/main/ui/workspace/main_menu.cljs:341 +msgid "workspace.header.menu.disable-webgl" +msgstr "Desactiva el renderatge WebGL (beta)" + #: src/app/main/ui/workspace/main_menu.cljs:294 msgid "workspace.header.menu.enable-dynamic-alignment" msgstr "Activa l'alineació dinàmica" +#: src/app/main/ui/workspace/main_menu.cljs:255 +msgid "workspace.header.menu.enable-scale-content" +msgstr "Activa l'escala proporcional" + #: src/app/main/ui/workspace/header.cljs #, unused msgid "workspace.header.menu.enable-scale-text" @@ -2908,10 +7477,30 @@ msgstr "Ajusta a les guies" msgid "workspace.header.menu.enable-snap-pixel-grid" msgstr "Ajusta als píxels" +#: src/app/main/ui/workspace/main_menu.cljs:268 +msgid "workspace.header.menu.enable-snap-ruler-guides" +msgstr "Ajusta a les guies de les regles" + +#: src/app/main/ui/workspace/main_menu.cljs:342 +msgid "workspace.header.menu.enable-webgl" +msgstr "Activa el renderatge WebGL (beta)" + +#: src/app/main/ui/workspace/main_menu.cljs:535 +msgid "workspace.header.menu.find" +msgstr "Cerca" + +#: src/app/main/ui/workspace/main_menu.cljs:542 +msgid "workspace.header.menu.find-and-replace" +msgstr "Cerca i reemplaça" + #: src/app/main/ui/workspace/main_menu.cljs:465 msgid "workspace.header.menu.hide-artboard-names" msgstr "Amaga els noms dels taulers" +#: src/app/main/ui/workspace/main_menu.cljs:426 +msgid "workspace.header.menu.hide-comments" +msgstr "Amaga els comentaris" + #: src/app/main/ui/workspace/main_menu.cljs:401 msgid "workspace.header.menu.hide-guides" msgstr "Amaga les guies" @@ -2932,6 +7521,26 @@ msgstr "Amaga les regles" msgid "workspace.header.menu.hide-textpalette" msgstr "Amaga la paleta de tipografies" +#: src/app/main/ui/workspace/main_menu.cljs:415 +msgid "workspace.header.menu.lock-guides" +msgstr "Bloca les guies" + +#: src/app/main/ui/workspace/main_menu.cljs:874 +msgid "workspace.header.menu.mcp.plugin.status.connect" +msgstr "Connecta" + +#: src/app/main/ui/workspace/main_menu.cljs:873 +msgid "workspace.header.menu.mcp.plugin.status.disconnect" +msgstr "Desconnecta" + +#: src/app/main/ui/workspace/main_menu.cljs:883 +msgid "workspace.header.menu.mcp.server.status.disabled" +msgstr "Gestiona (estat: desactivat)" + +#: src/app/main/ui/workspace/main_menu.cljs:882 +msgid "workspace.header.menu.mcp.server.status.enabled" +msgstr "Gestiona (estat: activat)" + #: src/app/main/ui/workspace/main_menu.cljs:1038 msgid "workspace.header.menu.option.edit" msgstr "Edita" @@ -2944,6 +7553,15 @@ msgstr "Fixer" msgid "workspace.header.menu.option.help-info" msgstr "Ajuda i informació" +#: src/app/main/ui/workspace/main_menu.cljs:1104 +msgid "workspace.header.menu.option.mcp" +msgstr "Servidor MCP" + +#: src/app/main/ui/workspace/main_menu.cljs:916 +#, unused +msgid "workspace.header.menu.option.power-up" +msgstr "Milloreu el vostre pla" + #: src/app/main/ui/workspace/main_menu.cljs:1064 msgid "workspace.header.menu.option.preferences" msgstr "Preferències" @@ -2964,6 +7582,14 @@ msgstr "Selecciona-ho tot" msgid "workspace.header.menu.show-artboard-names" msgstr "Mostra els noms dels taulers" +#: src/app/main/ui/workspace/main_menu.cljs:427 +msgid "workspace.header.menu.show-comments" +msgstr "Mostra els comentaris" + +#: src/app/main/ui/workspace/main_menu.cljs:402 +msgid "workspace.header.menu.show-guides" +msgstr "Mostra les guies" + #: src/app/main/ui/workspace/main_menu.cljs:441 msgid "workspace.header.menu.show-palette" msgstr "Mostra la paleta de colors" @@ -2988,10 +7614,18 @@ msgstr "Canvia al mode fosc" msgid "workspace.header.menu.toggle-light-theme" msgstr "Canvia al mode clar" +#: src/app/main/ui/workspace/main_menu.cljs:329 +msgid "workspace.header.menu.toggle-system-theme" +msgstr "Canvia al tema del sistema" + #: src/app/main/ui/workspace/main_menu.cljs:553 msgid "workspace.header.menu.undo" msgstr "Desfés" +#: src/app/main/ui/workspace/main_menu.cljs:414 +msgid "workspace.header.menu.unlock-guides" +msgstr "Desbloca les guies" + #: src/app/main/ui/viewer/header.cljs:98, src/app/main/ui/workspace/right_header.cljs:97 msgid "workspace.header.reset-zoom" msgstr "Restableix" @@ -3008,6 +7642,10 @@ msgstr "Desat" msgid "workspace.header.saving" msgstr "S'està desant" +#: src/app/main/ui/workspace/right_header.cljs:242 +msgid "workspace.header.share" +msgstr "Comparteix" + #: src/app/main/ui/workspace/right_header.cljs:48, src/app/main/ui/workspace/right_header.cljs:53 #, unused msgid "workspace.header.unsaved" @@ -3017,6 +7655,10 @@ msgstr "Canvis sense desar" msgid "workspace.header.viewer" msgstr "Visor (%s)" +#: src/app/main/ui/viewer/header.cljs:79, src/app/main/ui/workspace/right_header.cljs:80 +msgid "workspace.header.zoom" +msgstr "Zoom" + #: src/app/main/ui/viewer/header.cljs:109 msgid "workspace.header.zoom-fill" msgstr "Emplena - Amplia per a omplir" @@ -3037,15 +7679,85 @@ msgstr "Pantalla completa" msgid "workspace.header.zoom-selected" msgstr "Apropa la selecció" +#: src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:294, src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljs:296, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:854 +msgid "workspace.layout-grid.editor.options.edit-grid" +msgstr "Edita la grid" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1573 +msgid "workspace.layout-grid.editor.options.exit" +msgstr "Surt" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:592, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:598 +msgid "workspace.layout-grid.editor.padding.bottom" +msgstr "Padding inferior" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:668, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:669 +msgid "workspace.layout-grid.editor.padding.expand" +msgstr "Mostra les opcions de padding als 4 costats" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:419, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:430, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:436 +msgid "workspace.layout-grid.editor.padding.horizontal" +msgstr "Padding horitzontal" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:617, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:626, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:632 +msgid "workspace.layout-grid.editor.padding.left" +msgstr "Padding esquerre" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:550, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:559, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:565 +msgid "workspace.layout-grid.editor.padding.right" +msgstr "Padding dret" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:516, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:525, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:531 +msgid "workspace.layout-grid.editor.padding.top" +msgstr "Padding superior" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:383, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:394, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:400 +msgid "workspace.layout-grid.editor.padding.vertical" +msgstr "Padding vertical" + +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:61 +msgid "workspace.layout-grid.editor.title" +msgstr "Edició de la grid" + #: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:67 msgid "workspace.layout-grid.editor.top-bar.done" msgstr "Fet" +#: src/app/main/ui/workspace/viewport/grid_layout_editor.cljs:64 +msgid "workspace.layout-grid.editor.top-bar.locate" +msgstr "Localitza" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1599 +msgid "workspace.layout-grid.editor.top-bar.locate.tooltip" +msgstr "Localitza el layout de grid" + #: src/app/main/ui/workspace/libraries.cljs #, unused msgid "workspace.libraries.add" msgstr "Afegeix" +#: src/app/main/ui/workspace/libraries.cljs:103, src/app/main/ui/workspace/libraries.cljs:128 +msgid "workspace.libraries.colors" +msgid_plural "workspace.libraries.colors" +msgstr[0] "1 color" +msgstr[1] "%s colors" + +#: src/app/main/ui/workspace/colorpicker/libraries.cljs:356 +msgid "workspace.libraries.colors.add-library-color" +msgstr "Afegeix un color a la biblioteca" + +#: src/app/main/ui/workspace/color_palette.cljs:203, src/app/main/ui/workspace/colorpicker/libraries.cljs:374, src/app/main/ui/workspace/colorpicker/libraries.cljs:405 +msgid "workspace.libraries.colors.empty-palette" +msgstr "Encara no hi ha estils de color a la vostra biblioteca" + +#: src/app/main/ui/workspace/colorpicker/libraries.cljs:373, src/app/main/ui/workspace/colorpicker/libraries.cljs:389 +msgid "workspace.libraries.colors.empty-recent-colors" +msgstr "Encara no hi ha colors recents" + +#: src/app/main/ui/workspace/text_palette.cljs:158 +msgid "workspace.libraries.colors.empty-typography-palette" +msgstr "Encara no hi ha estils de tipografia a la vostra biblioteca" + #: src/app/main/ui/workspace/color_palette_ctx_menu.cljs:97, src/app/main/ui/workspace/colorpicker/libraries.cljs:222, src/app/main/ui/workspace/text_palette_ctx_menu.cljs:49 msgid "workspace.libraries.colors.file-library" msgstr "Biblioteca del fitxer" @@ -3072,10 +7784,42 @@ msgstr "RGBA" msgid "workspace.libraries.colors.save-color" msgstr "Desa l'estil de color" +#: src/app/main/ui/workspace/colorpicker/libraries.cljs:338 +msgid "workspace.libraries.colors.toggle-color-palette" +msgstr "Mostra/amaga la paleta de colors" + +#: src/app/main/ui/workspace/libraries.cljs:97, src/app/main/ui/workspace/libraries.cljs:120 +msgid "workspace.libraries.components" +msgid_plural "workspace.libraries.components" +msgstr[0] "1 component" +msgstr[1] "%s components" + +#: src/app/main/ui/workspace/libraries.cljs:367 +msgid "workspace.libraries.connected-to" +msgstr "Connectada amb" + +#: src/app/main/ui/workspace/libraries.cljs:432 +msgid "workspace.libraries.empty.add-some" +msgstr "O afegiu-ne algunes per a provar:" + +#: src/app/main/ui/workspace/libraries.cljs:426 +msgid "workspace.libraries.empty.no-libraries" +msgstr "No hi ha biblioteques compartides al vostre equip; podeu cercar" + +#: src/app/main/ui/workspace/libraries.cljs:430 +msgid "workspace.libraries.empty.some-templates" +msgstr "algunes plantilles aquí" + #: src/app/main/ui/workspace/libraries.cljs:336 msgid "workspace.libraries.file-library" msgstr "Biblioteca del fitxer" +#: src/app/main/ui/workspace/libraries.cljs:100, src/app/main/ui/workspace/libraries.cljs:124 +msgid "workspace.libraries.graphics" +msgid_plural "workspace.libraries.graphics" +msgstr[0] "1 gràfic" +msgstr[1] "%s gràfics" + #: src/app/main/ui/workspace/libraries.cljs:330 msgid "workspace.libraries.in-this-file" msgstr "BIBLIOTEQUES EN AQUEST FITXER" @@ -3089,6 +7833,19 @@ msgstr "BIBLIOTEQUES" msgid "workspace.libraries.library" msgstr "BIBLIOTECA" +#: src/app/main/ui/workspace/libraries.cljs:528 +msgid "workspace.libraries.library-updates" +msgstr "ACTUALITZACIONS DE LES BIBLIOTEQUES" + +#: src/app/main/ui/workspace/libraries.cljs:421 +msgid "workspace.libraries.loading" +msgstr "S'està carregant…" + +#: src/app/main/ui/workspace/libraries.cljs:387 +#, unused +msgid "workspace.libraries.more-templates" +msgstr "Podeu cercar " + #: src/app/main/ui/workspace/libraries.cljs:526 msgid "workspace.libraries.no-libraries-need-sync" msgstr "No hi ha biblioteques compartides pendents d'actualitzar" @@ -3105,6 +7862,35 @@ msgstr "Cerca biblioteques compartides" msgid "workspace.libraries.shared-libraries" msgstr "BIBLIOTEQUES COMPARTIDES" +#: src/app/main/ui/workspace/libraries.cljs:414 +msgid "workspace.libraries.shared-library-btn" +msgstr "Connecta una biblioteca" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:549 +msgid "workspace.libraries.text.mixed-tokens" +msgstr "Tokens diversos" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:544 +msgid "workspace.libraries.text.mixed-tokens-and-assets" +msgstr "Recursos i tokens diversos" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:564 +msgid "workspace.libraries.text.mixed-typography" +msgstr "Recursos diversos" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:566 +msgid "workspace.libraries.text.multiple-assets-tooltip" +msgstr "Desvincula tots els recursos" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:335 +#, unused +msgid "workspace.libraries.text.multiple-token-and-asset-tooltip" +msgstr "Desvincula tots els tokens i totes les tipografies" + +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:551 +msgid "workspace.libraries.text.multiple-token-tooltip" +msgstr "Desvincula tots els tokens" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:332 #, unused msgid "workspace.libraries.text.multiple-typography" @@ -3115,18 +7901,75 @@ msgstr "Diverses tipografies" msgid "workspace.libraries.text.multiple-typography-tooltip" msgstr "Desvincula totes les tipografies" +#: src/app/main/ui/workspace/libraries.cljs:106, src/app/main/ui/workspace/libraries.cljs:132 +msgid "workspace.libraries.typography" +msgid_plural "workspace.libraries.typography" +msgstr[0] "1 tipografia" +msgstr[1] "%s tipografies" + +#: src/app/main/ui/workspace/libraries.cljs:381 +msgid "workspace.libraries.unlink-library-btn" +msgstr "Desconnecta la biblioteca" + #: src/app/main/ui/workspace/libraries.cljs:548 msgid "workspace.libraries.update" msgstr "Actualitza" +#: src/app/main/ui/workspace/libraries.cljs:624 +msgid "workspace.libraries.update.see-all-changes" +msgstr "mostra tots els canvis" + #: src/app/main/ui/workspace/libraries.cljs:671 msgid "workspace.libraries.updates" msgstr "ACTUALITZACIONS" +#: src/app/main/ui/ds/notifications/shared/notification_pill.cljs:61 +msgid "workspace.notification-pill.detail" +msgstr "Detalls" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:784 msgid "workspace.options.add-interaction" msgstr "Feu clic en el botó de + per a afegir interaccions." +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs +#, unused +msgid "workspace.options.blur-effects-options.title" +msgstr "Efectes de difuminat" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:273 +msgid "workspace.options.blur-effects-options.title.group" +msgstr "Efectes de difuminat del grup" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:272 +msgid "workspace.options.blur-effects-options.title.multiple" +msgstr "Efectes de difuminat de la selecció" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:287 +msgid "workspace.options.blur-options.add-blur" +msgstr "Afegeix un difuminat" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:99, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:109 +msgid "workspace.options.blur-options.background-blur" +msgstr "Difuminat del fons" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:144 +msgid "workspace.options.blur-options.blur-type-select" +msgstr "Selecció del tipus de difuminat" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:153 +msgid "workspace.options.blur-options.disabled-blur-label" +msgstr "" +"El difuminat del fons només funciona amb el renderatge nou. Canvieu al " +"renderatge nou al menú de preferències per a utilitzar aquest efecte" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:98, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:112 +msgid "workspace.options.blur-options.layer-blur" +msgstr "Difuminat de la capa" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:169, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:301 +msgid "workspace.options.blur-options.remove-blur" +msgstr "Elimina el difuminat" + #: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:113, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:138 #, unused msgid "workspace.options.blur-options.title" @@ -3140,6 +7983,18 @@ msgstr "Difuminat del grup" msgid "workspace.options.blur-options.title.multiple" msgstr "Difuminat de selecció" +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:160 +msgid "workspace.options.blur-options.toggle-blur" +msgstr "Mostra/amaga el difuminat" + +#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs:138 +msgid "workspace.options.blur-options.toggle-more-options" +msgstr "Mostra/amaga més opcions" + +#: src/app/main/ui/exports/assets.cljs:332 +msgid "workspace.options.cancel-export" +msgstr "Cancel·la" + #: src/app/main/ui/workspace/sidebar/options/page.cljs:60, src/app/main/ui/workspace/sidebar/options/page.cljs:68 msgid "workspace.options.canvas-background" msgstr "Fons del llenç" @@ -3152,6 +8007,150 @@ msgstr "Trunca el contingut" msgid "workspace.options.component" msgstr "Component" +#: src/app/main/ui/inspect/annotation.cljs:19, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:194 +msgid "workspace.options.component.annotation" +msgstr "Anotació" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1049 +msgid "workspace.options.component.copy" +msgstr "Còpia" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:187 +msgid "workspace.options.component.create-annotation" +msgstr "Crea una anotació" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:186 +msgid "workspace.options.component.edit-annotation" +msgstr "Edita una anotació" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1048, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1294 +msgid "workspace.options.component.main" +msgstr "Principal" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:793 +msgid "workspace.options.component.swap" +msgstr "Intercanvia el component" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:830 +msgid "workspace.options.component.swap.empty" +msgstr "Encara no hi ha recursos en aquesta biblioteca" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1074 +msgid "workspace.options.component.unlinked" +msgstr "Desvinculat" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:582 +msgid "workspace.options.component.variant.duplicated.copy.locate" +msgstr "Localitza les variants en conflicte" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:579 +msgid "workspace.options.component.variant.duplicated.copy.title" +msgstr "" +"Aquest component té variants en conflicte. Assegureu-vos que cada variant " +"tingui un conjunt únic de propietats i valors." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1349 +msgid "workspace.options.component.variant.duplicated.group.locate" +msgstr "Localitza les variants duplicades" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1346 +msgid "workspace.options.component.variant.duplicated.group.title" +msgstr "Algunes variants tenen propietats i valors idèntics" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:267 +msgid "workspace.options.component.variant.duplicated.single.all" +msgstr "" +"Aquestes variants tenen propietats i valors idèntics. Ajusteu els valors " +"per tal que es puguin recuperar." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:264 +msgid "workspace.options.component.variant.duplicated.single.one" +msgstr "" +"Aquesta variant té propietats i valors idèntics als d'una altra variant. " +"Ajusteu els valors per tal que es puguin recuperar." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:270 +msgid "workspace.options.component.variant.duplicated.single.some" +msgstr "" +"Algunes d'aquestes variants tenen propietats i valors idèntics. Ajusteu els " +"valors per tal que es puguin recuperar." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:569 +msgid "workspace.options.component.variant.malformed.copy" +msgstr "" +"Aquest component té variants amb noms no vàlids. Assegureu-vos que cada " +"variant segueixi l'estructura correcta." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1339 +msgid "workspace.options.component.variant.malformed.group.locate" +msgstr "Localitza les variants no vàlides" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1336 +msgid "workspace.options.component.variant.malformed.group.title" +msgstr "Algunes variants tenen noms no vàlids" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:572 +msgid "workspace.options.component.variant.malformed.locate" +msgstr "Localitza les variants no vàlides" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:251 +msgid "workspace.options.component.variant.malformed.single.all" +msgstr "Aquestes variants tenen noms no vàlids." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:248 +msgid "workspace.options.component.variant.malformed.single.one" +msgstr "Aquesta variant té un nom no vàlid." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:254 +msgid "workspace.options.component.variant.malformed.single.some" +msgstr "Algunes d'aquestes variants tenen noms no vàlids." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:437 +msgid "workspace.options.component.variant.malformed.structure.example" +msgstr "[propietat]=[valor], [propietat]=[valor]" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:435 +msgid "workspace.options.component.variant.malformed.structure.title" +msgstr "Proveu d'utilitzar l'estructura següent:" + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:54 +msgid "workspace.options.component.variants-help-modal.intro" +msgstr "" +"Per a conservar els canvis en canviar de variant, el Penpot connecta les " +"capes que:" + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:91 +msgid "workspace.options.component.variants-help-modal.outro" +msgstr "" +"Si en canvieu alguna (p. ex., canviant el nom d'una capa o agrupant-la), la " +"connexió es trenca, però es restaura si desfeu el canvi." + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:67 +msgid "workspace.options.component.variants-help-modal.rule1" +msgstr "Tenen el mateix nom." + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:76 +msgid "workspace.options.component.variants-help-modal.rule2" +msgstr "Són del mateix tipus." + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:77 +msgid "workspace.options.component.variants-help-modal.rule2.detail" +msgstr "" +"Els rectangles, les el·lipses, els camins i les operacions booleanes " +"compten com el mateix tipus." + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:87 +msgid "workspace.options.component.variants-help-modal.rule3" +msgstr "Tenen el mateix nivell de jerarquia." + +#: src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:88 +msgid "workspace.options.component.variants-help-modal.rule3.detail" +msgstr "Els grups, els taulers i els layouts es consideren equivalents." + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1053, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1297, src/app/main/ui/workspace/sidebar/options/menus/variants_help_modal.cljs:47 +msgid "workspace.options.component.variants-help-modal.title" +msgstr "Com es mantenen connectades les variants" + #: src/app/main/ui/workspace/sidebar/options/menus/constraints.cljs:189 msgid "workspace.options.constraints" msgstr "Restriccions" @@ -3192,6 +8191,10 @@ msgstr "Superior" msgid "workspace.options.constraints.topbottom" msgstr "Superior i inferior" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:525 +msgid "workspace.options.convert-to-typography" +msgstr "Crea un estil de tipografia" + #: src/app/main/ui/workspace/sidebar/options.cljs:238 msgid "workspace.options.design" msgstr "Disseny" @@ -3207,12 +8210,34 @@ msgstr "Exporta la selecció" #: src/app/main/ui/inspect/exports.cljs:218, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:275 msgid "workspace.options.export-object" -msgstr "Exporta 1 element" +msgid_plural "workspace.options.export-object" +msgstr[0] "Exporta 1 element" +msgstr[1] "Exporta %s elements" + +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:214 +msgid "workspace.options.export.add-export" +msgstr "Afegeix una exportació" + +#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:226, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:261 +msgid "workspace.options.export.remove-export" +msgstr "Elimina l'exportació" #: src/app/main/ui/inspect/exports.cljs:201, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs:255 msgid "workspace.options.export.suffix" msgstr "Sufix" +#: src/app/main/ui/exports/assets.cljs:267 +msgid "workspace.options.exporting-busy" +msgstr "El servei d'exportació està ocupat; torneu-ho a provar més tard" + +#: src/app/main/ui/exports/assets.cljs:270 +msgid "workspace.options.exporting-cancelled" +msgstr "Exportació cancel·lada" + +#: src/app/main/ui/exports/assets.cljs:269 +msgid "workspace.options.exporting-cancelling" +msgstr "S'està cancel·lant…" + #: src/app/main/ui/exports/assets.cljs:272 msgid "workspace.options.exporting-complete" msgstr "Exportació completa" @@ -3229,14 +8254,38 @@ msgstr "Exportació fallida" msgid "workspace.options.exporting-object-slow" msgstr "Exportació inesperadament lenta" +#: src/app/main/ui/exports/assets.cljs:271 +msgid "workspace.options.exporting-queued" +msgstr "S'està esperant…" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:108, src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:238 msgid "workspace.options.fill" msgstr "Emplenat" +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:210 +msgid "workspace.options.fill.add-fill" +msgstr "Afegeix un emplenat" + +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:225 +msgid "workspace.options.fill.remove-fill" +msgstr "Elimina l'emplenat" + +#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:200 +msgid "workspace.options.fill.section" +msgstr "Secció d'emplenat" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:553 +msgid "workspace.options.fit-content" +msgstr "Redimensiona el tauler per a ajustar-lo al contingut" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:704 msgid "workspace.options.flows.add-flow-start" msgstr "Afegeix l'inici del flux" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:700 +msgid "workspace.options.flows.flow" +msgstr "Flux" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:164 msgid "workspace.options.flows.flow-start" msgstr "Inici del flux" @@ -3245,6 +8294,11 @@ msgstr "Inici del flux" msgid "workspace.options.flows.flow-starts" msgstr "S'inicia el flux" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:155 +#, unused +msgid "workspace.options.flows.remove-flow" +msgstr "Elimina el flux" + #: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:34 msgid "workspace.options.grid.auto" msgstr "Automàtic" @@ -3346,6 +8400,22 @@ msgstr "Emplenament del grup" msgid "workspace.options.group-stroke" msgstr "Traç del grup" +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:366 +msgid "workspace.options.guides.add-guide" +msgstr "Afegeix una guia" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:235 +msgid "workspace.options.guides.remove-guide" +msgstr "Elimina la guia" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:363 +msgid "workspace.options.guides.title" +msgstr "Guies" + +#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs:231 +msgid "workspace.options.guides.toggle-guide" +msgstr "Mostra/amaga la guia" + #: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:583, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:602 msgid "workspace.options.height" msgstr "Altura" @@ -3382,6 +8452,10 @@ msgstr "Empenta" msgid "workspace.options.interaction-animation-slide" msgstr "Lliscament" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:368 +msgid "workspace.options.interaction-auto" +msgstr "automàtic" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:570 msgid "workspace.options.interaction-background" msgstr "Afegeix una superposició de fons" @@ -3532,6 +8606,10 @@ msgstr "Conserva la posició del desplaçament" msgid "workspace.options.interaction-prev-screen" msgstr "Pantalla anterior" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:494 +msgid "workspace.options.interaction-relative-to" +msgstr "Relatiu a" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:59, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:356, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:370, src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:371 msgid "workspace.options.interaction-self" msgstr "a si mateix" @@ -3564,6 +8642,15 @@ msgstr "Mentre es prem" msgid "workspace.options.interactions" msgstr "Interaccions" +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:746 +msgid "workspace.options.interactions.add-interaction" +msgstr "Afegeix una interacció" + +#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs +#, unused +msgid "workspace.options.interactions.remove-interaction" +msgstr "Elimina la interacció" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:203 msgid "workspace.options.layer-options.blend-mode.color" msgstr "Color" @@ -3628,6 +8715,10 @@ msgstr "Pantalla" msgid "workspace.options.layer-options.blend-mode.soft-light" msgstr "Llum suau" +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:223, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:285 +msgid "workspace.options.layer-options.layer-section" +msgstr "Secció del menú de capes" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs #, unused msgid "workspace.options.layer-options.title" @@ -3643,11 +8734,51 @@ msgstr "Agrupa les capes" msgid "workspace.options.layer-options.title.multiple" msgstr "Capes seleccionades" +#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:256, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:263, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:311, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:317 +msgid "workspace.options.layer-options.toggle-layer" +msgstr "Mostra/amaga la capa" + #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused msgid "workspace.options.layout-item.advanced-ops" msgstr "Opcions avançades" +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702 +msgid "workspace.options.layout-item.layout-item-max-h" +msgstr "Alçada màx." + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640 +msgid "workspace.options.layout-item.layout-item-max-w" +msgstr "Amplada màx." + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672 +msgid "workspace.options.layout-item.layout-item-min-h" +msgstr "Alçada mín." + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609 +msgid "workspace.options.layout-item.layout-item-min-w" +msgstr "Amplada mín." + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-max-h" +msgstr "Alçada màxima" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-max-w" +msgstr "Amplada màxima" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-min-h" +msgstr "Alçada mínima" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs +#, unused +msgid "workspace.options.layout-item.title.layout-item-min-w" +msgstr "Amplada mínima" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.bottom" @@ -3703,11 +8834,21 @@ msgstr "Marge senzill" msgid "workspace.options.layout.packed" msgstr "ajuntat" +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.padding" +msgstr "Padding" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.padding-all" msgstr "Tots els costats" +#: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs +#, unused +msgid "workspace.options.layout.padding-simple" +msgstr "Padding simple" + #: src/app/main/ui/workspace/sidebar/options/menus/layout.cljs #, unused msgid "workspace.options.layout.right" @@ -3736,10 +8877,23 @@ msgstr "Més colors" msgid "workspace.options.more-lib-colors" msgstr "Més llibreries de colors" +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:268 +msgid "workspace.options.more-token-colors" +msgstr "Més tokens de color" + +#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:117, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:518 +msgid "workspace.options.no-size-preset-results" +msgstr "Cap mida predefinida coincident" + #: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:240, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs:297 msgid "workspace.options.opacity" msgstr "Opacitat" +#: src/app/main/ui/workspace/sidebar/options/page.cljs +#, unused +msgid "workspace.options.pixel grid-color" +msgstr "Color de la graella de píxels" + #: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs #, unused msgid "workspace.options.position" @@ -3769,6 +8923,18 @@ msgstr "Superior esquerra" msgid "workspace.options.radius-top-right" msgstr "Superior dreta" +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:205, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:346 +msgid "workspace.options.radius.hide-all-corners" +msgstr "Replega els radis independents" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:169, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:287 +msgid "workspace.options.radius.radius-section" +msgstr "Secció del radi de la vora" + +#: src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:206, src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljs:347 +msgid "workspace.options.radius.show-single-corners" +msgstr "Mostra els radis independents" + #: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs:464 msgid "workspace.options.recent-fonts" msgstr "Recent" @@ -3785,6 +8951,10 @@ msgstr "Rotació" msgid "workspace.options.search-font" msgstr "Cerca tipografia" +#: src/app/main/ui/workspace/sidebar/options/drawing/frame.cljs:111, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:512 +msgid "workspace.options.search-size-preset" +msgstr "Cerca una mida predefinida" + #: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs:786 msgid "workspace.options.select-a-shape" msgstr "" @@ -3795,6 +8965,10 @@ msgstr "" msgid "workspace.options.selection-color" msgstr "Colors seleccionats" +#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs:200 +msgid "workspace.options.selection-color.section" +msgstr "Secció de selecció de colors" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:106 msgid "workspace.options.selection-fill" msgstr "Emplenament de selecció" @@ -3803,6 +8977,10 @@ msgstr "Emplenament de selecció" msgid "workspace.options.selection-stroke" msgstr "Traç de la selecció" +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:154 +msgid "workspace.options.shadow-options.add-shadow" +msgstr "Afegeix una ombra" + #: src/app/main/ui/inspect/attributes/shadow.cljs:47, src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:180, src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:182 msgid "workspace.options.shadow-options.blur" msgstr "Difuminat" @@ -3827,6 +9005,10 @@ msgstr "X" msgid "workspace.options.shadow-options.offsety" msgstr "Y" +#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs:167, src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:160 +msgid "workspace.options.shadow-options.remove-shadow" +msgstr "Elimina l'ombra" + #: src/app/main/ui/inspect/attributes/shadow.cljs:48, src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:190, src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:192 msgid "workspace.options.shadow-options.spread" msgstr "Difusió" @@ -3843,6 +9025,10 @@ msgstr "Ombra del grup" msgid "workspace.options.shadow-options.title.multiple" msgstr "Ombres de selecció" +#: src/app/main/ui/workspace/sidebar/options/rows/shadow_row.cljs:156 +msgid "workspace.options.shadow-options.toggle-shadow" +msgstr "Mostra/amaga l'ombra" + #: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs:264 msgid "workspace.options.show-fill-on-export" msgstr "Mostra en l'exportació" @@ -3859,6 +9045,14 @@ msgstr "Mida" msgid "workspace.options.size-presets" msgstr "Mides predefinides" +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617 +msgid "workspace.options.size.lock" +msgstr "Bloca la proporció" + +#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs:617 +msgid "workspace.options.size.unlock" +msgstr "Desbloca la proporció" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:44 #, unused msgid "workspace.options.stroke" @@ -3869,16 +9063,28 @@ msgstr "Traç" msgid "workspace.options.stroke-cap.circle-marker" msgstr "Marcador circular" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:275 +msgid "workspace.options.stroke-cap.circle-marker-short" +msgstr "Cercle" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.diamond-marker" msgstr "Marcador de diamant" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:276 +msgid "workspace.options.stroke-cap.diamond-marker-short" +msgstr "Diamant" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.line-arrow" msgstr "Fletxa de línia" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:272 +msgid "workspace.options.stroke-cap.line-arrow-short" +msgstr "Fletxa" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:270 msgid "workspace.options.stroke-cap.none" msgstr "Cap" @@ -3896,19 +9102,55 @@ msgstr "Quadrat" msgid "workspace.options.stroke-cap.square-marker" msgstr "Marcador quadrat" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:274 +msgid "workspace.options.stroke-cap.square-marker-short" +msgstr "Rectangle" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs #, unused msgid "workspace.options.stroke-cap.triangle-arrow" msgstr "Fletxa triangular" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:273 +msgid "workspace.options.stroke-cap.triangle-arrow-short" +msgstr "Triangle" + #: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:282 msgid "workspace.options.stroke-color" msgstr "Color del traç" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:475 +msgid "workspace.options.stroke-dash" +msgstr "Guió" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:485 +msgid "workspace.options.stroke-gap" +msgstr "Buit" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:345, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:382 msgid "workspace.options.stroke-width" msgstr "Ample del traç" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:444 +msgid "workspace.options.stroke-width-bottom" +msgstr "Inferior (block end)" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:454 +msgid "workspace.options.stroke-width-left" +msgstr "Esquerra (inline start)" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:434 +msgid "workspace.options.stroke-width-right" +msgstr "Dreta (inline end)" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:424 +msgid "workspace.options.stroke-width-top" +msgstr "Superior (block start)" + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:258 +msgid "workspace.options.stroke.add-stroke" +msgstr "Afegeix un color de traç" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:203 msgid "workspace.options.stroke.center" msgstr "Centrat" @@ -3933,10 +9175,28 @@ msgstr "Mixte" msgid "workspace.options.stroke.outer" msgstr "Exterior" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:127 +msgid "workspace.options.stroke.per-side" +msgstr "Traç per costat" + +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:126 +msgid "workspace.options.stroke.per-side-disabled" +msgstr "" +"La funció de traç per costat només està disponible amb el renderatge nou. " +"Canvieu el renderatge per a utilitzar-la." + +#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs:273, src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:329 +msgid "workspace.options.stroke.remove-stroke" +msgstr "Elimina el traç" + #: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:229 msgid "workspace.options.stroke.solid" msgstr "Sòlid" +#: src/app/main/ui/workspace/sidebar/options/rows/stroke_row.cljs:324 +msgid "workspace.options.stroke.toggle-stroke" +msgstr "Mostra/amaga el traç" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:135 msgid "workspace.options.text-options.align-bottom" msgstr "Alinea a baix" @@ -4007,6 +9267,10 @@ msgstr "Alinea a l'esquerra" msgid "workspace.options.text-options.text-align-right" msgstr "Alinea a la dreta" +#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:509 +msgid "workspace.options.text-options.text-section" +msgstr "Secció de text" + #: src/app/main/ui/workspace/sidebar/options/menus/text.cljs:380 msgid "workspace.options.text-options.title" msgstr "Text" @@ -4065,6 +9329,22 @@ msgstr "Elimina el node (%s)" msgid "workspace.path.actions.draw-nodes" msgstr "Dibuixa els nodes (%s)" +#: src/app/main/ui/workspace/viewport/path_actions.cljs:165 +msgid "workspace.path.actions.handler-aligned" +msgstr "Alineat" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:169 +msgid "workspace.path.actions.handler-independent" +msgstr "Independent" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:161 +msgid "workspace.path.actions.handler-mirror" +msgstr "Igual" + +#: src/app/main/ui/workspace/viewport/path_actions.cljs:148 +msgid "workspace.path.actions.handler-type" +msgstr "Comportament del tirador" + #: src/app/main/ui/workspace/viewport/path_actions.cljs:288 msgid "workspace.path.actions.join-nodes" msgstr "Uneix els nodes (%s)" @@ -4097,10 +9377,172 @@ msgstr "Alinea els nodes (%s)" msgid "workspace.plugins.button-open" msgstr "Obre" +#: src/app/main/ui/workspace/plugins.cljs:215 +#, markdown +msgid "workspace.plugins.discover" +msgstr "Descobreix [més extensions](%s)" + +#: src/app/main/ui/workspace/plugins.cljs:222 +msgid "workspace.plugins.empty-plugins" +msgstr "Encara no hi ha extensions instal·lades" + +#: src/app/main/ui/workspace/plugins.cljs:209 +msgid "workspace.plugins.error.manifest" +msgstr "El manifest de l'extensió no és correcte." + +#: src/app/main/data/plugins.cljs:129, src/app/main/ui/workspace/main_menu.cljs:811, src/app/main/ui/workspace/plugins.cljs:97 +msgid "workspace.plugins.error.need-editor" +msgstr "Heu de ser editors per a utilitzar aquesta extensió" + +#: src/app/main/data/plugins.cljs:158 +msgid "workspace.plugins.error.unreachable" +msgstr "No s'ha pogut contactar amb el connector." + +#: src/app/main/ui/workspace/plugins.cljs:205 +msgid "workspace.plugins.error.url" +msgstr "L'extensió no existeix o l'URL no és correcte." + #: src/app/main/ui/workspace/plugins.cljs:201 msgid "workspace.plugins.install" msgstr "Instal·la" +#: src/app/main/ui/workspace/plugins.cljs:231 +msgid "workspace.plugins.installed-plugins" +msgstr "Extensions instal·lades" + +#: src/app/main/ui/workspace/main_menu.cljs:766 +msgid "workspace.plugins.menu.plugins-manager" +msgstr "Gestor d'extensions" + +#: src/app/main/ui/workspace/main_menu.cljs:1078 +msgid "workspace.plugins.menu.title" +msgstr "Extensions" + +#: src/app/main/ui/workspace/plugins.cljs:424 +msgid "workspace.plugins.permissions-update.title" +msgstr "ACTUALITZA AQUESTA EXTENSIÓ" + +#: src/app/main/ui/workspace/plugins.cljs:428 +msgid "workspace.plugins.permissions-update.warning" +msgstr "" +"L'extensió s'ha modificat des de la darrera vegada que l'heu oberta. Ara " +"també vol accedir a:" + +#: src/app/main/ui/workspace/plugins.cljs:297 +msgid "workspace.plugins.permissions.allow-download" +msgstr "Inicia baixades de fitxers." + +#: src/app/main/ui/workspace/plugins.cljs:304 +msgid "workspace.plugins.permissions.allow-localstorage" +msgstr "Desa dades al navegador." + +#: src/app/main/ui/workspace/plugins.cljs:317 +msgid "workspace.plugins.permissions.clipboard-read" +msgstr "Llegeix el contingut del porta-retalls." + +#: src/app/main/ui/workspace/plugins.cljs:311 +msgid "workspace.plugins.permissions.clipboard-write" +msgstr "Llegeix i escriu al porta-retalls." + +#: src/app/main/ui/workspace/plugins.cljs:290 +msgid "workspace.plugins.permissions.comment-read" +msgstr "Llegeix els vostres comentaris i respostes." + +#: src/app/main/ui/workspace/plugins.cljs:284 +msgid "workspace.plugins.permissions.comment-write" +msgstr "Llegeix i modifica els vostres comentaris i respon en nom vostre." + +#: src/app/main/ui/workspace/plugins.cljs:257 +msgid "workspace.plugins.permissions.content-read" +msgstr "Llegeix el contingut dels fitxers als quals teniu accés." + +#: src/app/main/ui/workspace/plugins.cljs:251 +msgid "workspace.plugins.permissions.content-write" +msgstr "Llegeix i modifica el contingut dels fitxers als quals teniu accés." + +#: src/app/main/ui/workspace/plugins.cljs:366 +msgid "workspace.plugins.permissions.disclaimer" +msgstr "" +"Tingueu en compte que un tercer ha creat aquesta extensió; assegureu-vos " +"que hi confieu abans de concedir-hi accés. La vostra privadesa i seguretat " +"són importants per a nosaltres. Si teniu cap dubte, contacteu amb " +"l'assistència." + +#: src/app/main/ui/workspace/plugins.cljs:277 +msgid "workspace.plugins.permissions.library-read" +msgstr "Llegeix les vostres biblioteques i recursos." + +#: src/app/main/ui/workspace/plugins.cljs:271 +msgid "workspace.plugins.permissions.library-write" +msgstr "Llegeix i modifica les vostres biblioteques i recursos." + +#: src/app/main/ui/workspace/plugins.cljs:359 +msgid "workspace.plugins.permissions.title" +msgstr "L'EXTENSIÓ '%s' VOL ACCEDIR A:" + +#: src/app/main/ui/workspace/plugins.cljs:264 +msgid "workspace.plugins.permissions.user-read" +msgstr "Llegeix la informació del perfil de l'usuari actual." + +#: src/app/main/ui/workspace/plugins.cljs:227 +msgid "workspace.plugins.plugin-list-link" +msgstr "Llista d'extensions" + +#: src/app/main/ui/workspace/plugins.cljs:101 +msgid "workspace.plugins.remove-plugin" +msgstr "Elimina l'extensió" + +#: src/app/main/ui/workspace/plugins.cljs:195 +msgid "workspace.plugins.search-placeholder" +msgstr "Escriu l'URL d'una extensió" + +#, unused +msgid "workspace.plugins.success" +msgstr "Extensió carregada correctament." + +#: src/app/main/ui/workspace/plugins.cljs:188 +msgid "workspace.plugins.title" +msgstr "Extensions" + +#: src/app/main/ui/workspace/plugins.cljs:494 +msgid "workspace.plugins.try-out.cancel" +msgstr "ARA NO" + +#: src/app/main/ui/workspace/plugins.cljs:487 +msgid "workspace.plugins.try-out.message" +msgstr "" +"Voleu fer-hi una ullada? S'obrirà en un esborrany nou de l'equip actual. " +"(Si no, sempre la trobareu a les extensions instal·lades de qualsevol " +"fitxer.)" + +#: src/app/main/ui/workspace/plugins.cljs:483 +msgid "workspace.plugins.try-out.title" +msgstr "L'EXTENSIÓ '%s' S'HA INSTAL·LAT PER AL VOSTRE USUARI!" + +#: src/app/main/ui/workspace/plugins.cljs:500 +msgid "workspace.plugins.try-out.try" +msgstr "PROVA L'EXTENSIÓ" + +#: src/app/main/ui/workspace/context_menu.cljs:659 +msgid "workspace.shape.menu.add-flex" +msgstr "Afegeix un flex layout" + +#: src/app/main/ui/workspace/context_menu.cljs:664 +msgid "workspace.shape.menu.add-grid" +msgstr "Afegeix un grid layout" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1302, src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1316 +msgid "workspace.shape.menu.add-layout" +msgstr "Afegeix un layout" + +#: src/app/main/ui/workspace/context_menu.cljs:719, src/app/main/ui/workspace/sidebar/assets/common.cljs:585, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1059, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1227, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1301 +msgid "workspace.shape.menu.add-variant" +msgstr "Crea una variant" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:589, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1081, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1229, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1315 +msgid "workspace.shape.menu.add-variant-property" +msgstr "Afegeix una propietat nova" + #: src/app/main/ui/workspace/context_menu.cljs:327 msgid "workspace.shape.menu.back" msgstr "Envia-ho al fons" @@ -4109,10 +9551,62 @@ msgstr "Envia-ho al fons" msgid "workspace.shape.menu.backward" msgstr "Envia-ho darrere" +#: src/app/main/ui/workspace/context_menu.cljs:746 +msgid "workspace.shape.menu.clear-guides" +msgstr "Elimina les guies del tauler" + +#: src/app/main/ui/workspace/context_menu.cljs:727, src/app/main/ui/workspace/sidebar/assets/components.cljs:663, src/app/main/ui/workspace/sidebar/assets/groups.cljs:80, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1114 +msgid "workspace.shape.menu.combine-as-variants" +msgstr "Combina com a variants" + +#: src/app/main/ui/workspace/sidebar/assets/components.cljs:665 +msgid "workspace.shape.menu.combine-as-variants-error" +msgstr "Els components han d'estar a la mateixa pàgina" + #: src/app/main/ui/workspace/context_menu.cljs:228, src/app/main/ui/workspace/context_menu.cljs:1064 msgid "workspace.shape.menu.copy" msgstr "Copia" +#: src/app/main/ui/workspace/context_menu.cljs:259 +msgid "workspace.shape.menu.copy-as-image" +msgstr "Copia com a imatge" + +#: src/app/main/ui/workspace/context_menu.cljs:251 +msgid "workspace.shape.menu.copy-css" +msgstr "Copia com a CSS" + +#: src/app/main/ui/workspace/context_menu.cljs:253 +msgid "workspace.shape.menu.copy-css-nested" +msgstr "Copia com a CSS (capes niades)" + +#: src/app/main/ui/workspace/context_menu.cljs:226 +msgid "workspace.shape.menu.copy-id" +msgstr "Copia l'id" + +#: src/app/main/ui/workspace/context_menu.cljs:232 +msgid "workspace.shape.menu.copy-link" +msgstr "Copia l'enllaç" + +#: src/app/main/ui/workspace/context_menu.cljs:249 +msgid "workspace.shape.menu.copy-paste-as" +msgstr "Copia/Enganxa com a…" + +#: src/app/main/ui/workspace/context_menu.cljs:268 +msgid "workspace.shape.menu.copy-props" +msgstr "Copia les propietats" + +#: src/app/main/ui/workspace/context_menu.cljs:255 +msgid "workspace.shape.menu.copy-svg" +msgstr "Copia com a SVG" + +#: src/app/main/ui/workspace/context_menu.cljs:265 +msgid "workspace.shape.menu.copy-text" +msgstr "Copia com a text" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:561 +msgid "workspace.shape.menu.create-annotation" +msgstr "Crea una anotació" + #: src/app/main/ui/workspace/context_menu.cljs:444 msgid "workspace.shape.menu.create-artboard-from-selection" msgstr "Selecciona al tauler" @@ -4218,14 +9712,50 @@ msgstr "Màscara" msgid "workspace.shape.menu.paste" msgstr "Enganxa" +#: src/app/main/ui/workspace/context_menu.cljs:273 +msgid "workspace.shape.menu.paste-props" +msgstr "Enganxa les propietats" + #: src/app/main/ui/workspace/context_menu.cljs:530 msgid "workspace.shape.menu.path" msgstr "Camí" +#: src/app/main/ui/workspace/context_menu.cljs:647 +msgid "workspace.shape.menu.remove-flex" +msgstr "Elimina el flex layout" + +#: src/app/main/ui/workspace/context_menu.cljs:651 +msgid "workspace.shape.menu.remove-grid" +msgstr "Elimina el grid layout" + +#: src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljs:1310 +msgid "workspace.shape.menu.remove-layout" +msgstr "Elimina el layout" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1165 +msgid "workspace.shape.menu.remove-variant-property" +msgstr "Elimina la propietat" + +#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1164 +msgid "workspace.shape.menu.remove-variant-property.last-property" +msgstr "La variant ha de tenir com a mínim una propietat" + +#: src/app/main/ui/workspace/context_menu.cljs:384 +msgid "workspace.shape.menu.rename" +msgstr "Canvia el nom" + #: src/app/main/ui/workspace/sidebar/assets/common.cljs:570 msgid "workspace.shape.menu.reset-overrides" msgstr "Desfés les modificacions" +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:576 +msgid "workspace.shape.menu.restore-main" +msgstr "Restaura el component principal" + +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:575 +msgid "workspace.shape.menu.restore-variant" +msgstr "Restaura la variant" + #: src/app/main/ui/workspace/context_menu.cljs:305 msgid "workspace.shape.menu.select-layer" msgstr "Selecciona la capa" @@ -4234,10 +9764,18 @@ msgstr "Selecciona la capa" msgid "workspace.shape.menu.show" msgstr "Mostra" +#: src/app/main/ui/workspace/sidebar/assets/common.cljs:558, src/app/main/ui/workspace/sidebar/options/menus/component.cljs:1225 +msgid "workspace.shape.menu.show-in-assets" +msgstr "Mostra al panell de recursos" + #: src/app/main/ui/workspace/sidebar/assets/common.cljs:579, src/app/main/ui/workspace/sidebar/assets/components.cljs:659 msgid "workspace.shape.menu.show-main" msgstr "Vés al component principal" +#: src/app/main/ui/workspace/context_menu.cljs:524 +msgid "workspace.shape.menu.stroke-to-path" +msgstr "Converteix el traç en camí" + #: src/app/main/ui/workspace/context_menu.cljs:366 msgid "workspace.shape.menu.thumbnail-remove" msgstr "Elimina la miniatura" @@ -4276,6 +9814,14 @@ msgstr "Actualitza els components principals" msgid "workspace.shape.menu.update-main" msgstr "Actualitza el component principal" +#: src/app/main/ui/workspace/sidebar.cljs:60 +msgid "workspace.sidebar.collapse" +msgstr "Replega la barra lateral" + +#: src/app/main/ui/workspace/sidebar.cljs:71, src/app/main/ui/workspace/sidebar.cljs:76 +msgid "workspace.sidebar.expand" +msgstr "Desplega la barra lateral" + #: src/app/main/ui/workspace/right_header.cljs:233, src/app/main/ui/workspace/right_header.cljs:234 msgid "workspace.sidebar.history" msgstr "Historial" @@ -4288,6 +9834,10 @@ msgstr "Capes" msgid "workspace.sidebar.layers.components" msgstr "Components" +#: src/app/main/ui/workspace/sidebar/layers.cljs:584 +msgid "workspace.sidebar.layers.filter" +msgstr "Filtra" + #: src/app/main/ui/workspace/sidebar/layers.cljs:648, src/app/main/ui/workspace/sidebar/layers.cljs:676 msgid "workspace.sidebar.layers.frames" msgstr "Taulers" @@ -4304,10 +9854,43 @@ msgstr "Imatges" msgid "workspace.sidebar.layers.masks" msgstr "Màscares" +#: src/app/main/ui/workspace/sidebar/layers.cljs +#, unused +msgid "workspace.sidebar.layers.match-count" +msgstr "%s de %s" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:616 +msgid "workspace.sidebar.layers.no-matches" +msgstr "Cap coincidència" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:635 +msgid "workspace.sidebar.layers.replace" +msgstr "Reemplaça" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:641 +msgid "workspace.sidebar.layers.replace-all" +msgstr "Reemplaça-ho tot" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:602 +msgid "workspace.sidebar.layers.replace-placeholder" +msgstr "Reemplaça amb…" + #: src/app/main/ui/workspace/sidebar/layers.cljs:580 msgid "workspace.sidebar.layers.search" msgstr "Cerca capes" +#: src/app/main/ui/workspace/sidebar/layers.cljs:590 +msgid "workspace.sidebar.layers.search-and-replace" +msgstr "Cerca i reemplaça" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:621 +msgid "workspace.sidebar.layers.search-scope-canvas" +msgstr "Contingut del text" + +#: src/app/main/ui/workspace/sidebar/layers.cljs:625 +msgid "workspace.sidebar.layers.search-scope-layers" +msgstr "Noms de les capes" + #: src/app/main/ui/workspace/sidebar/layers.cljs:654, src/app/main/ui/workspace/sidebar/layers.cljs:748 msgid "workspace.sidebar.layers.shapes" msgstr "Formes" @@ -4324,18 +9907,401 @@ msgstr "Atributs SVG importats" msgid "workspace.sidebar.sitemap" msgstr "Pàgines" +#: src/app/main/ui/workspace/sidebar/sitemap.cljs:324 +msgid "workspace.sidebar.sitemap.add-page" +msgstr "Afegeix una pàgina" + #: src/app/main/ui/workspace/left_header.cljs:94 msgid "workspace.sitemap" msgstr "Mapa del lloc" +#, unused +msgid "workspace.toast.comments-hidden" +msgstr "Comentaris amagats" + +#, unused +msgid "workspace.toast.comments-visible" +msgstr "Comentaris visibles" + +#: src/app/main/ui/workspace/tokens/themes/theme_selector.cljs:87 +msgid "workspace.tokens.active-themes" +msgstr "%s temes actius" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs +#, unused +msgid "workspace.tokens.add set" +msgstr "Afegeix un set" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:65, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:148, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:344 +msgid "workspace.tokens.add-new-theme" +msgstr "Afegeix un tema nou" + +#: src/app/main/ui/workspace/tokens/sets/context_menu.cljs:62 +msgid "workspace.tokens.add-set-to-group" +msgstr "Afegeix un set a aquest grup" + +#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:201, src/app/main/ui/workspace/tokens/management/group.cljs:183 +msgid "workspace.tokens.add-token" +msgstr "Afegeix un token: %s" + +#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:141 +msgid "workspace.tokens.applied-to" +msgstr "Aplicat a" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:342 +msgid "workspace.tokens.axis" +msgstr "Eix" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:353 +msgid "workspace.tokens.back-to-themes" +msgstr "Torna a la llista de temes" + +#: src/app/main/ui/workspace/tokens/settings/menu.cljs:88 +msgid "workspace.tokens.base-font-size" +msgstr "Mida de la lletra de base" + +#: src/app/main/ui/workspace/tokens/settings/menu.cljs:42 +msgid "workspace.tokens.base-font-size.error" +msgstr "La mida de la lletra de base ha de ser un valor en píxels o sense unitat." + +#: src/app/main/ui/workspace/tokens/modals/import.cljs:127 +#, unused +msgid "workspace.tokens.choose-file" +msgstr "Tria un fitxer" + +#: src/app/main/ui/workspace/tokens/modals/import.cljs:132 +#, unused +msgid "workspace.tokens.choose-folder" +msgstr "Tria una carpeta" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:311, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:132 +msgid "workspace.tokens.color" +msgstr "Color" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:368 +msgid "workspace.tokens.copy-name" +msgstr "Copia el camí del token" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:56 +msgid "workspace.tokens.create-new-theme" +msgstr "Creeu el primer tema ara." + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:96, src/app/main/ui/workspace/tokens/themes.cljs:44 +msgid "workspace.tokens.create-one" +msgstr "Creeu-ne un." + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:293 +msgid "workspace.tokens.create-token" +msgstr "Crea un token de %s nou" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:371 +msgid "workspace.tokens.delete" +msgstr "Elimina el token" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:137 +msgid "workspace.tokens.delete-theme-title" +msgstr "Elimina el tema" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:365 +msgid "workspace.tokens.duplicate" +msgstr "Duplica el token" + #: src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:60 msgid "workspace.tokens.duplicate-group" msgstr "Duplicar grup de tokens" +#: src/app/main/data/workspace/tokens/library_edit.cljs:354 +msgid "workspace.tokens.duplicate-suffix" +msgstr "còpia" + +#: src/app/main/data/workspace/tokens/errors.cljs:32 +#, unused +msgid "workspace.tokens.duplicated-json-token-name" +msgstr "Error d'importació: nom de token duplicat al JSON." + +#: src/app/main/data/workspace/tokens/errors.cljs:33 +#, unused +msgid "workspace.tokens.duplicated-json-token-name-detail" +msgstr "Ja existeix un token al camí '%s' o en un prefix d'aquest, en un altre set." + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:351 +msgid "workspace.tokens.edit" +msgstr "Edita el token" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:343 +msgid "workspace.tokens.edit-theme-title" +msgstr "Edita el tema" + +#: src/app/main/ui/workspace/tokens/themes/theme_selector.cljs:75 +msgid "workspace.tokens.edit-themes" +msgstr "Edita els temes" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:292 +msgid "workspace.tokens.edit-token" +msgstr "Edita el token de %s" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:299 +msgid "workspace.tokens.enter-token-name" +msgstr "Escriviu el nom del token de %s" + +#: src/app/main/data/workspace/tokens/application.cljs:730, src/app/main/ui/workspace/tokens/management/group.cljs:161 +msgid "workspace.tokens.error-text-edition" +msgstr "No es poden aplicar tokens mentre editeu text. Seleccioneu la capa de text." + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:48 +msgid "workspace.tokens.export" +msgstr "Exporta" + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:124 +msgid "workspace.tokens.export-tokens" +msgstr "Exporta els tokens" + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:117 +msgid "workspace.tokens.export.multiple-files" +msgstr "Fitxers múltiples" + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:37 +msgid "workspace.tokens.export.no-tokens-themes-sets" +msgstr "No hi ha tokens, temes ni sets per a exportar." + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:34 +msgid "workspace.tokens.export.preview" +msgstr "Previsualització:" + +#: src/app/main/ui/workspace/tokens/export/modal.cljs:115 +msgid "workspace.tokens.export.single-file" +msgstr "Fitxer únic" + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:129 +msgid "workspace.tokens.font-size-value-enter" +msgstr "Mida de la lletra o {alias}" + +#: src/app/main/data/workspace/tokens/application.cljs:328 +msgid "workspace.tokens.font-variant-not-found" +msgstr "" +"Error en definir el pes o l'estil de la lletra. Aquest estil no existeix en " +"la lletra actual" + +#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:60, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:137 +msgid "workspace.tokens.font-weight-value-enter" +msgstr "Pes de la lletra (300, Bold Italic...) o un {alias}" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:250 +msgid "workspace.tokens.gaps" +msgstr "Espaiats" + +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.tokens.generic-error" +msgstr "Error: " + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:92 +msgid "workspace.tokens.group-name" +msgstr "Nom del grup" + +#: src/app/main/ui/workspace/tokens/sets.cljs +#, unused +msgid "workspace.tokens.grouping-set-alert" +msgstr "L'agrupació de sets de tokens encara no està disponible." + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:232 +msgid "workspace.tokens.import-button-prefix" +msgstr "Importa %s" + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:272 +msgid "workspace.tokens.import-menu-folder-option" +msgstr "Carpeta" + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:270 +msgid "workspace.tokens.import-menu-json-option" +msgstr "Fitxer JSON únic" + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:271 +msgid "workspace.tokens.import-menu-zip-option" +msgstr "Fitxer ZIP" + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:240 +msgid "workspace.tokens.import-multiple-files" +msgstr "En diversos fitxers, el nom o el camí del fitxer seran els noms dels sets." + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:239 +msgid "workspace.tokens.import-single-file" +msgstr "" +"En un fitxer JSON únic, les claus de primer nivell han de ser els noms dels " +"sets de tokens." + +#: src/app/main/ui/workspace/libraries.cljs:374, src/app/main/ui/workspace/tokens/import/modal.cljs:236 +msgid "workspace.tokens.import-tokens" +msgstr "Importa els tokens" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:414, src/app/main/ui/workspace/tokens/sidebar.cljs:415 +#, unused +msgid "workspace.tokens.import-tooltip" +msgstr "" +"En importar un fitxer JSON se sobreescriuran els tokens, sets i temes " +"actuals" + +#: src/app/main/ui/workspace/tokens/import/modal.cljs:246, src/app/main/ui/workspace/tokens/import_from_library.cljs:81 +msgid "workspace.tokens.import-warning" +msgstr "En importar tokens se sobreescriuran els tokens, sets i temes actuals." + +#: src/app/main/ui/workspace/tokens/management.cljs:83 +msgid "workspace.tokens.inactive-set" +msgstr "Inactiu" + +#: src/app/main/ui/workspace/tokens/management.cljs:75 +msgid "workspace.tokens.inactive-set-description" +msgstr "" +"Aquest set no està actiu. Canvieu el tema o activeu aquest set per a veure " +"els canvis a la vista" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:245, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:196 +msgid "workspace.tokens.individual-tokens" +msgstr "Utilitza tokens individuals" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:202 +msgid "workspace.tokens.label.group" +msgstr "Grup" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:204 +msgid "workspace.tokens.label.group-placeholder" +msgstr "Afegeix un grup (p. ex. Mode)" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:211 +msgid "workspace.tokens.label.theme" +msgstr "Tema" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:212 +msgid "workspace.tokens.label.theme-placeholder" +msgstr "Afegeix un tema (p. ex. Clar)" + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:153 +msgid "workspace.tokens.letter-spacing-value-enter-composite" +msgstr "Espaiat de la lletra o {alias}" + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:145 +msgid "workspace.tokens.line-height-value-enter" +msgstr "Alçada de la línia (multiplicador, px, %) o {alias}" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:242 +msgid "workspace.tokens.margins" +msgstr "Marges" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:279 +msgid "workspace.tokens.max-size" +msgstr "Mida màx." + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:273 +msgid "workspace.tokens.min-size" +msgstr "Mida mín." + +#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:317 +msgid "workspace.tokens.missing-reference" +msgstr "Referència no trobada" + +#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:125 +msgid "workspace.tokens.more-options" +msgstr "Feu clic dret per a veure les opcions" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:132 +msgid "workspace.tokens.no-active-sets" +msgstr "Cap set actiu" + +#: src/app/main/ui/workspace/tokens/themes/theme_selector.cljs:92 +msgid "workspace.tokens.no-active-theme" +msgstr "Cap tema actiu" + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:72 +msgid "workspace.tokens.no-permisions-set" +msgstr "Heu de ser editors per a activar o desactivar sets" + +#: src/app/main/ui/workspace/tokens/themes.cljs:54 +msgid "workspace.tokens.no-permission-themes" +msgstr "Heu de ser editors per a utilitzar temes" + +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:87 +#, unused +msgid "workspace.tokens.no-references-found" +msgstr "No s'ha trobat cap referència" + +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs +#, unused +msgid "workspace.tokens.no-remap-needed" +msgstr "" +"Aquest token no s'utilitza actualment al vostre disseny; no cal remapejar " +"res." + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:485 +msgid "workspace.tokens.no-sets-create" +msgstr "Encara no hi ha cap set definit. Creeu-ne un primer." + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:93, src/app/main/ui/workspace/tokens/sets/lists.cljs:99 +msgid "workspace.tokens.no-sets-yet" +msgstr "Encara no hi ha cap set." + +#: src/app/main/ui/workspace/tokens/themes.cljs:40 +msgid "workspace.tokens.no-themes" +msgstr "No hi ha cap tema." + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:52 +msgid "workspace.tokens.no-themes-currently" +msgstr "Actualment no teniu cap tema." + +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:113 +msgid "workspace.tokens.not-remap" +msgstr "No ho remapegis" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:131 +msgid "workspace.tokens.num-active-sets" +msgstr "%s sets actius" + +#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:122 +msgid "workspace.tokens.original-value" +msgstr "Valor original: %s" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:226 +msgid "workspace.tokens.paddings" +msgstr "Emplenats" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:304 +msgid "workspace.tokens.radius" +msgstr "Radi" + +#: src/app/main/ui/ds/controls/utilities/token_field.cljs:58, src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.cljs:60, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:123, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:130, src/app/main/ui/workspace/tokens/management/token_pill.cljs:130 +msgid "workspace.tokens.ref-not-valid" +msgstr "La referència de {%s} no és vàlida o no és a cap set actiu." + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:178 +msgid "workspace.tokens.reference-composite" +msgstr "Escriviu un àlies de tipografia de token" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:208 +msgid "workspace.tokens.reference-composite-shadow" +msgstr "Escriviu un àlies d'ombra de token" + +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs +#, unused +msgid "workspace.tokens.reference-error" +msgstr "Errors de referència: " + +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:117 +msgid "workspace.tokens.remap" +msgstr "Remapeja els tokens" + #: src/app/main/ui/workspace/tokens/remapping_modal.cljs:102 msgid "workspace.tokens.remap-node-references-title" msgstr "Canviar el nom de `%s` a `%s` i remapejar tots els tokens d'aquest grup?" +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:106 +msgid "workspace.tokens.remap-node-warning-effects" +msgstr "" +"Això actualitzarà tots els tokens i referències que utilitzen el nom antic " +"dels tokens." + +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:101 +msgid "workspace.tokens.remap-token-references-title" +msgstr "Voleu remapejar tots els tokens que utilitzen `%s` a `%s`?" + #: src/app/main/ui/workspace/tokens/remapping_modal.cljs:105 msgid "workspace.tokens.remap-token-warning-effects" msgstr "Això canviarà totes les capes i referències que utilitzen el token antic." @@ -4344,6 +10310,11 @@ msgstr "Això canviarà totes les capes i referències que utilitzen el token an msgid "workspace.tokens.remap-warning-time" msgstr "Aquest procés pot trigar una mica" +#: src/app/main/ui/workspace/tokens/remapping_modal.cljs:92 +#, unused +msgid "workspace.tokens.remapping-in-progress" +msgstr "S'estan remapejant les referències dels tokens…" + #: src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:59 msgid "workspace.tokens.rename-group" msgstr "Canviar nom del grup de tokens" @@ -4352,6 +10323,226 @@ msgstr "Canviar nom del grup de tokens" msgid "workspace.tokens.rename-group-name-hint" msgstr "Els teus tokens es renomenaran automàticament a %s.(sufix).(token)" +#: src/app/main/data/workspace/tokens/warnings.cljs:15, src/app/main/data/workspace/tokens/warnings.cljs:19, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:61, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:89, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:126, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:296, src/app/main/ui/workspace/tokens/management/forms/controls/color_input.cljs:489, src/app/main/ui/workspace/tokens/management/forms/controls/combobox.cljs:298, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:189, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:324, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:259, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:381, src/app/main/ui/workspace/tokens/management/forms/controls/input.cljs:505, src/app/main/ui/workspace/tokens/management/token_pill.cljs:123 +msgid "workspace.tokens.resolved-value" +msgstr "Valor resolt: %s" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:248 +msgid "workspace.tokens.save-theme" +msgstr "Desa el tema" + +#: src/app/main/ui/workspace/colorpicker/color_tokens.cljs:307, src/app/main/ui/workspace/sidebar/options/menus/text.cljs:535 +msgid "workspace.tokens.search-by-token" +msgstr "Cerca pel nom del token" + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:204, src/app/main/ui/workspace/tokens/sets/lists.cljs:309 +msgid "workspace.tokens.select-set" +msgstr "Seleccioneu un set" + +#: src/app/main/ui/workspace/tokens/sets/lists.cljs:60 +msgid "workspace.tokens.set-edit-placeholder" +msgstr "Escriviu un nom (utilitzeu «/» per als grups)" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:358 +msgid "workspace.tokens.set-selection-theme" +msgstr "Definiu quins sets de tokens han de formar part d'aquesta opció de tema:" + +#: src/app/main/ui/workspace/tokens/token_pill.cljs:47 +#, unused +msgid "workspace.tokens.set.not-active" +msgstr "El set de tokens no està actiu" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:126 +msgid "workspace.tokens.sets-hint" +msgstr "Edita el tema i gestiona els sets" + +#: src/app/main/ui/workspace/tokens/settings/menu.cljs:90 +msgid "workspace.tokens.setting-description" +msgstr "" +"Aquí podeu configurar la mida de la lletra de base, que defineix el valor " +"d'1rem:" + +#: src/app/main/ui/workspace/tokens/settings/menu.cljs:83 +msgid "workspace.tokens.settings" +msgstr "Configuració dels tokens" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:236 +msgid "workspace.tokens.shadow-add-shadow" +msgstr "Afegeix una ombra" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:163, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:164, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:168 +msgid "workspace.tokens.shadow-blur" +msgstr "Difuminat" + +#: src/app/main/ui/workspace/tokens/management/create/form.cljs:987, src/app/main/ui/workspace/tokens/management/create/form.cljs:988 +#, unused +msgid "workspace.tokens.shadow-color" +msgstr "Color" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:116 +msgid "workspace.tokens.shadow-inset" +msgstr "Interior" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:125 +msgid "workspace.tokens.shadow-remove-shadow" +msgstr "Elimina l'ombra" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:176, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:177, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:181 +msgid "workspace.tokens.shadow-spread" +msgstr "Difusió" + +#: src/app/main/ui/workspace/tokens/management/create/form.cljs:1215 +#, unused +msgid "workspace.tokens.shadow-title" +msgstr "Ombres" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287 +msgid "workspace.tokens.shadow-token-blur-value-error" +msgstr "El valor de difuminat no pot ser negatiu" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:287 +#, unused +msgid "workspace.tokens.shadow-token-spread-value-error" +msgstr "El valor de difusió no pot ser negatiu" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:141, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:143 +msgid "workspace.tokens.shadow-x" +msgstr "X" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:152, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:154 +msgid "workspace.tokens.shadow-y" +msgstr "Y" + +#: src/app/main/ui/workspace/tokens/management/context_menu.cljs:267 +msgid "workspace.tokens.size" +msgstr "Mida" + +#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:54, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:161 +msgid "workspace.tokens.text-case-value-enter" +msgstr "none | uppercase | lowercase | capitalize o {alias}" + +#: src/app/main/ui/workspace/tokens/management/forms/form_container.cljs:57, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:169 +msgid "workspace.tokens.text-decoration-value-enter" +msgstr "none | underline | strike-through o {alias}" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:154 +#, unused +msgid "workspace.tokens.theme-name" +msgstr "Tema %s" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:51 +#, unused +msgid "workspace.tokens.theme-name-already-exists" +msgstr "Ja existeix un tema amb aquest nom" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:100 +#, unused +msgid "workspace.tokens.theme.disable" +msgstr "Desactiva" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:96 +#, unused +msgid "workspace.tokens.theme.enable" +msgstr "Activa" + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:84 +msgid "workspace.tokens.themes-description" +msgstr "" +"Aquí podeu gestionar els temes, activar-los o desactivar-los i " +"configurar-ne els sets actius." + +#: src/app/main/ui/workspace/tokens/themes/create_modal.cljs:48, src/app/main/ui/workspace/tokens/themes/create_modal.cljs:82 +msgid "workspace.tokens.themes-list" +msgstr "Llista de temes" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:334, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:335 +msgid "workspace.tokens.token-description" +msgstr "Descripció" + +#: src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:133, src/app/main/ui/workspace/tokens/management/forms/controls/fonts_combobox.cljs:258 +msgid "workspace.tokens.token-font-family-select" +msgstr "Selecciona la família tipogràfica" + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:121 +msgid "workspace.tokens.token-font-family-value" +msgstr "Família tipogràfica" + +#: src/app/main/ui/workspace/tokens/management/forms/typography.cljs:120 +msgid "workspace.tokens.token-font-family-value-enter" +msgstr "Família tipogràfica o llista de lletres separades per comes (,)" + +#: src/app/main/ui/ds/controls/shared/token_option.cljs:43, src/app/main/ui/workspace/colorpicker/color_tokens.cljs:88, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:141, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs:161, src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:298, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:63, src/app/main/ui/workspace/tokens/management/forms/rename_node_modal.cljs:64 +msgid "workspace.tokens.token-name" +msgstr "Nom" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:273 +msgid "workspace.tokens.token-name-duplication-validation-error" +msgstr "Ja existeix un token al camí: %s o en un prefix d'aquest." + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:270 +msgid "workspace.tokens.token-name-length-validation-error" +msgstr "El nom ha de tenir com a mínim 1 caràcter" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:272 +msgid "workspace.tokens.token-name-validation-error" +msgstr "" +"no és un nom de token vàlid.\n" +"Els noms de token només han de contenir lletres i dígits separats per " +"caràcters . i no han de començar amb el signe $." + +#: src/app/main/ui/workspace/tokens/style_dictionary.cljs:259 +#, unused +msgid "workspace.tokens.token-not-resolved" +msgstr "No s'ha pogut resoldre el token de referència amb el nom: %s" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:325 +msgid "workspace.tokens.token-value" +msgstr "Valor" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs:324, src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:131 +msgid "workspace.tokens.token-value-enter" +msgstr "Escriviu un valor o un àlies amb {alias}" + +#: src/app/main/ui/workspace/tokens/management.cljs:72 +msgid "workspace.tokens.tokens-section-title" +msgstr "TOKENS - %s" + +#: src/app/main/ui/workspace/tokens/sidebar.cljs:122 +msgid "workspace.tokens.tools" +msgstr "Eines" + +#: src/app/main/data/workspace/tokens/import_export.cljs:50 +#, unused +msgid "workspace.tokens.unknown-token-type-message" +msgstr "" +"La importació ha anat bé, però s'han omès alguns tokens perquè utilitzen " +"valors de $type no disponibles. Desplegueu els detalls per a veure quins " +"tokens s'han vist afectats." + +#: src/app/main/data/workspace/tokens/import_export.cljs:52 +#, unused +msgid "workspace.tokens.unknown-token-type-section" +msgstr "El tipus '%s' no està disponible (%s):" + +#: src/app/main/ui/workspace/tokens/management/forms/shadow.cljs:249, src/app/main/ui/workspace/tokens/management/forms/typography.cljs:200 +msgid "workspace.tokens.use-reference" +msgstr "Utilitza una referència" + +#: src/app/main/ui/workspace/tokens/management/token_pill.cljs:136 +msgid "workspace.tokens.value-not-valid" +msgstr "El valor no és vàlid" + +#: src/app/main/ui/workspace/tokens/management/forms/generic_form.cljs +#, unused +msgid "workspace.tokens.warning-name-change" +msgstr "" +"En canviar el nom d'aquest token es trencarà qualsevol referència al seu " +"nom antic" + +#: src/app/main/ui/workspace/top_toolbar.cljs:70 +msgid "workspace.toolbar.arrow" +msgstr "Fletxa (%s)" + #: src/app/main/ui/workspace/sidebar.cljs:156, src/app/main/ui/workspace/sidebar.cljs:163 msgid "workspace.toolbar.assets" msgstr "Recursos" @@ -4368,6 +10559,11 @@ msgstr "Comentaris (%s)" msgid "workspace.toolbar.curve" msgstr "Corba (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:231 +#, unused +msgid "workspace.toolbar.debug" +msgstr "Eines de depuració" + #: src/app/main/ui/workspace/top_toolbar.cljs:68 msgid "workspace.toolbar.ellipse" msgstr "El·lipse (%s)" @@ -4376,18 +10572,51 @@ msgstr "El·lipse (%s)" msgid "workspace.toolbar.frame" msgstr "Tauler (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:188 +#, unused +msgid "workspace.toolbar.frame-first-time" +msgstr "Crea un tauler. Feu clic i arrossegueu per a definir-ne la mida. (%s)" + #: src/app/main/ui/workspace/top_toolbar.cljs:73 msgid "workspace.toolbar.image" msgstr "Imatge (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:413 +msgid "workspace.toolbar.label" +msgstr "Barra d'eines" + +#: src/app/main/ui/workspace/top_toolbar.cljs:69 +msgid "workspace.toolbar.line" +msgstr "Línia (%s)" + +#: src/app/main/ui/workspace/top_toolbar.cljs:333 +msgid "workspace.toolbar.mcp" +msgstr "MCP" + +#: src/app/main/ui/workspace/top_toolbar.cljs:345 +msgid "workspace.toolbar.mcp-connect-here" +msgstr "Connecta aquí" + +#: src/app/main/ui/workspace/top_toolbar.cljs:342 +msgid "workspace.toolbar.mcp-connected" +msgstr "MCP connectat" + #: src/app/main/ui/workspace/top_toolbar.cljs:65, src/app/main/ui/workspace/top_toolbar.cljs:425 msgid "workspace.toolbar.move" msgstr "Mou (%s)" +#: src/app/main/ui/workspace/palette.cljs:169 +msgid "workspace.toolbar.palette-bar" +msgstr "Barra de paletes" + #: src/app/main/ui/workspace/top_toolbar.cljs:72 msgid "workspace.toolbar.path" msgstr "Camí (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:75 +msgid "workspace.toolbar.plugins" +msgstr "Extensions (%s)" + #: src/app/main/ui/workspace/top_toolbar.cljs:67 msgid "workspace.toolbar.rect" msgstr "Rectangle (%s)" @@ -4405,6 +10634,10 @@ msgstr "Text (%s)" msgid "workspace.toolbar.text-palette" msgstr "Tipografies (%s)" +#: src/app/main/ui/workspace/top_toolbar.cljs:485, src/app/main/ui/workspace/top_toolbar.cljs:486 +msgid "workspace.toolbar.toggle-toolbar" +msgstr "Mostra/amaga la barra d'eines" + #: src/app/main/ui/workspace/viewport/top_bar.cljs:45 msgid "workspace.top-bar.read-only.done" msgstr "Fet" @@ -4414,10 +10647,22 @@ msgstr "Fet" msgid "workspace.top-bar.view-only" msgstr "**S'està inspeccionant el codi** (només lectura)" +#, unused +msgid "workspace.top-bar.webgl-context-lost" +msgstr "El renderatge no està disponible. Actualitzeu per a restaurar l'edició." + +#: src/app/main/ui/workspace/viewport/top_bar.cljs:43 +msgid "workspace.top-bar.webgl-context-lost.reload" +msgstr "Actualitza" + #: src/app/main/ui/workspace/sidebar/history.cljs:378 msgid "workspace.undo.empty" msgstr "Encara no hi ha canvis a l'historial" +#: src/app/main/ui/workspace/sidebar/history.cljs:358 +msgid "workspace.undo.entry.by" +msgstr "per %s" + #: src/app/main/ui/workspace/sidebar/history.cljs:148 msgid "workspace.undo.entry.delete" msgstr "S'ha eliminat %s" @@ -4563,6 +10808,10 @@ msgstr "Historial" msgid "workspace.updates.dismiss" msgstr "Descarta" +#: src/app/main/data/workspace/libraries.cljs:1356 +msgid "workspace.updates.more-info" +msgstr "Més informació" + #: src/app/main/data/workspace/libraries.cljs:1354 msgid "workspace.updates.there-are-updates" msgstr "Hi ha actualitzacions a les biblioteques compartides" @@ -4571,54 +10820,107 @@ msgstr "Hi ha actualitzacions a les biblioteques compartides" msgid "workspace.updates.update" msgstr "Actualitza" +#: src/app/main/ui/ds/product/milestone_group.cljs:78 +msgid "workspace.versions.autosaved.entry" +msgstr "%s versions d'autodesat" + +#: src/app/main/data/workspace/versions.cljs:301, src/app/main/ui/workspace/sidebar/versions.cljs:300 +msgid "workspace.versions.autosaved.version" +msgstr "Autodesat %s" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:323 +msgid "workspace.versions.button.pin" +msgstr "Fixa la versió" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:233, src/app/main/ui/workspace/sidebar/versions.cljs:313 +msgid "workspace.versions.button.preview" +msgstr "Previsualitza la versió" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:318 +msgid "workspace.versions.button.restore" +msgstr "Restaura la versió" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:425, src/app/main/ui/workspace/sidebar/versions.cljs:427 +msgid "workspace.versions.button.save" +msgstr "Desa la versió" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:434 +msgid "workspace.versions.empty" +msgstr "Encara no hi ha cap versió" + +#: src/app/main/ui/ds/product/milestone_group.cljs:72 +msgid "workspace.versions.expand-snapshot" +msgstr "Desplega les instantànies" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:398 +msgid "workspace.versions.filter.all" +msgstr "Totes les versions" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:412 +msgid "workspace.versions.filter.label" +msgstr "Filtre de versions" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:399 +msgid "workspace.versions.filter.mine" +msgstr "Les meves versions" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:403 +msgid "workspace.versions.filter.user" +msgstr "Versions de %s" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:420 +msgid "workspace.versions.loading" +msgstr "S'està carregant…" + +#, unused +msgid "workspace.versions.locked-by-other" +msgstr "Aquesta versió l'ha blocada %s i no es pot modificar" + +#, unused +msgid "workspace.versions.locked-by-you" +msgstr "Aquesta versió l'heu blocada vosaltres" + +#: src/app/main/data/workspace/versions.cljs:312 +msgid "workspace.versions.preview-banner-title" +msgstr "Previsualització de la versió: %s" + +#: src/app/main/data/workspace/versions.cljs:306 +msgid "workspace.versions.preview.unnamed" +msgstr "Versió sense nom" + +#: src/app/main/data/workspace/versions.cljs:239 +msgid "workspace.versions.restore-warning" +msgstr "Voleu restaurar aquesta versió?" + +#, unused +msgid "workspace.versions.snapshot-menu" +msgstr "Obre el menú d'instantànies" + +#: src/app/main/ui/workspace/sidebar.cljs:250 +msgid "workspace.versions.tab.actions" +msgstr "Accions" + +#: src/app/main/ui/workspace/sidebar.cljs:248 +msgid "workspace.versions.tab.history" +msgstr "Historial" + +#, unused +msgid "workspace.versions.tooltip.locked-version" +msgstr "Versió blocada: només la pot modificar qui l'ha creada" + +#: src/app/main/ui/ds/product/milestone.cljs:84, src/app/main/ui/ds/product/milestone_group.cljs:91 +msgid "workspace.versions.version-menu" +msgstr "Obre el menú de versions" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:65 +#, markdown +msgid "workspace.versions.warning.subtext" +msgstr "Si voleu augmentar aquest límit, escriviu-nos a [support@penpot.app](%s)" + +#: src/app/main/ui/workspace/sidebar/versions.cljs:462 +msgid "workspace.versions.warning.text" +msgstr "Les versions d'autodesat es conservaran durant %s dies." + #, unused msgid "workspace.viewport.click-to-close-path" msgstr "Feu clic per a tancar el camí" - -#~ msgid "dashboard.newsletter-title" -#~ msgstr "Subscripció al butlletí" - -#~ msgid "feedback.chat-subtitle" -#~ msgstr "Voleu parlar? Xategeu amb nosaltres a Gitter" - -#~ msgid "inspect.attributes.shadow.shorthand.offset-x" -#~ msgstr "X" - -#~ msgid "labels.images" -#~ msgstr "Imatges" - -#~ msgid "labels.skip" -#~ msgstr "Omet" - -#~ msgid "onboarding.contrib.alt" -#~ msgstr "Codi obert" - -#~ msgid "onboarding.contrib.link" -#~ msgstr "projecte a github" - -#~ msgid "onboarding.slide.0.desc1" -#~ msgstr "" -#~ "Creeu interfícies d'usuari boniques en col·laboració amb tots els membres " -#~ "de l'equip." - -#~ msgid "onboarding.slide.1.desc1" -#~ msgstr "Creeu interaccions enriquides per a imitar el comportament del producte." - -#~ msgid "onboarding.slide.2.desc1" -#~ msgstr "" -#~ "Tot l'equip treballant simultàniament amb disseny en temps real i " -#~ "comentaris, idees i opinions sobre els dissenys de forma centralitzada." - -#~ msgid "onboarding.slide.3.desc2" -#~ msgstr "" -#~ "Obteniu i proporcioneu especificacions de codi d'etiquetatge (SVG, HTML) o " -#~ "d'estils (CSS, Less, Stylus...)." - -#~ msgid "viewer.header.share.placeholder" -#~ msgstr "L'enllaç compartit apareixerà aquí" - -#~ msgid "workspace.library.libraries" -#~ msgstr "Biblioteques" - -#~ msgid "workspace.options.blur-options.layer-blur" -#~ msgstr "Capa" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 4c0764aa07..63222f775a 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -112,7 +112,7 @@ msgstr "La contraseña ha sido cambiada" #: src/app/main/ui/auth/recovery_request.cljs:50 msgid "auth.notifications.profile-not-verified" msgstr "" -"El perfil aun no ha sido verificado, por favor valida el perfil antes de " +"El perfil aún no ha sido verificado, por favor valida el perfil antes de " "continuar." #: src/app/main/ui/auth/recovery_request.cljs:33 @@ -1818,7 +1818,7 @@ msgstr "Parece que no es una imagen válida." msgid "errors.member-is-muted" msgstr "" "El perfil que esta invitando tiene los emails silenciados (por reportes de " -"spam o alto indice de rebote)." +"spam o alto índice de rebote)." #: src/app/main/errors.cljs:483 msgid "errors.migration-in-progress" @@ -1859,7 +1859,7 @@ msgstr "El perfil esta blockeado" #: src/app/main/ui/auth/recovery_request.cljs:53, src/app/main/ui/dashboard/team.cljs:225, src/app/main/ui/dashboard/team.cljs:731, src/app/main/ui/dashboard/team.cljs:1108, src/app/main/ui/onboarding/team_choice.cljs:109, src/app/main/ui/settings/change_email.cljs:33 msgid "errors.profile-is-muted" msgstr "" -"Tu perfil tiene los emails silenciados (por reportes de spam o alto indice " +"Tu perfil tiene los emails silenciados (por reportes de spam o alto índice " "de rebote)." #: src/app/main/data/auth.cljs:346, src/app/main/ui/auth/register.cljs:91 @@ -2642,7 +2642,7 @@ msgstr "Crear nuevo token de acceso" #: src/app/main/ui/settings/integrations.cljs:632 msgid "integrations.access-tokens.empty.add-one" -msgstr "Pulsa el botón \"Crear nuevo token de accesso\" para generar uno." +msgstr "Pulsa el botón \"Crear nuevo token de acceso\" para generar uno." #: src/app/main/ui/settings/integrations.cljs:631 msgid "integrations.access-tokens.empty.no-access-tokens" @@ -2655,7 +2655,7 @@ msgstr "Tokens de acceso personales" #: src/app/main/ui/settings/integrations.cljs:611 msgid "integrations.access-tokens.personal.description" msgstr "" -"Los tokens de accesso personales funcionan como una alternativa a nuestro " +"Los tokens de acceso personales funcionan como una alternativa a nuestro " "sistema de autenticación usuario/password y se pueden usar para permitir a " "otras aplicaciones acceso a la API interna de Penpot" @@ -2665,7 +2665,7 @@ msgstr "Copiar al portapapeles" #: src/app/main/ui/settings/integrations.cljs:253 msgid "integrations.create-access-token.title" -msgstr "Crear token de accesso" +msgstr "Crear token de acceso" #: src/app/main/ui/settings/integrations.cljs:252 msgid "integrations.create-access-token.title.created" @@ -8505,19 +8505,19 @@ msgstr "Opciones avanzadas" #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:695, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:702 msgid "workspace.options.layout-item.layout-item-max-h" -msgstr "Altura.Max" +msgstr "Altura máx." #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:633, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:640 msgid "workspace.options.layout-item.layout-item-max-w" -msgstr "Ancho.Max" +msgstr "Ancho máx." #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:664, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:672 msgid "workspace.options.layout-item.layout-item-min-h" -msgstr "Altura.Min" +msgstr "Altura mín." #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:600, src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs:609 msgid "workspace.options.layout-item.layout-item-min-w" -msgstr "Ancho.Min" +msgstr "Ancho mín." #: src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljs #, unused @@ -9785,7 +9785,7 @@ msgstr "Nombre del grupo" #: src/app/main/ui/workspace/tokens/sets.cljs #, unused msgid "workspace.tokens.grouping-set-alert" -msgstr "La agrupación de sets aun no está soportada." +msgstr "La agrupación de sets aún no está soportada." #: src/app/main/ui/workspace/tokens/import/modal.cljs:232 msgid "workspace.tokens.import-button-prefix"