0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-04-09 05:21:50 -05:00

🎉 Add translations to token errors (#5926)

This commit is contained in:
Eva Marco 2025-02-24 15:50:47 +01:00 committed by GitHub
parent 1187d64f69
commit 88669d2e0f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 113 additions and 13 deletions

View file

@ -1,48 +1,48 @@
(ns app.main.ui.workspace.tokens.errors
(:require
[app.util.i18n :refer [tr]]
[cuerdas.core :as str]))
(def error-codes
{:error.import/json-parse-error
{:error/code :error.import/json-parse-error
:error/message "Import Error: Could not parse json"}
:error/fn #(tr "workspace.token.error-parse")}
:error.import/invalid-json-data
{:error/code :error.import/invalid-json-data
:error/message "Import Error: Invalid token data in json."}
:error/fn #(tr "workspace.token.import-error")}
:error.import/style-dictionary-reference-errors
{:error/code :error.import/style-dictionary-reference-errors
:error/fn #(str "Import Error:\n\n" (str/join "\n\n" %))}
:error/fn #(str (tr "workspace.token.import-error") "\n\n" (str/join "\n\n" %))}
:error.import/style-dictionary-unknown-error
{:error/code :error.import/style-dictionary-reference-errors
:error/message "Import Error:"}
:error/fn #(tr "workspace.token.import-error")}
:error.token/direct-self-reference
{:error/code :error.token/direct-self-reference
:error/message "Token has self reference"}
:error/fn #(tr "workspace.token.self-reference")}
:error.token/invalid-color
{:error/code :error.token/invalid-color
:error/fn #(str "Invalid color value: " %)}
:error/fn #(str (tr "workspace.token.invalid-color" %))}
:error.style-dictionary/missing-reference
{:error/code :error.style-dictionary/missing-reference
:error/fn #(str "Missing token references: " (str/join " " %))}
:error/fn #(str (tr "workspace.token.missing-references") (str/join " " %))}
:error.style-dictionary/invalid-token-value
{:error/code :error.style-dictionary/invalid-token-value
:error/fn #(str "Invalid token value: " %)}
:error/fn #(str (tr "workspace.token.invalid-value" %))}
:error.style-dictionary/invalid-token-value-opacity
{:error/code :error.style-dictionary/invalid-token-value-opacity
:error/fn #(str/join "\n" [(str "Invalid token value: " % ".") "Opacity must be between 0 and 100% or 0 and 1 (e.g. 50% or 0.5)"])}
:error/fn #(str/join "\n" [(str (tr "workspace.token.invalid-value" %) ".") (tr "workspace.token.opacity-range")])}
:error/unknown
{:error/code :error/unknown
:error/message "Unknown error"}})
:error/fn #(tr "labels.unknown-error")}})
(defn get-error-code [error-key]
(get error-codes error-key (:error/unknown error-codes)))

View file

@ -9,6 +9,7 @@
[app.main.ui.workspace.tokens.tinycolor :as tinycolor]
[app.main.ui.workspace.tokens.token :as wtt]
[app.main.ui.workspace.tokens.warnings :as wtw]
[app.util.i18n :refer [tr]]
[beicon.v2.core :as rx]
[cuerdas.core :as str]
[promesa.core :as p]
@ -209,7 +210,6 @@
[err]
(let [[header-1 header-2 & errors] (str/split err "\n")]
(when (and
;; TODO: This needs translations
(= header-1 "Error: ")
(= header-2 "Reference Errors:"))
errors)))
@ -248,7 +248,7 @@
(->> (map (fn [err]
(case (:error/code err)
;; TODO: This needs translations
:error.style-dictionary/missing-reference (str "Could not resolve reference token with the name: " (:error/value err))
:error.style-dictionary/missing-reference (tr "workspace.token.token-not-resolved" (:error/value err))
nil))
errors)
(str/join "\n")))

View file

@ -2364,6 +2364,10 @@ msgstr "Your account"
msgid "labels.youtube"
msgstr "YouTube"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "labels.unknown-error"
msgstr "Unknown error"
#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480
msgid "media.choose-image"
msgstr "Choose image"
@ -6555,6 +6559,50 @@ msgstr "Token Set grouping is not supported yet."
msgid "workspace.token.add-set-to-group"
msgstr "Add set to this group"
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.generic-error"
msgstr "Error: "
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.reference-error"
msgstr "Reference Errors: "
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.token-not-resolved"
msgstr "Could not resolve reference token with the name: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.error-parse"
msgstr "Import Error: Could not parse JSON."
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-json"
msgstr "Import Error: Invalid token data in JSON."
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.import-error"
msgstr "Import Error:"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.self-reference"
msgstr "Token has self reference"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-color"
msgstr "Invalid color value: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.missing-references"
msgstr "Missing token references: "
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-value"
msgstr "Invalid token value: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.opacity-range"
msgstr "Opacity must be between 0 and 100% or 0 and 1 (e.g. 50% or 0.5)."
#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179
msgid "workspace.token.label.group"
msgstr "Group"

View file

@ -2370,6 +2370,10 @@ msgstr "Tu cuenta"
msgid "labels.youtube"
msgstr "YouTube"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "labels.unknown-error"
msgstr "Error desconocido"
#: src/app/main/ui/workspace/colorpicker.cljs:477, src/app/main/ui/workspace/colorpicker.cljs:478, src/app/main/ui/workspace/colorpicker.cljs:480
msgid "media.choose-image"
msgstr "Elegir imagen"
@ -6566,6 +6570,54 @@ msgstr "Introduce un valor o alias"
msgid "workspace.token.grouping-set-alert"
msgstr "La agrupación de sets aun no está soportada."
#: src/app/main/ui/workspace/tokens/sets_context_menu.cljs
msgid "workspace.token.add-set-to-group"
msgstr "Añadir un set a este grupo"
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.generic-error"
msgstr "Error: "
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.reference-error"
msgstr "Errores en referencias: "
#: src/app/main/ui/workspace/tokens/style_dictionary.cljs
msgid "workspace.token.token-not-resolved"
msgstr "No se pudo resolver el token de referencia con el nombre: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.error-parse"
msgstr "Error al importar: No se pudo procesar el JSON."
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-json"
msgstr "Error al importar: Datos de token no válidos en JSON."
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.import-error"
msgstr "Error al importar:"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.self-reference"
msgstr "El token tiene una autoreferencia"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-color"
msgstr "Valor de color no válido: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.missing-references"
msgstr "Referéncias de tokens no encontradas:"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.invalid-value"
msgstr "Valor de token no válido: %s"
#: src/app/main/ui/workspace/tokens/errors.cljs
msgid "workspace.token.opacity-range"
msgstr "La opacidad debe estar entre 0 y 100% o 0 y 1 (p.e. 50% o 0.5)."
#: src/app/main/ui/workspace/tokens/modals/themes.cljs:179
msgid "workspace.token.label.group"
msgstr "Grupo"