From 88669d2e0fee4340e7d8f1cf35667f6c5cd62299 Mon Sep 17 00:00:00 2001 From: Eva Marco Date: Mon, 24 Feb 2025 15:50:47 +0100 Subject: [PATCH] :tada: Add translations to token errors (#5926) --- .../app/main/ui/workspace/tokens/errors.cljs | 22 ++++---- .../ui/workspace/tokens/style_dictionary.cljs | 4 +- frontend/translations/en.po | 48 +++++++++++++++++ frontend/translations/es.po | 52 +++++++++++++++++++ 4 files changed, 113 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/main/ui/workspace/tokens/errors.cljs b/frontend/src/app/main/ui/workspace/tokens/errors.cljs index e232455a71..2aab918093 100644 --- a/frontend/src/app/main/ui/workspace/tokens/errors.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/errors.cljs @@ -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))) diff --git a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs index 1e8d416008..43585e5480 100644 --- a/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/style_dictionary.cljs @@ -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"))) diff --git a/frontend/translations/en.po b/frontend/translations/en.po index 382e572dc7..fb01cfb730 100644 --- a/frontend/translations/en.po +++ b/frontend/translations/en.po @@ -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" diff --git a/frontend/translations/es.po b/frontend/translations/es.po index 15c1176ed4..a0854157b3 100644 --- a/frontend/translations/es.po +++ b/frontend/translations/es.po @@ -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"