mirror of
https://github.com/penpot/penpot.git
synced 2026-10-28 21:40:34 +00:00
🌐 Translate the copy notices of the merge dialogs
Adds the Spanish texts of the copy notices in the compare panel and the conflict dialog, and a line that names the component a copy follows a change through. AI-assisted-by: claude-opus-5-5
This commit is contained in:
parent
10c603dbee
commit
5255fa1d60
@ -455,7 +455,7 @@
|
||||
(when (and conflict? (:copies-affected item))
|
||||
[:> brf/copies-affected* {:n (:copies-affected item)}])
|
||||
(when copies-of
|
||||
[:> brf/copies-facts* {:entry copies-of :data data}])
|
||||
[:> brf/copies-facts* {:entry copies-of :copies copies :data data}])
|
||||
|
||||
;; an entry without a before and after says what it is, where it
|
||||
;; lands and what it affects instead
|
||||
|
||||
@ -363,7 +363,7 @@
|
||||
(when (:copies-affected conflict)
|
||||
[:> brf/copies-affected* {:n (:copies-affected conflict)}])
|
||||
(when copies-of
|
||||
[:> brf/copies-facts* {:entry copies-of :data data}])
|
||||
[:> brf/copies-facts* {:entry copies-of :copies copies :data data}])
|
||||
|
||||
;; once decided, one quiet block says what the merge leaves behind,
|
||||
;; with the way back; until then, a note says how the choice works
|
||||
|
||||
@ -306,17 +306,28 @@
|
||||
[copy]
|
||||
(or (seq (brc/copy-keeps copy)) (seq (brc/copy-open-slots copy))))
|
||||
|
||||
(defn- component-name
|
||||
"The name of component `id`: its own `:copies` entry, else the open
|
||||
file's components, else a short id."
|
||||
[copies data id]
|
||||
(or (some #(when (= id (:component-id %)) (:component-name %)) copies)
|
||||
(get-in data [:components id :name])
|
||||
(subs (str id) 0 8)))
|
||||
|
||||
(mf/defc copies-facts*
|
||||
"The copies of a component the integration changes (`entry`, one of the
|
||||
summary's `:copies`), folded under how many follow it: each with its
|
||||
page and what it keeps of its own."
|
||||
[{:keys [entry data]}]
|
||||
summary's `copies`), folded under how many follow it: each with its
|
||||
page and what it keeps of its own. An entry with `:via` changes only
|
||||
through a copy its main holds of another changed component, which
|
||||
the head line names."
|
||||
[{:keys [entry copies data]}]
|
||||
(let [open* (mf/use-state false)
|
||||
open? (deref open*)
|
||||
on-toggle (mf/use-fn #(swap! open* not))
|
||||
copies (:copies entry)
|
||||
n (count copies)
|
||||
keeping (count (filter keeps-own? copies))]
|
||||
via (:via entry)
|
||||
own (:copies entry)
|
||||
n (count own)
|
||||
keeping (count (filter keeps-own? own))]
|
||||
(when (pos? n)
|
||||
[:div {:class (stl/css :section)}
|
||||
[:> brl/group-head*
|
||||
@ -325,9 +336,13 @@
|
||||
(dm/str " - " (tr "workspace.branches.review.copies.keeping" (i18n/c keeping))))
|
||||
:is-open open?
|
||||
:on-toggle on-toggle}]
|
||||
(when via
|
||||
[:> text* {:as "p" :typography t/body-small :class (stl/css :copy-via)}
|
||||
(tr "workspace.branches.review.copies.via"
|
||||
(:component-name entry) (component-name copies data via))])
|
||||
(when open?
|
||||
[:div {:class (stl/css :copy-list)}
|
||||
(for [copy copies]
|
||||
(for [copy own]
|
||||
[:div {:class (stl/css :copy) :key (str (:id copy))}
|
||||
[:div {:class (stl/css :copy-head)}
|
||||
[:> i/icon* {:icon-id i/component-copy :size "s" :class (stl/css :copy-icon)}]
|
||||
|
||||
@ -108,3 +108,8 @@
|
||||
align-items: center;
|
||||
gap: var(--sp-s);
|
||||
}
|
||||
|
||||
.copy-via {
|
||||
padding-inline-start: calc(var(--sp-xs) + $sz-16);
|
||||
color: var(--color-foreground-secondary);
|
||||
}
|
||||
|
||||
@ -11966,3 +11966,7 @@ msgid "workspace.branches.review.copies.affected"
|
||||
msgid_plural "workspace.branches.review.copies.affected"
|
||||
msgstr[0] "Choosing a side here also decides 1 copy."
|
||||
msgstr[1] "Choosing a side here also decides %s copies."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.via"
|
||||
msgstr "%s follows the change through its copy of %s"
|
||||
|
||||
@ -6535,6 +6535,180 @@ msgstr "Ramas - %s"
|
||||
msgid "workspace.branches.menu.create"
|
||||
msgstr "Crear rama"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.affected"
|
||||
msgid_plural "workspace.branches.review.copies.affected"
|
||||
msgstr[0] "Elegir un lado aquí también decide 1 copia."
|
||||
msgstr[1] "Elegir un lado aquí también decide %s copias."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.follow"
|
||||
msgid_plural "workspace.branches.review.copies.follow"
|
||||
msgstr[0] "1 copia seguirá este componente"
|
||||
msgstr[1] "%s copias seguirán este componente"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.follows"
|
||||
msgstr "Sigue al componente en: %s"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.follows-all"
|
||||
msgstr "Sigue todos los cambios"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.blur"
|
||||
msgstr "Desenfoque"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.clip"
|
||||
msgstr "Truncar contenido"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.constraints"
|
||||
msgstr "Restricciones"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.content"
|
||||
msgstr "Contenido"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.exports"
|
||||
msgstr "Exportaciones"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.fill"
|
||||
msgstr "Relleno"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.font"
|
||||
msgstr "Fuente"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.geometry"
|
||||
msgstr "Tamaño y posición"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.grids"
|
||||
msgstr "Guías"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.layer"
|
||||
msgstr "Opacidad y modo de fusión"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.layout"
|
||||
msgstr "Layout"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.layout-item"
|
||||
msgstr "Elemento de layout"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.lock"
|
||||
msgstr "Bloqueo"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.mask"
|
||||
msgstr "Máscara"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.name"
|
||||
msgstr "Nombre"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.radius"
|
||||
msgstr "Radio"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.shadow"
|
||||
msgstr "Sombra"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.stroke"
|
||||
msgstr "Borde"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.swap"
|
||||
msgstr "Componente intercambiado"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.text-display"
|
||||
msgstr "Espaciado y alineación del texto"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.group.visibility"
|
||||
msgstr "Visibilidad"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.keeping"
|
||||
msgid_plural "workspace.branches.review.copies.keeping"
|
||||
msgstr[0] "1 mantiene modificaciones"
|
||||
msgstr[1] "%s mantienen modificaciones"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.keeps-branch"
|
||||
msgstr "Mantiene su modificación de %s, hecha en la rama"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.keeps-main"
|
||||
msgstr "Mantiene su modificación de %s, hecha en main"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.open-note"
|
||||
msgstr "Tu elección solo decide %s. La regla de copias decide el resto."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.reason.follows-component"
|
||||
msgstr "sigue al componente"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.reason.override-both"
|
||||
msgstr "modificado en ambos lados"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.reason.override-branch"
|
||||
msgstr "modificado en la rama"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.reason.override-main"
|
||||
msgstr "modificado en main"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs
|
||||
msgid "workspace.branches.review.copies.row-follow"
|
||||
msgid_plural "workspace.branches.review.copies.row-follow"
|
||||
msgstr[0] "1 copia lo sigue"
|
||||
msgstr[1] "%s copias lo siguen"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.settled-notice"
|
||||
msgstr ""
|
||||
"La regla de copias decide todos los cambios de esta copia, así que no hay "
|
||||
"nada que elegir ni dejar fuera."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.settled-row"
|
||||
msgstr "Decidido por la regla de copias"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/compare.cljs
|
||||
msgid "workspace.branches.review.copies.settled-tag"
|
||||
msgstr "Regla de copias"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.settled-title"
|
||||
msgstr "Decidido por la regla de copias"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.slots-open"
|
||||
msgstr "Ambos lados modifican el %s: tu elección decide"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/common.cljs
|
||||
msgid "workspace.branches.review.copies.token-slot"
|
||||
msgstr "Token de %s"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/branch_review/facts.cljs
|
||||
msgid "workspace.branches.review.copies.via"
|
||||
msgstr "%s sigue el cambio a través de su copia de %s"
|
||||
|
||||
#: src/app/main/ui/workspace/branch_switcher.cljs:242
|
||||
msgid "workspace.branches.switcher.all"
|
||||
msgstr "Todas las ramas"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user