Merge remote-tracking branch 'origin/staging' into develop

This commit is contained in:
Andrey Antukh 2025-02-18 10:25:13 +01:00
commit adbe29e3d1
36 changed files with 115 additions and 69 deletions

View file

@ -12,7 +12,6 @@
[app.common.files.helpers :as cfh] [app.common.files.helpers :as cfh]
[app.common.geom.point :as gpt] [app.common.geom.point :as gpt]
[app.common.geom.shapes :as gsh] [app.common.geom.shapes :as gsh]
[app.common.geom.shapes.grid-layout :as gslg]
[app.common.logging :as log] [app.common.logging :as log]
[app.common.logic.shapes :as cls] [app.common.logic.shapes :as cls]
[app.common.spec :as us] [app.common.spec :as us]
@ -227,18 +226,19 @@
changes changes
(if (ctl/grid-layout? objects (:parent-id first-shape)) (if (ctl/grid-layout? objects (:parent-id first-shape))
(let [target-cell (-> position meta :cell) (let [target-cell (-> position meta :cell)
[row column] [row column]
(if (some? target-cell) (when (some? target-cell)
[(:row target-cell) (:column target-cell)] [(:row target-cell) (:column target-cell)])]
(gslg/get-drop-cell (:parent-id first-shape) objects position))]
(-> changes (-> changes
(pcb/update-shapes (pcb/update-shapes
[(:parent-id first-shape)] [(:parent-id first-shape)]
(fn [shape objects] (fn [shape objects]
(-> shape (-> shape
(ctl/assign-cells objects) (ctl/assign-cells objects)
(ctl/push-into-cell [(:id first-shape)] row column) (cond-> (and (some? row) (some? column))
(ctl/assign-cells objects))) (-> (ctl/push-into-cell [(:id first-shape)] row column)
(ctl/assign-cells objects)))))
{:with-objects? true}) {:with-objects? true})
(pcb/reorder-grid-children [(:parent-id first-shape)]))) (pcb/reorder-grid-children [(:parent-id first-shape)])))
changes) changes)

View file

@ -1307,9 +1307,9 @@
"Push the shapes into the row/column cell and moves the rest" "Push the shapes into the row/column cell and moves the rest"
[parent shape-ids row column] [parent shape-ids row column]
(let [cells (vec (get-cells parent {:sort? true})) (let [parent (-> parent (free-cell-shapes shape-ids))
cells (vec (get-cells parent {:sort? true}))
[start-index start-cell] (seek-indexed-cell cells row column)] [start-index start-cell] (seek-indexed-cell cells row column)]
(if (some? start-cell) (if (some? start-cell)
(let [;; start-index => to-index is the range where the shapes inserted will be added (let [;; start-index => to-index is the range where the shapes inserted will be added
to-index (min (+ start-index (count shape-ids)) (dec (count cells)))] to-index (min (+ start-index (count shape-ids)) (dec (count cells)))]

View file

@ -172,6 +172,48 @@ test("User adds a library and its automatically selected in the color palette",
).toBeVisible(); ).toBeVisible();
}); });
test("Bug 10179 - Drag & drop doesn't add colors to the Recent Colors palette", async ({
page,
}) => {
const workspacePage = new WorkspacePage(page);
await workspacePage.setupEmptyFile();
await workspacePage.goToWorkspace();
await workspacePage.page.keyboard.press("Alt+p");
await expect(
workspacePage.palette.getByText(
"There are no color styles in your library yet",
),
).toBeVisible();
await page.getByRole("button", { name: "#E8E9EA" }).click();
await expect(page.getByTestId("colorpicker")).toBeVisible();
const handler = await page.getByTestId("ramp-handler");
await expect(handler).toBeVisible();
const saturation_selection = await page.getByTestId(
"value-saturation-selector",
);
await expect(saturation_selection).toBeVisible();
const saturation_box = await saturation_selection.boundingBox();
const handler_box = await handler.boundingBox();
await page.mouse.move(
handler_box.x + handler_box.width,
handler_box.y + handler_box.height / 2,
);
await page.mouse.down();
await page.mouse.move(
saturation_box.x + saturation_box.width / 2,
saturation_box.y + saturation_box.height / 2,
);
await page.mouse.up();
await expect(
workspacePage.palette.getByText(
"There are no color styles in your library yet",
),
).not.toBeVisible();
});
test("Bug 7489 - Workspace-palette items stay hidden when opening with keyboard-shortcut", async ({ test("Bug 7489 - Workspace-palette items stay hidden when opening with keyboard-shortcut", async ({
page, page,
}) => { }) => {

View file

@ -65,9 +65,6 @@
(def default-flags (def default-flags
[:enable-onboarding [:enable-onboarding
:enable-onboarding-team
:enable-onboarding-questions
:enable-onboarding-newsletter
:enable-dashboard-templates-section :enable-dashboard-templates-section
:enable-google-fonts-provider :enable-google-fonts-provider
:enable-component-thumbnails]) :enable-component-thumbnails])
@ -105,8 +102,8 @@
(def browser (parse-browser)) (def browser (parse-browser))
(def platform (parse-platform)) (def platform (parse-platform))
(def terms-of-service-uri (obj/get global "penpotTermsOfServiceURI" "https://penpot.app/terms")) (def terms-of-service-uri (obj/get global "penpotTermsOfServiceURI"))
(def privacy-policy-uri (obj/get global "penpotPrivacyPolicyURI" "https://penpot.app/privacy")) (def privacy-policy-uri (obj/get global "penpotPrivacyPolicyURI"))
(def flex-help-uri (obj/get global "penpotGridHelpURI" "https://help.penpot.app/user-guide/flexible-layouts/")) (def flex-help-uri (obj/get global "penpotGridHelpURI" "https://help.penpot.app/user-guide/flexible-layouts/"))
(def grid-help-uri (obj/get global "penpotGridHelpURI" "https://help.penpot.app/user-guide/flexible-layouts/")) (def grid-help-uri (obj/get global "penpotGridHelpURI" "https://help.penpot.app/user-guide/flexible-layouts/"))
(def plugins-list-uri (obj/get global "penpotPluginsListUri" "https://penpot.app/penpothub/plugins")) (def plugins-list-uri (obj/get global "penpotPluginsListUri" "https://penpot.app/penpothub/plugins"))

View file

@ -9,6 +9,7 @@
(:require (:require
[app.common.data.macros :as dm] [app.common.data.macros :as dm]
[app.common.media :as cm] [app.common.media :as cm]
[app.config :as cf]
[app.main.data.fonts :as df] [app.main.data.fonts :as df]
[app.main.data.modal :as modal] [app.main.data.modal :as modal]
[app.main.data.notifications :as ntf] [app.main.data.notifications :as ntf]
@ -183,9 +184,10 @@
:ref input-ref :ref input-ref
:on-selected on-selected}]] :on-selected on-selected}]]
[:& context-notification {:content (tr "dashboard.fonts.hero-text2") (when-let [url cf/terms-of-service-uri]
:level :default [:& context-notification {:content (tr "dashboard.fonts.hero-text2" url)
:is-html true}] :level :default
:is-html true}])
(when problematic-fonts? (when problematic-fonts?
[:& context-notification {:content (tr "dashboard.fonts.warning-text") [:& context-notification {:content (tr "dashboard.fonts.warning-text")

View file

@ -111,7 +111,8 @@
:radial :radial-gradient) :radial :radial-gradient)
:color)) :color))
active-color-tab (mf/use-state #(dc/get-active-color-tab)) active-color-tab (mf/use-state #(dc/get-active-color-tab))
drag? (mf/use-state false) drag?* (mf/use-state false)
drag? (deref drag?*)
type (if (= @active-color-tab "hsva") :hsv :rgb) type (if (= @active-color-tab "hsva") :hsv :rgb)
@ -134,7 +135,7 @@
(st/emit! (dc/update-colorpicker-color (st/emit! (dc/update-colorpicker-color
{:image (-> (select-keys image [:id :width :height :mtype :name]) {:image (-> (select-keys image [:id :width :height :mtype :name])
(assoc :keep-aspect-ratio true))} (assoc :keep-aspect-ratio true))}
(not @drag?))))) (not drag?)))))
on-fill-image-click on-fill-image-click
(mf/use-fn #(dom/click (mf/ref-val fill-image-ref))) (mf/use-fn #(dom/click (mf/ref-val fill-image-ref)))
@ -152,7 +153,6 @@
image (-> (:image current-color) image (-> (:image current-color)
(assoc :keep-aspect-ratio keep-aspect-ratio?))] (assoc :keep-aspect-ratio keep-aspect-ratio?))]
(st/emit! (st/emit!
(dc/update-colorpicker-color {:image image} true) (dc/update-colorpicker-color {:image image} true)
(ptk/data-event ::ev/event {::ev/name "toggle-image-aspect-ratio" (ptk/data-event ::ev/event {::ev/name "toggle-image-aspect-ratio"
@ -176,16 +176,11 @@
handle-change-color handle-change-color
(mf/use-fn (mf/use-fn
(mf/deps current-color @drag?) (mf/deps current-color drag?)
(fn [color] (fn [color]
(when (or (not= (str/lower (:hex color)) (str/lower (:hex current-color))) (let [color (merge current-color color)
(not= (:h color) (:h current-color)) color (dc/materialize-color-components color)]
(not= (:s color) (:s current-color)) (st/emit! (dc/update-colorpicker-color color (not drag?))))))
(not= (:v color) (:v current-color))
(not= (:alpha color) (:alpha current-color)))
(let [recent-color (merge current-color color)
recent-color (dc/materialize-color-components recent-color)]
(st/emit! (dc/update-colorpicker-color recent-color (not @drag?)))))))
handle-click-picker handle-click-picker
(mf/use-fn (mf/use-fn
@ -217,18 +212,18 @@
on-start-drag on-start-drag
(mf/use-fn (mf/use-fn
(mf/deps drag? node-ref) (mf/deps drag?* node-ref)
(fn [] (fn []
(reset! should-update? false) (reset! should-update? false)
(reset! drag? true) (reset! drag?* true)
(st/emit! (dwu/start-undo-transaction (mf/ref-val node-ref))))) (st/emit! (dwu/start-undo-transaction (mf/ref-val node-ref)))))
on-finish-drag on-finish-drag
(mf/use-fn (mf/use-fn
(mf/deps drag? node-ref) (mf/deps drag?* node-ref)
(fn [] (fn []
(reset! should-update? true) (reset! should-update? true)
(reset! drag? false) (reset! drag?* false)
(st/emit! (dwu/commit-undo-transaction (mf/ref-val node-ref))))) (st/emit! (dwu/commit-undo-transaction (mf/ref-val node-ref)))))
on-color-accept on-color-accept

View file

@ -16,7 +16,8 @@
[rumext.v2 :as mf])) [rumext.v2 :as mf]))
(mf/defc value-saturation-selector [{:keys [saturation value on-change on-start-drag on-finish-drag]}] (mf/defc value-saturation-selector [{:keys [saturation value on-change on-start-drag on-finish-drag]}]
(let [dragging? (mf/use-state false) (let [dragging?* (mf/use-state false)
dragging? (deref dragging?*)
calculate-pos calculate-pos
(fn [ev] (fn [ev]
(let [{:keys [left right top bottom]} (-> ev dom/get-target dom/get-bounding-rect) (let [{:keys [left right top bottom]} (-> ev dom/get-target dom/get-bounding-rect)
@ -26,27 +27,36 @@
(on-change px py))) (on-change px py)))
handle-start-drag handle-start-drag
(mf/use-callback (mf/use-fn
(mf/deps on-start-drag) (mf/deps on-start-drag)
(fn [event] (fn [event]
(dom/capture-pointer event) (dom/capture-pointer event)
(reset! dragging? true) (reset! dragging?* true)
(on-start-drag))) (on-start-drag)))
handle-stop-drag handle-stop-drag
(mf/use-callback (mf/use-fn
(mf/deps on-finish-drag) (mf/deps on-finish-drag)
(fn [event] (fn [event]
(dom/release-pointer event) (dom/release-pointer event)
(reset! dragging? false) (reset! dragging?* false)
(on-finish-drag)))] (on-finish-drag)))
handle-change-pointer-move
(mf/use-fn
(mf/deps calculate-pos dragging?)
(fn [event]
(when dragging?
(calculate-pos event))))]
[:div {:class (stl/css :value-saturation-selector) [:div {:class (stl/css :value-saturation-selector)
:data-testid "value-saturation-selector"
:on-pointer-down handle-start-drag :on-pointer-down handle-start-drag
:on-pointer-up handle-stop-drag :on-pointer-up handle-stop-drag
:on-lost-pointer-capture handle-stop-drag
:on-click calculate-pos :on-click calculate-pos
:on-pointer-move #(when @dragging? (calculate-pos %))} :on-pointer-move handle-change-pointer-move}
[:div {:class (stl/css :handler) [:div {:class (stl/css :handler)
:data-testid "ramp-handler"
:style {:pointer-events "none" :style {:pointer-events "none"
:left (str (* 100 saturation) "%") :left (str (* 100 saturation) "%")
:top (str (* 100 (- 1 (/ value 255))) "%")}}]])) :top (str (* 100 (- 1 (/ value 255))) "%")}}]]))

View file

@ -464,7 +464,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"يجب عليك فقط تحميل الخطوط التي تمتلكها أو لديك ترخيص لاستخدامها في Penpot. " "يجب عليك فقط تحميل الخطوط التي تمتلكها أو لديك ترخيص لاستخدامها في Penpot. "
"اكتشف المزيد في قسم حقوق المحتوى في [شروط خدمة Penpot] " "اكتشف المزيد في قسم حقوق المحتوى في [شروط خدمة Penpot] "
"(https://penpot.app/terms.html). قد ترغب أيضًا في القراءة عن [ترخيص الخطوط] " "(%s). قد ترغب أيضًا في القراءة عن [ترخيص الخطوط] "
"(2)." "(2)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -458,7 +458,7 @@ msgstr ""
"Només podeu pujar tipografies de la vostra propietat o de les que tingueu " "Només podeu pujar tipografies de la vostra propietat o de les que tingueu "
"una llicència que us permeti utilitzar-los al Penpot. Teniu més informació " "una llicència que us permeti utilitzar-los al Penpot. Teniu més informació "
"a la secció de drets de contingut de les [Condicions del servei del " "a la secció de drets de contingut de les [Condicions del servei del "
"Penpot](https://penpot.app/terms.html). També podeu llegir sobre les " "Penpot](%s). També podeu llegir sobre les "
"[llicències de les tipografies](https://www.typography.com/faq)." "[llicències de les tipografies](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -605,7 +605,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Měli byste nahrávat pouze písma, která vlastníte nebo máte licenci k " "Měli byste nahrávat pouze písma, která vlastníte nebo máte licenci k "
"použití v Penpotu. Další informace najdete v části Obsahová práva " "použití v Penpotu. Další informace najdete v části Obsahová práva "
"[smluvních podmínek společnosti Penpot](https://penpot.app/terms.html). " "[smluvních podmínek společnosti Penpot](%s). "
"Můžete si také přečíst o [licencování " "Můžete si také přečíst o [licencování "
"písem](https://www.typography.com/faq)." "písem](https://www.typography.com/faq)."

View file

@ -189,7 +189,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Du bør kun uploade skrifttyper som du ejer eller har licens til at bruge i " "Du bør kun uploade skrifttyper som du ejer eller har licens til at bruge i "
"Penpot. Find ud af mere i sektionen om indholdsrettigheder i [Penpot's " "Penpot. Find ud af mere i sektionen om indholdsrettigheder i [Penpot's "
"Terms of Service] (https://penpot.app/terms.html). Du kan også læse om " "Terms of Service] (%s). Du kan også læse om "
"[font licensing](2)." "[font licensing](2)."
#: src/app/main/ui/dashboard/team.cljs:116 #: src/app/main/ui/dashboard/team.cljs:116

View file

@ -606,7 +606,7 @@ msgstr ""
"Sie sollten nur Schriftarten hochladen, die Sie besitzen oder für die Sie " "Sie sollten nur Schriftarten hochladen, die Sie besitzen oder für die Sie "
"eine Lizenz zur Verwendung in Penpot verfügen. Weitere Informationen finden " "eine Lizenz zur Verwendung in Penpot verfügen. Weitere Informationen finden "
"Sie im Abschnitt über Inhaltsrechte in den [Nutzungsbedingungen von " "Sie im Abschnitt über Inhaltsrechte in den [Nutzungsbedingungen von "
"Penpot](https://penpot.app/terms.html). Mehr über die [Lizenzierung von " "Penpot](%s). Mehr über die [Lizenzierung von "
"Schriftarten erfahren Sie hier](https://www.typography.com/faq)." "Schriftarten erfahren Sie hier](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -614,7 +614,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"You should only upload fonts you own or have license to use in Penpot. Find " "You should only upload fonts you own or have license to use in Penpot. Find "
"out more in the Content rights section of [Penpot's Terms of " "out more in the Content rights section of [Penpot's Terms of "
"Service](https://penpot.app/terms.html). You also might want to read about " "Service](%s). You also might want to read about "
"[font licensing](https://www.typography.com/faq)." "[font licensing](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -620,7 +620,7 @@ msgstr ""
"Sólo deberías cargar fuentes que te pertenecen o de las que tienes una " "Sólo deberías cargar fuentes que te pertenecen o de las que tienes una "
"licencia que te permita usarlas en Penpot. Encuentra más información en la " "licencia que te permita usarlas en Penpot. Encuentra más información en la "
"sección de Derechos de Contenido: [Penpot's Terms of " "sección de Derechos de Contenido: [Penpot's Terms of "
"Service](https://penpot.app/terms.html). También te puede interesar leer " "Service](%s). También te puede interesar leer "
"más sobre licencias tipográficas: [font " "más sobre licencias tipográficas: [font "
"licensing](https://www.typography.com/faq)." "licensing](https://www.typography.com/faq)."

View file

@ -432,7 +432,7 @@ msgstr ""
"Zureak diren edo Penpoten erabiltzeko lizentzia duzun letra-tipoak bakarrik " "Zureak diren edo Penpoten erabiltzeko lizentzia duzun letra-tipoak bakarrik "
"kargatu ditzakezu. Informazio gehiago lortzeko irakurri Edukiaren " "kargatu ditzakezu. Informazio gehiago lortzeko irakurri Edukiaren "
"eskubideen atala: [Penpoten erabilpen " "eskubideen atala: [Penpoten erabilpen "
"baldintzak](https://penpot.app/terms.html). Letra-tipoen lizentzien " "baldintzak](%s). Letra-tipoen lizentzien "
"inguruan irakurtzea ere interesgarria izan daiteke: [letra-tipoen " "inguruan irakurtzea ere interesgarria izan daiteke: [letra-tipoen "
"lizentziak](https://www.typography.com/faq)." "lizentziak](https://www.typography.com/faq)."

View file

@ -549,7 +549,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"شما فقط باید فونت‌هایی را که مالک آنها هستید یا مجوز استفاده از آنها را در " "شما فقط باید فونت‌هایی را که مالک آنها هستید یا مجوز استفاده از آنها را در "
"Penpot دارید آپلود کنید. در بخش حقوق محتوا [شرایط خدمات Penpot] " "Penpot دارید آپلود کنید. در بخش حقوق محتوا [شرایط خدمات Penpot] "
"(https://penpot.app/terms.html) اطلاعات بیشتری کسب کنید. همچنین ممکن است " "(%s) اطلاعات بیشتری کسب کنید. همچنین ممکن است "
"بخواهید درباره [مجوز فونت] (https://www.typography.com/faq) مطالعه کنید." "بخواهید درباره [مجوز فونت] (https://www.typography.com/faq) مطالعه کنید."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -564,7 +564,7 @@ msgstr ""
"Ne téléchargez que des polices que vous possédez ou dont la license vous " "Ne téléchargez que des polices que vous possédez ou dont la license vous "
"permet de les utiliser dans Penpot. Vous trouverez plus d'informations dans " "permet de les utiliser dans Penpot. Vous trouverez plus d'informations dans "
"la section Propriété des Contenus des [conditions générales d'utilisation " "la section Propriété des Contenus des [conditions générales d'utilisation "
"de Penpot](https://penpot.app/terms.html). Vous pouvez également vous " "de Penpot](%s). Vous pouvez également vous "
"renseigner sur les [licenses de polices](https://www.typography.com/faq)." "renseigner sur les [licenses de polices](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -431,7 +431,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Só debes cargar fontes da túa propiedade ou das que teñas licenza para usar " "Só debes cargar fontes da túa propiedade ou das que teñas licenza para usar "
"en Penpot. Atopa máis información na sección de dereitos de contido nas " "en Penpot. Atopa máis información na sección de dereitos de contido nas "
"[Condicións do servizo de Penpot](https://penpot.app/terms.html). Podes ler " "[Condicións do servizo de Penpot](%s). Podes ler "
"máis sobre [licenzas de fontes](https://www.typography.com/faq)." "máis sobre [licenzas de fontes](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -589,7 +589,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"עליך להעלות גופנים בבעלותך או שיש לך רישיון להשתמש בהם ב־Penpot. ניתן למצוא " "עליך להעלות גופנים בבעלותך או שיש לך רישיון להשתמש בהם ב־Penpot. ניתן למצוא "
"על כך מידע נוסף בסעיף זכויות התוכן של [תנאי השירות של " "על כך מידע נוסף בסעיף זכויות התוכן של [תנאי השירות של "
"Penpot](https://penpot.app/terms.html). אפשר גם לקרוא גם על [רישוי " "Penpot](%s). אפשר גם לקרוא גם על [רישוי "
"גופנים](https://www.typography.com/faq)." "גופנים](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -433,7 +433,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Možeš učitavati samo fontove koje posjeduješ ili imaš licencu za korištenje " "Možeš učitavati samo fontove koje posjeduješ ili imaš licencu za korištenje "
"u Penpotu. Saznaj više u odjeljku Prava na sadržaj [Penpotovih uvjeta " "u Penpotu. Saznaj više u odjeljku Prava na sadržaj [Penpotovih uvjeta "
"pružanja usluge](https://penpot.app/terms.html). Također možeš pročitati o " "pružanja usluge](%s). Također možeš pročitati o "
"[licenciranju fontova](https://www.typography.com/faq)." "[licenciranju fontova](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -610,7 +610,7 @@ msgstr ""
"Anda seharusnya hanya mengunggah fon yang Anda miliki atau memiliki izin " "Anda seharusnya hanya mengunggah fon yang Anda miliki atau memiliki izin "
"untuk menggunakannya dalam Penpot. Ketahui lebih lanjut dalam bagian Hak " "untuk menggunakannya dalam Penpot. Ketahui lebih lanjut dalam bagian Hak "
"konten (Content rights) dari [Ketentuan Layanan " "konten (Content rights) dari [Ketentuan Layanan "
"Penpot](https://penpot.app/terms.html). Anda mungkin juga ingin membaca " "Penpot](%s). Anda mungkin juga ingin membaca "
"tentang [lisensi fon](https://www.typography.com/faq)." "tentang [lisensi fon](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -615,7 +615,7 @@ msgstr ""
"È consigliabile caricare unicamente font di cui si è proprietari o dei " "È consigliabile caricare unicamente font di cui si è proprietari o dei "
"quali si possiede la licenza d'uso in Penpot. Ulteriori informazioni sui " "quali si possiede la licenza d'uso in Penpot. Ulteriori informazioni sui "
"diritti dei contenuti sono disponibili nella sezione [Termini di Servizio " "diritti dei contenuti sono disponibili nella sezione [Termini di Servizio "
"di Penpot](https://penpot.app/terms.html). Potresti anche voler " "di Penpot](%s). Potresti anche voler "
"approfondire le [licenze per i font](https://www.typography.com/faq)." "approfondire le [licenze per i font](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -412,7 +412,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Turėtumėte įkelti tik tuos šriftus, kurie jums priklauso arba kuriuos " "Turėtumėte įkelti tik tuos šriftus, kurie jums priklauso arba kuriuos "
"turite licenciją naudoti \"Penpot\". Daugiau informacijos rasite " "turite licenciją naudoti \"Penpot\". Daugiau informacijos rasite "
"[Penpot'paslaugų teikimo sąlygų](https://penpot.app/terms.html) skyriuje " "[Penpot'paslaugų teikimo sąlygų](%s) skyriuje "
"\"Turinio teisės\". Taip pat galite paskaityti apie [šriftų " "\"Turinio teisės\". Taip pat galite paskaityti apie [šriftų "
"licencijavimą](https://www.typography.com/faq)." "licencijavimą](https://www.typography.com/faq)."

View file

@ -609,7 +609,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Vajadzētu augšupielādēt tikai sev piederošus fontus vai tos, kuriem ir " "Vajadzētu augšupielādēt tikai sev piederošus fontus vai tos, kuriem ir "
"licence to izmantošanai Penpot. Vairāk var uzzināt [Penpot pakalpojuma " "licence to izmantošanai Penpot. Vairāk var uzzināt [Penpot pakalpojuma "
"sniegšanas noteikumos](https://penpot.app/terms.html). Varētu būt noderīgi " "sniegšanas noteikumos](%s). Varētu būt noderīgi "
"izlasīt arī par [fontu licencēšanu](https://www.typography.com/faq)." "izlasīt arī par [fontu licencēšanu](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -501,7 +501,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Anda hanya perlu memuat naik fon yang anda miliki atau mempunyai lesen " "Anda hanya perlu memuat naik fon yang anda miliki atau mempunyai lesen "
"untuk digunakan dalam Penpot. Ketahui lebih lanjut dalam bahagian Hak " "untuk digunakan dalam Penpot. Ketahui lebih lanjut dalam bahagian Hak "
"kandungan [Syarat Perkhidmatan Penpot](https://penpot.app/terms.html). Anda " "kandungan [Syarat Perkhidmatan Penpot](%s). Anda "
"juga mungkin ingin membaca tentang [pelesenan " "juga mungkin ingin membaca tentang [pelesenan "
"fon](https://www.typography.com/faq)." "fon](https://www.typography.com/faq)."

View file

@ -612,7 +612,7 @@ msgstr ""
"Je mag alleen lettertypen uploaden waarvan je de eigenaar bent of waarvoor " "Je mag alleen lettertypen uploaden waarvan je de eigenaar bent of waarvoor "
"je een licentie hebt om te gebruiken in Penpot. Lees meer in de sectie " "je een licentie hebt om te gebruiken in Penpot. Lees meer in de sectie "
"Inhoudsrechten van [Penpot's " "Inhoudsrechten van [Penpot's "
"Servicevoorwaarden](https://penpot.app/terms.html). Misschien wil je ook " "Servicevoorwaarden](%s). Misschien wil je ook "
"meer lezen over [lettertypelicenties](https://www.typography.com/faq)." "meer lezen over [lettertypelicenties](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -437,7 +437,7 @@ msgstr ""
"Powinieneś przesyłać tylko czcionki, których jesteś właścicielem lub " "Powinieneś przesyłać tylko czcionki, których jesteś właścicielem lub "
"posiadasz licencję na używanie w Penpot. Dowiedz się więcej w sekcji " "posiadasz licencję na używanie w Penpot. Dowiedz się więcej w sekcji "
"dotyczącej praw do treści w [Warunkach świadczenia usług Penpot] " "dotyczącej praw do treści w [Warunkach świadczenia usług Penpot] "
"(https://penpot.app/terms.html). Możesz też przeczytać o [licencjonowaniu " "(%s). Możesz też przeczytać o [licencjonowaniu "
"czcionek](https://www.typography.com/faq)." "czcionek](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -435,7 +435,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Envie somente fontes que você possui os direitos ou tem licença para usar " "Envie somente fontes que você possui os direitos ou tem licença para usar "
"no Penpot. Descubra mais na seção de Direitos de conteúdo nos [Termos de " "no Penpot. Descubra mais na seção de Direitos de conteúdo nos [Termos de "
"Serviço do Penpot](https://penpot.app/terms.html). Caso queira saber mais, " "Serviço do Penpot](%s). Caso queira saber mais, "
"veja esta leitura sobre [licenciamento de " "veja esta leitura sobre [licenciamento de "
"fontes](https://www.typography.com/faq)." "fontes](https://www.typography.com/faq)."

View file

@ -553,7 +553,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Deves carregar tipos de letra que possuas or tenhas licença para utilizar " "Deves carregar tipos de letra que possuas or tenhas licença para utilizar "
"no Penpot. Sabe mais na secção de Direitos de Conteúdos dos [Termos de " "no Penpot. Sabe mais na secção de Direitos de Conteúdos dos [Termos de "
"serviço do Penpot](https://penpot.app/terms.html). Podes também ler mais " "serviço do Penpot](%s). Podes também ler mais "
"sobre [licenciamento de fontes](https://www.typography.com/faq)." "sobre [licenciamento de fontes](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -614,7 +614,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Ar trebui să urcați doar fonturi la care aveți drept de folosință sau " "Ar trebui să urcați doar fonturi la care aveți drept de folosință sau "
"fonturi personale. Află mai multe despre Dreptul de conținut la secțiunea " "fonturi personale. Află mai multe despre Dreptul de conținut la secțiunea "
"[Termenii și Condițiile Penpot](https://penpot.app/terms.html). De " "[Termenii și Condițiile Penpot](%s). De "
"asemenea, vă recomandăm să citiți și despre [licențierea " "asemenea, vă recomandăm să citiți și despre [licențierea "
"fonturilor](https://www.typography.com/faq)." "fonturilor](https://www.typography.com/faq)."

View file

@ -553,7 +553,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Вам следует загружать только собственные шрифты, или у которых есть " "Вам следует загружать только собственные шрифты, или у которых есть "
"лицензия на использование в Penpot. Больше информации в разделе \"Content " "лицензия на использование в Penpot. Больше информации в разделе \"Content "
"rights\" в [Условиях использования Penpot](https://penpot.app/terms.html). " "rights\" в [Условиях использования Penpot](%s). "
"Также можете прочитать о [лицензированием " "Также можете прочитать о [лицензированием "
"шрифтов](https://www.typography.com/faq) в целом." "шрифтов](https://www.typography.com/faq) в целом."

View file

@ -553,7 +553,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Требало би да отпремате само фонтове које поседујете или за које имате " "Требало би да отпремате само фонтове које поседујете или за које имате "
"лиценцу за коришћење у Penpot-у. Сазнајте више у одељку о правима садржаја " "лиценцу за коришћење у Penpot-у. Сазнајте више у одељку о правима садржаја "
"у [Условима коришћења Penpot-а](https://penpot.app/terms.html). Такође, " "у [Условима коришћења Penpot-а](%s). Такође, "
"можете прочитати о [лиценцирању фонтовa](https://www.typography.com/faq)." "можете прочитати о [лиценцирању фонтовa](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -610,7 +610,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Du bör endast ladda upp teckensnitt som du äger eller har licens att " "Du bör endast ladda upp teckensnitt som du äger eller har licens att "
"använda i Penpot. Läs mer i avsnittet om innehållsrättigheter i [Penpots " "använda i Penpot. Läs mer i avsnittet om innehållsrättigheter i [Penpots "
"användarvillkor](https://penpot.app/terms.html). Du kanske också vill läsa " "användarvillkor](%s). Du kanske också vill läsa "
"om [licensiering av teckensnitt](https://www.typography.com/faq)." "om [licensiering av teckensnitt](https://www.typography.com/faq)."
#: src/app/main/ui/dashboard/fonts.cljs:206 #: src/app/main/ui/dashboard/fonts.cljs:206

View file

@ -450,7 +450,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"คุณควรอัปโหลดเฉพาะฟอนต์ที่คุณเป็นเจ้าของหรือมีสิทธิ์ในการใช้งานใน Penpot " "คุณควรอัปโหลดเฉพาะฟอนต์ที่คุณเป็นเจ้าของหรือมีสิทธิ์ในการใช้งานใน Penpot "
"ดูรายละอียดเพิ่มเติมในส่วนเนื้อหาของ[ข้อกำหนดการให้บริการของ " "ดูรายละอียดเพิ่มเติมในส่วนเนื้อหาของ[ข้อกำหนดการให้บริการของ "
"Penpot](https://penpot.app/terms.html) " "Penpot](%s) "
"นอกจากนี้คุณอาจต้องการอ่านเพิ่มเติมเกี่ยวกับ[ลิขสิทธิ์ฟอนต์](https://www." "นอกจากนี้คุณอาจต้องการอ่านเพิ่มเติมเกี่ยวกับ[ลิขสิทธิ์ฟอนต์](https://www."
"typography.com/faq)" "typography.com/faq)"

View file

@ -555,7 +555,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Sadece kendinize ait veya Penpot'ta kullanılabilecek bir lisansa sahip olan " "Sadece kendinize ait veya Penpot'ta kullanılabilecek bir lisansa sahip olan "
"yazi tiplerini yükleyebilirsiniz. [Penpot'un Kullanım " "yazi tiplerini yükleyebilirsiniz. [Penpot'un Kullanım "
"Şartları](https://penpot.app/terms.html) içindeki İçerik hakları bölümünden " "Şartları](%s) içindeki İçerik hakları bölümünden "
"ayrıntılı bilgi alabilirsiniz. Ayrıca [yazı tipi " "ayrıntılı bilgi alabilirsiniz. Ayrıca [yazı tipi "
"lisanslama](https://www.typography.com/faq) hakkında daha fazla bilgi almak " "lisanslama](https://www.typography.com/faq) hakkında daha fazla bilgi almak "
"isteyebilirsiniz." "isteyebilirsiniz."

View file

@ -618,7 +618,7 @@ msgid "dashboard.fonts.hero-text2"
msgstr "" msgstr ""
"Ви повинні завантажувати лише ті шрифти, якими ви володієте або маєте " "Ви повинні завантажувати лише ті шрифти, якими ви володієте або маєте "
"ліцензію на використання в Penpot. Дізнайтеся більше в розділі \"Content " "ліцензію на використання в Penpot. Дізнайтеся більше в розділі \"Content "
"Rights\" в [Умовах користування Penpot](https://penpot.app/terms.html). Ви " "Rights\" в [Умовах користування Penpot](%s). Ви "
"також можете прочитати про [ліцензування " "також можете прочитати про [ліцензування "
"шрифтів](https://www.typography.com/faq)." "шрифтів](https://www.typography.com/faq)."