mirror of
https://github.com/penpot/penpot.git
synced 2026-01-06 05:18:52 -05:00
Compare commits
39 Commits
1.13.0-bet
...
1.13.2-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c08ad5c8c0 | ||
|
|
2ce766c49e | ||
|
|
bb18a69394 | ||
|
|
96ed66d86e | ||
|
|
57ccb18517 | ||
|
|
d5df465992 | ||
|
|
ea6c34f6b2 | ||
|
|
36390be72a | ||
|
|
3c41693787 | ||
|
|
b25806b172 | ||
|
|
0828d43f8f | ||
|
|
402212c808 | ||
|
|
11b2144274 | ||
|
|
216dbc8e0d | ||
|
|
67b81fbe67 | ||
|
|
fcafe66bd8 | ||
|
|
931759f468 | ||
|
|
f33360a22b | ||
|
|
910fb55b69 | ||
|
|
18849307e9 | ||
|
|
0f2b2d4590 | ||
|
|
ef37abcbbd | ||
|
|
02427285ef | ||
|
|
38bc3b061a | ||
|
|
047b3f0987 | ||
|
|
6a8f3c7283 | ||
|
|
525da266b8 | ||
|
|
97c9035cfd | ||
|
|
35681c3af8 | ||
|
|
8a6f01404c | ||
|
|
6901431f8a | ||
|
|
2261bde6f1 | ||
|
|
40e1d5a2a1 | ||
|
|
d52c4541ae | ||
|
|
b0c3b38cc5 | ||
|
|
494e2df49f | ||
|
|
dcac6d9ea4 | ||
|
|
f5128d8d43 | ||
|
|
4c2182dd0b |
16
CHANGES.md
16
CHANGES.md
@@ -8,6 +8,22 @@
|
||||
### :arrow_up: Deps updates
|
||||
### :heart: Community contributions by (Thank you!)
|
||||
|
||||
## 1.13.2-beta
|
||||
|
||||
### :bug: Bugs fixed
|
||||
|
||||
- Improved performance when out of focus mode
|
||||
- Improved performance for thumbnail generation
|
||||
- Fix problem with out of sync thumbnails
|
||||
|
||||
## 1.13.1-beta
|
||||
|
||||
### :bug: Bugs fixed
|
||||
|
||||
- Fix problem with text positioning
|
||||
- Fix issue with thumbnail generation before fonts loading
|
||||
- Fix unable to hide artboards
|
||||
- Fix problem with fonts cache causing hanging in certain pages
|
||||
|
||||
## 1.13.0-beta
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
[app.common.uuid :as uuid]
|
||||
[app.config :as cf]
|
||||
[app.db :as db]
|
||||
[app.db.sql :as sql]
|
||||
[app.rpc.mutations.files :as m.files]
|
||||
[app.rpc.queries.profile :as profile]
|
||||
[app.util.blob :as blob]
|
||||
@@ -59,7 +60,7 @@
|
||||
"select revn, changes, data from file_change where file_id=? and revn = ?")
|
||||
|
||||
(defn prepare-response
|
||||
[{:keys [params] :as request} body]
|
||||
[{:keys [params] :as request} body filename]
|
||||
(when-not body
|
||||
(ex/raise :type :not-found
|
||||
:code :enpty-data
|
||||
@@ -69,8 +70,7 @@
|
||||
:body body
|
||||
:headers {"content-type" "application/transit+json"})
|
||||
(contains? params :download)
|
||||
(update :headers assoc "content-disposition" "attachment")))
|
||||
|
||||
(update :headers assoc "content-disposition" (str "attachment; filename=" filename))))
|
||||
|
||||
(defn- retrieve-file-data
|
||||
[{:keys [pool]} {:keys [params] :as request}]
|
||||
@@ -78,8 +78,9 @@
|
||||
(ex/raise :type :authentication
|
||||
:code :only-admins-allowed))
|
||||
|
||||
(let [file-id (some-> (get-in request [:params :file-id]) uuid/uuid)
|
||||
revn (some-> (get-in request [:params :revn]) d/parse-integer)]
|
||||
(let [file-id (some-> (get-in request [:params :file-id]) uuid/uuid)
|
||||
revn (some-> (get-in request [:params :revn]) d/parse-integer)
|
||||
filename (str file-id)]
|
||||
(when-not file-id
|
||||
(ex/raise :type :validation
|
||||
:code :missing-arguments))
|
||||
@@ -88,9 +89,9 @@
|
||||
(some-> (db/exec-one! pool [sql:retrieve-single-change file-id revn]) :data)
|
||||
(some-> (db/get-by-id pool :file file-id) :data))]
|
||||
(if (contains? params :download)
|
||||
(-> (prepare-response request data)
|
||||
(-> (prepare-response request data filename)
|
||||
(update :headers assoc "content-type" "application/octet-stream"))
|
||||
(prepare-response request (some-> data blob/decode))))))
|
||||
(prepare-response request (some-> data blob/decode) filename)))))
|
||||
|
||||
(defn- upload-file-data
|
||||
[{:keys [pool]} {:keys [profile-id params] :as request}]
|
||||
@@ -98,12 +99,20 @@
|
||||
data (some-> params :file :path fs/slurp-bytes blob/decode)]
|
||||
|
||||
(if (and data project-id)
|
||||
(let [fname (str "imported-file-" (dt/now))]
|
||||
(m.files/create-file pool {:id (uuid/next)
|
||||
:name fname
|
||||
:project-id project-id
|
||||
:profile-id profile-id
|
||||
:data data})
|
||||
(let [fname (str "imported-file-" (dt/now))
|
||||
file-id (try
|
||||
(uuid/uuid (-> params :file :filename))
|
||||
(catch Exception _ (uuid/next)))
|
||||
file (db/exec-one! pool (sql/select :file {:id file-id}))]
|
||||
(if file
|
||||
(db/update! pool :file
|
||||
{:data (blob/encode data)}
|
||||
{:id file-id})
|
||||
(m.files/create-file pool {:id file-id
|
||||
:name fname
|
||||
:project-id project-id
|
||||
:profile-id profile-id
|
||||
:data data}))
|
||||
(yrs/response 200 "OK"))
|
||||
(yrs/response 500 "ERROR"))))
|
||||
|
||||
@@ -121,8 +130,9 @@
|
||||
(ex/raise :type :authentication
|
||||
:code :only-admins-allowed))
|
||||
|
||||
(let [file-id (some-> (get-in request [:params :id]) uuid/uuid)
|
||||
revn (or (get-in request [:params :revn]) "latest")]
|
||||
(let [file-id (some-> (get-in request [:params :id]) uuid/uuid)
|
||||
revn (or (get-in request [:params :revn]) "latest")
|
||||
filename (str file-id)]
|
||||
|
||||
(when (or (not file-id) (not revn))
|
||||
(ex/raise :type :validation
|
||||
@@ -132,7 +142,7 @@
|
||||
(cond
|
||||
(d/num-string? revn)
|
||||
(let [item (db/exec-one! pool [sql:retrieve-single-change file-id (d/parse-integer revn)])]
|
||||
(prepare-response request (some-> item :changes blob/decode vec)))
|
||||
(prepare-response request (some-> item :changes blob/decode vec) filename))
|
||||
|
||||
(str/includes? revn ":")
|
||||
(let [[start end] (->> (str/split revn #":")
|
||||
@@ -144,7 +154,8 @@
|
||||
(map :changes)
|
||||
(map blob/decode)
|
||||
(mapcat identity)
|
||||
(vec))))
|
||||
(vec))
|
||||
filename))
|
||||
:else
|
||||
(ex/raise :type :validation :code :invalid-arguments))))
|
||||
|
||||
@@ -176,8 +187,7 @@
|
||||
(some-> report :error :trace))
|
||||
:params (:params report)}]
|
||||
(-> (io/resource "templates/error-report.tmpl")
|
||||
(tmpl/render params))))
|
||||
]
|
||||
(tmpl/render params))))]
|
||||
|
||||
(when-not (authorized? pool request)
|
||||
(ex/raise :type :authentication
|
||||
|
||||
@@ -81,14 +81,28 @@
|
||||
:timeout 6000
|
||||
:method :get}))
|
||||
|
||||
(validate-response [{:keys [status body] :as res}]
|
||||
(when-not (= 200 status)
|
||||
(retrieve-emails []
|
||||
(if (some? (:emails-uri provider))
|
||||
(http-client {:uri (:emails-uri provider)
|
||||
:headers {"Authorization" (str (:type tdata) " " (:token tdata))}
|
||||
:timeout 6000
|
||||
:method :get})
|
||||
(p/resolved {:status 200})))
|
||||
|
||||
(validate-response [[retrieve-res emails-res]]
|
||||
(when-not (s/int-in-range? 200 300 (:status retrieve-res))
|
||||
(ex/raise :type :internal
|
||||
:code :unable-to-retrieve-user-info
|
||||
:hint "unable to retrieve user info"
|
||||
:http-status status
|
||||
:http-body body))
|
||||
res)
|
||||
:http-status (:status retrieve-res)
|
||||
:http-body (:body retrieve-res)))
|
||||
(when-not (s/int-in-range? 200 300 (:status emails-res))
|
||||
(ex/raise :type :internal
|
||||
:code :unable-to-retrieve-user-info
|
||||
:hint "unable to retrieve user info"
|
||||
:http-status (:status emails-res)
|
||||
:http-body (:body emails-res)))
|
||||
[retrieve-res emails-res])
|
||||
|
||||
(get-email [info]
|
||||
(let [attr-kw (cf/get :oidc-email-attr :email)]
|
||||
@@ -98,10 +112,13 @@
|
||||
(let [attr-kw (cf/get :oidc-name-attr :name)]
|
||||
(get info attr-kw)))
|
||||
|
||||
(process-response [{:keys [body]}]
|
||||
(let [info (json/read body)]
|
||||
(process-response [[retrieve-res emails-res]]
|
||||
(let [info (json/read (:body retrieve-res))
|
||||
email (if (some? (:extract-email-callback provider))
|
||||
((:extract-email-callback provider) emails-res)
|
||||
(get-email info))]
|
||||
{:backend (:name provider)
|
||||
:email (get-email info)
|
||||
:email email
|
||||
:fullname (get-name info)
|
||||
:props (->> (dissoc info :name :email)
|
||||
(qualify-props provider))}))
|
||||
@@ -116,7 +133,7 @@
|
||||
:info info))
|
||||
info)]
|
||||
|
||||
(-> (retrieve)
|
||||
(-> (p/all [(retrieve) (retrieve-emails)])
|
||||
(p/then' validate-response)
|
||||
(p/then' process-response)
|
||||
(p/then' validate-info))))
|
||||
@@ -386,15 +403,25 @@
|
||||
(assoc-in cfg [:providers "google"] opts))
|
||||
cfg)))
|
||||
|
||||
(defn extract-github-email
|
||||
[response]
|
||||
(let [emails (json/read (:body response))
|
||||
primary-email (->> emails
|
||||
(filter #(:primary %))
|
||||
first)]
|
||||
(:email primary-email)))
|
||||
|
||||
(defn- initialize-github-provider
|
||||
[cfg]
|
||||
(let [opts {:client-id (cf/get :github-client-id)
|
||||
:client-secret (cf/get :github-client-secret)
|
||||
:scopes #{"read:user" "user:email"}
|
||||
:auth-uri "https://github.com/login/oauth/authorize"
|
||||
:token-uri "https://github.com/login/oauth/access_token"
|
||||
:user-uri "https://api.github.com/user"
|
||||
:name "github"}]
|
||||
(let [opts {:client-id (cf/get :github-client-id)
|
||||
:client-secret (cf/get :github-client-secret)
|
||||
:scopes #{"read:user" "user:email"}
|
||||
:auth-uri "https://github.com/login/oauth/authorize"
|
||||
:token-uri "https://github.com/login/oauth/access_token"
|
||||
:emails-uri "https://api.github.com/user/emails"
|
||||
:extract-email-callback extract-github-email
|
||||
:user-uri "https://api.github.com/user"
|
||||
:name "github"}]
|
||||
(if (and (string? (:client-id opts))
|
||||
(string? (:client-secret opts)))
|
||||
(do
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
(defmethod process-token :team-invitation
|
||||
[cfg {:keys [profile-id token]} {:keys [member-id] :as claims}]
|
||||
(us/assert ::team-invitation-claims claims)
|
||||
#_(let [conn (:conn cfg)
|
||||
(let [conn (:conn cfg)
|
||||
team-id (:team-id claims)
|
||||
member-email (:member-email claims)
|
||||
invitation (db/get-by-params conn :team-invitation
|
||||
|
||||
@@ -99,6 +99,27 @@
|
||||
|
||||
(update data :pages-index d/update-vals update-page)))
|
||||
|
||||
(defn repair-idless-components
|
||||
"There are some files that contains components with no :id attribute.
|
||||
This function detects them and repairs it.
|
||||
|
||||
Use it with the update-file function above."
|
||||
[data]
|
||||
(letfn [(update-component [id component]
|
||||
(if (nil? (:id component))
|
||||
(do
|
||||
(prn (:id data) "Broken component" (:name component) id)
|
||||
(assoc component :id id))
|
||||
component))]
|
||||
|
||||
(update data :components #(d/mapm update-component %))))
|
||||
|
||||
(defn analyze-idless-components
|
||||
"Scan all files to check if there are any one with idless components.
|
||||
(Does not save the changes, only used to detect affected files)."
|
||||
[file _]
|
||||
(repair-idless-components (:data file)))
|
||||
|
||||
;; (defn check-image-shapes
|
||||
;; [{:keys [data] :as file} stats]
|
||||
;; (println "=> analizing file:" (:name file) (:id file))
|
||||
@@ -138,9 +159,11 @@
|
||||
(loop [cursor (dt/now)
|
||||
chunks 0]
|
||||
(when (< chunks max-chunks)
|
||||
(when-let [chunk (retrieve-chunk conn cursor)]
|
||||
(let [cursor (-> chunk last :modified-at)]
|
||||
(process-chunk chunk)
|
||||
(Thread/sleep (inst-ms (dt/duration sleep)))
|
||||
(recur cursor (inc chunks))))))
|
||||
(let [chunk (retrieve-chunk conn cursor)]
|
||||
(when-not (empty? chunk)
|
||||
(let [cursor (-> chunk last :modified-at)]
|
||||
(process-chunk chunk)
|
||||
(Thread/sleep (inst-ms (dt/duration sleep)))
|
||||
(recur cursor (inc chunks)))))))
|
||||
@stats))))
|
||||
|
||||
|
||||
@@ -4,7 +4,15 @@
|
||||
;;
|
||||
;; Copyright (c) UXBOX Labs SL
|
||||
|
||||
(ns app.common.geom.shapes.corners)
|
||||
(ns app.common.geom.shapes.corners
|
||||
(:require
|
||||
[app.common.math :as mth]))
|
||||
|
||||
(defn- zero-div
|
||||
[a b]
|
||||
(if (mth/almost-zero? b)
|
||||
##Inf
|
||||
(/ a b)))
|
||||
|
||||
(defn fix-radius
|
||||
;; https://www.w3.org/TR/css-backgrounds-3/#corner-overlap
|
||||
@@ -16,17 +24,19 @@
|
||||
;; > the sum of the two corresponding radii of the corners on side i, and Ltop = Lbottom = the width of the box, and
|
||||
;; > Lleft = Lright = the height of the box. If f < 1, then all corner radii are reduced by multiplying them by f.
|
||||
([width height r]
|
||||
(let [f (min (/ width (* 2 r))
|
||||
(/ height (* 2 r)))]
|
||||
(let [f (min 1
|
||||
(zero-div width (* 2 r))
|
||||
(zero-div height (* 2 r)))]
|
||||
(if (< f 1)
|
||||
(* r f)
|
||||
r)))
|
||||
|
||||
([width height r1 r2 r3 r4]
|
||||
(let [f (min (/ width (+ r1 r2))
|
||||
(/ height (+ r2 r3))
|
||||
(/ width (+ r3 r4))
|
||||
(/ height (+ r4 r1)))]
|
||||
(let [f (min 1
|
||||
(zero-div width (+ r1 r2))
|
||||
(zero-div height (+ r2 r3))
|
||||
(zero-div width (+ r3 r4))
|
||||
(zero-div height (+ r4 r1)))]
|
||||
(if (< f 1)
|
||||
[(* r1 f) (* r2 f) (* r3 f) (* r4 f)]
|
||||
[r1 r2 r3 r4]))))
|
||||
@@ -34,7 +44,7 @@
|
||||
(defn shape-corners-1
|
||||
"Retrieve the effective value for the corner given a single value for corner."
|
||||
[{:keys [width height rx] :as shape}]
|
||||
(if (some? rx)
|
||||
(if (and (some? rx) (not (mth/almost-zero? rx)))
|
||||
(fix-radius width height rx)
|
||||
0))
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
[app.common.colors :as clr]
|
||||
[app.common.uuid :as uuid]))
|
||||
|
||||
(def file-version 17)
|
||||
(def file-version 18)
|
||||
(def default-color clr/gray-20)
|
||||
(def root uuid/zero)
|
||||
|
||||
|
||||
@@ -400,5 +400,20 @@
|
||||
(update :pages-index d/update-vals update-container)
|
||||
(update :components d/update-vals update-container))))
|
||||
|
||||
;;Remove position-data to solve a bug with the text positioning
|
||||
(defmethod migrate 18
|
||||
[data]
|
||||
(letfn [(update-object [object]
|
||||
(cond-> object
|
||||
(cph/text-shape? object)
|
||||
(dissoc :position-data)))
|
||||
|
||||
(update-container [container]
|
||||
(update container :objects d/update-vals update-object))]
|
||||
|
||||
(-> data
|
||||
(update :pages-index d/update-vals update-container)
|
||||
(update :components d/update-vals update-container))))
|
||||
|
||||
;; TODO: pending to do a migration for delete already not used fill
|
||||
;; and stroke props. This should be done for >1.14.x version.
|
||||
|
||||
@@ -44,7 +44,7 @@ marked.use({renderer});
|
||||
// Templates
|
||||
|
||||
function readLocales() {
|
||||
const langs = ["ar", "he", "ca", "de", "el", "en", "es", "fr", "tr", "ru", "zh_CN", "pt_BR", "ro"];
|
||||
const langs = ["ar", "ca", "de", "el", "en", "es", "fa", "fr", "he", "nb_NO", "pl", "pt_BR", "ro", "ru", "tr", "zh_CN", "zh_Hant"];
|
||||
const result = {};
|
||||
|
||||
for (let lang of langs) {
|
||||
|
||||
@@ -50,6 +50,10 @@
|
||||
justify-content: space-between;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
}
|
||||
|
||||
.avatar-form {
|
||||
|
||||
@@ -107,6 +107,30 @@
|
||||
(rx/of (update-indices page-id changes))))
|
||||
(rx/empty))))))
|
||||
|
||||
(defn changed-frames
|
||||
"Extracts the frame-ids changed in the given changes"
|
||||
[changes objects]
|
||||
|
||||
(let [change->ids
|
||||
(fn [change]
|
||||
(case (:type change)
|
||||
:add-obj
|
||||
[(:parent-id change)]
|
||||
|
||||
(:mod-obj :del-obj)
|
||||
[(:id change)]
|
||||
|
||||
:mov-objects
|
||||
(d/concat-vec (:shapes change) [(:parent-id change)])
|
||||
|
||||
[]))]
|
||||
(into #{}
|
||||
(comp (mapcat change->ids)
|
||||
(keep #(if (= :frame (get-in objects [% :type]))
|
||||
%
|
||||
(get-in objects [% :frame-id])))
|
||||
(remove #(= uuid/zero %)))
|
||||
changes)))
|
||||
|
||||
(defn commit-changes
|
||||
[{:keys [redo-changes undo-changes
|
||||
@@ -115,15 +139,18 @@
|
||||
(log/debug :msg "commit-changes"
|
||||
:js/redo-changes redo-changes
|
||||
:js/undo-changes undo-changes)
|
||||
(let [error (volatile! nil)]
|
||||
(let [error (volatile! nil)
|
||||
page-id (:current-page-id @st/state)
|
||||
frames (changed-frames redo-changes (wsh/lookup-page-objects @st/state))]
|
||||
(ptk/reify ::commit-changes
|
||||
cljs.core/IDeref
|
||||
(-deref [_]
|
||||
|
||||
{:file-id file-id
|
||||
:hint-events @st/last-events
|
||||
:hint-origin (ptk/type origin)
|
||||
:changes redo-changes})
|
||||
:changes redo-changes
|
||||
:page-id page-id
|
||||
:frames frames})
|
||||
|
||||
ptk/UpdateEvent
|
||||
(update [_ state]
|
||||
|
||||
@@ -279,7 +279,10 @@
|
||||
|
||||
:always
|
||||
(d/without-nils))]
|
||||
(assoc-in shape [:strokes index] new-attrs)))))))))
|
||||
(-> shape
|
||||
(cond-> (not (contains? shape :strokes))
|
||||
(assoc :strokes []))
|
||||
(assoc-in [:strokes index] new-attrs))))))))))
|
||||
|
||||
(defn add-stroke
|
||||
[ids stroke]
|
||||
|
||||
@@ -195,13 +195,26 @@
|
||||
(ptk/reify ::handle-file-change
|
||||
ptk/WatchEvent
|
||||
(watch [_ _ _]
|
||||
(let [changes-by-pages (group-by :page-id changes)
|
||||
(let [position-data-operation?
|
||||
(fn [{:keys [type attr]}]
|
||||
(and (= :set type) (= attr :position-data)))
|
||||
|
||||
remove-update-position-data
|
||||
(fn [change]
|
||||
(cond-> change
|
||||
(= :mod-obj (:type change))
|
||||
(update :operations #(filterv (comp not position-data-operation?) %))))
|
||||
|
||||
process-page-changes
|
||||
(fn [[page-id changes]]
|
||||
(dch/update-indices page-id changes))]
|
||||
(dch/update-indices page-id changes))
|
||||
|
||||
;; We remove `position-data` from the incomming message
|
||||
changes (->> changes (mapv remove-update-position-data))
|
||||
changes-by-pages (group-by :page-id changes)]
|
||||
|
||||
(rx/merge
|
||||
(rx/of (dwp/shapes-changes-persisted file-id msg))
|
||||
(rx/of (dwp/shapes-changes-persisted file-id (assoc msg :changes changes)))
|
||||
|
||||
(when-not (empty? changes-by-pages)
|
||||
(rx/from (map process-page-changes changes-by-pages))))))))
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
(ns app.main.data.workspace.persistence
|
||||
(:require
|
||||
[app.common.data :as d]
|
||||
[app.common.logging :as log]
|
||||
[app.common.pages :as cp]
|
||||
[app.common.spec :as us]
|
||||
@@ -17,6 +18,7 @@
|
||||
[app.main.data.fonts :as df]
|
||||
[app.main.data.workspace.changes :as dch]
|
||||
[app.main.data.workspace.state-helpers :as wsh]
|
||||
[app.main.data.workspace.thumbnails :as dwt]
|
||||
[app.main.repo :as rp]
|
||||
[app.main.store :as st]
|
||||
[app.util.http :as http]
|
||||
@@ -138,16 +140,27 @@
|
||||
:revn (:revn file)
|
||||
:session-id sid
|
||||
:changes-with-metadata (into [] changes)}]
|
||||
|
||||
(when (= file-id (:id params))
|
||||
(->> (rp/mutation :update-file params)
|
||||
(rx/mapcat (fn [lagged]
|
||||
(log/debug :hint "changes persisted" :lagged (count lagged))
|
||||
(let [lagged (cond->> lagged
|
||||
(= #{sid} (into #{} (map :session-id) lagged))
|
||||
(map #(assoc % :changes [])))]
|
||||
(->> (rx/of lagged)
|
||||
(rx/mapcat seq)
|
||||
(rx/map #(shapes-changes-persisted file-id %))))))
|
||||
(map #(assoc % :changes [])))
|
||||
|
||||
frame-updates
|
||||
(-> (group-by :page-id changes)
|
||||
(d/update-vals #(into #{} (mapcat :frames) %)))]
|
||||
|
||||
(rx/merge
|
||||
(->> (rx/from frame-updates)
|
||||
(rx/flat-map (fn [[page-id frames]]
|
||||
(->> frames (map #(vector page-id %)))))
|
||||
(rx/map (fn [[page-id frame-id]] (dwt/update-thumbnail page-id frame-id))))
|
||||
(->> (rx/of lagged)
|
||||
(rx/mapcat seq)
|
||||
(rx/map #(shapes-changes-persisted file-id %)))))))
|
||||
(rx/catch (fn [cause]
|
||||
(rx/concat
|
||||
(rx/of (rt/assign-exception cause))
|
||||
|
||||
@@ -63,13 +63,17 @@
|
||||
(ted/get-editor-current-content))]
|
||||
(if (ted/content-has-text? content)
|
||||
(let [content (d/merge (ted/export-content content)
|
||||
(dissoc (:content shape) :children))]
|
||||
(dissoc (:content shape) :children))
|
||||
modifiers (get-in state [:workspace-text-modifier id])]
|
||||
(rx/merge
|
||||
(rx/of (update-editor-state shape nil))
|
||||
(when (and (not= content (:content shape))
|
||||
(some? (:current-page-id state)))
|
||||
(rx/of
|
||||
(dch/update-shapes [id] #(assoc % :content content))
|
||||
(dch/update-shapes [id] (fn [shape]
|
||||
(-> shape
|
||||
(assoc :content content)
|
||||
(merge modifiers))))
|
||||
(dwu/commit-undo-transaction)))))
|
||||
|
||||
(when (some? id)
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
|
||||
(ns app.main.data.workspace.thumbnails
|
||||
(:require
|
||||
[app.common.data :as d]
|
||||
[app.common.data.macros :as dm]
|
||||
[app.common.pages.helpers :as cph]
|
||||
[app.common.uuid :as uuid]
|
||||
@@ -14,6 +13,8 @@
|
||||
[app.main.refs :as refs]
|
||||
[app.main.repo :as rp]
|
||||
[app.main.store :as st]
|
||||
[app.util.dom :as dom]
|
||||
[app.util.webapi :as wapi]
|
||||
[beicon.core :as rx]
|
||||
[potok.core :as ptk]))
|
||||
|
||||
@@ -26,45 +27,47 @@
|
||||
(rx/filter #(= % id))
|
||||
(rx/take 1)))
|
||||
|
||||
(defn thumbnail-stream
|
||||
[object-id]
|
||||
(rx/create
|
||||
(fn [subs]
|
||||
(let [node (dom/query (dm/fmt "canvas.thumbnail-canvas[data-object-id='%'" object-id))]
|
||||
(if (some? node)
|
||||
(-> node
|
||||
(.toBlob (fn [blob]
|
||||
(rx/push! subs blob)
|
||||
(rx/end! subs))
|
||||
"image/png"))
|
||||
|
||||
;; If we cannot find the node we send `nil` and the upsert will delete the thumbnail
|
||||
(do (rx/push! subs nil)
|
||||
(rx/end! subs)))))))
|
||||
|
||||
(defn update-thumbnail
|
||||
"Updates the thumbnail information for the given frame `id`"
|
||||
[page-id frame-id data]
|
||||
(let [lock (uuid/next)
|
||||
object-id (dm/str page-id frame-id)]
|
||||
[page-id frame-id]
|
||||
(ptk/reify ::update-thumbnail
|
||||
ptk/WatchEvent
|
||||
(watch [_ state _]
|
||||
(let [object-id (dm/str page-id frame-id)
|
||||
file-id (:current-file-id state)
|
||||
blob-result (thumbnail-stream object-id)]
|
||||
|
||||
(ptk/reify ::update-thumbnail
|
||||
IDeref
|
||||
(-deref [_] {:object-id object-id :data data})
|
||||
|
||||
ptk/UpdateEvent
|
||||
(update [_ state]
|
||||
(-> state
|
||||
(assoc-in [:workspace-file :thumbnails object-id] data)
|
||||
(cond-> (nil? (get-in state [::update-thumbnail-lock object-id]))
|
||||
(assoc-in [::update-thumbnail-lock object-id] lock))))
|
||||
(->> blob-result
|
||||
(rx/merge-map
|
||||
(fn [blob]
|
||||
(if (some? blob)
|
||||
(wapi/read-file-as-data-url blob)
|
||||
(rx/of nil))))
|
||||
|
||||
ptk/WatchEvent
|
||||
(watch [_ state stream]
|
||||
(when (= lock (get-in state [::update-thumbnail-lock object-id]))
|
||||
(let [stopper (->> stream (rx/filter (ptk/type? :app.main.data.workspace/finalize)))
|
||||
params {:file-id (:current-file-id state)
|
||||
:object-id object-id}]
|
||||
;; Sends the first event and debounce the rest. Will only make one update once
|
||||
;; the 2 second debounce is finished
|
||||
(rx/merge
|
||||
(->> stream
|
||||
(rx/filter (ptk/type? ::update-thumbnail))
|
||||
(rx/map deref)
|
||||
(rx/filter #(= object-id (:object-id %)))
|
||||
(rx/debounce 2000)
|
||||
(rx/take 1)
|
||||
(rx/map :data)
|
||||
(rx/flat-map #(rp/mutation! :upsert-file-object-thumbnail (assoc params :data %)))
|
||||
(rx/map #(fn [state] (d/dissoc-in state [::update-thumbnail-lock object-id])))
|
||||
(rx/take-until stopper))
|
||||
|
||||
(->> (rx/of (update-thumbnail page-id frame-id data))
|
||||
(rx/observe-on :async)))))))))
|
||||
(rx/merge-map
|
||||
(fn [data]
|
||||
(let [params {:file-id file-id :object-id object-id :data data}]
|
||||
(rx/merge
|
||||
;; Update the local copy of the thumbnails so we don't need to request it again
|
||||
(rx/of #(assoc-in % [:workspace-file :thumbnails object-id] data))
|
||||
(->> (rp/mutation! :upsert-file-object-thumbnail params)
|
||||
(rx/ignore)))))))))))
|
||||
|
||||
(defn- extract-frame-changes
|
||||
"Process a changes set in a commit to extract the frames that are changing"
|
||||
@@ -156,5 +159,3 @@
|
||||
(let [page-id (get state :current-page-id)
|
||||
old-shape-thumbnail (get-in state [:workspace-file :thumbnails (dm/str page-id old-id)])]
|
||||
(-> state (assoc-in [:workspace-file :thumbnails (dm/str page-id new-id)] old-shape-thumbnail))))))
|
||||
|
||||
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defonce loaded (l/atom #{}))
|
||||
(defonce loading (l/atom {}))
|
||||
|
||||
(defn- create-link-element
|
||||
[uri]
|
||||
@@ -199,11 +200,34 @@
|
||||
(p/create (fn [resolve]
|
||||
(ensure-loaded! id resolve))))
|
||||
([id on-loaded]
|
||||
(if (contains? @loaded id)
|
||||
(on-loaded id)
|
||||
(when-let [font (get @fontsdb id)]
|
||||
(load-font (assoc font ::on-loaded on-loaded))
|
||||
(swap! loaded conj id)))))
|
||||
(let [font (get @fontsdb id)]
|
||||
(cond
|
||||
;; Font already loaded, we just continue
|
||||
(contains? @loaded id)
|
||||
(on-loaded id)
|
||||
|
||||
;; Font is currently downloading. We attach the caller to the promise
|
||||
(contains? @loading id)
|
||||
(-> (get @loading id)
|
||||
(p/then #(on-loaded id)))
|
||||
|
||||
;; First caller, we create the promise and then wait
|
||||
:else
|
||||
(let [on-load (fn [resolve]
|
||||
(swap! loaded conj id)
|
||||
(swap! loading dissoc id)
|
||||
(on-loaded id)
|
||||
(resolve id))
|
||||
|
||||
load-p (p/create
|
||||
(fn [resolve _]
|
||||
(-> font
|
||||
(assoc ::on-loaded (partial on-load resolve))
|
||||
(load-font))))]
|
||||
|
||||
(swap! loading assoc id load-p)
|
||||
|
||||
nil)))))
|
||||
|
||||
(defn ready
|
||||
[cb]
|
||||
|
||||
@@ -75,7 +75,6 @@
|
||||
|
||||
on-succes
|
||||
(fn [data]
|
||||
(prn "SUCCESS" data)
|
||||
(when-let [token (:invitation-token data)]
|
||||
(st/emit! (rt/nav :auth-verify-token {} {:token token}))))
|
||||
|
||||
|
||||
@@ -81,13 +81,12 @@
|
||||
|
||||
[:hr]
|
||||
|
||||
[:h2 (tr "feedback.discussions-title")]
|
||||
[:p (tr "feedback.discussions-subtitle1")]
|
||||
[:p (tr "feedback.discussions-subtitle2")]
|
||||
[:h2 (tr "feedback.twitter-title")]
|
||||
[:p (tr "feedback.twitter-subtitle1")]
|
||||
|
||||
[:a.btn-secondary.btn-large
|
||||
{:href "https://github.com/penpot/penpot/discussions" :target "_blank"}
|
||||
(tr "feedback.discussions-go-to")]
|
||||
{:href "https://twitter.com/PenpotSupport" :target "_blank"}
|
||||
(tr "feedback.twitter-go-to")]
|
||||
|
||||
[:hr]
|
||||
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
(-> props
|
||||
(obj/set! "style" style)))
|
||||
|
||||
(some? svg-attrs)
|
||||
(and (some? svg-attrs) (empty? (:fills shape)))
|
||||
(let [style
|
||||
(-> (obj/get props "style")
|
||||
(obj/clone))
|
||||
|
||||
@@ -73,8 +73,12 @@
|
||||
;; Creates a style tag by replacing the urls with the data uri
|
||||
style (replace-embeds fonts-css fonts-urls fonts-embed)]
|
||||
|
||||
(when (d/not-empty? style)
|
||||
[:style {:data-loading loading?} style])))
|
||||
(cond
|
||||
(d/not-empty? style)
|
||||
[:style {:data-loading loading?} style]
|
||||
|
||||
(d/not-empty? fonts)
|
||||
[:style {:data-loading true}])))
|
||||
|
||||
(defn shape->fonts
|
||||
[shape objects]
|
||||
|
||||
@@ -110,7 +110,10 @@
|
||||
(let [font-variant (d/seek #(= font-variant-id (:id %)) (:variants font))]
|
||||
[(str/quote (or (:family font) (:font-family data)))
|
||||
(or (:style font-variant) (:font-style data))
|
||||
(or (:weight font-variant) (:font-weight data))]))]
|
||||
(or (:weight font-variant) (:font-weight data))]))
|
||||
|
||||
base (-> base
|
||||
(obj/set! "--font-id" font-id))]
|
||||
|
||||
(cond-> base
|
||||
(some? fills)
|
||||
|
||||
@@ -71,11 +71,6 @@
|
||||
frame-id (:id shape)
|
||||
page-id (mf/use-ctx ctx/current-page-id)
|
||||
|
||||
thumbnail-data-ref (mf/use-memo (mf/deps page-id frame-id) #(refs/thumbnail-frame-data page-id frame-id))
|
||||
thumbnail-data (mf/deref thumbnail-data-ref)
|
||||
|
||||
thumbnail? (and thumbnail? (some? thumbnail-data))
|
||||
|
||||
;; References to the current rendered node and the its parentn
|
||||
node-ref (mf/use-var nil)
|
||||
|
||||
@@ -88,11 +83,11 @@
|
||||
|
||||
disable-thumbnail? (d/not-empty? (dm/get-in modifiers [(:id shape) :modifiers]))
|
||||
|
||||
[on-load-frame-dom thumb-renderer]
|
||||
(ftr/use-render-thumbnail page-id shape node-ref rendered? thumbnail-data-ref disable-thumbnail?)
|
||||
[on-load-frame-dom render-frame? thumbnail-renderer]
|
||||
(ftr/use-render-thumbnail page-id shape node-ref rendered? disable-thumbnail?)
|
||||
|
||||
on-frame-load
|
||||
(fns/use-node-store thumbnail? node-ref rendered?)]
|
||||
(fns/use-node-store thumbnail? node-ref rendered? render-frame?)]
|
||||
|
||||
(fdm/use-dynamic-modifiers objects @node-ref modifiers)
|
||||
|
||||
@@ -115,9 +110,9 @@
|
||||
(rx/dispose! sub)))))
|
||||
|
||||
(mf/use-effect
|
||||
(mf/deps shape fonts thumbnail? on-load-frame-dom @force-render)
|
||||
(mf/deps shape fonts thumbnail? on-load-frame-dom @force-render render-frame?)
|
||||
(fn []
|
||||
(when (and (some? @node-ref) (or @rendered? (not thumbnail?) @force-render))
|
||||
(when (and (some? @node-ref) (or @rendered? (not thumbnail?) @force-render render-frame?))
|
||||
(mf/mount
|
||||
(mf/element frame-shape
|
||||
#js {:ref on-load-frame-dom :shape shape :fonts fonts})
|
||||
@@ -128,12 +123,11 @@
|
||||
[:& (mf/provider ctx/render-ctx) {:value render-id}
|
||||
[:g.frame-container {:id (dm/str "frame-container-" (:id shape))
|
||||
:key "frame-container"
|
||||
:ref on-frame-load}
|
||||
:ref on-frame-load
|
||||
:opacity (when (:hidden shape) 0)}
|
||||
[:& ff/fontfaces-style {:fonts fonts}]
|
||||
[:g.frame-thumbnail-wrapper {:id (dm/str "thumbnail-container-" (:id shape))}
|
||||
[:> frame/frame-thumbnail {:key (dm/str (:id shape))
|
||||
:shape (cond-> shape
|
||||
(some? thumbnail-data)
|
||||
(assoc :thumbnail thumbnail-data))}]
|
||||
|
||||
thumb-renderer]]]))))
|
||||
[:g.frame-thumbnail-wrapper
|
||||
{:id (dm/str "thumbnail-container-" (:id shape))
|
||||
;; Hide the thumbnail when not displaying
|
||||
:opacity (when (and @rendered? (not thumbnail?)) 0)}
|
||||
thumbnail-renderer]]]))))
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
(defn use-node-store
|
||||
"Hook responsible of storing the rendered DOM node in memory while not being used"
|
||||
[thumbnail? node-ref rendered?]
|
||||
[thumbnail? node-ref rendered? render-frame?]
|
||||
|
||||
(let [;; when `true` the node is in memory
|
||||
in-memory? (mf/use-var true)
|
||||
@@ -33,13 +33,13 @@
|
||||
(swap! re-render inc)))))]
|
||||
|
||||
(mf/use-effect
|
||||
(mf/deps thumbnail?)
|
||||
(mf/deps thumbnail? render-frame?)
|
||||
(fn []
|
||||
(when (and (some? @parent-ref) (some? @node-ref) @rendered? thumbnail?)
|
||||
(when (and (some? @parent-ref) (some? @node-ref) @rendered? (and thumbnail? (not render-frame?)))
|
||||
(.removeChild @parent-ref @node-ref)
|
||||
(reset! in-memory? true))
|
||||
|
||||
(when (and (some? @node-ref) @in-memory? (not thumbnail?))
|
||||
(when (and (some? @node-ref) @in-memory? (or (not thumbnail?) render-frame?))
|
||||
(.appendChild @parent-ref @node-ref)
|
||||
(reset! in-memory? false))))
|
||||
|
||||
|
||||
@@ -9,19 +9,20 @@
|
||||
[app.common.data :as d]
|
||||
[app.common.data.macros :as dm]
|
||||
[app.common.math :as mth]
|
||||
[app.main.data.workspace :as dw]
|
||||
[app.main.data.workspace.thumbnails :as dwt]
|
||||
[app.main.refs :as refs]
|
||||
[app.main.store :as st]
|
||||
[app.main.ui.hooks :as hooks]
|
||||
[app.main.ui.shapes.frame :as frame]
|
||||
[app.util.dom :as dom]
|
||||
[app.util.object :as obj]
|
||||
[app.util.timers :as ts]
|
||||
[beicon.core :as rx]
|
||||
[cuerdas.core :as str]
|
||||
[debug :refer [debug?]]
|
||||
[rumext.alpha :as mf]))
|
||||
|
||||
;; (def thumbnail-scale-factor 2)
|
||||
|
||||
(defn- draw-thumbnail-canvas
|
||||
(defn- draw-thumbnail-canvas!
|
||||
[canvas-node img-node]
|
||||
(try
|
||||
(when (and (some? canvas-node) (some? img-node))
|
||||
@@ -29,19 +30,12 @@
|
||||
canvas-width (.-width canvas-node)
|
||||
canvas-height (.-height canvas-node)]
|
||||
|
||||
;; TODO: Expermient with different scale factors
|
||||
;; (set! (.-width canvas-node) (* thumbnail-scale-factor canvas-width))
|
||||
;; (set! (.-height canvas-node) (* thumbnail-scale-factor canvas-height))
|
||||
;; (.setTransform canvas-context thumbnail-scale-factor 0 0 thumbnail-scale-factor 0 0)
|
||||
;; (set! (.-imageSmoothingEnabled canvas-context) true)
|
||||
;; (set! (.-imageSmoothingQuality canvas-context) "high")
|
||||
|
||||
(.clearRect canvas-context 0 0 canvas-width canvas-height)
|
||||
(.drawImage canvas-context img-node 0 0 canvas-width canvas-height)
|
||||
(.toDataURL canvas-node "image/png" 1.0)))
|
||||
true))
|
||||
(catch :default err
|
||||
(.error js/console err)
|
||||
nil)))
|
||||
false)))
|
||||
|
||||
(defn- remove-image-loading
|
||||
"Remove the changes related to change a url for its embed value. This is necessary
|
||||
@@ -59,7 +53,7 @@
|
||||
|
||||
(defn use-render-thumbnail
|
||||
"Hook that will create the thumbnail thata"
|
||||
[page-id {:keys [id x y width height] :as shape} node-ref rendered? thumbnail-data-ref disable?]
|
||||
[page-id {:keys [id x y width height] :as shape} node-ref rendered? disable?]
|
||||
|
||||
(let [frame-canvas-ref (mf/use-ref nil)
|
||||
frame-image-ref (mf/use-ref nil)
|
||||
@@ -78,16 +72,25 @@
|
||||
|
||||
updates-str (mf/use-memo #(rx/subject))
|
||||
|
||||
thumbnail-data-ref (mf/use-memo (mf/deps page-id id) #(refs/thumbnail-frame-data page-id id))
|
||||
thumbnail-data (mf/deref thumbnail-data-ref)
|
||||
|
||||
render-frame? (mf/use-state (not thumbnail-data))
|
||||
|
||||
on-image-load
|
||||
(mf/use-callback
|
||||
(fn []
|
||||
(ts/raf
|
||||
#(let [canvas-node (mf/ref-val frame-canvas-ref)
|
||||
img-node (mf/ref-val frame-image-ref)
|
||||
thumb-data (draw-thumbnail-canvas canvas-node img-node)]
|
||||
(when (some? thumb-data)
|
||||
(st/emit! (dw/update-thumbnail page-id id thumb-data))
|
||||
(reset! image-url nil))))))
|
||||
img-node (mf/ref-val frame-image-ref)]
|
||||
(when (draw-thumbnail-canvas! canvas-node img-node)
|
||||
(reset! image-url nil)
|
||||
(reset! render-frame? false))
|
||||
|
||||
;; If we don't have the thumbnail data saved (normaly the first load) we update the data
|
||||
;; when available
|
||||
(when (not @thumbnail-data-ref)
|
||||
(st/emit! (dwt/update-thumbnail page-id id) ))))))
|
||||
|
||||
generate-thumbnail
|
||||
(mf/use-callback
|
||||
@@ -115,7 +118,7 @@
|
||||
(fn []
|
||||
(when (and (some? @node-ref) @regenerate-thumbnail)
|
||||
(let [loading-images? (some? (dom/query @node-ref "[data-loading='true']"))
|
||||
loading-fonts? (some? (dom/query (dm/str "#frame-container-" (:id shape) " style[data-loading='true']")))]
|
||||
loading-fonts? (some? (dom/query (dm/str "#frame-container-" (:id shape) " > style[data-loading='true']")))]
|
||||
(when (and (not loading-images?) (not loading-fonts?))
|
||||
(generate-thumbnail)
|
||||
(reset! regenerate-thumbnail false))))))
|
||||
@@ -172,18 +175,28 @@
|
||||
(reset! observer-ref nil)))))
|
||||
|
||||
[on-load-frame-dom
|
||||
(when (some? @image-url)
|
||||
(mf/html
|
||||
[:g.thumbnail-rendering
|
||||
[:foreignObject {:x x :y y :width width :height height}
|
||||
[:canvas {:ref frame-canvas-ref
|
||||
:width fixed-width
|
||||
:height fixed-height}]]
|
||||
@render-frame?
|
||||
(mf/html
|
||||
[:*
|
||||
[:> frame/frame-thumbnail {:key (dm/str (:id shape))
|
||||
:shape (cond-> shape
|
||||
(some? thumbnail-data)
|
||||
(assoc :thumbnail thumbnail-data))}]
|
||||
|
||||
[:foreignObject {:x x :y y :width width :height height}
|
||||
[:canvas.thumbnail-canvas
|
||||
{:ref frame-canvas-ref
|
||||
:data-object-id (dm/str page-id (:id shape))
|
||||
:width fixed-width
|
||||
:height fixed-height
|
||||
;; DEBUG
|
||||
:style {:filter (when (debug? :thumbnails) "invert(1)")}}]]
|
||||
|
||||
(when (some? @image-url)
|
||||
[:image {:ref frame-image-ref
|
||||
:x (:x shape)
|
||||
:y (:y shape)
|
||||
:href @image-url
|
||||
:width (:width shape)
|
||||
:height (:height shape)
|
||||
:on-load on-image-load}]]))]))
|
||||
:on-load on-image-load}])])]))
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
[app.util.text-editor :as ted]
|
||||
[app.util.text-svg-position :as utp]
|
||||
[app.util.timers :as ts]
|
||||
[promesa.core :as p]
|
||||
[rumext.alpha :as mf]))
|
||||
|
||||
(defn strip-position-data [shape]
|
||||
@@ -61,37 +62,39 @@
|
||||
(assoc :content (d/txt-merge content editor-content)))))
|
||||
|
||||
(defn- update-text-shape
|
||||
[{:keys [grow-type id]} node]
|
||||
[{:keys [grow-type id migrate]} node]
|
||||
;; Check if we need to update the size because it's auto-width or auto-height
|
||||
(when (contains? #{:auto-height :auto-width} grow-type)
|
||||
(let [{:keys [width height]}
|
||||
(-> (dom/query node ".paragraph-set")
|
||||
(dom/get-client-size))
|
||||
width (mth/ceil width)
|
||||
height (mth/ceil height)]
|
||||
(when (and (not (mth/almost-zero? width)) (not (mth/almost-zero? height)))
|
||||
(st/emit! (dwt/resize-text id width height)))))
|
||||
|
||||
;; Update the position-data of every text fragment
|
||||
(let [position-data (utp/calc-position-data node)]
|
||||
(st/emit! (dwt/update-position-data id position-data)))
|
||||
(p/let [position-data (utp/calc-position-data node)]
|
||||
(st/emit! (dwt/update-position-data id position-data))
|
||||
|
||||
(when (contains? #{:auto-height :auto-width} grow-type)
|
||||
(let [{:keys [width height]}
|
||||
(-> (dom/query node ".paragraph-set")
|
||||
(dom/get-client-size))
|
||||
width (mth/ceil width)
|
||||
height (mth/ceil height)]
|
||||
(when (and (not (mth/almost-zero? width))
|
||||
(not (mth/almost-zero? height))
|
||||
(not migrate))
|
||||
(st/emit! (dwt/resize-text id width height))))))
|
||||
|
||||
(st/emit! (dwt/clean-text-modifier id)))
|
||||
|
||||
(defn- update-text-modifier
|
||||
[{:keys [grow-type id]} node]
|
||||
(let [position-data (utp/calc-position-data node)
|
||||
props {:position-data position-data}
|
||||
(p/let [position-data (utp/calc-position-data node)
|
||||
props {:position-data position-data}
|
||||
|
||||
props
|
||||
(if (contains? #{:auto-height :auto-width} grow-type)
|
||||
(let [{:keys [width height]} (-> (dom/query node ".paragraph-set") (dom/get-client-size))
|
||||
width (mth/ceil width)
|
||||
height (mth/ceil height)]
|
||||
(if (and (not (mth/almost-zero? width)) (not (mth/almost-zero? height)))
|
||||
(assoc props :width width :height height)
|
||||
props))
|
||||
props)]
|
||||
props
|
||||
(if (contains? #{:auto-height :auto-width} grow-type)
|
||||
(let [{:keys [width height]} (-> (dom/query node ".paragraph-set") (dom/get-client-size))
|
||||
width (mth/ceil width)
|
||||
height (mth/ceil height)]
|
||||
(if (and (not (mth/almost-zero? width)) (not (mth/almost-zero? height)))
|
||||
(assoc props :width width :height height)
|
||||
props))
|
||||
props)]
|
||||
|
||||
(st/emit! (dwt/update-text-modifier id props))))
|
||||
|
||||
@@ -228,7 +231,14 @@
|
||||
(mf/deps text-shapes modifiers)
|
||||
#(d/update-vals text-shapes (partial process-shape modifiers)))
|
||||
|
||||
editing-shape (get text-shapes edition)]
|
||||
editing-shape (get text-shapes edition)
|
||||
|
||||
;; This memo is necesary so the viewport-text-wrapper memoize its props correctly
|
||||
text-shapes-wrapper
|
||||
(mf/use-memo
|
||||
(mf/deps text-shapes edition)
|
||||
(fn []
|
||||
(dissoc text-shapes edition)))]
|
||||
|
||||
;; We only need the effect to run on "mount" because the next fonts will be changed when the texts are
|
||||
;; edited
|
||||
@@ -242,5 +252,5 @@
|
||||
(when editing-shape
|
||||
[:& viewport-text-editing {:shape editing-shape}])
|
||||
|
||||
[:& viewport-texts-wrapper {:text-shapes (dissoc text-shapes edition)
|
||||
[:& viewport-texts-wrapper {:text-shapes text-shapes-wrapper
|
||||
:modifiers modifiers}]]))
|
||||
|
||||
@@ -71,8 +71,8 @@
|
||||
focus (mf/deref refs/workspace-focus-selected)
|
||||
|
||||
objects-ref (mf/use-memo #(refs/workspace-page-objects-by-id page-id))
|
||||
base-objects (-> (mf/deref objects-ref)
|
||||
(ui-hooks/with-focus-objects focus))
|
||||
objects (mf/deref objects-ref)
|
||||
base-objects (-> objects (ui-hooks/with-focus-objects focus))
|
||||
|
||||
modifiers (mf/deref refs/workspace-modifiers)
|
||||
|
||||
@@ -245,7 +245,7 @@
|
||||
[:g {:pointer-events "none" :opacity 0}
|
||||
[:& stv/viewport-texts {:key (dm/str "texts-" page-id)
|
||||
:page-id page-id
|
||||
:objects base-objects
|
||||
:objects objects
|
||||
:modifiers modifiers
|
||||
:edition edition}]]]
|
||||
|
||||
|
||||
@@ -25,6 +25,7 @@
|
||||
[app.util.globals :as globals]
|
||||
[app.util.timers :as timers]
|
||||
[beicon.core :as rx]
|
||||
[debug :refer [debug?]]
|
||||
[goog.events :as events]
|
||||
[rumext.alpha :as mf])
|
||||
(:import goog.events.EventType))
|
||||
@@ -269,7 +270,11 @@
|
||||
|
||||
;; We only allow active frames that are contained in the vbox
|
||||
(filter (partial inside-vbox vbox objects)))
|
||||
all-frames)]
|
||||
all-frames)
|
||||
|
||||
;; Debug only: Disable the thumbnails
|
||||
new-active-frames
|
||||
(if (debug? :disable-frame-thumbnails) (into #{} all-frames) new-active-frames)]
|
||||
|
||||
(when (not= @active-frames new-active-frames)
|
||||
(reset! active-frames new-active-frames)))))))
|
||||
|
||||
@@ -135,35 +135,36 @@
|
||||
(on-frame-leave (:id frame))))
|
||||
text-pos-x (if (:use-for-thumbnail? frame) 15 0)]
|
||||
|
||||
[:*
|
||||
(when (:use-for-thumbnail? frame)
|
||||
[:g {:transform (str (when (and selected? modifiers)
|
||||
(str (:displacement modifiers) " "))
|
||||
(text-transform label-pos zoom))}
|
||||
[:svg {:x 0
|
||||
:y -9
|
||||
:width 12
|
||||
:height 12
|
||||
:class "workspace-frame-icon"
|
||||
(when (not (:hidden frame))
|
||||
[:*
|
||||
(when (:use-for-thumbnail? frame)
|
||||
[:g {:transform (str (when (and selected? modifiers)
|
||||
(str (:displacement modifiers) " "))
|
||||
(text-transform label-pos zoom))}
|
||||
[:svg {:x 0
|
||||
:y -9
|
||||
:width 12
|
||||
:height 12
|
||||
:class "workspace-frame-icon"
|
||||
:style {:fill (when selected? "var(--color-primary-dark)")}
|
||||
:visibility (if show-artboard-names? "visible" "hidden")}
|
||||
[:use {:href "#icon-set-thumbnail"}]]])
|
||||
[:text {:x text-pos-x
|
||||
:y 0
|
||||
:width width
|
||||
:height 20
|
||||
:class "workspace-frame-label"
|
||||
:transform (str (when (and selected? modifiers)
|
||||
(str (:displacement modifiers) " "))
|
||||
(text-transform label-pos zoom))
|
||||
:style {:fill (when selected? "var(--color-primary-dark)")}
|
||||
:visibility (if show-artboard-names? "visible" "hidden")}
|
||||
[:use {:href "#icon-set-thumbnail"}]]])
|
||||
[:text {:x text-pos-x
|
||||
:y 0
|
||||
:width width
|
||||
:height 20
|
||||
:class "workspace-frame-label"
|
||||
:transform (str (when (and selected? modifiers)
|
||||
(str (:displacement modifiers) " "))
|
||||
(text-transform label-pos zoom))
|
||||
:style {:fill (when selected? "var(--color-primary-dark)")}
|
||||
:visibility (if show-artboard-names? "visible" "hidden")
|
||||
:on-mouse-down on-mouse-down
|
||||
:on-double-click on-double-click
|
||||
:on-context-menu on-context-menu
|
||||
:on-pointer-enter on-pointer-enter
|
||||
:on-pointer-leave on-pointer-leave}
|
||||
(:name frame)]]))
|
||||
:visibility (if show-artboard-names? "visible" "hidden")
|
||||
:on-mouse-down on-mouse-down
|
||||
:on-double-click on-double-click
|
||||
:on-context-menu on-context-menu
|
||||
:on-pointer-enter on-pointer-enter
|
||||
:on-pointer-leave on-pointer-leave}
|
||||
(:name frame)]])))
|
||||
|
||||
(mf/defc frame-titles
|
||||
{::mf/wrap-props false
|
||||
|
||||
@@ -10,17 +10,34 @@
|
||||
[beicon.core :as rx]))
|
||||
|
||||
(defonce cache (atom {}))
|
||||
(defonce pending (atom {}))
|
||||
|
||||
(defn with-cache
|
||||
[{:keys [key max-age]} observable]
|
||||
(let [entry (get @cache key)
|
||||
pending-entry (get @pending key)
|
||||
|
||||
age (when entry
|
||||
(dt/diff (dt/now)
|
||||
(:created-at entry)))]
|
||||
(if (and (some? entry) (< age max-age))
|
||||
(cond
|
||||
(and (some? entry) (< age max-age))
|
||||
(rx/of (:data entry))
|
||||
(->> observable
|
||||
(rx/tap
|
||||
(fn [data]
|
||||
(let [entry {:created-at (dt/now) :data data}]
|
||||
(swap! cache assoc key entry))))))))
|
||||
|
||||
(some? pending-entry)
|
||||
pending-entry
|
||||
|
||||
:else
|
||||
(let [subject (rx/subject)]
|
||||
(swap! pending assoc key subject)
|
||||
(->> observable
|
||||
(rx/catch #(do (rx/error! subject %)
|
||||
(swap! pending dissoc key)
|
||||
(rx/throw %)))
|
||||
(rx/tap
|
||||
(fn [data]
|
||||
(let [entry {:created-at (dt/now) :data data}]
|
||||
(swap! cache assoc key entry))
|
||||
(rx/push! subject data)
|
||||
(rx/end! subject)
|
||||
(swap! pending dissoc key))))))))
|
||||
|
||||
@@ -548,3 +548,11 @@
|
||||
(seq (.-children node)))]
|
||||
(->> root-node
|
||||
(tree-seq branch? get-children))))
|
||||
|
||||
(defn check-font? [font]
|
||||
(let [fonts (.-fonts globals/document)]
|
||||
(.check fonts font)))
|
||||
|
||||
(defn load-font [font]
|
||||
(let [fonts (.-fonts globals/document)]
|
||||
(.load fonts font)))
|
||||
|
||||
@@ -173,32 +173,34 @@
|
||||
(fetch-data-uri uri false))
|
||||
|
||||
([uri throw-err?]
|
||||
(c/with-cache {:key uri :max-age (dt/duration {:hours 4})}
|
||||
(let [request-stream
|
||||
(send! {:method :get
|
||||
:uri uri
|
||||
:response-type :blob
|
||||
:omit-default-headers true})
|
||||
(let [request-str
|
||||
(->> (send! {:method :get
|
||||
:uri uri
|
||||
:response-type :blob
|
||||
:omit-default-headers true})
|
||||
(rx/tap
|
||||
(fn [resp]
|
||||
(when (or (< (:status resp) 200) (>= (:status resp) 300))
|
||||
(rx/throw (js/Error. "Error fetching data uri" #js {:cause (clj->js resp)})))))
|
||||
|
||||
request-stream
|
||||
(if throw-err?
|
||||
(rx/tap #(when-not (and (>= (:status %) 200) (< (:status %) 300))
|
||||
;; HTTP ERRROR
|
||||
(throw (js/Error. "Error fetching data uri" #js {:cause (clj->js %)})))
|
||||
request-stream)
|
||||
(rx/filter #(= 200 (:status %))
|
||||
request-stream))]
|
||||
(->> request-stream
|
||||
(rx/map :body)
|
||||
(rx/mapcat wapi/read-file-as-data-url)
|
||||
(rx/map #(hash-map uri %)))))))
|
||||
(rx/map :body)
|
||||
(rx/mapcat wapi/read-file-as-data-url)
|
||||
(rx/map #(hash-map uri %))
|
||||
(c/with-cache {:key uri :max-age (dt/duration {:hours 4})}))]
|
||||
|
||||
;; We need to check `throw-err?` after the cache is resolved otherwise we cannot cache request
|
||||
;; with different values of throw-err. By default we throw always the exception and then we just
|
||||
;; ignore when `throw-err?` is `true`
|
||||
(if (not throw-err?)
|
||||
(->> request-str (rx/catch #(rx/empty)))
|
||||
request-str))))
|
||||
|
||||
(defn fetch-text [url]
|
||||
(c/with-cache {:key url :max-age (dt/duration {:hours 4})}
|
||||
(->> (send!
|
||||
{:method :get
|
||||
:mode :cors
|
||||
:omit-default-headers true
|
||||
:uri url
|
||||
:response-type :text})
|
||||
(rx/map :body))))
|
||||
(->> (send!
|
||||
{:method :get
|
||||
:mode :cors
|
||||
:omit-default-headers true
|
||||
:uri url
|
||||
:response-type :text})
|
||||
(rx/map :body)
|
||||
(c/with-cache {:key url :max-age (dt/duration {:hours 4})})))
|
||||
|
||||
@@ -22,14 +22,18 @@
|
||||
{:label "Català" :value "ca"}
|
||||
{:label "Français (community)" :value "fr"}
|
||||
{:label "Deutsch (community)" :value "de"}
|
||||
{:label "Norsk - Bokmål (community)" :value "nb_no"}
|
||||
{:label "Portuguese - Brazil (community)" :value "pt_br"}
|
||||
{:label "Polski (community)" :value "pl"}
|
||||
{:label "Русский (community)" :value "ru"}
|
||||
{:label "Rumanian (community)" :value "ro"}
|
||||
{:label "Türkçe (community)" :value "tr"}
|
||||
{:label "Rumanian (communit)" :value "ro"}
|
||||
{:label "Portuguese (Brazil, community)" :value "pt_br"}
|
||||
{:label "Ελληνική γλώσσα (community)" :value "el"}
|
||||
{:label "עִבְרִית (community)" :value "he"}
|
||||
{:label "عربي/عربى (community)" :value "ar"}
|
||||
{:label "简体中文 (community)" :value "zh_cn"}])
|
||||
{:label "فارسی (community)" :value "fa"}
|
||||
{:label "简体中文 (community)" :value "zh_cn"}
|
||||
{:label "中国传统的 (community)" :value "zh_hant"}])
|
||||
|
||||
(defn- parse-locale
|
||||
[locale]
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
(ns app.util.import.parser
|
||||
(:require
|
||||
[app.common.data :as d]
|
||||
[app.common.data.macros :as dm]
|
||||
[app.common.geom.matrix :as gmt]
|
||||
[app.common.geom.point :as gpt]
|
||||
[app.common.spec.interactions :as cti]
|
||||
@@ -213,16 +214,29 @@
|
||||
(reduce add-attrs node-attrs))
|
||||
|
||||
(= type :frame)
|
||||
(let [;; The nodes with the "frame-background" class can have some anidation depending on the strokes they have
|
||||
(let [;; Old .penpot files doesn't have "g" nodes. They have a clipPath reference as a node attribute
|
||||
to-url #(dm/str "url(#" % ")")
|
||||
frame-clip-rect-node (->> (find-all-nodes node :defs)
|
||||
(mapcat #(find-all-nodes % :clipPath))
|
||||
(filter #(= (to-url (:id (:attrs %))) (:clip-path node-attrs)))
|
||||
(mapcat #(find-all-nodes % #{:rect :path}))
|
||||
(first))
|
||||
|
||||
;; The nodes with the "frame-background" class can have some anidation depending on the strokes they have
|
||||
g-nodes (find-all-nodes node :g)
|
||||
defs-nodes (flatten (map #(find-all-nodes % :defs) g-nodes))
|
||||
gg-nodes (flatten (map #(find-all-nodes % :g) g-nodes))
|
||||
|
||||
|
||||
rect-nodes (flatten [[(find-all-nodes node :rect)]
|
||||
(map #(find-all-nodes % #{:rect :path}) defs-nodes)
|
||||
(map #(find-all-nodes % #{:rect :path}) g-nodes)
|
||||
(map #(find-all-nodes % #{:rect :path}) gg-nodes)])
|
||||
svg-node (d/seek #(= "frame-background" (get-in % [:attrs :class])) rect-nodes)]
|
||||
(merge (add-attrs {} (:attrs svg-node)) node-attrs))
|
||||
(merge
|
||||
(add-attrs {} (:attrs frame-clip-rect-node))
|
||||
(add-attrs {} (:attrs svg-node))
|
||||
node-attrs))
|
||||
|
||||
(= type :svg-raw)
|
||||
(let [svg-content (get-data node :penpot:svg-content)
|
||||
|
||||
@@ -9,9 +9,11 @@
|
||||
[app.common.data :as d]
|
||||
[app.common.geom.point :as gpt]
|
||||
[app.common.transit :as transit]
|
||||
[app.main.fonts :as fonts]
|
||||
[app.main.store :as st]
|
||||
[app.util.dom :as dom]
|
||||
[app.util.text-position-data :as tpd]))
|
||||
[app.util.text-position-data :as tpd]
|
||||
[promesa.core :as p]))
|
||||
|
||||
(defn parse-text-nodes
|
||||
"Given a text node retrieves the rectangles for everyone of its paragraphs and its text."
|
||||
@@ -27,6 +29,27 @@
|
||||
(map parse-entry)
|
||||
(tpd/parse-text-nodes parent-node text-node))))
|
||||
|
||||
(def load-promises (atom {}))
|
||||
|
||||
(defn load-font
|
||||
[font]
|
||||
(if (contains? @load-promises font)
|
||||
(get @load-promises font)
|
||||
(let [load-promise (dom/load-font font)]
|
||||
(swap! load-promises assoc font load-promise)
|
||||
load-promise)))
|
||||
|
||||
(defn resolve-font
|
||||
[^js node]
|
||||
|
||||
(let [styles (js/getComputedStyle node)
|
||||
font (.getPropertyValue styles "font")]
|
||||
(if (dom/check-font? font)
|
||||
(p/resolved font)
|
||||
(let [font-id (.getPropertyValue styles "--font-id")]
|
||||
(-> (fonts/ensure-loaded! font-id)
|
||||
(p/then #(when (not (dom/check-font? font))
|
||||
(load-font font))))))))
|
||||
|
||||
(defn calc-text-node-positions
|
||||
[base-node viewport zoom]
|
||||
@@ -58,22 +81,25 @@
|
||||
:width (- (:x p2) (:x p1))
|
||||
:height (- (:y p2) (:y p1)))))
|
||||
|
||||
text-nodes (dom/query-all base-node ".text-node, span[data-text]")]
|
||||
|
||||
(->> text-nodes
|
||||
(mapcat
|
||||
(fn [parent-node]
|
||||
(let [direction (.-direction (js/getComputedStyle parent-node))]
|
||||
(->> (.-childNodes parent-node)
|
||||
(mapcat #(parse-text-nodes parent-node direction %))))))
|
||||
(mapv #(update % :position translate-rect))))))
|
||||
text-nodes (dom/query-all base-node ".text-node, span[data-text]")
|
||||
load-fonts (->> text-nodes (map resolve-font))]
|
||||
(-> (p/all load-fonts)
|
||||
(p/then
|
||||
(fn []
|
||||
(->> text-nodes
|
||||
(mapcat
|
||||
(fn [parent-node]
|
||||
(let [direction (.-direction (js/getComputedStyle parent-node))]
|
||||
(->> (.-childNodes parent-node)
|
||||
(mapcat #(parse-text-nodes parent-node direction %))))))
|
||||
(mapv #(update % :position translate-rect)))))))))
|
||||
|
||||
(defn calc-position-data
|
||||
[base-node]
|
||||
(let [viewport (dom/get-element "render")
|
||||
zoom (or (get-in @st/state [:workspace-local :zoom]) 1)]
|
||||
(when (and (some? base-node) (some? viewport))
|
||||
(let [text-data (calc-text-node-positions base-node viewport zoom)]
|
||||
(p/let [text-data (calc-text-node-positions base-node viewport zoom)]
|
||||
(when (d/not-empty? text-data)
|
||||
(->> text-data
|
||||
(mapv (fn [{:keys [node position text direction]}]
|
||||
|
||||
@@ -125,7 +125,8 @@
|
||||
match-criteria?
|
||||
(fn [shape]
|
||||
(and (not (:hidden shape))
|
||||
(not (:blocked shape))
|
||||
(or (= :frame (:type shape)) ;; We return frames even if blocked
|
||||
(not (:blocked shape)))
|
||||
(or (not frame-id) (= frame-id (:frame-id shape)))
|
||||
(case (:type shape)
|
||||
:frame include-frames?
|
||||
|
||||
@@ -64,6 +64,9 @@
|
||||
|
||||
;; Disable thumbnail cache
|
||||
:disable-thumbnail-cache
|
||||
|
||||
;; Disable frame thumbnails
|
||||
:disable-frame-thumbnails
|
||||
})
|
||||
|
||||
;; These events are excluded when we activate the :events flag
|
||||
|
||||
@@ -539,7 +539,6 @@ msgstr "التسجيل معطل حاليا."
|
||||
msgid "errors.terms-privacy-agreement-invalid"
|
||||
msgstr "يجب أن تقبل شروط الخدمة وسياسة الخصوصية الخاصة بنا."
|
||||
|
||||
|
||||
#: src/app/main/data/media.cljs, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "errors.unexpected-error"
|
||||
msgstr "حدث خطأ غير متوقع."
|
||||
@@ -568,24 +567,6 @@ msgstr "ترغب في الكلام؟ تحدث معنا في Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "وصف"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "اذهب إلى المناقشات"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "انضم إلى منتدى التواصل التعاوني لفريق Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"يمكنك طرح الأسئلة والإجابة عليها، إجراء محادثات مفتوحة، ومتابعة القرارات "
|
||||
"التي تؤثر على المشروع."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "مناقشات الفريق"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "موضوع"
|
||||
|
||||
@@ -729,24 +729,6 @@ msgstr "Voleu parlar? Xategeu amb nosaltres a Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "Descripció"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Ves als debats"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Uniu-vos al fòrum col·laboratiu del Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Podeu fer i respondre preguntes, tenir converses obertes i seguir les "
|
||||
"decisions que afecten el projecte."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Debats de l'equip"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Tema"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -480,24 +480,6 @@ msgstr "Νιώθετε σαν να μιλάτε; Συνομιλήστε μαζί
|
||||
msgid "feedback.description"
|
||||
msgstr "Περιγραφή"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Μετάβαση στις συζητήσεις"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Μπείτε στο συνεργατικό φόρουμ του Penpot"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Μπορείτε να κάνετε και να απαντήσετε σε ερωτήσεις, να έχετε συνομιλίες "
|
||||
"ανοιχτού τύπου και να συνεχίσετε να επηρεάζετε το έργο"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Ομαδικές συζητήσεις "
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Επιχείρηση"
|
||||
|
||||
@@ -450,6 +450,14 @@ msgstr "+ New project"
|
||||
msgid "dashboard.new-project-prefix"
|
||||
msgstr "New Project"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-msg"
|
||||
msgstr "Send me news, product updates and recommendations about Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-title"
|
||||
msgstr "Newsletter subscription"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs
|
||||
msgid "dashboard.no-matches-for"
|
||||
msgstr "No matches found for “%s“"
|
||||
@@ -505,6 +513,10 @@ msgstr "Want to remove your account?"
|
||||
msgid "dashboard.remove-shared"
|
||||
msgstr "Remove as Shared Library"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.save-settings"
|
||||
msgstr "Save settings"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.search-placeholder"
|
||||
msgstr "Search…"
|
||||
@@ -581,18 +593,6 @@ msgstr "Search results"
|
||||
msgid "dashboard.type-something"
|
||||
msgstr "Type to search results"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.save-settings"
|
||||
msgstr "Save settings"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-title"
|
||||
msgstr "Newsletter subscription"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-msg"
|
||||
msgstr "Send me news, product updates and recommendations about Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/password.cljs, src/app/main/ui/settings/options.cljs
|
||||
msgid "dashboard.update-settings"
|
||||
msgstr "Update settings"
|
||||
@@ -674,6 +674,13 @@ msgstr "Authentication with google disabled on backend"
|
||||
msgid "errors.invalid-color"
|
||||
msgstr "Invalid color"
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "errors.invite-invalid"
|
||||
msgstr "Invite invalid"
|
||||
|
||||
msgid "errors.invite-invalid.info"
|
||||
msgstr "This invite might be canceled or may be expired."
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "errors.ldap-disabled"
|
||||
msgstr "LDAP authentication is disabled."
|
||||
@@ -728,14 +735,6 @@ msgstr "Owner can't leave team, you must reassign the owner role."
|
||||
msgid "errors.terms-privacy-agreement-invalid"
|
||||
msgstr "You must accept our terms of service and privacy policy."
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "errors.invite-invalid"
|
||||
msgstr "Invite invalid"
|
||||
|
||||
msgid "errors.invite-invalid.info"
|
||||
msgstr "This invite might be canceled or may be expired."
|
||||
|
||||
|
||||
#: src/app/main/data/media.cljs, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "errors.unexpected-error"
|
||||
msgstr "An unexpected error occurred."
|
||||
@@ -764,24 +763,6 @@ msgstr "Feeling like talking? Chat with us at Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "Description"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Go to discussions"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Join Penpot team collaborative communication forum."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"You can ask and answer questions, have open-ended conversations, and follow "
|
||||
"along on decisions affecting the project."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Team discussions"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Subject"
|
||||
@@ -796,6 +777,18 @@ msgstr ""
|
||||
msgid "feedback.title"
|
||||
msgstr "Email"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.twitter-go-to"
|
||||
msgstr "Go to Twitter"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.twitter-subtitle1"
|
||||
msgstr "Here to help with your technical queries."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.twitter-title"
|
||||
msgstr "Twitter support account"
|
||||
|
||||
#: src/app/main/ui/settings/password.cljs
|
||||
msgid "generic.error"
|
||||
msgstr "An error has occurred"
|
||||
@@ -1786,6 +1779,36 @@ msgstr "project on github"
|
||||
msgid "onboarding.contrib.title"
|
||||
msgstr "Open Source Contributor?"
|
||||
|
||||
msgid "onboarding.newsletter.accept"
|
||||
msgstr "Yes, subscribe"
|
||||
|
||||
msgid "onboarding.newsletter.acceptance-message"
|
||||
msgstr ""
|
||||
"Your subscription request has been sent, we will send you an email to "
|
||||
"confirm it."
|
||||
|
||||
msgid "onboarding.newsletter.decline"
|
||||
msgstr "No, thanks"
|
||||
|
||||
msgid "onboarding.newsletter.desc"
|
||||
msgstr ""
|
||||
"Subscribe to our newsletter to stay up to date with product development "
|
||||
"progress and news."
|
||||
|
||||
msgid "onboarding.newsletter.policy"
|
||||
msgstr "Privacy Policy."
|
||||
|
||||
msgid "onboarding.newsletter.privacy1"
|
||||
msgstr "Because we care about privacy, here's our "
|
||||
|
||||
msgid "onboarding.newsletter.privacy2"
|
||||
msgstr ""
|
||||
"We will only send relevant emails to you. You can unsubscribe at any time "
|
||||
"in your user profile or via the unsubscribe link in any of our newsletters."
|
||||
|
||||
msgid "onboarding.newsletter.title"
|
||||
msgstr "Want to receive Penpot news?"
|
||||
|
||||
msgid "onboarding.slide.0.alt"
|
||||
msgstr "Create designs"
|
||||
|
||||
@@ -1871,30 +1894,6 @@ msgstr ""
|
||||
msgid "onboarding.welcome.title"
|
||||
msgstr "Welcome to Penpot"
|
||||
|
||||
msgid "onboarding.newsletter.title"
|
||||
msgstr "Want to receive Penpot news?"
|
||||
|
||||
msgid "onboarding.newsletter.desc"
|
||||
msgstr "Subscribe to our newsletter to stay up to date with product development progress and news."
|
||||
|
||||
msgid "onboarding.newsletter.privacy1"
|
||||
msgstr "Because we care about privacy, here's our "
|
||||
|
||||
msgid "onboarding.newsletter.policy"
|
||||
msgstr "Privacy Policy."
|
||||
|
||||
msgid "onboarding.newsletter.privacy2"
|
||||
msgstr "We will only send relevant emails to you. You can unsubscribe at any time in your user profile or via the unsubscribe link in any of our newsletters."
|
||||
|
||||
msgid "onboarding.newsletter.accept"
|
||||
msgstr "Yes, subscribe"
|
||||
|
||||
msgid "onboarding.newsletter.decline"
|
||||
msgstr "No, thanks"
|
||||
|
||||
msgid "onboarding.newsletter.acceptance-message"
|
||||
msgstr "Your subscription request has been sent, we will send you an email to confirm it."
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
msgid "profile.recovery.go-to-login"
|
||||
msgstr "Go to login"
|
||||
@@ -2585,14 +2584,14 @@ msgstr[1] "Export %s elements"
|
||||
msgid "workspace.options.export.suffix"
|
||||
msgstr "Suffix"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "Exporting…"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-complete"
|
||||
msgstr "Export complete"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "Exporting…"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object-error"
|
||||
msgstr "Export failed"
|
||||
@@ -3702,4 +3701,4 @@ msgid "workspace.updates.update"
|
||||
msgstr "Update"
|
||||
|
||||
msgid "workspace.viewport.click-to-close-path"
|
||||
msgstr "Click to close the path"
|
||||
msgstr "Click to close the path"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2022-03-21 13:56+0000\n"
|
||||
"PO-Revision-Date: 2022-05-04 10:14+0000\n"
|
||||
"Last-Translator: Ahmad HosseinBor <123hozeifeh@gmail.com>\n"
|
||||
"Language-Team: Persian "
|
||||
"<https://hosted.weblate.org/projects/penpot/frontend/fa/>\n"
|
||||
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
"X-Generator: Weblate 4.12.1\n"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.already-have-account"
|
||||
@@ -33,6 +33,12 @@ msgstr "ایجاد حساب دمو"
|
||||
msgid "auth.create-demo-profile"
|
||||
msgstr "فقط میخواهید آن را امتحان کنید؟"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.demo-warning"
|
||||
msgstr ""
|
||||
"این یک سرویس آزمایشی است، برای کار واقعی استفاده نکنید، پروژهها به صورت "
|
||||
"دورهای پاک میشوند."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.email"
|
||||
msgstr "ایمیل"
|
||||
@@ -183,6 +189,9 @@ msgstr "لینک با موفقیت کپی شد"
|
||||
msgid "common.share-link.link-deleted-success"
|
||||
msgstr "لینک با موفقیت حذف شد"
|
||||
|
||||
msgid "common.share-link.permissions-can-access"
|
||||
msgstr "میتواند دسترسی داشته باشد"
|
||||
|
||||
msgid "common.share-link.permissions-can-view"
|
||||
msgstr "میتواند مشاهده کند"
|
||||
|
||||
@@ -192,6 +201,9 @@ msgstr "هر کسی که لینک داشته باشد دسترسی خواهد د
|
||||
msgid "common.share-link.remove-link"
|
||||
msgstr "حذف لینک"
|
||||
|
||||
msgid "common.share-link.title"
|
||||
msgstr "اشتراکگذاری پروتوتایپها"
|
||||
|
||||
msgid "common.share-link.view-all-pages"
|
||||
msgstr "تمام صفحات"
|
||||
|
||||
@@ -236,6 +248,17 @@ msgstr "تکثیر"
|
||||
msgid "dashboard.empty-files"
|
||||
msgstr "شما هنوز هیچ فایلی در اینجا ندارید"
|
||||
|
||||
msgid "dashboard.export-frames"
|
||||
msgstr "خروجی آرتبوردها به پیدیاف..."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-frames.title"
|
||||
msgstr "اکسپورت به پیدیاف"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "dashboard.export-shapes"
|
||||
msgstr "اکسپورت"
|
||||
|
||||
msgid "dashboard.options"
|
||||
msgstr "گزینهها"
|
||||
|
||||
@@ -275,6 +298,10 @@ msgstr "موضوع"
|
||||
msgid "feedback.title"
|
||||
msgstr "ایمیل"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/blur.cljs
|
||||
msgid "handoff.attributes.blur"
|
||||
msgstr "محو"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/blur.cljs
|
||||
msgid "handoff.attributes.blur.value"
|
||||
msgstr "مقدار"
|
||||
@@ -315,6 +342,10 @@ msgstr "ارتفاع"
|
||||
msgid "handoff.attributes.layout.left"
|
||||
msgstr "چپ"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs, src/app/main/ui/handoff/attributes/layout.cljs
|
||||
msgid "handoff.attributes.layout.radius"
|
||||
msgstr "گردی"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs
|
||||
msgid "handoff.attributes.layout.rotation"
|
||||
msgstr "چرخش"
|
||||
@@ -359,6 +390,12 @@ msgstr "داخل"
|
||||
msgid "handoff.attributes.stroke.alignment.outer"
|
||||
msgstr "بیرون"
|
||||
|
||||
msgid "handoff.attributes.stroke.style.dotted"
|
||||
msgstr "خطچین"
|
||||
|
||||
msgid "handoff.attributes.stroke.style.mixed"
|
||||
msgstr "مخلوط"
|
||||
|
||||
msgid "handoff.attributes.stroke.style.none"
|
||||
msgstr "هیچیک"
|
||||
|
||||
@@ -435,6 +472,9 @@ msgstr "لغو"
|
||||
msgid "labels.centered"
|
||||
msgstr "مرکز"
|
||||
|
||||
msgid "labels.close"
|
||||
msgstr "بستن"
|
||||
|
||||
#: src/app/main/ui/dashboard/comments.cljs
|
||||
msgid "labels.comments"
|
||||
msgstr "نظرات"
|
||||
@@ -476,6 +516,9 @@ msgstr "ویرایشگر"
|
||||
msgid "labels.email"
|
||||
msgstr "ایمیل"
|
||||
|
||||
msgid "labels.export"
|
||||
msgstr "اکسپورت"
|
||||
|
||||
msgid "labels.font-variants"
|
||||
msgstr "استایلها"
|
||||
|
||||
@@ -507,6 +550,9 @@ msgstr "اعضا"
|
||||
msgid "labels.name"
|
||||
msgstr "نام"
|
||||
|
||||
msgid "labels.next"
|
||||
msgstr "بعدی"
|
||||
|
||||
#: src/app/main/ui/static.cljs
|
||||
msgid "labels.not-found.main-message"
|
||||
msgstr "اوپس!"
|
||||
@@ -514,6 +560,10 @@ msgstr "اوپس!"
|
||||
msgid "labels.or"
|
||||
msgstr "یا"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.owner"
|
||||
msgstr "مالک"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.password"
|
||||
msgstr "کلمهعبور"
|
||||
@@ -564,6 +614,9 @@ msgstr "درحال ارسال…"
|
||||
msgid "labels.settings"
|
||||
msgstr "تنظیمات"
|
||||
|
||||
msgid "labels.skip"
|
||||
msgstr "رد"
|
||||
|
||||
msgid "labels.start"
|
||||
msgstr "شروع"
|
||||
|
||||
@@ -584,6 +637,22 @@ msgstr "بیننده"
|
||||
msgid "labels.workspace"
|
||||
msgstr "فضایکاری"
|
||||
|
||||
msgid "modals.delete-font-variant.message"
|
||||
msgstr ""
|
||||
"آیا مطمئن هستید که میخواهید این سبک فونت را حذف کنید؟ اگر در یک فایل "
|
||||
"استفاده شود، بارگیری نمیشود."
|
||||
|
||||
msgid "modals.delete-font.message"
|
||||
msgstr ""
|
||||
"آیا مطمئن هستید که میخواهید این فونت را حذف کنید؟ اگر در یک فایل استفاده "
|
||||
"شود، بارگیری نمیشود."
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.delete-team-confirm.message"
|
||||
msgstr ""
|
||||
"آیا مطمئنید که میخواهید این تیم را حذف کنید؟ تمام پروژهها و فایلهای "
|
||||
"مرتبط با تیم به طور دائم حذف خواهند شد."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.accept"
|
||||
msgstr "بهروزرسانی"
|
||||
@@ -595,6 +664,14 @@ msgstr "لغو"
|
||||
msgid "onboarding.welcome.alt"
|
||||
msgstr "Penpot"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
msgid "settings.multiple"
|
||||
msgstr "مخلوط"
|
||||
|
||||
#: src/app/main/ui/viewer/header.cljs
|
||||
msgid "viewer.header.sitemap"
|
||||
msgstr "نقشه سایت"
|
||||
|
||||
msgid "workspace.assets.box-filter-graphics"
|
||||
msgstr "گرافیک"
|
||||
|
||||
@@ -646,6 +723,10 @@ msgstr "فونت"
|
||||
msgid "workspace.assets.typography.font-size"
|
||||
msgstr "اندازه"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.ungroup"
|
||||
msgstr "حذف گروه"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.header.menu.option.edit"
|
||||
msgstr "ویرایش"
|
||||
@@ -735,6 +816,18 @@ msgstr "بالا"
|
||||
msgid "workspace.options.design"
|
||||
msgstr "طرح"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export"
|
||||
msgstr "اکسپورت"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs
|
||||
msgid "workspace.options.export.suffix"
|
||||
msgstr "پسوند"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "درحال گرفتن خروجی…"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs
|
||||
msgid "workspace.options.fill"
|
||||
msgstr "پر"
|
||||
@@ -784,4 +877,296 @@ msgstr "چپ"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
||||
msgid "workspace.options.grid.params.type.right"
|
||||
msgstr "راست"
|
||||
msgstr "راست"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
||||
msgid "workspace.options.grid.params.type.top"
|
||||
msgstr "بالا"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
||||
msgid "workspace.options.grid.params.width"
|
||||
msgstr "پهنا"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
||||
msgid "workspace.options.grid.row"
|
||||
msgstr "ردیفها"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljs
|
||||
msgid "workspace.options.grid.square"
|
||||
msgstr "مربع"
|
||||
|
||||
msgid "workspace.options.height"
|
||||
msgstr "بلندی"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-action"
|
||||
msgstr "عمل"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-animation"
|
||||
msgstr "انیمیشن"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-animation-none"
|
||||
msgstr "هیچیک"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-animation-slide"
|
||||
msgstr "اسلاید"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-delay"
|
||||
msgstr "تاخیر"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-easing"
|
||||
msgstr "تسهیل"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-easing-ease"
|
||||
msgstr "سهولت"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-easing-linear"
|
||||
msgstr "خطی"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-in"
|
||||
msgstr "در"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-ms"
|
||||
msgstr "مث"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-out"
|
||||
msgstr "خارج"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-pos-center"
|
||||
msgstr "مرکز"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-pos-manual"
|
||||
msgstr "دستی"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-position"
|
||||
msgstr "موقعیت"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-self"
|
||||
msgstr "خود"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.interaction-url"
|
||||
msgstr "URL"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.blend-mode.color"
|
||||
msgstr "رنگ"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.blend-mode.difference"
|
||||
msgstr "تفاوت"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.blend-mode.normal"
|
||||
msgstr "معمولی"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.blend-mode.saturation"
|
||||
msgstr "اشباع"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.blend-mode.screen"
|
||||
msgstr "صفحه نمایش"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs
|
||||
msgid "workspace.options.layer-options.title"
|
||||
msgstr "لایه"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.position"
|
||||
msgstr "موقعیت"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options.cljs
|
||||
msgid "workspace.options.prototype"
|
||||
msgstr "پروتوتایپ"
|
||||
|
||||
msgid "workspace.options.recent-fonts"
|
||||
msgstr "اخیر"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.rotation"
|
||||
msgstr "چرخش"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs
|
||||
msgid "workspace.options.shadow-options.blur"
|
||||
msgstr "محو"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs
|
||||
msgid "workspace.options.shadow-options.offsetx"
|
||||
msgstr "X"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs
|
||||
msgid "workspace.options.shadow-options.offsety"
|
||||
msgstr "Y"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs
|
||||
msgid "workspace.options.shadow-options.title"
|
||||
msgstr "سایه"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.size"
|
||||
msgstr "اندازه"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke-cap.none"
|
||||
msgstr "هیچیک"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke-cap.round"
|
||||
msgstr "گردی"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke-cap.square"
|
||||
msgstr "مربع"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.center"
|
||||
msgstr "مرکز"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.dashed"
|
||||
msgstr "نقطهچین"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.dotted"
|
||||
msgstr "خطچین"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.inner"
|
||||
msgstr "داخل"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.mixed"
|
||||
msgstr "مخلوط"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs
|
||||
msgid "workspace.options.stroke.outer"
|
||||
msgstr "خارج"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs
|
||||
msgid "workspace.options.text-options.direction-ltr"
|
||||
msgstr "LTR"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs
|
||||
msgid "workspace.options.text-options.direction-rtl"
|
||||
msgstr "RTL"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.google"
|
||||
msgstr "گوگل"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs
|
||||
msgid "workspace.options.text-options.grow-fixed"
|
||||
msgstr "درست شد"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.lowercase"
|
||||
msgstr "حروف کوچک"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.none"
|
||||
msgstr "هیچیک"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs
|
||||
msgid "workspace.options.text-options.title"
|
||||
msgstr "متن"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.uppercase"
|
||||
msgstr "حروف بزرگ"
|
||||
|
||||
msgid "workspace.options.width"
|
||||
msgstr "پهنا"
|
||||
|
||||
msgid "workspace.options.x"
|
||||
msgstr "X"
|
||||
|
||||
msgid "workspace.options.y"
|
||||
msgstr "Y"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.copy"
|
||||
msgstr "کپی"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.cut"
|
||||
msgstr "برش"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.delete"
|
||||
msgstr "حذف"
|
||||
|
||||
msgid "workspace.shape.menu.difference"
|
||||
msgstr "تفاوت"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.duplicate"
|
||||
msgstr "تکرار"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.edit"
|
||||
msgstr "ویزایش"
|
||||
|
||||
msgid "workspace.shape.menu.flatten"
|
||||
msgstr "صاف"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.group"
|
||||
msgstr "گروه"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.hide"
|
||||
msgstr "مخفی"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.lock"
|
||||
msgstr "قفل"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.mask"
|
||||
msgstr "ماسک"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.paste"
|
||||
msgstr "چسباندن"
|
||||
|
||||
msgid "workspace.shape.menu.path"
|
||||
msgstr "مسیر"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.show"
|
||||
msgstr "نمایش"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.ungroup"
|
||||
msgstr "حذف گروه"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.unlock"
|
||||
msgstr "بازکردن قفل"
|
||||
|
||||
#: src/app/main/ui/workspace/left_toolbar.cljs
|
||||
msgid "workspace.sidebar.layers"
|
||||
msgstr "لایهها"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs
|
||||
msgid "workspace.sidebar.sitemap"
|
||||
msgstr "صفحات"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.sitemap"
|
||||
msgstr "نقشه سایت"
|
||||
@@ -36,10 +36,11 @@ msgstr "Vous voulez juste essayer ?"
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.demo-warning"
|
||||
msgstr ""
|
||||
"Il s’agit d’un service DEMO, NE PAS UTILISER pour un travail réel, les "
|
||||
"projets seront périodiquement supprimés."
|
||||
"Il s’agit d’un service de DÉMONSTRATION, NE L'UTILISEZ PAS pour du vrai "
|
||||
"travail, les projets seront périodiquement supprimés."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.email"
|
||||
msgstr "Adresse e‑mail"
|
||||
|
||||
@@ -65,11 +66,11 @@ msgstr "Ravi de vous revoir !"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-github-submit"
|
||||
msgstr "Se connecter via Github"
|
||||
msgstr "Se connecter via GitHub"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-gitlab-submit"
|
||||
msgstr "Se connecter via Gitlab"
|
||||
msgstr "Se connecter via GitLab"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-google-submit"
|
||||
@@ -212,7 +213,8 @@ msgstr "Seulement cette page"
|
||||
msgid "common.share-link.view-selected-pages"
|
||||
msgstr "Pages sélectionnées"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.add-shared"
|
||||
msgstr "Ajouter une Bibliothèque Partagée"
|
||||
|
||||
@@ -239,7 +241,8 @@ msgstr "Supprimer l’équipe"
|
||||
msgid "dashboard.draft-title"
|
||||
msgstr "Brouillon"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.duplicate"
|
||||
msgstr "Dupliquer"
|
||||
|
||||
@@ -254,9 +257,17 @@ msgstr "Vous n’avez encore aucun fichier ici"
|
||||
msgid "dashboard.export-frames"
|
||||
msgstr "Exporter les plans de travail comme PDF..."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-frames.title"
|
||||
msgstr "Exporter en PDF"
|
||||
|
||||
msgid "dashboard.export-multi"
|
||||
msgstr "Exporter %s fichiers"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "dashboard.export-shapes"
|
||||
msgstr "Exporter"
|
||||
|
||||
msgid "dashboard.export-single"
|
||||
msgstr "Exporter le fichier"
|
||||
|
||||
@@ -276,7 +287,6 @@ msgstr "Police supprimée"
|
||||
msgid "dashboard.fonts.empty-placeholder"
|
||||
msgstr "Vous n'avez installé aucune police personnalisée."
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text1"
|
||||
msgstr ""
|
||||
"Toute police Web que vous téléchargez sera ajoutée à la liste de polices de "
|
||||
@@ -285,7 +295,6 @@ msgstr ""
|
||||
"**une seule famille de polices**. Vous pouvez télécharger les polices au "
|
||||
"formats suivants : **TTF, OTF et WOFF** (un seul format est nécessaire)."
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text2"
|
||||
msgstr ""
|
||||
"Ne téléchargez que des polices que vous possédez ou dont la license vous "
|
||||
@@ -301,7 +310,8 @@ msgstr "Importer fichiers"
|
||||
msgid "dashboard.invite-profile"
|
||||
msgstr "Inviter dans l’équipe"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.leave-team"
|
||||
msgstr "Quitter l’équipe"
|
||||
|
||||
@@ -316,7 +326,8 @@ msgstr "chargement de vos fichiers…"
|
||||
msgid "dashboard.loading-fonts"
|
||||
msgstr "chargement de vos polices…"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.move-to"
|
||||
msgstr "Déplacer vers"
|
||||
|
||||
@@ -328,7 +339,8 @@ msgstr "Déplacer %s fichiers vers"
|
||||
msgid "dashboard.move-to-other-team"
|
||||
msgstr "Déplacer vers une autre équipe"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/files.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs
|
||||
msgid "dashboard.new-file"
|
||||
msgstr "+ Nouveau fichier"
|
||||
|
||||
@@ -395,7 +407,8 @@ msgstr "Promouvoir propriétaire"
|
||||
msgid "dashboard.remove-account"
|
||||
msgstr "Vous souhaitez supprimer votre compte ?"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.remove-shared"
|
||||
msgstr "Retirer en tant que Bibliothèque Partagée"
|
||||
|
||||
@@ -435,7 +448,8 @@ msgstr "Votre fichier a été dupliqué avec succès"
|
||||
msgid "dashboard.success-duplicate-project"
|
||||
msgstr "Votre projet a été dupliqué avec succès"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.success-move-file"
|
||||
msgstr "Votre fichier a été déplacé avec succès"
|
||||
|
||||
@@ -475,7 +489,9 @@ msgstr "Résultats de recherche"
|
||||
msgid "dashboard.type-something"
|
||||
msgstr "Écrivez pour rechercher"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs, src/app/main/ui/settings/password.cljs, src/app/main/ui/settings/options.cljs
|
||||
#: src/app/main/ui/settings/profile.cljs,
|
||||
#: src/app/main/ui/settings/password.cljs,
|
||||
#: src/app/main/ui/settings/options.cljs
|
||||
msgid "dashboard.update-settings"
|
||||
msgstr "Mettre à jour les paramètres"
|
||||
|
||||
@@ -491,7 +507,11 @@ msgstr "E‑mail"
|
||||
msgid "dashboard.your-name"
|
||||
msgstr "Votre nom complet"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/libraries.cljs, src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.your-penpot"
|
||||
msgstr "Votre Penpot"
|
||||
|
||||
@@ -515,7 +535,8 @@ msgstr "Mise à jour : %s"
|
||||
msgid "errors.clipboard-not-implemented"
|
||||
msgstr "Votre navigateur ne peut pas effectuer cette opération"
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/change_email.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs
|
||||
msgid "errors.email-already-exists"
|
||||
msgstr "Adresse e‑mail déjà utilisée"
|
||||
|
||||
@@ -523,7 +544,10 @@ msgstr "Adresse e‑mail déjà utilisée"
|
||||
msgid "errors.email-already-validated"
|
||||
msgstr "Adresse e‑mail déjà validée."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.email-has-permanent-bounces"
|
||||
msgstr "L'adresse e-mail « %s » a un taux de rebond trop élevé."
|
||||
|
||||
@@ -531,7 +555,8 @@ msgstr "L'adresse e-mail « %s » a un taux de rebond trop élevé."
|
||||
msgid "errors.email-invalid-confirmation"
|
||||
msgstr "L’adresse e‑mail de confirmation doit correspondre"
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs,
|
||||
#: src/app/main/ui/settings/feedback.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.generic"
|
||||
msgstr "Un problème s’est produit."
|
||||
|
||||
@@ -560,7 +585,7 @@ msgstr ""
|
||||
"Il semble que le contenu de l’image ne correspond pas à l’extension de "
|
||||
"fichier."
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "errors.media-type-not-allowed"
|
||||
msgstr "L’image ne semble pas être valide."
|
||||
|
||||
@@ -581,7 +606,9 @@ msgstr "Le mot de passe de confirmation doit correspondre"
|
||||
msgid "errors.password-too-short"
|
||||
msgstr "Le mot de passe doit contenir au moins 8 caractères"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.profile-is-muted"
|
||||
msgstr ""
|
||||
"L'adresse e-mail de votre profil est ignorée (signalée comme spam ou taux "
|
||||
@@ -596,7 +623,13 @@ msgstr ""
|
||||
"Vous devez accepter nos conditions générales d'utilisation et notre "
|
||||
"politique de confidentialité."
|
||||
|
||||
#: src/app/main/data/media.cljs, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "errors.token-expired"
|
||||
msgstr "Jeton expiré"
|
||||
|
||||
#: src/app/main/data/media.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "errors.unexpected-error"
|
||||
msgstr "Une erreur inattendue s’est produite"
|
||||
|
||||
@@ -624,24 +657,6 @@ msgstr "Envie de parler? Discutez avec nous sur Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "Description"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Aller aux discussions"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Rejoignez le forum de communication collaborative de l'équipe Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Vous pouvez poser des questions et y répondre, avoir des conversations "
|
||||
"ouvertes et suivre les décisions affectant le projet."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Discussions en équipe"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Sujet"
|
||||
@@ -709,7 +724,8 @@ msgstr "Hauteur"
|
||||
msgid "handoff.attributes.layout.left"
|
||||
msgstr "Gauche"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs, src/app/main/ui/handoff/attributes/layout.cljs
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs
|
||||
msgid "handoff.attributes.layout.radius"
|
||||
msgstr "Rayon"
|
||||
|
||||
@@ -749,15 +765,12 @@ msgstr "S"
|
||||
msgid "handoff.attributes.stroke"
|
||||
msgstr "Contour"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.center"
|
||||
msgstr "Centre"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.inner"
|
||||
msgstr "Intérieur"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.outer"
|
||||
msgstr "Extérieur"
|
||||
|
||||
@@ -878,7 +891,7 @@ msgstr "Accepter"
|
||||
msgid "labels.add-custom-font"
|
||||
msgstr "Ajouter police personnalisée"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.admin"
|
||||
msgstr "Administration"
|
||||
|
||||
@@ -918,7 +931,8 @@ msgstr "Contenu"
|
||||
msgid "labels.create"
|
||||
msgstr "Créer"
|
||||
|
||||
#: src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/dashboard/team_form.cljs
|
||||
#: src/app/main/ui/dashboard/team_form.cljs,
|
||||
#: src/app/main/ui/dashboard/team_form.cljs
|
||||
msgid "labels.create-team"
|
||||
msgstr "Créer nouvelle équipe"
|
||||
|
||||
@@ -933,7 +947,8 @@ msgstr "Polices personnalisées"
|
||||
msgid "labels.dashboard"
|
||||
msgstr "Tableau de bord"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
@@ -949,7 +964,10 @@ msgstr "Supprimer le fil"
|
||||
msgid "labels.delete-multi-files"
|
||||
msgstr "Supprimer %s fichiers"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.drafts"
|
||||
msgstr "Brouillons"
|
||||
|
||||
@@ -957,7 +975,7 @@ msgstr "Brouillons"
|
||||
msgid "labels.edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.editor"
|
||||
msgstr "Éditeur"
|
||||
|
||||
@@ -985,7 +1003,9 @@ msgstr "Styles"
|
||||
msgid "labels.fonts"
|
||||
msgstr "Polices"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.give-feedback"
|
||||
msgstr "Donnez votre avis"
|
||||
|
||||
@@ -1026,7 +1046,7 @@ msgstr "Se déconnecter"
|
||||
msgid "labels.manage-fonts"
|
||||
msgstr "Gérer les polices"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.members"
|
||||
msgstr "Membres"
|
||||
|
||||
@@ -1038,7 +1058,8 @@ msgstr "Nom"
|
||||
msgid "labels.new-password"
|
||||
msgstr "Nouveau mot de passe"
|
||||
|
||||
#: src/app/main/ui/workspace/comments.cljs, src/app/main/ui/dashboard/comments.cljs
|
||||
#: src/app/main/ui/workspace/comments.cljs,
|
||||
#: src/app/main/ui/dashboard/comments.cljs
|
||||
msgid "labels.no-comments-available"
|
||||
msgstr "Vous n’avez aucune notification de commentaire en attente"
|
||||
|
||||
@@ -1088,7 +1109,8 @@ msgstr "ou"
|
||||
msgid "labels.owner"
|
||||
msgstr "Propriétaire"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.password"
|
||||
msgstr "Mot de passe"
|
||||
|
||||
@@ -1096,7 +1118,8 @@ msgstr "Mot de passe"
|
||||
msgid "labels.permissions"
|
||||
msgstr "Permissions"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.profile"
|
||||
msgstr "Profil"
|
||||
|
||||
@@ -1111,11 +1134,14 @@ msgstr "Récent"
|
||||
msgid "labels.release-notes"
|
||||
msgstr "Notes de version"
|
||||
|
||||
#: src/app/main/ui/workspace/libraries.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.remove"
|
||||
msgstr "Retirer"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.rename"
|
||||
msgstr "Renommer"
|
||||
|
||||
@@ -1123,7 +1149,7 @@ msgstr "Renommer"
|
||||
msgid "labels.rename-team"
|
||||
msgstr "Renommer l'équipe"
|
||||
|
||||
#: src/app/main/ui/static.cljs, src/app/main/ui/static.cljs, src/app/main/ui/static.cljs
|
||||
#: src/app/main/ui/static.cljs, src/app/main/ui/static.cljs
|
||||
msgid "labels.retry"
|
||||
msgstr "Réessayer"
|
||||
|
||||
@@ -1153,11 +1179,12 @@ msgstr "Nous sommes en maintenance planifiée de nos systèmes."
|
||||
msgid "labels.service-unavailable.main-message"
|
||||
msgstr "Service non disponible"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.settings"
|
||||
msgstr "Configuration"
|
||||
|
||||
#: src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs
|
||||
#: src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs
|
||||
msgid "labels.share-prototype"
|
||||
msgstr "Partager le prototype"
|
||||
|
||||
@@ -1202,22 +1229,25 @@ msgstr "Spectateur"
|
||||
msgid "labels.write-new-comment"
|
||||
msgstr "Écrire un nouveau commentaire"
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "media.loading"
|
||||
msgstr "Chargement de l’image…"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.accept"
|
||||
msgstr "Ajouter comme Bibliothèque Partagée"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"Une fois ajoutées en tant que Bibliothèque Partagée, les ressources de "
|
||||
"cette bibliothèque de fichiers seront disponibles pour être utilisées parmi "
|
||||
"le reste de vos fichiers."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.message"
|
||||
msgstr "Ajouter « %s » comme Bibliothèque Partagée"
|
||||
|
||||
@@ -1418,35 +1448,42 @@ msgstr "Êtes‑vous sûr de vouloir promouvoir cette personne propriétaire ?
|
||||
msgid "modals.promote-owner-confirm.title"
|
||||
msgstr "Promouvoir propriétaire"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.accept"
|
||||
msgstr "Supprimer en tant que Bibliothèque Partagée"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"Une fois supprimée en tant que Bibliothèque Partagée, la Bibliothèque de ce "
|
||||
"fichier ne pourra plus être utilisée par le reste de vos fichiers."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.message"
|
||||
msgstr "Retirer « %s » en tant que Bibliothèque Partagée"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.accept"
|
||||
msgstr "Actualiser le composant"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.cancel"
|
||||
msgstr "Annuler"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.hint"
|
||||
msgstr ""
|
||||
"Vous êtes sur le point de mettre à jour le composant d’une Bibliothèque "
|
||||
"Partagée. Cela peut affecter d’autres fichiers qui l’utilisent."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.message"
|
||||
msgstr "Actualiser le composant d’une bibliothèque"
|
||||
|
||||
@@ -1472,7 +1509,12 @@ msgstr "E‑mail de vérification envoyé à %s. Vérifiez votre e‑mail !"
|
||||
msgid "profile.recovery.go-to-login"
|
||||
msgstr "Aller à la page de connexion"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
msgid "settings.multiple"
|
||||
msgstr "Divers"
|
||||
|
||||
@@ -1639,11 +1681,13 @@ msgstr "Toutes"
|
||||
msgid "workspace.assets.box-filter-graphics"
|
||||
msgstr "Graphiques"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.colors"
|
||||
msgstr "Couleurs"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.components"
|
||||
msgstr "Composants"
|
||||
|
||||
@@ -1657,15 +1701,19 @@ msgstr ""
|
||||
"Vos éléments seront automatiquement nommées comme tels : « nom du groupe / "
|
||||
"nom de l'élément »"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.duplicate"
|
||||
msgstr "Dupliquer"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.edit"
|
||||
msgstr "Modifier"
|
||||
|
||||
@@ -1673,7 +1721,8 @@ msgstr "Modifier"
|
||||
msgid "workspace.assets.file-library"
|
||||
msgstr "Bibliothèque du fichier"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.graphics"
|
||||
msgstr "Graphiques"
|
||||
|
||||
@@ -1693,7 +1742,9 @@ msgstr "Bibliothèques"
|
||||
msgid "workspace.assets.not-found"
|
||||
msgstr "Aucune ressource trouvée"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.rename"
|
||||
msgstr "Renommer"
|
||||
|
||||
@@ -1715,7 +1766,8 @@ msgstr[1] "%s éléments sélectionnés"
|
||||
msgid "workspace.assets.shared"
|
||||
msgstr "PARTAGÉ"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.typography"
|
||||
msgstr "Typographies"
|
||||
|
||||
@@ -1743,7 +1795,9 @@ msgstr "Interlettrage"
|
||||
msgid "workspace.assets.typography.line-height"
|
||||
msgstr "Interlignage"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/handoff/attributes/text.cljs, src/app/main/ui/handoff/attributes/text.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs
|
||||
msgid "workspace.assets.typography.sample"
|
||||
msgstr "Ag"
|
||||
|
||||
@@ -1755,11 +1809,13 @@ msgstr "Transformer le texte"
|
||||
msgid "workspace.assets.ungroup"
|
||||
msgstr "Dissocier"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
#: src/app/main/data/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.linear"
|
||||
msgstr "Dégradé linéaire"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
#: src/app/main/data/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.radial"
|
||||
msgstr "Dégradé radial"
|
||||
|
||||
@@ -1863,11 +1919,13 @@ msgstr "%s couleurs"
|
||||
msgid "workspace.libraries.colors.big-thumbnails"
|
||||
msgstr "Grandes vignettes"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.file-library"
|
||||
msgstr "Bibliothèque du fichier"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.recent-colors"
|
||||
msgstr "Couleurs récentes"
|
||||
|
||||
@@ -2025,11 +2083,13 @@ msgstr "Haut & bas"
|
||||
msgid "workspace.options.design"
|
||||
msgstr "Conception"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export"
|
||||
msgstr "Export"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export-object"
|
||||
msgstr "Exporter la forme"
|
||||
|
||||
@@ -2037,7 +2097,8 @@ msgstr "Exporter la forme"
|
||||
msgid "workspace.options.export.suffix"
|
||||
msgstr "Suffixe"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "Exportation…"
|
||||
|
||||
@@ -2213,7 +2274,8 @@ msgstr "Grouper les calques"
|
||||
msgid "workspace.options.layer-options.title.multiple"
|
||||
msgstr "Calques sélectionnés"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.position"
|
||||
msgstr "Position"
|
||||
|
||||
@@ -2290,7 +2352,8 @@ msgstr "Ombre de groupe"
|
||||
msgid "workspace.options.shadow-options.title.multiple"
|
||||
msgstr "Ombres de la sélection"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.size"
|
||||
msgstr "Taille"
|
||||
|
||||
@@ -2397,7 +2460,8 @@ msgstr "Interlignage"
|
||||
msgid "workspace.options.text-options.lowercase"
|
||||
msgstr "Minuscule"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.none"
|
||||
msgstr "Aucune"
|
||||
|
||||
@@ -2499,7 +2563,9 @@ msgstr "Couper"
|
||||
msgid "workspace.shape.menu.delete"
|
||||
msgstr "Supprimer"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.detach-instance"
|
||||
msgstr "Détacher l’instance"
|
||||
|
||||
@@ -2527,7 +2593,8 @@ msgstr "Avancer"
|
||||
msgid "workspace.shape.menu.front"
|
||||
msgstr "Amener au premier plan"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.go-main"
|
||||
msgstr "Aller au fichier du composant principal"
|
||||
|
||||
@@ -2543,15 +2610,19 @@ msgstr "Masquer"
|
||||
msgid "workspace.shape.menu.lock"
|
||||
msgstr "Bloquer"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.mask"
|
||||
msgstr "Masque"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.paste"
|
||||
msgstr "Coller"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.reset-overrides"
|
||||
msgstr "Annuler les modifications"
|
||||
|
||||
@@ -2559,7 +2630,8 @@ msgstr "Annuler les modifications"
|
||||
msgid "workspace.shape.menu.show"
|
||||
msgstr "Montrer"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.show-main"
|
||||
msgstr "Afficher le composant principal"
|
||||
|
||||
@@ -2575,7 +2647,9 @@ msgstr "Débloquer"
|
||||
msgid "workspace.shape.menu.unmask"
|
||||
msgstr "Supprimer le masque"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.update-main"
|
||||
msgstr "Actualiser le composant principal"
|
||||
|
||||
@@ -2587,7 +2661,8 @@ msgstr "Historique (%s)"
|
||||
msgid "workspace.sidebar.layers"
|
||||
msgstr "Calques"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs, src/app/main/ui/handoff/attributes/svg.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/svg.cljs
|
||||
msgid "workspace.sidebar.options.svg-attrs.title"
|
||||
msgstr "Attributs SVG importés"
|
||||
|
||||
|
||||
@@ -36,7 +36,8 @@ msgstr "מעניין אותך רק להתנסות?"
|
||||
msgid "auth.demo-warning"
|
||||
msgstr "זה שירות ניסיוני, לא להשתמש בו לעבודה אמתית, המיזמים יימחקו מדי פעם בפעם."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.email"
|
||||
msgstr "דוא״ל"
|
||||
|
||||
@@ -205,7 +206,8 @@ msgstr "רק העמוד הזה"
|
||||
msgid "common.share-link.view-selected-pages"
|
||||
msgstr "עמודים נבחרים"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.add-shared"
|
||||
msgstr "הוספת ספריה משותפת"
|
||||
|
||||
@@ -232,7 +234,8 @@ msgstr "מחיקת צוות"
|
||||
msgid "dashboard.draft-title"
|
||||
msgstr "טיוטה"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.duplicate"
|
||||
msgstr "שכפול"
|
||||
|
||||
@@ -245,7 +248,6 @@ msgid "dashboard.empty-files"
|
||||
msgstr "עדיין אין לך כאן קבצים"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs
|
||||
#, markdown
|
||||
msgid "dashboard.empty-placeholder-drafts"
|
||||
msgstr ""
|
||||
"עדיין אין כאן קבצים. כדי לנסות כמה תבניות ניתן לגשת אל [אזור הספריות "
|
||||
@@ -257,6 +259,30 @@ msgstr "ייצוא לוחות אומנות ל־PDF…"
|
||||
msgid "dashboard.export-multi"
|
||||
msgstr "ייצוא קובצי %s של Penpot"
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-multiple.selected"
|
||||
msgstr "נבחרו %s מתוך %s רכיבים"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "dashboard.export-shapes"
|
||||
msgstr "ייצוא"
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.how-to"
|
||||
msgstr "אפשר להוסיף הגדרות ייצוא לרכיבים ממאפייני העיצוב (מתחתית הסרגל שמשמאל)."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.how-to-link"
|
||||
msgstr "מידע על הגדרות ייצוא ב־Penpot."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.no-elements"
|
||||
msgstr "אין רכיבים עם הגדרות ייצוא."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.title"
|
||||
msgstr "ייצוא הבחירה"
|
||||
|
||||
msgid "dashboard.export-single"
|
||||
msgstr "ייצוא קובץ Penpot"
|
||||
|
||||
@@ -307,7 +333,6 @@ msgstr[1] "נוספו 2 גופנים"
|
||||
msgstr[2] "נוספו %s גופנים"
|
||||
msgstr[3] "נוספו %s גופנים"
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text1"
|
||||
msgstr ""
|
||||
"כל גופן דפדפן שיועלה כאן יתווסף לרשימת משפחת הגופנים שזמין במאפייני הטקסט "
|
||||
@@ -315,7 +340,6 @@ msgstr ""
|
||||
"גופנים יחידה**. ניתן להעלות גופנים מהסוגים הבאים: **TTF, OTF ו־WOFF** (אחד "
|
||||
"הסוגים יספיק)."
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text2"
|
||||
msgstr ""
|
||||
"עליך להעלות גופנים בבעלותך או שיש לך רישיון להשתמש בהם ב־Penpot. ניתן למצוא "
|
||||
@@ -367,7 +391,8 @@ msgstr "נשלח קובץ: %s"
|
||||
msgid "dashboard.invite-profile"
|
||||
msgstr "הזמנה לצוות"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.leave-team"
|
||||
msgstr "עזיבת הצוות"
|
||||
|
||||
@@ -382,7 +407,8 @@ msgstr "הקבצים שלך נטענים…"
|
||||
msgid "dashboard.loading-fonts"
|
||||
msgstr "הגופנים שלך נטענים…"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.move-to"
|
||||
msgstr "העברה אל"
|
||||
|
||||
@@ -394,7 +420,8 @@ msgstr "העברה של %s קבצים אל"
|
||||
msgid "dashboard.move-to-other-team"
|
||||
msgstr "העברה לצוות אחר"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/files.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs
|
||||
msgid "dashboard.new-file"
|
||||
msgstr "+ קובץ חדש"
|
||||
|
||||
@@ -410,6 +437,14 @@ msgstr "+ מיזם חדש"
|
||||
msgid "dashboard.new-project-prefix"
|
||||
msgstr "מיזם חדש"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-msg"
|
||||
msgstr "לשלוח לי חדשות, עדכונים על המוצר והמלצות על Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-title"
|
||||
msgstr "מינוי לרשימת הדיוור"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs
|
||||
msgid "dashboard.no-matches-for"
|
||||
msgstr "לא נמצאו תוצאות לחיפוש אחר „%s”"
|
||||
@@ -461,10 +496,15 @@ msgstr "קידום לבעלות"
|
||||
msgid "dashboard.remove-account"
|
||||
msgstr "להסיר את החשבון שלך?"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.remove-shared"
|
||||
msgstr "הסרה כספריה משותפת"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.save-settings"
|
||||
msgstr "שמירת ההגדרות"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.search-placeholder"
|
||||
msgstr "חיפוש…"
|
||||
@@ -501,7 +541,8 @@ msgstr "הקובץ שלך שוכפל בהצלחה"
|
||||
msgid "dashboard.success-duplicate-project"
|
||||
msgstr "המיזם שלך שוכפל בהצלחה"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.success-move-file"
|
||||
msgstr "הקובץ שלך הועבר בהצלחה"
|
||||
|
||||
@@ -541,7 +582,9 @@ msgstr "תוצאות חיפוש"
|
||||
msgid "dashboard.type-something"
|
||||
msgstr "נא להקליד כדי לחפש"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs, src/app/main/ui/settings/password.cljs, src/app/main/ui/settings/options.cljs
|
||||
#: src/app/main/ui/settings/profile.cljs,
|
||||
#: src/app/main/ui/settings/password.cljs,
|
||||
#: src/app/main/ui/settings/options.cljs
|
||||
msgid "dashboard.update-settings"
|
||||
msgstr "עדכון הגדרות"
|
||||
|
||||
@@ -557,7 +600,11 @@ msgstr "דוא״ל"
|
||||
msgid "dashboard.your-name"
|
||||
msgstr "שמך"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/libraries.cljs, src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.your-penpot"
|
||||
msgstr "ה־Penpot שלך"
|
||||
|
||||
@@ -588,7 +635,8 @@ msgstr "נראה שלא עברת אימות או שתוקף ההפעלה פג."
|
||||
msgid "errors.clipboard-not-implemented"
|
||||
msgstr "הדפדפן שלך לא יכול לבצע את הפעולה הזאת"
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/change_email.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs
|
||||
msgid "errors.email-already-exists"
|
||||
msgstr "כתובת הדוא״ל כבר בשימוש"
|
||||
|
||||
@@ -599,7 +647,10 @@ msgstr "כתובת הדוא״ל כבר אומתה."
|
||||
msgid "errors.email-as-password"
|
||||
msgstr "אין לך אפשרות להשתמש בכתובת הדוא״ל שלך כסיסמה"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.email-has-permanent-bounces"
|
||||
msgstr "לכתובת הדוא״ל „%s” יש יותר מדי דוחות החזרה קבועים."
|
||||
|
||||
@@ -607,6 +658,9 @@ msgstr "לכתובת הדוא״ל „%s” יש יותר מדי דוחות הח
|
||||
msgid "errors.email-invalid-confirmation"
|
||||
msgstr "כתובת הדוא״ל לאימות חייבת להיות תואמת"
|
||||
|
||||
msgid "errors.email-spam-or-permanent-bounces"
|
||||
msgstr "כתובת הדוא״ל „%s” דווחה כספאם או שההודעות תוקפצנה לצמיתות."
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.generic"
|
||||
msgstr "קרה משהו לא טוב."
|
||||
@@ -634,7 +688,7 @@ msgstr "התמונה גדולה מכדי להוסיף אותה (חייבת לה
|
||||
msgid "errors.media-type-mismatch"
|
||||
msgstr "נראה כי תוכן התמונה לא תואם לסיומת הקובץ."
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "errors.media-type-not-allowed"
|
||||
msgstr "נראה כי זאת תמונה שגויה."
|
||||
|
||||
@@ -653,7 +707,9 @@ msgstr "סיסמת האימות חייבת להיות תואמת"
|
||||
msgid "errors.password-too-short"
|
||||
msgstr "הסיסמה חייבת להיות באורך 8 תווים לפחות"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.profile-is-muted"
|
||||
msgstr "הודעות הדוא״ל לפרופיל שלך מושתקות (דיווחי דואר זבל או הרבה החזרות)."
|
||||
|
||||
@@ -673,7 +729,13 @@ msgstr "הבעלים לא יכולים לעזוב את הקבוצה, עליך ל
|
||||
msgid "errors.terms-privacy-agreement-invalid"
|
||||
msgstr "עליך לקבל את תנאי השירות ואת מדיניות הפרטיות."
|
||||
|
||||
#: src/app/main/data/media.cljs, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "errors.token-expired"
|
||||
msgstr "תוקף האסימון פג"
|
||||
|
||||
#: src/app/main/data/media.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "errors.unexpected-error"
|
||||
msgstr "אירעה שגיאה בלתי צפויה."
|
||||
|
||||
@@ -701,24 +763,6 @@ msgstr "מעניין אותך לדבר? מזמינים אותו ל־Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "תיאור"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "מעבר לדיונים"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "מזמינים אותך להצטרף לפורום התקשורת של Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"ניתן לשאול ולענות על שאלות, לנהל דיונים פתוחים ולעקוב אחר החלטות שמשפיעות "
|
||||
"על המיזם."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "דיונים צוותיים"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "נושא"
|
||||
@@ -785,7 +829,8 @@ msgstr "גובה"
|
||||
msgid "handoff.attributes.layout.left"
|
||||
msgstr "שמאל"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs, src/app/main/ui/handoff/attributes/layout.cljs
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs
|
||||
msgid "handoff.attributes.layout.radius"
|
||||
msgstr "רדיוס"
|
||||
|
||||
@@ -825,15 +870,12 @@ msgstr "פ"
|
||||
msgid "handoff.attributes.stroke"
|
||||
msgstr "מתאר"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.center"
|
||||
msgstr "מרכז"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.inner"
|
||||
msgstr "בפנים"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.outer"
|
||||
msgstr "בחוץ"
|
||||
|
||||
@@ -964,7 +1006,7 @@ msgstr "מקובל"
|
||||
msgid "labels.add-custom-font"
|
||||
msgstr "הוספת גופן משלך"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.admin"
|
||||
msgstr "ניהול"
|
||||
|
||||
@@ -972,6 +1014,9 @@ msgstr "ניהול"
|
||||
msgid "labels.all"
|
||||
msgstr "הכול"
|
||||
|
||||
msgid "labels.and"
|
||||
msgstr "וגם"
|
||||
|
||||
#: src/app/main/ui/static.cljs
|
||||
msgid "labels.bad-gateway.desc-message"
|
||||
msgstr ""
|
||||
@@ -1010,7 +1055,8 @@ msgstr "להמשיך"
|
||||
msgid "labels.create"
|
||||
msgstr "יצירה"
|
||||
|
||||
#: src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/dashboard/team_form.cljs
|
||||
#: src/app/main/ui/dashboard/team_form.cljs,
|
||||
#: src/app/main/ui/dashboard/team_form.cljs
|
||||
msgid "labels.create-team"
|
||||
msgstr "יצירת צוות חדש"
|
||||
|
||||
@@ -1028,7 +1074,8 @@ msgstr "לוח בקרה"
|
||||
msgid "labels.default"
|
||||
msgstr "ברירת מחדל"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.delete"
|
||||
msgstr "מחיקה"
|
||||
|
||||
@@ -1044,7 +1091,10 @@ msgstr "מחיקת שרשור"
|
||||
msgid "labels.delete-multi-files"
|
||||
msgstr "מחיקת %s קבצים"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.drafts"
|
||||
msgstr "טיוטות"
|
||||
|
||||
@@ -1055,7 +1105,7 @@ msgstr "עריכה"
|
||||
msgid "labels.edit-file"
|
||||
msgstr "עריכת קובץ"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.editor"
|
||||
msgstr "עורך"
|
||||
|
||||
@@ -1086,7 +1136,9 @@ msgstr "סגנונות"
|
||||
msgid "labels.fonts"
|
||||
msgstr "גופנים"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.give-feedback"
|
||||
msgstr "הגשת משוב"
|
||||
|
||||
@@ -1120,6 +1172,10 @@ msgstr ""
|
||||
msgid "labels.internal-error.main-message"
|
||||
msgstr "שגיאה פנימית"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.invitations"
|
||||
msgstr "הזמנות"
|
||||
|
||||
#: src/app/main/ui/settings/options.cljs
|
||||
msgid "labels.language"
|
||||
msgstr "שפה"
|
||||
@@ -1138,6 +1194,10 @@ msgstr "יציאה"
|
||||
msgid "labels.manage-fonts"
|
||||
msgstr "ניהול גופנים"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.member"
|
||||
msgstr "חבר"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.members"
|
||||
msgstr "חברים"
|
||||
@@ -1153,7 +1213,8 @@ msgstr "סיסמה חדשה"
|
||||
msgid "labels.next"
|
||||
msgstr "הבא"
|
||||
|
||||
#: src/app/main/ui/workspace/comments.cljs, src/app/main/ui/dashboard/comments.cljs
|
||||
#: src/app/main/ui/workspace/comments.cljs,
|
||||
#: src/app/main/ui/dashboard/comments.cljs
|
||||
msgid "labels.no-comments-available"
|
||||
msgstr "אין לך התראות ממתינות על הערות"
|
||||
|
||||
@@ -1207,7 +1268,8 @@ msgstr "או"
|
||||
msgid "labels.owner"
|
||||
msgstr "בעלים"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.password"
|
||||
msgstr "סיסמה"
|
||||
|
||||
@@ -1215,7 +1277,8 @@ msgstr "סיסמה"
|
||||
msgid "labels.permissions"
|
||||
msgstr "הרשאות"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.profile"
|
||||
msgstr "פרופיל"
|
||||
|
||||
@@ -1230,10 +1293,15 @@ msgstr "אחרונים"
|
||||
msgid "labels.release-notes"
|
||||
msgstr "הודעות מהדורה"
|
||||
|
||||
#: src/app/main/ui/workspace/libraries.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.remove"
|
||||
msgstr "הסרה"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.remove-member"
|
||||
msgstr "הסרת חבר"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.rename"
|
||||
msgstr "שינוי שם"
|
||||
@@ -1242,6 +1310,10 @@ msgstr "שינוי שם"
|
||||
msgid "labels.rename-team"
|
||||
msgstr "שינוי שם לצוות"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.resend-invitation"
|
||||
msgstr "שליחת ההזמנה מחדש"
|
||||
|
||||
#: src/app/main/ui/static.cljs, src/app/main/ui/static.cljs, src/app/main/ui/static.cljs
|
||||
msgid "labels.retry"
|
||||
msgstr "ניסיון חוזר"
|
||||
@@ -1272,7 +1344,8 @@ msgstr "אנחנו בהפוגת תחזוקה מתוכננת של המערכות
|
||||
msgid "labels.service-unavailable.main-message"
|
||||
msgstr "השירות אינו זמין"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.settings"
|
||||
msgstr "הגדרות"
|
||||
|
||||
@@ -1329,25 +1402,32 @@ msgstr "סביבת עבודה"
|
||||
msgid "labels.write-new-comment"
|
||||
msgstr "כתיבת הערה חדשה"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.you"
|
||||
msgstr "(אני)"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.your-account"
|
||||
msgstr "החשבון שלך"
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "media.loading"
|
||||
msgstr "התמונה נטענת…"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.accept"
|
||||
msgstr "הוספה כספריה משותפת"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"לאחר שנוספה כספריה משותפת, המשאבים בספריית הקבצים הזאת יהיו זמינים בנוסף "
|
||||
"לשאר הקבצים שלך."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.message"
|
||||
msgstr "הוספת „%s” כספריה משותפת"
|
||||
|
||||
@@ -1375,6 +1455,12 @@ msgstr "החלפת כתובת דוא״ל"
|
||||
msgid "modals.change-email.title"
|
||||
msgstr "החלפת כתובת הדוא״ל שלך"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.change-owner-and-leave-confirm.message"
|
||||
msgstr ""
|
||||
"הבעלות של הצוות הזה בידיך. נא לבחור מישהו מהרשימה כדי לקדם אותו לבעלי "
|
||||
"הקבוצה בטרם עזיבתך."
|
||||
|
||||
#: src/app/main/ui/settings/delete_account.cljs
|
||||
msgid "modals.delete-account.cancel"
|
||||
msgstr "ביטול ושמירה על החשבון שלי"
|
||||
@@ -1491,6 +1577,14 @@ msgstr "שליחת הזמנה"
|
||||
msgid "modals.invite-member.title"
|
||||
msgstr "הזמנה להצטרף לצוות"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.leave-and-close-confirm.hint"
|
||||
msgstr "כיוון שאין עוד חברים בצוות הזה מלבדך, הצוות יימחק על כל המיזמים והקבצים שלו."
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.leave-and-close-confirm.message"
|
||||
msgstr "ברצונך לעזוב את הצוות %s?"
|
||||
|
||||
msgid "modals.leave-and-reassign.forbiden"
|
||||
msgstr ""
|
||||
"אי אפשר לעזוב צוות אם אין חברים שאפשר לקדם לבעלות עליה. אולי עדיף למחוק את "
|
||||
@@ -1498,7 +1592,7 @@ msgstr ""
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.leave-and-reassign.hint1"
|
||||
msgstr "הבעלות על %s בידיך."
|
||||
msgstr "הבעלות על הצוות הזה בידיך. נא לבחור מישהו כדי לקידום לבעלות בטרם עזיבתך."
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "modals.leave-and-reassign.hint2"
|
||||
@@ -1544,17 +1638,20 @@ msgstr "לקדם את המשתמש הזה לבעלים?"
|
||||
msgid "modals.promote-owner-confirm.title"
|
||||
msgstr "קידום לבעלים"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.accept"
|
||||
msgstr "הסרה כספריה משותפת"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"לאחר הסרה כספריה משותפת, ספריית הקבצים של הקובץ הזה לא תהיה זמינה עוד "
|
||||
"לשימוש בקרב שאר הקבצים שלך."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.message"
|
||||
msgstr "הסרת „%s” כספריה משותפת"
|
||||
|
||||
@@ -1562,31 +1659,37 @@ msgstr "הסרת „%s” כספריה משותפת"
|
||||
msgid "modals.small-nudge"
|
||||
msgstr "הינד קטן"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component-in-bulk.hint"
|
||||
msgstr ""
|
||||
"פעולה זו תעדכן רכיבים בספרייה משותפת. עשוי להשפיע על קבצים אחרים שמשתמשים "
|
||||
"בה."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component-in-bulk.message"
|
||||
msgstr "עדכון רכיבים בספרייה משותפת"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.accept"
|
||||
msgstr "עדכון"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.cancel"
|
||||
msgstr "ביטול"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.hint"
|
||||
msgstr ""
|
||||
"פעולה זו תעדכן רכיב בספריה משותפת. זה עשוי להשפיע על הקבצים האחרים שמשתמשים "
|
||||
"בה."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.message"
|
||||
msgstr "עדכון רכיב בספריה משותפת"
|
||||
|
||||
@@ -1648,6 +1751,34 @@ msgstr "מיזם ב־github"
|
||||
msgid "onboarding.contrib.title"
|
||||
msgstr "התנדבות בקוד פתוח?"
|
||||
|
||||
msgid "onboarding.newsletter.accept"
|
||||
msgstr "כן, להירשם"
|
||||
|
||||
msgid "onboarding.newsletter.acceptance-message"
|
||||
msgstr "בקשת המינוי שלך נשלחה, נשלח לך הודעה בדוא״ל כדי לאשר אותה."
|
||||
|
||||
msgid "onboarding.newsletter.decline"
|
||||
msgstr "לא, תודה"
|
||||
|
||||
msgid "onboarding.newsletter.desc"
|
||||
msgstr ""
|
||||
"ניתן להירשם לרשימת הדיוור שלנו כדי לשמור על קשר עם תהליך פיתוח המוצר "
|
||||
"והחדשות העדכניות."
|
||||
|
||||
msgid "onboarding.newsletter.policy"
|
||||
msgstr "מדיניות פרטיות."
|
||||
|
||||
msgid "onboarding.newsletter.privacy1"
|
||||
msgstr "בגלל שאכפת לנו מפרטיות, הנה "
|
||||
|
||||
msgid "onboarding.newsletter.privacy2"
|
||||
msgstr ""
|
||||
"נשלח אליך הודעות שתואמות לבחירה שלך בלבד. אפשר לבטל את המינוי דרך פרופיל "
|
||||
"המשתמש או דרך כפתור ביטול המינוי בכל אחת מההודעות מרשימת הדיוור."
|
||||
|
||||
msgid "onboarding.newsletter.title"
|
||||
msgstr "מעניין אותך לקבל חדשות על Penpot?"
|
||||
|
||||
msgid "onboarding.slide.0.alt"
|
||||
msgstr "יצירת עיצובים"
|
||||
|
||||
@@ -1759,7 +1890,12 @@ msgstr "ברוך בואך ל־Penpot"
|
||||
msgid "profile.recovery.go-to-login"
|
||||
msgstr "מעבר למסך הכניסה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
msgid "settings.multiple"
|
||||
msgstr "מעורב"
|
||||
|
||||
@@ -1935,11 +2071,13 @@ msgstr "כל המשאבים"
|
||||
msgid "workspace.assets.box-filter-graphics"
|
||||
msgstr "גרפיקה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.colors"
|
||||
msgstr "צבעים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.components"
|
||||
msgstr "רכיבים"
|
||||
|
||||
@@ -1951,15 +2089,19 @@ msgstr "יצירת קבוצה"
|
||||
msgid "workspace.assets.create-group-hint"
|
||||
msgstr "הפריטים שלך יקבלו אוטומטית שם בסגנון „שם קבוצה / שם פריט”"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.delete"
|
||||
msgstr "מחיקה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.duplicate"
|
||||
msgstr "שכפול"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.edit"
|
||||
msgstr "עריכה"
|
||||
|
||||
@@ -1967,7 +2109,8 @@ msgstr "עריכה"
|
||||
msgid "workspace.assets.file-library"
|
||||
msgstr "ספריית קבצים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.graphics"
|
||||
msgstr "גרפיקה"
|
||||
|
||||
@@ -1987,7 +2130,9 @@ msgstr "ספריות"
|
||||
msgid "workspace.assets.not-found"
|
||||
msgstr "לא נמצאו משאבים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.rename"
|
||||
msgstr "שינוי שם"
|
||||
|
||||
@@ -2011,7 +2156,8 @@ msgstr[3] "%s פריטים נבחרו"
|
||||
msgid "workspace.assets.shared"
|
||||
msgstr "משותף"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.typography"
|
||||
msgstr "טיפוגרפיות"
|
||||
|
||||
@@ -2039,7 +2185,9 @@ msgstr "ריווח תווים"
|
||||
msgid "workspace.assets.typography.line-height"
|
||||
msgstr "גובה שורה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/handoff/attributes/text.cljs, src/app/main/ui/handoff/attributes/text.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs
|
||||
msgid "workspace.assets.typography.sample"
|
||||
msgstr "שצ"
|
||||
|
||||
@@ -2051,11 +2199,24 @@ msgstr "התמרת טקסט"
|
||||
msgid "workspace.assets.ungroup"
|
||||
msgstr "פירוק קבוצה"
|
||||
|
||||
msgid "workspace.focus.focus-mode"
|
||||
msgstr "מצב מיקוד"
|
||||
|
||||
msgid "workspace.focus.focus-off"
|
||||
msgstr "מיקוד כבוי"
|
||||
|
||||
msgid "workspace.focus.focus-on"
|
||||
msgstr "מיקוד פעיל"
|
||||
|
||||
msgid "workspace.focus.selection"
|
||||
msgstr "בחירה"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.linear"
|
||||
msgstr "מדרג קווי"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
#: src/app/main/data/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.radial"
|
||||
msgstr "מדרג מעגלי"
|
||||
|
||||
@@ -2223,7 +2384,8 @@ msgstr "%s צבעים"
|
||||
msgid "workspace.libraries.colors.big-thumbnails"
|
||||
msgstr "תצוגה מקדימה גדולה"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.file-library"
|
||||
msgstr "ספריית קבצים"
|
||||
|
||||
@@ -2231,7 +2393,8 @@ msgstr "ספריית קבצים"
|
||||
msgid "workspace.libraries.colors.hsv"
|
||||
msgstr "HSV"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.recent-colors"
|
||||
msgstr "צבעים אחרונים"
|
||||
|
||||
@@ -2406,6 +2569,11 @@ msgid "workspace.options.export"
|
||||
msgstr "ייצוא"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export-multiple"
|
||||
msgstr "ייצוא הבחירה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#, fuzzy
|
||||
msgid "workspace.options.export-object"
|
||||
msgstr "ייצוא"
|
||||
|
||||
@@ -2413,10 +2581,23 @@ msgstr "ייצוא"
|
||||
msgid "workspace.options.export.suffix"
|
||||
msgstr "סיומת"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-complete"
|
||||
msgstr "הייצוא הושלם"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "מתבצע ייצוא…"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object-error"
|
||||
msgstr "הייצוא נכשל"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object-slow"
|
||||
msgstr "הייצוא אטי בהגזמה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs
|
||||
msgid "workspace.options.fill"
|
||||
msgstr "מילוי"
|
||||
@@ -2815,6 +2996,14 @@ msgstr "קיבוץ שכבות"
|
||||
msgid "workspace.options.layer-options.title.multiple"
|
||||
msgstr "שכבות נבחרות"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.more-colors"
|
||||
msgstr "צבעים נוספים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.more-lib-colors"
|
||||
msgstr "צבעי ספרייה נוספים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.navigate-to"
|
||||
msgstr "ניווט אל"
|
||||
@@ -2826,7 +3015,8 @@ msgstr "ללא"
|
||||
msgid "workspace.options.opacity"
|
||||
msgstr "אטימות"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.position"
|
||||
msgstr "מיקום"
|
||||
|
||||
@@ -2848,6 +3038,10 @@ msgstr "פינות בודדות"
|
||||
msgid "workspace.options.recent-fonts"
|
||||
msgstr "אחרונים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.retry"
|
||||
msgstr "לנסות שוב"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.rotation"
|
||||
msgstr "סיבוב"
|
||||
@@ -2863,6 +3057,10 @@ msgstr "נא לבחור צורה, לוח אומנות או קבוצה כדי ל
|
||||
msgid "workspace.options.select-artboard"
|
||||
msgstr "בחירת לוח אומנות"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.selection-color"
|
||||
msgstr "צבעים נבחרים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs
|
||||
msgid "workspace.options.selection-fill"
|
||||
msgstr "מילוי בחירה"
|
||||
@@ -2914,7 +3112,8 @@ msgstr "צללים של בחירה"
|
||||
msgid "workspace.options.show-fill-on-export"
|
||||
msgstr "הצגה בייצואים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.size"
|
||||
msgstr "גודל"
|
||||
|
||||
@@ -3059,7 +3258,8 @@ msgstr "גובה שורה"
|
||||
msgid "workspace.options.text-options.lowercase"
|
||||
msgstr "אותיות קטנות"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.none"
|
||||
msgstr "ללא"
|
||||
|
||||
@@ -3176,11 +3376,15 @@ msgstr "מחיקה"
|
||||
msgid "workspace.shape.menu.delete-flow-start"
|
||||
msgstr "מחיקת התחלת זרימה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.detach-instance"
|
||||
msgstr "ניתוק מופע"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.detach-instances-in-bulk"
|
||||
msgstr "הפרדת מופעים"
|
||||
|
||||
@@ -3221,7 +3425,8 @@ msgstr "קידום"
|
||||
msgid "workspace.shape.menu.front"
|
||||
msgstr "קידום לחזית"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.go-main"
|
||||
msgstr "מעבר לקובץ הרכיב הראשי"
|
||||
|
||||
@@ -3243,18 +3448,22 @@ msgstr "הצלבה"
|
||||
msgid "workspace.shape.menu.lock"
|
||||
msgstr "נעילה"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.mask"
|
||||
msgstr "מסכה"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.paste"
|
||||
msgstr "הדבקה"
|
||||
|
||||
msgid "workspace.shape.menu.path"
|
||||
msgstr "נתיב"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.reset-overrides"
|
||||
msgstr "איפוס מעקפים"
|
||||
|
||||
@@ -3266,7 +3475,8 @@ msgstr "בחירת שכבה"
|
||||
msgid "workspace.shape.menu.show"
|
||||
msgstr "הצגה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.show-main"
|
||||
msgstr "הצגת הרכיב הראשי"
|
||||
|
||||
@@ -3288,11 +3498,15 @@ msgstr "שחרור נעילה"
|
||||
msgid "workspace.shape.menu.unmask"
|
||||
msgstr "ביטול מסכה"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.update-components-in-bulk"
|
||||
msgstr "עדכון הרכיבים הראשיים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.update-main"
|
||||
msgstr "עדכון הרכיב הראשי"
|
||||
|
||||
@@ -3304,6 +3518,30 @@ msgstr "היסטוריה (%s)"
|
||||
msgid "workspace.sidebar.layers"
|
||||
msgstr "שכבות"
|
||||
|
||||
msgid "workspace.sidebar.layers.components"
|
||||
msgstr "רכיבים"
|
||||
|
||||
msgid "workspace.sidebar.layers.frames"
|
||||
msgstr "לוחות יצירה"
|
||||
|
||||
msgid "workspace.sidebar.layers.groups"
|
||||
msgstr "קבוצות"
|
||||
|
||||
msgid "workspace.sidebar.layers.images"
|
||||
msgstr "תמונות"
|
||||
|
||||
msgid "workspace.sidebar.layers.masks"
|
||||
msgstr "מסכות"
|
||||
|
||||
msgid "workspace.sidebar.layers.search"
|
||||
msgstr "חיפוש בשכבות"
|
||||
|
||||
msgid "workspace.sidebar.layers.shapes"
|
||||
msgstr "צורות"
|
||||
|
||||
msgid "workspace.sidebar.layers.texts"
|
||||
msgstr "טקסטים"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs, src/app/main/ui/handoff/attributes/svg.cljs
|
||||
msgid "workspace.sidebar.options.svg-attrs.title"
|
||||
msgstr "מאפייני SVG יובאו"
|
||||
|
||||
348
frontend/translations/lt.po
Normal file
348
frontend/translations/lt.po
Normal file
@@ -0,0 +1,348 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2022-05-25 09:24+0000\n"
|
||||
"Last-Translator: Vincas Dundzys <dundzys.vincas@gmail.com>\n"
|
||||
"Language-Team: Lithuanian "
|
||||
"<https://hosted.weblate.org/projects/penpot/frontend/lt/>\n"
|
||||
"Language: lt\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n % 10 == 1 && (n % 100 < 11 || n % 100 > "
|
||||
"19)) ? 0 : ((n % 10 >= 2 && n % 10 <= 9 && (n % 100 < 11 || n % 100 > 19)) "
|
||||
"? 1 : 2);\n"
|
||||
"X-Generator: Weblate 4.13-dev\n"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.already-have-account"
|
||||
msgstr "Jau turite paskyrą?"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.check-your-email"
|
||||
msgstr ""
|
||||
"Pasitikrinkite savo el. paštą, ten rasite pranešimą su nuorodą, kurią "
|
||||
"paspaudę galėsite pradėti naudotis Penpot."
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
msgid "auth.confirm-password"
|
||||
msgstr "Slaptažodžio patvirtinimas"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.create-demo-account"
|
||||
msgstr "Kurti demonstracinę paskyrą"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.create-demo-profile"
|
||||
msgstr "Norite tik išmėginti?"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.demo-warning"
|
||||
msgstr ""
|
||||
"Tai yra DEMONSTRACINĖ versija, NEKURKITE tikrų darbų, nes projektai "
|
||||
"periodiškai - šalinami."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.email"
|
||||
msgstr "El. paštas"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.forgot-password"
|
||||
msgstr "Pamiršote slaptažodį?"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.fullname"
|
||||
msgstr "Vardas ir Pavardė"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.login-here"
|
||||
msgstr "Prisijungimas čia"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-submit"
|
||||
msgstr "Prisijungti"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-title"
|
||||
msgstr "Malonu Jus vėl matyti!"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-github-submit"
|
||||
msgstr "GitHub"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-gitlab-submit"
|
||||
msgstr "GitLab"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-google-submit"
|
||||
msgstr "Google"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-ldap-submit"
|
||||
msgstr "Prisijungti su LDAP"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.login-with-oidc-submit"
|
||||
msgstr "OpenID prisijungimas"
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
msgid "auth.new-password"
|
||||
msgstr "Įveskite naują slaptažodį"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.newsletter-subscription"
|
||||
msgstr "Sutinku prenumeruoti Penpot naujienas."
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
#, fuzzy
|
||||
msgid "auth.notifications.invalid-token-error"
|
||||
msgstr "Atkūrimo prieigos raktas neteisingas."
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
msgid "auth.notifications.password-changed-successfully"
|
||||
msgstr "Slaptažodis sėkmingai pakeistas"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs
|
||||
msgid "auth.notifications.profile-not-verified"
|
||||
msgstr "Paskyra yra nepatvirtinta, prieš tęsdami patikrinkite paskyrą."
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs
|
||||
msgid "auth.notifications.recovery-token-sent"
|
||||
msgstr "Slaptažodžio atkūrimo nuoroda išsiųsta į jūsų pašto dėžutę."
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "auth.notifications.team-invitation-accepted"
|
||||
msgstr "Sėkmingai prisijungė prie komandos"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.password"
|
||||
msgstr "Slaptažodis"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.password-length-hint"
|
||||
msgstr "Ne mažiau kaip 8 simboliai"
|
||||
|
||||
msgid "auth.privacy-policy"
|
||||
msgstr "Privatumo politika"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs
|
||||
msgid "auth.recovery-request-submit"
|
||||
msgstr "Atkurti slaptažodį"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs
|
||||
msgid "auth.recovery-request-subtitle"
|
||||
msgstr "Atsiųsime jums el. laišką su instrukcijomis"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs
|
||||
msgid "auth.recovery-request-title"
|
||||
msgstr "Pamiršote slaptažodį?"
|
||||
|
||||
#: src/app/main/ui/auth/recovery.cljs
|
||||
msgid "auth.recovery-submit"
|
||||
msgstr "Slaptažodžio keitimas"
|
||||
|
||||
#: src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.register"
|
||||
msgstr "Dar neturite paskyros?"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.register-submit"
|
||||
msgstr "Sukurti paskyrą"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.register-subtitle"
|
||||
msgstr "Tai - nemokama, tai - atviras kodas"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.register-title"
|
||||
msgstr "Sukurti paskyrą"
|
||||
|
||||
#: src/app/main/ui/auth.cljs
|
||||
msgid "auth.sidebar-tagline"
|
||||
msgstr "Atviro kodo dizaino ir prototipų kūrimo sprendimas."
|
||||
|
||||
msgid "auth.terms-of-service"
|
||||
msgstr "Paslaugų teikimo sąlygos"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.terms-privacy-agreement"
|
||||
msgstr ""
|
||||
"Kurdami naują paskyrą sutinkate su mūsų paslaugų teikimo sąlygomis ir "
|
||||
"privatumo politika."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.verification-email-sent"
|
||||
msgstr "Išsiuntėme patvirtinimo el. laišką adresu"
|
||||
|
||||
msgid "common.share-link.confirm-deletion-link-description"
|
||||
msgstr ""
|
||||
"Ar tikrai norite pašalinti šią nuorodą? Jei tai padarysite, ji niekam "
|
||||
"nebebus pasiekiama"
|
||||
|
||||
msgid "common.share-link.get-link"
|
||||
msgstr "Gauti nuorodą"
|
||||
|
||||
msgid "common.share-link.link-copied-success"
|
||||
msgstr "Nuoroda sėkmingai nukopijuota"
|
||||
|
||||
msgid "common.share-link.link-deleted-success"
|
||||
msgstr "Nuoroda sėkmingai ištrinta"
|
||||
|
||||
msgid "common.share-link.permissions-can-access"
|
||||
msgstr "Gali pasiekti"
|
||||
|
||||
msgid "common.share-link.permissions-can-view"
|
||||
msgstr "Galima peržiūrėti"
|
||||
|
||||
msgid "common.share-link.permissions-hint"
|
||||
msgstr "Kiekvienas, turintis nuorodą, turės prieigą"
|
||||
|
||||
msgid "common.share-link.placeholder"
|
||||
msgstr "Bendrinama nuoroda bus rodoma čia"
|
||||
|
||||
msgid "common.share-link.remove-link"
|
||||
msgstr "Pašalinti nuorodą"
|
||||
|
||||
msgid "common.share-link.title"
|
||||
msgstr "Dalinkitės prototipais"
|
||||
|
||||
msgid "common.share-link.view-all-pages"
|
||||
msgstr "Visi puslapiai"
|
||||
|
||||
msgid "common.share-link.view-current-page"
|
||||
msgstr "Tik šis puslapis"
|
||||
|
||||
msgid "common.share-link.view-selected-pages"
|
||||
msgstr "Parinkti puslapiai"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.add-shared"
|
||||
msgstr "Pridėti kaip bendrinamą biblioteką"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.change-email"
|
||||
msgstr "Keisti el. paštą"
|
||||
|
||||
#: src/app/main/data/dashboard.cljs, src/app/main/data/dashboard.cljs
|
||||
msgid "dashboard.copy-suffix"
|
||||
msgstr "(kopija)"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.create-new-team"
|
||||
msgstr "+ Sukurti naują komandą"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.default-team-name"
|
||||
msgstr "Jūsų Penpot"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.delete-team"
|
||||
msgstr "Naikinti komandą"
|
||||
|
||||
msgid "dashboard.draft-title"
|
||||
msgstr "Juodraštis"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.duplicate"
|
||||
msgstr "Dublikatas"
|
||||
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.duplicate-multi"
|
||||
msgstr "Dubliuoti %s failus"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs
|
||||
msgid "dashboard.empty-files"
|
||||
msgstr "Čia vis dar nėra failų"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs
|
||||
#, markdown
|
||||
msgid "dashboard.empty-placeholder-drafts"
|
||||
msgstr ""
|
||||
"O ne! Dar neturite failų! Jei norite išbandyti kai kuriuos šablonus, eikite "
|
||||
"į [Bibliotekos ir šablonai] (https://penpot.app/libraries-templates.html)"
|
||||
|
||||
msgid "dashboard.export-frames"
|
||||
msgstr "Eksportuokite darbalaukius į PDF..."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-frames.title"
|
||||
msgstr "Eksportuoti į PDF"
|
||||
|
||||
msgid "dashboard.export-multi"
|
||||
msgstr "Eksportuoti Penpot %s failus"
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-multiple.selected"
|
||||
msgstr "Pasirinkta %s iš %s elementų"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "dashboard.export-shapes"
|
||||
msgstr "Eksportuoti"
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.how-to"
|
||||
msgstr ""
|
||||
"Galite pridėti eksportavimo nustatymus prie elementų iš dizaino ypatybių "
|
||||
"(dešinės šoninės juostos apačioje)."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.how-to-link"
|
||||
msgstr "Informacija, kaip nustatyti eksportą \"Penpot\"."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.no-elements"
|
||||
msgstr "Nėra elementų su eksporto nustatymais."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-shapes.title"
|
||||
msgstr "Eksportuoti pažymėtą sritį"
|
||||
|
||||
msgid "dashboard.export-single"
|
||||
msgstr "Eksportuoti Penpot failą"
|
||||
|
||||
msgid "dashboard.export.detail"
|
||||
msgstr "* Gali apimti komponentus, grafiką, spalvas ir (arba) tipografiją."
|
||||
|
||||
msgid "dashboard.export.explain"
|
||||
msgstr ""
|
||||
"Viename ar keliuose failuose, kuriuos norite eksportuoti, naudojamos "
|
||||
"bendros bibliotekos. Ką norite daryti su jų komponentais*?"
|
||||
|
||||
msgid "dashboard.export.options.all.message"
|
||||
msgstr ""
|
||||
"failai su bendromis bibliotekomis bus įtraukti į eksportą, išlaikant jų "
|
||||
"susiejimą."
|
||||
|
||||
msgid "dashboard.export.options.all.title"
|
||||
msgstr "Eksportuoti bendrai naudojamas bibliotekas"
|
||||
|
||||
msgid "dashboard.export.options.detach.message"
|
||||
msgstr ""
|
||||
"Bendrai naudojamos bibliotekos nebus įtrauktos į eksportą ir į biblioteką "
|
||||
"nebus pridėta jokių išteklių. "
|
||||
|
||||
msgid "dashboard.export.options.detach.title"
|
||||
msgstr ""
|
||||
"Bendrai naudojamus bibliotekos komponentus traktuokite kaip pagrindinius "
|
||||
"objektus"
|
||||
|
||||
msgid "dashboard.export.options.merge.message"
|
||||
msgstr ""
|
||||
"Jūsų failas bus eksportuotas su visais išoriniais komponentais, sujungtais "
|
||||
"į failų biblioteką."
|
||||
|
||||
msgid "dashboard.export.options.merge.title"
|
||||
msgstr "Įtraukti bendrai naudojamus bibliotekos komponentus į failų bibliotekas"
|
||||
|
||||
msgid "dashboard.export.title"
|
||||
msgstr "Eksportuoti failus"
|
||||
|
||||
msgid "dashboard.fonts.deleted-placeholder"
|
||||
msgstr "Šriftas ištrintas"
|
||||
|
||||
#: src/app/main/ui/dashboard/fonts.cljs
|
||||
msgid "dashboard.fonts.dismiss-all"
|
||||
msgstr "Atmesti visus"
|
||||
|
||||
msgid "dashboard.fonts.empty-placeholder"
|
||||
msgstr "Vis dar neįdiegėte tinkintų šriftų."
|
||||
@@ -1,6 +1,6 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2022-03-05 20:57+0000\n"
|
||||
"PO-Revision-Date: 2022-05-16 21:16+0000\n"
|
||||
"Last-Translator: Joseph V M <shibinjose991@gmail.com>\n"
|
||||
"Language-Team: Malayalam "
|
||||
"<https://hosted.weblate.org/projects/penpot/frontend/ml/>\n"
|
||||
@@ -9,7 +9,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.12-dev\n"
|
||||
"X-Generator: Weblate 4.13-dev\n"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs
|
||||
msgid "auth.already-have-account"
|
||||
@@ -266,9 +266,17 @@ msgstr ""
|
||||
msgid "dashboard.export-frames"
|
||||
msgstr "ആർട്ട്ബോർഡുകൾ പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക...."
|
||||
|
||||
#: src/app/main/ui/export.cljs
|
||||
msgid "dashboard.export-frames.title"
|
||||
msgstr "പിഡിഎഫായി എക്സ്പോർട്ട് ചെയ്യുക"
|
||||
|
||||
msgid "dashboard.export-multi"
|
||||
msgstr "പെൻപോട്ട് %s ഫയലുകൾ എക്സ്പോർട്ട് ചെയ്യുക"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs
|
||||
msgid "dashboard.export-shapes"
|
||||
msgstr "എക്സ്പോർട്ട്"
|
||||
|
||||
msgid "dashboard.export-single"
|
||||
msgstr "പെൻപോട്ട് ഫയൽ എക്സ്പോർട്ട് ചെയ്യുക"
|
||||
|
||||
|
||||
@@ -235,14 +235,6 @@ msgstr "Ta del i sludringen"
|
||||
msgid "feedback.description"
|
||||
msgstr "Beskrivelse"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Gå til diskusjoner"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Lagdiskusjoner"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Emne"
|
||||
|
||||
3759
frontend/translations/pl.po
Normal file
3759
frontend/translations/pl.po
Normal file
File diff suppressed because it is too large
Load Diff
@@ -546,24 +546,6 @@ msgstr "Com vontade de falar? Converse conosco no Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "Descrição"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Ir para discussões"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Junte-se ao fórum de comunicação colaborativa da equipe da Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Você pode fazer e responder perguntas, ter conversas abertas e acompanhar "
|
||||
"as decisões que afetam o projeto."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Discussões da equipe"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Assunto"
|
||||
|
||||
@@ -537,24 +537,6 @@ msgstr "Te simți sociabil? Hai să vorbim pe Gitter"
|
||||
msgid "feedback.description"
|
||||
msgstr "Descriere"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Du-te la discuții"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Alătură-te forumului de comunicare al echipei Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Poți pune întrebări, iei parte la discuții deschise și poți contribui la "
|
||||
"dezvoltarea proiectului."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Discuțiile echipei"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Subiect"
|
||||
|
||||
@@ -720,25 +720,6 @@ msgstr "Поговорим? Заходите в чат Gitter!"
|
||||
msgid "feedback.description"
|
||||
msgstr "Подробности"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Зайти в обсуждения"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Посетите форум для совместного обсуждения планов на Penpot."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Там вы можете задавать вопросы, проследить за неоднозначными задачами, и "
|
||||
"поучаствовать в принятии решений по проекту."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
#, fuzzy
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Командный форум"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
#, fuzzy
|
||||
msgid "feedback.subject"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"PO-Revision-Date: 2022-02-18 17:56+0000\n"
|
||||
"Last-Translator: Oğuz Ersen <oguzersen@protonmail.com>\n"
|
||||
"PO-Revision-Date: 2022-04-04 11:11+0000\n"
|
||||
"Last-Translator: Oğuz Ersen <oguz@ersen.moe>\n"
|
||||
"Language-Team: Turkish "
|
||||
"<https://hosted.weblate.org/projects/penpot/frontend/tr/>\n"
|
||||
"Language: tr\n"
|
||||
@@ -39,7 +39,8 @@ msgstr ""
|
||||
"Bu bir DEMO hizmettir, gerçek işleriniz için KULLANMAYIN, projeler belirli "
|
||||
"aralıklarla silinecektir."
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/auth/login.cljs
|
||||
msgid "auth.email"
|
||||
msgstr "E-posta"
|
||||
|
||||
@@ -212,7 +213,8 @@ msgstr "Yalnızca bu sayfa"
|
||||
msgid "common.share-link.view-selected-pages"
|
||||
msgstr "Seçili sayfalar"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.add-shared"
|
||||
msgstr "Paylaşılan Kütüphane olarak ekle"
|
||||
|
||||
@@ -239,7 +241,8 @@ msgstr "Takımı sil"
|
||||
msgid "dashboard.draft-title"
|
||||
msgstr "Taslak"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.duplicate"
|
||||
msgstr "Kopyasını oluştur"
|
||||
|
||||
@@ -252,12 +255,11 @@ msgid "dashboard.empty-files"
|
||||
msgstr "Burada hiç dosyan yok"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs
|
||||
#, markdown
|
||||
msgid "dashboard.empty-placeholder-drafts"
|
||||
msgstr ""
|
||||
"Burada henüz dosya yok. Bazı şablonları denemek isterseniz [Kütüphaneler ve "
|
||||
"şablonlar bölümüne](https://penpot.app/libraries-templates.html) "
|
||||
"gidebilirsiniz"
|
||||
"Olamaz! Henüz dosyanız yok! Bazı şablonları denemek isterseniz "
|
||||
"[Kütüphaneler ve şablonlar](https://penpot.app/libraries-templates.html) "
|
||||
"sayfasına gidin"
|
||||
|
||||
msgid "dashboard.export-frames"
|
||||
msgstr "Çalışma yüzeylerini PDF olarak dışarı aktar..."
|
||||
@@ -319,7 +321,6 @@ msgid_plural "dashboard.fonts.fonts-added"
|
||||
msgstr[0] "1 yazı tipi eklendi"
|
||||
msgstr[1] "%s yazı tipi eklendi"
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text1"
|
||||
msgstr ""
|
||||
"Buraya yüklediğiniz herhangi bir web yazı tipi, bu takımın dosyalarının "
|
||||
@@ -328,7 +329,6 @@ msgstr ""
|
||||
"gruplandırılacak. Yazı tiplerini şu biçimlerde yükleyebilirsiniz: **TTF, "
|
||||
"OTF ve WOFF** (yalnızca bir tane gerekli olacak)."
|
||||
|
||||
#, markdown
|
||||
msgid "dashboard.fonts.hero-text2"
|
||||
msgstr ""
|
||||
"Sadece kendinize ait veya Penpot'ta kullanılabilecek bir lisansa sahip olan "
|
||||
@@ -382,7 +382,8 @@ msgstr "Dosya yükleniyor: %s"
|
||||
msgid "dashboard.invite-profile"
|
||||
msgstr "Takıma davet et"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.leave-team"
|
||||
msgstr "Takımdan ayrıl"
|
||||
|
||||
@@ -397,7 +398,8 @@ msgstr "dosyalarınız yükleniyor …"
|
||||
msgid "dashboard.loading-fonts"
|
||||
msgstr "yazı tipleriniz yükleniyor…"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.move-to"
|
||||
msgstr "Şuraya taşı"
|
||||
|
||||
@@ -409,7 +411,8 @@ msgstr "%s dosyayı şuraya taşı"
|
||||
msgid "dashboard.move-to-other-team"
|
||||
msgstr "Başka takıma taşı"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/files.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs
|
||||
msgid "dashboard.new-file"
|
||||
msgstr "+ Yeni Dosya"
|
||||
|
||||
@@ -425,6 +428,14 @@ msgstr "+ Yeni Proje"
|
||||
msgid "dashboard.new-project-prefix"
|
||||
msgstr "Yeni Proje"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-msg"
|
||||
msgstr "Bana Penpot ile ilgili haberler, ürün güncellemeleri ve tavsiyeler gönder."
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.newsletter-title"
|
||||
msgstr "Bülten aboneliği"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs
|
||||
msgid "dashboard.no-matches-for"
|
||||
msgstr "\"%s\" için sonuç bulunamadı"
|
||||
@@ -476,10 +487,15 @@ msgstr "Sahibi olarak belirle"
|
||||
msgid "dashboard.remove-account"
|
||||
msgstr "Hesabınızı kaldırmak mı istiyorsunuz?"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.remove-shared"
|
||||
msgstr "Paylaşılan Kütüphane olarak sil"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs
|
||||
msgid "dashboard.save-settings"
|
||||
msgstr "Ayarları kaydet"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "dashboard.search-placeholder"
|
||||
msgstr "Ara…"
|
||||
@@ -516,7 +532,8 @@ msgstr "Dosyanın kopyası başarıyla oluşturuldu"
|
||||
msgid "dashboard.success-duplicate-project"
|
||||
msgstr "Projenin kopyası başarıyla oluşturuldu"
|
||||
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/grid.cljs, src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.success-move-file"
|
||||
msgstr "Dosyan başarıyla taşındı"
|
||||
|
||||
@@ -556,7 +573,9 @@ msgstr "Arama sonuçları"
|
||||
msgid "dashboard.type-something"
|
||||
msgstr "Aramak için yazın"
|
||||
|
||||
#: src/app/main/ui/settings/profile.cljs, src/app/main/ui/settings/password.cljs, src/app/main/ui/settings/options.cljs
|
||||
#: src/app/main/ui/settings/profile.cljs,
|
||||
#: src/app/main/ui/settings/password.cljs,
|
||||
#: src/app/main/ui/settings/options.cljs
|
||||
msgid "dashboard.update-settings"
|
||||
msgstr "Ayarları güncelle"
|
||||
|
||||
@@ -572,7 +591,11 @@ msgstr "E-posta"
|
||||
msgid "dashboard.your-name"
|
||||
msgstr "Adın"
|
||||
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/libraries.cljs, src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/search.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "dashboard.your-penpot"
|
||||
msgstr "Penpot'un"
|
||||
|
||||
@@ -603,7 +626,8 @@ msgstr "Kimliğiniz doğrulanmamış veya oturumun süresi dolmuş gibi görün
|
||||
msgid "errors.clipboard-not-implemented"
|
||||
msgstr "Tarayıcın bu işlemi gerçekleştiremiyor"
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/change_email.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs
|
||||
msgid "errors.email-already-exists"
|
||||
msgstr "E-posta zaten kullanımda"
|
||||
|
||||
@@ -614,7 +638,10 @@ msgstr "E-posta zaten doğrulandı."
|
||||
msgid "errors.email-as-password"
|
||||
msgstr "E-postanızı parola olarak kullanamazsınız"
|
||||
|
||||
#: src/app/main/ui/auth/register.cljs, src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/register.cljs,
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.email-has-permanent-bounces"
|
||||
msgstr "«%s» adresi için çok fazla geri dönme raporu var."
|
||||
|
||||
@@ -622,6 +649,9 @@ msgstr "«%s» adresi için çok fazla geri dönme raporu var."
|
||||
msgid "errors.email-invalid-confirmation"
|
||||
msgstr "Doğrulama e-postası eşleşmiyor"
|
||||
|
||||
msgid "errors.email-spam-or-permanent-bounces"
|
||||
msgstr "«%s» e-postasının spam veya kalıcı olarak geri döndüğü bildirildi."
|
||||
|
||||
#: src/app/main/ui/auth/verify_token.cljs, src/app/main/ui/settings/feedback.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.generic"
|
||||
msgstr "Bir şeyler ters gitti."
|
||||
@@ -649,7 +679,7 @@ msgstr "Bu görsel eklemek için çok büyük (5MB altında olmalı)."
|
||||
msgid "errors.media-type-mismatch"
|
||||
msgstr "Görselin içeriği, dosya uzantısı ile eşleşmiyor gibi görünüyor."
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "errors.media-type-not-allowed"
|
||||
msgstr "Geçerli bir görsel gibi görünmüyor."
|
||||
|
||||
@@ -670,7 +700,9 @@ msgstr "Parolalar eşleşmedi"
|
||||
msgid "errors.password-too-short"
|
||||
msgstr "Parola en az 8 karakterden oluşmalı"
|
||||
|
||||
#: src/app/main/ui/auth/recovery_request.cljs, src/app/main/ui/settings/change_email.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/auth/recovery_request.cljs,
|
||||
#: src/app/main/ui/settings/change_email.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "errors.profile-is-muted"
|
||||
msgstr ""
|
||||
"Profilinizde sessize alınmış e-postalar var (spam raporları veya yüksek "
|
||||
@@ -692,7 +724,13 @@ msgstr "Sahip takımdan ayrılamaz, sahip rolünü yeniden atamanız gerekir."
|
||||
msgid "errors.terms-privacy-agreement-invalid"
|
||||
msgstr "Hizmet şartlarımızı ve gizlilik politikamızı kabul etmelisin."
|
||||
|
||||
#: src/app/main/data/media.cljs, src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/auth/verify_token.cljs
|
||||
msgid "errors.token-expired"
|
||||
msgstr "Jetonun süresi geçti"
|
||||
|
||||
#: src/app/main/data/media.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "errors.unexpected-error"
|
||||
msgstr "Beklenmedik bir hata oluştu."
|
||||
|
||||
@@ -720,24 +758,6 @@ msgstr "Sohbet etmek ister misin? Glitter'da bizimle sohbet edebilirsin"
|
||||
msgid "feedback.description"
|
||||
msgstr "Açıklama"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "Tartışmalar bölümüne git"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "Penpot takımı ortak iletişim forumuna katıl."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr ""
|
||||
"Soru sorabilir ve soruları cevaplayabilir, açık uçlu tartışmalar yapabilir "
|
||||
"ve projeyi etkileyen kararları takip edebilirsin."
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "Takım tartışmaları"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "Konu"
|
||||
@@ -804,7 +824,8 @@ msgstr "Yükseklik"
|
||||
msgid "handoff.attributes.layout.left"
|
||||
msgstr "Sol"
|
||||
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs, src/app/main/ui/handoff/attributes/layout.cljs
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/layout.cljs
|
||||
msgid "handoff.attributes.layout.radius"
|
||||
msgstr "Yarıçap"
|
||||
|
||||
@@ -844,15 +865,12 @@ msgstr "S"
|
||||
msgid "handoff.attributes.stroke"
|
||||
msgstr "Çerçeve"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.center"
|
||||
msgstr "Merkezi"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.inner"
|
||||
msgstr "İçinde"
|
||||
|
||||
#, permanent
|
||||
msgid "handoff.attributes.stroke.alignment.outer"
|
||||
msgstr "Dışarıda"
|
||||
|
||||
@@ -983,7 +1001,7 @@ msgstr "Kabul et"
|
||||
msgid "labels.add-custom-font"
|
||||
msgstr "Özel yazı tipi ekle"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.admin"
|
||||
msgstr "Yönetici"
|
||||
|
||||
@@ -991,6 +1009,9 @@ msgstr "Yönetici"
|
||||
msgid "labels.all"
|
||||
msgstr "Hepsi"
|
||||
|
||||
msgid "labels.and"
|
||||
msgstr "ve"
|
||||
|
||||
#: src/app/main/ui/static.cljs
|
||||
msgid "labels.bad-gateway.desc-message"
|
||||
msgstr ""
|
||||
@@ -1029,7 +1050,8 @@ msgstr "Devam et"
|
||||
msgid "labels.create"
|
||||
msgstr "Oluştur"
|
||||
|
||||
#: src/app/main/ui/dashboard/team_form.cljs, src/app/main/ui/dashboard/team_form.cljs
|
||||
#: src/app/main/ui/dashboard/team_form.cljs,
|
||||
#: src/app/main/ui/dashboard/team_form.cljs
|
||||
msgid "labels.create-team"
|
||||
msgstr "Yeni takım oluştur"
|
||||
|
||||
@@ -1047,7 +1069,8 @@ msgstr "Denetim paneli"
|
||||
msgid "labels.default"
|
||||
msgstr "varsayılan"
|
||||
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/project_menu.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.delete"
|
||||
msgstr "Sil"
|
||||
|
||||
@@ -1063,7 +1086,10 @@ msgstr "Mesaj dizisini sil"
|
||||
msgid "labels.delete-multi-files"
|
||||
msgstr "%s dosyayı sil"
|
||||
|
||||
#: src/app/main/ui/dashboard/projects.cljs, src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/files.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/dashboard/projects.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/files.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.drafts"
|
||||
msgstr "Taslak"
|
||||
|
||||
@@ -1074,7 +1100,7 @@ msgstr "Düzenle"
|
||||
msgid "labels.edit-file"
|
||||
msgstr "Dosya düzenle"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.editor"
|
||||
msgstr "Düzenleyici"
|
||||
|
||||
@@ -1108,7 +1134,9 @@ msgstr "Biçimler"
|
||||
msgid "labels.fonts"
|
||||
msgstr "Yazı tipleri"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.give-feedback"
|
||||
msgstr "Geri bildirimde bulun"
|
||||
|
||||
@@ -1142,6 +1170,10 @@ msgstr ""
|
||||
msgid "labels.internal-error.main-message"
|
||||
msgstr "İç Hata"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.invitations"
|
||||
msgstr "Davetler"
|
||||
|
||||
#: src/app/main/ui/settings/options.cljs
|
||||
msgid "labels.language"
|
||||
msgstr "Dil"
|
||||
@@ -1160,6 +1192,10 @@ msgstr "Oturumu kapat"
|
||||
msgid "labels.manage-fonts"
|
||||
msgstr "Yazı tiplerini yönet"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.member"
|
||||
msgstr "Üye"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.members"
|
||||
msgstr "Üyeler"
|
||||
@@ -1175,7 +1211,8 @@ msgstr "Yeni parola"
|
||||
msgid "labels.next"
|
||||
msgstr "Sonraki"
|
||||
|
||||
#: src/app/main/ui/workspace/comments.cljs, src/app/main/ui/dashboard/comments.cljs
|
||||
#: src/app/main/ui/workspace/comments.cljs,
|
||||
#: src/app/main/ui/dashboard/comments.cljs
|
||||
msgid "labels.no-comments-available"
|
||||
msgstr "Bekleyen yorum bildirimi yok"
|
||||
|
||||
@@ -1223,7 +1260,8 @@ msgstr "veya"
|
||||
msgid "labels.owner"
|
||||
msgstr "Sahip"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.password"
|
||||
msgstr "Parola"
|
||||
|
||||
@@ -1231,7 +1269,8 @@ msgstr "Parola"
|
||||
msgid "labels.permissions"
|
||||
msgstr "İzinler"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.profile"
|
||||
msgstr "Profil"
|
||||
|
||||
@@ -1246,10 +1285,15 @@ msgstr "Son"
|
||||
msgid "labels.release-notes"
|
||||
msgstr "Sürüm notları"
|
||||
|
||||
#: src/app/main/ui/workspace/libraries.cljs, src/app/main/ui/dashboard/team.cljs
|
||||
#: src/app/main/ui/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.remove"
|
||||
msgstr "Kaldır"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.remove-member"
|
||||
msgstr "Üyeyi kaldır"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs, src/app/main/ui/dashboard/project_menu.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "labels.rename"
|
||||
msgstr "Yeniden adlandır"
|
||||
@@ -1258,6 +1302,10 @@ msgstr "Yeniden adlandır"
|
||||
msgid "labels.rename-team"
|
||||
msgstr "Takımı yeniden adlandır"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs
|
||||
msgid "labels.resend-invitation"
|
||||
msgstr "Daveti yeniden gönder"
|
||||
|
||||
#: src/app/main/ui/static.cljs, src/app/main/ui/static.cljs, src/app/main/ui/static.cljs
|
||||
msgid "labels.retry"
|
||||
msgstr "Yeniden dene"
|
||||
@@ -1288,11 +1336,12 @@ msgstr "Sistemlerimizin programlı bakımını yapıyoruz."
|
||||
msgid "labels.service-unavailable.main-message"
|
||||
msgstr "Hizmet Kullanılamıyor"
|
||||
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
#: src/app/main/ui/settings/sidebar.cljs, src/app/main/ui/dashboard/team.cljs,
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.settings"
|
||||
msgstr "Ayarlar"
|
||||
|
||||
#: src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs
|
||||
#: src/app/main/ui/viewer/header.cljs, src/app/main/ui/viewer/header.cljs
|
||||
msgid "labels.share-prototype"
|
||||
msgstr "Prototipi paylaş"
|
||||
|
||||
@@ -1346,25 +1395,32 @@ msgstr "Çalışma alanı"
|
||||
msgid "labels.write-new-comment"
|
||||
msgstr "Yeni yorum yaz"
|
||||
|
||||
#: src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/team.cljs, src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.you"
|
||||
msgstr "(siz)"
|
||||
|
||||
#: src/app/main/ui/dashboard/sidebar.cljs
|
||||
msgid "labels.your-account"
|
||||
msgstr "Hesabınız"
|
||||
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
#: src/app/main/data/workspace/persistence.cljs, src/app/main/data/media.cljs
|
||||
msgid "media.loading"
|
||||
msgstr "Görsel yükleniyor…"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.accept"
|
||||
msgstr "Paylaşılmış Kütüphane olarak Ekle"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"Paylaşılmış Kütüphane olarak eklenince, bu dosya kütüphanesindeki varlıklar "
|
||||
"diğer dosyalarınızdan da ulaşılabilecek."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.add-shared-confirm.message"
|
||||
msgstr "Paylaşılmış Kütüphane olarak “%s” Ekle"
|
||||
|
||||
@@ -1571,17 +1627,20 @@ msgstr "Bu kullanıcıyı sahip olarak terfi ettirmek istediğinden emin misin?"
|
||||
msgid "modals.promote-owner-confirm.title"
|
||||
msgstr "Sahip olarak terfi ettir"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.accept"
|
||||
msgstr "Paylaşılan Kütüphane olarak kaldır"
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.hint"
|
||||
msgstr ""
|
||||
"Paylaşılan Kütüphane olarak kaldırıldıktan sonra, bu dosyanın Dosya "
|
||||
"Kütüphanesi, dosyalarınızın geri kalanında artık kullanılabilir olmayacak."
|
||||
|
||||
#: src/app/main/ui/workspace/header.cljs, src/app/main/ui/dashboard/file_menu.cljs
|
||||
#: src/app/main/ui/workspace/header.cljs,
|
||||
#: src/app/main/ui/dashboard/file_menu.cljs
|
||||
msgid "modals.remove-shared-confirm.message"
|
||||
msgstr "“%s” Paylaşılan Kütüphanesini Kaldır"
|
||||
|
||||
@@ -1589,31 +1648,37 @@ msgstr "“%s” Paylaşılan Kütüphanesini Kaldır"
|
||||
msgid "modals.small-nudge"
|
||||
msgstr "Küçük dürtme"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component-in-bulk.hint"
|
||||
msgstr ""
|
||||
"Paylaşılan bir kütüphanedeki bileşenleri güncellemek üzeresiniz. Bu, onu "
|
||||
"kullanan diğer dosyaları etkileyebilir."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component-in-bulk.message"
|
||||
msgstr "Paylaşılan bir kütüphanedeki bileşenleri güncelle"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.accept"
|
||||
msgstr "Güncelle"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.cancel"
|
||||
msgstr "İptal"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.hint"
|
||||
msgstr ""
|
||||
"Paylaşılmış bir kütüphanedeki bileşeni güncellemek üzeresin. Onu kullanan "
|
||||
"diğer dosyalar etkilenebilir."
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "modals.update-remote-component.message"
|
||||
msgstr "Paylaşılmış bir kütüphanede bir bileşen güncelle"
|
||||
|
||||
@@ -1673,6 +1738,35 @@ msgstr "github'da erişebilir"
|
||||
msgid "onboarding.contrib.title"
|
||||
msgstr "Açık Kaynağa Katkıda Bulunan Birisi?"
|
||||
|
||||
msgid "onboarding.newsletter.accept"
|
||||
msgstr "Evet, abone ol"
|
||||
|
||||
msgid "onboarding.newsletter.acceptance-message"
|
||||
msgstr "Abonelik talebiniz iletildi, size onaylamak için bir e-posta göndereceğiz."
|
||||
|
||||
msgid "onboarding.newsletter.decline"
|
||||
msgstr "Hayır, teşekkürler"
|
||||
|
||||
msgid "onboarding.newsletter.desc"
|
||||
msgstr ""
|
||||
"Ürün geliştirmedeki ilerleme ve haberlerden haberdar olmak için bültenimize "
|
||||
"abone olun."
|
||||
|
||||
msgid "onboarding.newsletter.policy"
|
||||
msgstr "Gizlilik Politikası."
|
||||
|
||||
msgid "onboarding.newsletter.privacy1"
|
||||
msgstr "Gizliliğe önem verdiğimiz için, işte bizim "
|
||||
|
||||
msgid "onboarding.newsletter.privacy2"
|
||||
msgstr ""
|
||||
"Size yalnızca ilgili e-postaları göndereceğiz. Aboneliğinizi istediğiniz "
|
||||
"zaman kullanıcı profilinizden veya herhangi bir bültenimizdeki abonelikten "
|
||||
"çıkma bağlantısı aracılığıyla iptal edebilirsiniz."
|
||||
|
||||
msgid "onboarding.newsletter.title"
|
||||
msgstr "Penpot haberlerini almak ister misiniz?"
|
||||
|
||||
msgid "onboarding.slide.0.alt"
|
||||
msgstr "Tasarımlar oluşturun"
|
||||
|
||||
@@ -1786,7 +1880,12 @@ msgstr "Penpot'a Hoş Geldiniz"
|
||||
msgid "profile.recovery.go-to-login"
|
||||
msgstr "Oturum açmaya git"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs, src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs, src/app/main/ui/workspace/sidebar/options/menus/layer.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs, src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/rows/color_row.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/stroke.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/layer.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/shadow.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/blur.cljs
|
||||
msgid "settings.multiple"
|
||||
msgstr "Karışık"
|
||||
|
||||
@@ -1967,11 +2066,13 @@ msgstr "Tüm varlıklar"
|
||||
msgid "workspace.assets.box-filter-graphics"
|
||||
msgstr "Grafikler"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.colors"
|
||||
msgstr "Renkler"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.components"
|
||||
msgstr "Bileşenler"
|
||||
|
||||
@@ -1983,15 +2084,19 @@ msgstr "Grup oluştur"
|
||||
msgid "workspace.assets.create-group-hint"
|
||||
msgstr "Ögeleriniz otomatik olarak \"grup adı / öge adı\" olarak adlandırılacak"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.delete"
|
||||
msgstr "Sil"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.duplicate"
|
||||
msgstr "Çoğalt"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.edit"
|
||||
msgstr "Düzenle"
|
||||
|
||||
@@ -1999,7 +2104,8 @@ msgstr "Düzenle"
|
||||
msgid "workspace.assets.file-library"
|
||||
msgstr "Dosya kütüphanesi"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.graphics"
|
||||
msgstr "Grafikler"
|
||||
|
||||
@@ -2019,7 +2125,9 @@ msgstr "Kütüphaneler"
|
||||
msgid "workspace.assets.not-found"
|
||||
msgstr "Varlık bulunmadı"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/sitemap.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.rename"
|
||||
msgstr "Yeniden adlandır"
|
||||
|
||||
@@ -2041,7 +2149,8 @@ msgstr[1] "%s öge seçildi"
|
||||
msgid "workspace.assets.shared"
|
||||
msgstr "PAYLAŞILDI"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs, src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/assets.cljs
|
||||
msgid "workspace.assets.typography"
|
||||
msgstr "Tipografiler"
|
||||
|
||||
@@ -2069,7 +2178,9 @@ msgstr "Harf Boşluğu"
|
||||
msgid "workspace.assets.typography.line-height"
|
||||
msgstr "Satır Yüksekliği"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs, src/app/main/ui/handoff/attributes/text.cljs, src/app/main/ui/handoff/attributes/text.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs,
|
||||
#: src/app/main/ui/handoff/attributes/text.cljs
|
||||
msgid "workspace.assets.typography.sample"
|
||||
msgstr "Ag"
|
||||
|
||||
@@ -2081,11 +2192,24 @@ msgstr "Metin Dönüşümü"
|
||||
msgid "workspace.assets.ungroup"
|
||||
msgstr "Grubu dağıt"
|
||||
|
||||
msgid "workspace.focus.focus-mode"
|
||||
msgstr "Odaklanma modu"
|
||||
|
||||
msgid "workspace.focus.focus-off"
|
||||
msgstr "Odaklanma kapalı"
|
||||
|
||||
msgid "workspace.focus.focus-on"
|
||||
msgstr "Odaklanma açık"
|
||||
|
||||
msgid "workspace.focus.selection"
|
||||
msgstr "Seçim"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.linear"
|
||||
msgstr "Doğrusal degrade"
|
||||
|
||||
#: src/app/main/data/workspace/libraries.cljs, src/app/main/ui/components/color_bullet.cljs
|
||||
#: src/app/main/data/workspace/libraries.cljs,
|
||||
#: src/app/main/ui/components/color_bullet.cljs
|
||||
msgid "workspace.gradients.radial"
|
||||
msgstr "Dairesel degrade"
|
||||
|
||||
@@ -2253,7 +2377,8 @@ msgstr "%s renk"
|
||||
msgid "workspace.libraries.colors.big-thumbnails"
|
||||
msgstr "Büyük önizlemeler"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.file-library"
|
||||
msgstr "Dosya kütüphanesi"
|
||||
|
||||
@@ -2261,7 +2386,8 @@ msgstr "Dosya kütüphanesi"
|
||||
msgid "workspace.libraries.colors.hsv"
|
||||
msgstr "HSV"
|
||||
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs, src/app/main/ui/workspace/colorpalette.cljs
|
||||
#: src/app/main/ui/workspace/colorpicker/libraries.cljs,
|
||||
#: src/app/main/ui/workspace/colorpalette.cljs
|
||||
msgid "workspace.libraries.colors.recent-colors"
|
||||
msgstr "Son renkler"
|
||||
|
||||
@@ -2433,9 +2559,14 @@ msgstr "Tasarım"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export"
|
||||
msgstr "Dışarı Aktar"
|
||||
msgstr "Dışa aktar"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.export-multiple"
|
||||
msgstr "Seçimi dışa aktar"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#, fuzzy
|
||||
msgid "workspace.options.export-object"
|
||||
msgstr "Dışa aktar"
|
||||
|
||||
@@ -2443,9 +2574,23 @@ msgstr "Dışa aktar"
|
||||
msgid "workspace.options.export.suffix"
|
||||
msgstr "Son ek"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-complete"
|
||||
msgstr "Dışa aktarma tamamlandı"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs,
|
||||
#: src/app/main/ui/handoff/exports.cljs
|
||||
msgid "workspace.options.exporting-object"
|
||||
msgstr "Dışarı aktarılıyor…"
|
||||
msgstr "Dışa aktarılıyor…"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object-error"
|
||||
msgstr "Dışa aktarılamadı"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, #: src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.exporting-object-slow"
|
||||
msgstr "Dışa aktarma beklenmedik şekilde yavaş"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs
|
||||
msgid "workspace.options.fill"
|
||||
@@ -2845,6 +2990,14 @@ msgstr "Katman grubu"
|
||||
msgid "workspace.options.layer-options.title.multiple"
|
||||
msgstr "Seçili katmanlar"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.more-colors"
|
||||
msgstr "Daha fazla renk"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.more-lib-colors"
|
||||
msgstr "Daha fazla kütüphane rengi"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/interactions.cljs
|
||||
msgid "workspace.options.navigate-to"
|
||||
msgstr "Git"
|
||||
@@ -2856,7 +3009,8 @@ msgstr "Hiçbiri"
|
||||
msgid "workspace.options.opacity"
|
||||
msgstr "Opaklık"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.position"
|
||||
msgstr "Konum"
|
||||
|
||||
@@ -2878,6 +3032,10 @@ msgstr "Tek köşe"
|
||||
msgid "workspace.options.recent-fonts"
|
||||
msgstr "Son kullanılanlar"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/exports.cljs, src/app/main/ui/handoff/exports.cljs, src/app/main/ui/workspace/header.cljs
|
||||
msgid "workspace.options.retry"
|
||||
msgstr "Yeniden dene"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.rotation"
|
||||
msgstr "Döndür"
|
||||
@@ -2895,6 +3053,10 @@ msgstr ""
|
||||
msgid "workspace.options.select-artboard"
|
||||
msgstr "Çalışma yüzeyi seç"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/color_selection.cljs
|
||||
msgid "workspace.options.selection-color"
|
||||
msgstr "Seçilen renkler"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/fill.cljs
|
||||
msgid "workspace.options.selection-fill"
|
||||
msgstr "Seçimi doldur"
|
||||
@@ -2946,7 +3108,8 @@ msgstr "Gölge seçimi"
|
||||
msgid "workspace.options.show-fill-on-export"
|
||||
msgstr "Dışa aktarmalarda göster"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs, src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/shapes/frame.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/measures.cljs
|
||||
msgid "workspace.options.size"
|
||||
msgstr "Boyut"
|
||||
|
||||
@@ -3091,7 +3254,8 @@ msgstr "Satır yüksekliği"
|
||||
msgid "workspace.options.text-options.lowercase"
|
||||
msgstr "Küçük harf"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs, src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/text.cljs,
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/typography.cljs
|
||||
msgid "workspace.options.text-options.none"
|
||||
msgstr "Hiçbiri"
|
||||
|
||||
@@ -3208,11 +3372,15 @@ msgstr "Sil"
|
||||
msgid "workspace.shape.menu.delete-flow-start"
|
||||
msgstr "Akış başlangıcını sil"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.detach-instance"
|
||||
msgstr "Örneği ayır"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.detach-instances-in-bulk"
|
||||
msgstr "Örnekleri ayır"
|
||||
|
||||
@@ -3253,7 +3421,8 @@ msgstr "Öne getir"
|
||||
msgid "workspace.shape.menu.front"
|
||||
msgstr "En öne getir"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.go-main"
|
||||
msgstr "Ana bileşen dosyasına git"
|
||||
|
||||
@@ -3275,18 +3444,22 @@ msgstr "Kesişme"
|
||||
msgid "workspace.shape.menu.lock"
|
||||
msgstr "Kilitle"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.mask"
|
||||
msgstr "Maskele"
|
||||
|
||||
#: src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.paste"
|
||||
msgstr "Yapıştır"
|
||||
|
||||
msgid "workspace.shape.menu.path"
|
||||
msgstr "Yol"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.reset-overrides"
|
||||
msgstr "Geçersiz kılmaları sıfırla"
|
||||
|
||||
@@ -3298,7 +3471,8 @@ msgstr "Katman seç"
|
||||
msgid "workspace.shape.menu.show"
|
||||
msgstr "Göster"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.show-main"
|
||||
msgstr "Ana bileşeni göster"
|
||||
|
||||
@@ -3320,11 +3494,15 @@ msgstr "Kilidi aç"
|
||||
msgid "workspace.shape.menu.unmask"
|
||||
msgstr "Maskelemeyi kaldır"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.update-components-in-bulk"
|
||||
msgstr "Ana bileşenleri güncelle"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/sidebar/options/menus/component.cljs, src/app/main/ui/workspace/context_menu.cljs, src/app/main/ui/workspace/context_menu.cljs
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/component.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs,
|
||||
#: src/app/main/ui/workspace/context_menu.cljs
|
||||
msgid "workspace.shape.menu.update-main"
|
||||
msgstr "Ana bileşeni güncelle"
|
||||
|
||||
@@ -3336,6 +3514,30 @@ msgstr "Geçmiş (%s)"
|
||||
msgid "workspace.sidebar.layers"
|
||||
msgstr "Katmanlar"
|
||||
|
||||
msgid "workspace.sidebar.layers.components"
|
||||
msgstr "Bileşenler"
|
||||
|
||||
msgid "workspace.sidebar.layers.frames"
|
||||
msgstr "Çalışma yüzeyleri"
|
||||
|
||||
msgid "workspace.sidebar.layers.groups"
|
||||
msgstr "Gruplar"
|
||||
|
||||
msgid "workspace.sidebar.layers.images"
|
||||
msgstr "Görseller"
|
||||
|
||||
msgid "workspace.sidebar.layers.masks"
|
||||
msgstr "Maskeler"
|
||||
|
||||
msgid "workspace.sidebar.layers.search"
|
||||
msgstr "Katmanları ara"
|
||||
|
||||
msgid "workspace.sidebar.layers.shapes"
|
||||
msgstr "Şekiller"
|
||||
|
||||
msgid "workspace.sidebar.layers.texts"
|
||||
msgstr "Metinler"
|
||||
|
||||
#: src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.cljs, src/app/main/ui/handoff/attributes/svg.cljs
|
||||
msgid "workspace.sidebar.options.svg-attrs.title"
|
||||
msgstr "İçe Aktarılan SVG Öznitelikleri"
|
||||
|
||||
@@ -672,22 +672,6 @@ msgstr "想说两句?来Gitter和我们聊聊"
|
||||
msgid "feedback.description"
|
||||
msgstr "描述"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "前往讨论"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "加入Penpot团队协作交流论坛。"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle2"
|
||||
msgstr "你可以提问、回答问题,来一场开放的对话,并对影响项目的决策保持关注。"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "团队讨论"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.subject"
|
||||
msgstr "话题"
|
||||
|
||||
@@ -607,18 +607,6 @@ msgstr "加入聊天"
|
||||
msgid "feedback.description"
|
||||
msgstr "狀況描述"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-go-to"
|
||||
msgstr "前往討論"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-subtitle1"
|
||||
msgstr "加入 Penpot 團隊的協作溝通論壇。"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.discussions-title"
|
||||
msgstr "團隊討論"
|
||||
|
||||
#: src/app/main/ui/settings/feedback.cljs
|
||||
msgid "feedback.title"
|
||||
msgstr "電子郵件"
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.13.0-beta
|
||||
1.13.2-beta
|
||||
|
||||
Reference in New Issue
Block a user