From 7b5c2f47232e63b6344f55fa3bfca89391b7e027 Mon Sep 17 00:00:00 2001 From: sixsmith Date: Tue, 29 Sep 2026 20:55:40 -0400 Subject: [PATCH] run make-i18n --- pkg/i18n/locales/abra.pot | 146 +++++++++++++++++++------------- pkg/i18n/locales/es.mo | Bin 136901 -> 136629 bytes pkg/i18n/locales/es.po | 173 ++++++++++++++++++++++++-------------- 3 files changed, 195 insertions(+), 124 deletions(-) diff --git a/pkg/i18n/locales/abra.pot b/pkg/i18n/locales/abra.pot index f9b1e4ba..144842d0 100644 --- a/pkg/i18n/locales/abra.pot +++ b/pkg/i18n/locales/abra.pot @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: \n" "Report-Msgid-Bugs-To: EMAIL\n" - "POT-Creation-Date: 2026-09-10 00:13-0400\n" + "POT-Creation-Date: 2026-09-29 20:55-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -304,7 +304,7 @@ msgstr "" msgid "%s has no secrets to generate, skipping..." msgstr "" -#: ./pkg/recipe/compose.go:107 +#: ./pkg/recipe/compose.go:108 #, c-format msgid "%s has no version label? try running \"abra recipe sync %s\" first?" msgstr "" @@ -324,12 +324,12 @@ msgstr "" msgid "%s is already fetched" msgstr "" -#: ./pkg/recipe/compose.go:299 +#: ./pkg/recipe/compose.go:295 #, c-format msgid "%s is already set, nothing to do?" msgstr "" -#: ./pkg/recipe/compose.go:72 +#: ./pkg/recipe/compose.go:73 #, c-format msgid "%s is missing a compose.yml or compose.*.yml file?" msgstr "" @@ -568,12 +568,12 @@ msgstr "" msgid "--local detected, running %s on local work station" msgstr "" -#: ./pkg/lint/recipe.go:261 ./pkg/recipe/files.go:18 +#: ./pkg/lint/recipe.go:268 ./pkg/recipe/files.go:18 #, c-format msgid ".env.sample for %s couldn't be read: %s" msgstr "" -#: ./pkg/lint/recipe.go:133 +#: ./pkg/lint/recipe.go:140 msgid ".env.sample provided" msgstr "" @@ -638,17 +638,17 @@ msgstr "" msgid "CHAOS DEPLOY" msgstr "" -#: ./pkg/recipe/compose.go:47 +#: ./pkg/recipe/compose.go:48 #, c-format msgid "COMPOSE_FILE (=\"%s\") parsing failed?" msgstr "" -#: ./pkg/recipe/compose.go:58 +#: ./pkg/recipe/compose.go:59 #, c-format msgid "COMPOSE_FILE detected (%s), loading %s" msgstr "" -#: ./pkg/recipe/compose.go:38 +#: ./pkg/recipe/compose.go:39 #, c-format msgid "COMPOSE_FILE detected, loading %s" msgstr "" @@ -1644,7 +1644,7 @@ msgid "\n" "\n" msgstr "" -#: ./pkg/lint/recipe.go:203 +#: ./pkg/lint/recipe.go:210 #, c-format msgid "\n" "lint %s: %s" @@ -1737,7 +1737,7 @@ msgstr "" msgid "accepts at most 2 args with --local/-l" msgstr "" -#: ./pkg/recipe/compose.go:315 +#: ./pkg/recipe/compose.go:311 #, c-format msgid "add '- \"%s\"' manually to the 'app' service in %s" msgstr "" @@ -1764,11 +1764,15 @@ msgstr "" msgid "all containers did really go away" msgstr "" +#: ./pkg/lint/recipe.go:131 +msgid "all images use a digest" +msgstr "" + #: ./pkg/lint/recipe.go:82 msgid "all images use a tag" msgstr "" -#: ./pkg/lint/recipe.go:162 +#: ./pkg/lint/recipe.go:169 msgid "all services have images" msgstr "" @@ -2221,7 +2225,7 @@ msgstr "" msgid "config not found: %s" msgstr "" -#: ./pkg/lint/recipe.go:169 +#: ./pkg/lint/recipe.go:176 msgid "config version are vendored" msgstr "" @@ -2230,14 +2234,14 @@ msgstr "" msgid "connection timed out for %s" msgstr "" -#: ./pkg/recipe/compose.go:257 +#: ./pkg/recipe/compose.go:143 #, c-format -msgid "considering %s config(s) for label update" +msgid "considering %s config(s) for image update" msgstr "" -#: ./pkg/recipe/compose.go:123 +#: ./pkg/recipe/compose.go:253 #, c-format -msgid "considering %s config(s) for tag update" +msgid "considering %s config(s) for label update" msgstr "" #: ./cli/app/undeploy.go:141 ./cli/server/prune.go:53 @@ -2258,7 +2262,7 @@ msgstr "" msgid "context lacks Docker endpoint" msgstr "" -#: ./pkg/recipe/compose.go:295 +#: ./pkg/recipe/compose.go:291 #, c-format msgid "coop-cloud.${STACK_NAME}.version=%s" msgstr "" @@ -2303,7 +2307,7 @@ msgstr "" msgid "create [flags]" msgstr "" -#: ./pkg/lint/recipe.go:134 +#: ./pkg/lint/recipe.go:141 msgid "create an example .env.sample" msgstr "" @@ -2418,7 +2422,7 @@ msgstr "" msgid "deploy in progress 馃煚" msgstr "" -#: ./pkg/lint/recipe.go:147 +#: ./pkg/lint/recipe.go:154 msgid "deploy labels stanza present" msgstr "" @@ -2644,7 +2648,7 @@ msgstr "" msgid "ensure 'version: \"3.8\"' in compose configs" msgstr "" -#: ./pkg/lint/recipe.go:163 +#: ./pkg/lint/recipe.go:170 msgid "ensure \"image: ...\" set on all services" msgstr "" @@ -2682,7 +2686,7 @@ msgstr "" msgid "err: %v, " msgstr "" -#: ./cli/recipe/lint.go:82 ./cli/recipe/lint.go:144 ./pkg/lint/recipe.go:132 ./pkg/lint/recipe.go:139 ./pkg/lint/recipe.go:146 ./pkg/lint/recipe.go:153 ./pkg/lint/recipe.go:161 ./pkg/lint/recipe.go:168 ./pkg/lint/recipe.go:175 +#: ./cli/recipe/lint.go:82 ./cli/recipe/lint.go:144 ./pkg/lint/recipe.go:139 ./pkg/lint/recipe.go:146 ./pkg/lint/recipe.go:153 ./pkg/lint/recipe.go:160 ./pkg/lint/recipe.go:168 ./pkg/lint/recipe.go:175 ./pkg/lint/recipe.go:182 msgid "error" msgstr "" @@ -2801,6 +2805,11 @@ msgstr "" msgid "failed to create volume %s on %s: %s" msgstr "" +#: ./pkg/client/registry.go:51 +#, c-format +msgid "failed to fetch manifest for %s:%s, saw: %s" +msgstr "" + #: ./pkg/secret/secret.go:104 #, c-format msgid "failed to generate random bytes: %w" @@ -2839,11 +2848,16 @@ msgstr "" msgid "failed to migrate app config: %s" msgstr "" -#: ./pkg/client/registry.go:24 +#: ./pkg/client/registry.go:22 #, c-format msgid "failed to parse image %s, saw: %s" msgstr "" +#: ./pkg/client/registry.go:42 +#, c-format +msgid "failed to parse image %s:%s, saw: %s" +msgstr "" + #: ./pkg/recipe/git.go:437 #, c-format msgid "failed to parse image for %s in %s: %s" @@ -3211,16 +3225,21 @@ msgstr "" msgid "ignore uncommitted recipes changes" msgstr "" +#: ./pkg/recipe/compose.go:162 +#, c-format +msgid "image %s for %s uses a variable, skipping update, please update %s manually" +msgstr "" + #: ./cli/app/undeploy.go:156 ./cli/server/prune.go:74 #, c-format msgid "images pruned: %d; space reclaimed: %s" msgstr "" -#: ./pkg/lint/recipe.go:148 +#: ./pkg/lint/recipe.go:155 msgid "include \"deploy: labels: ...\" stanza" msgstr "" -#: ./pkg/lint/recipe.go:155 +#: ./pkg/lint/recipe.go:162 msgid "include \"traefik.enable=true\" deploy label" msgstr "" @@ -3374,7 +3393,7 @@ msgstr "" msgid "invalid detach escape keys, using default: %s" msgstr "" -#: ./pkg/lint/recipe.go:504 +#: ./pkg/lint/recipe.go:533 msgid "invalid lightweight tag detected" msgstr "" @@ -3435,12 +3454,12 @@ msgstr "" msgid "lint [flags]" msgstr "" -#: ./pkg/lint/recipe.go:187 +#: ./pkg/lint/recipe.go:194 #, c-format msgid "linting for critical errors in %s configs" msgstr "" -#: ./pkg/lint/recipe.go:215 +#: ./pkg/lint/recipe.go:222 #, c-format msgid "linting successful, %s is well configured" msgstr "" @@ -3632,7 +3651,7 @@ msgstr "" msgid "name" msgstr "" -#: ./pkg/lint/recipe.go:141 +#: ./pkg/lint/recipe.go:148 msgid "name a servce 'app'" msgstr "" @@ -3710,7 +3729,7 @@ msgstr "" msgid "no .git directory in %s?" msgstr "" -#: ./pkg/recipe/compose.go:29 +#: ./pkg/recipe/compose.go:30 #, c-format msgid "no COMPOSE_FILE detected, loading default: %s" msgstr "" @@ -3761,7 +3780,7 @@ msgstr "" msgid "no domain provided" msgstr "" -#: ./pkg/recipe/compose.go:314 +#: ./pkg/recipe/compose.go:310 msgid "no existing label found, automagic insertion not supported yet" msgstr "" @@ -3933,11 +3952,11 @@ msgstr "" msgid "one of / arguments must take $SERVICE:$PATH form" msgstr "" -#: ./pkg/lint/recipe.go:140 +#: ./pkg/lint/recipe.go:147 msgid "one service named 'app'" msgstr "" -#: ./pkg/lint/recipe.go:176 +#: ./pkg/lint/recipe.go:183 msgid "only annotated tags used for recipe version" msgstr "" @@ -3971,11 +3990,6 @@ msgstr "" msgid "parsed %s for %s" msgstr "" -#: ./pkg/recipe/compose.go:160 -#, c-format -msgid "parsed %s from %s" -msgstr "" - #: ./cli/app/cmd.go:134 ./cli/app/cmd.go:180 #, c-format msgid "parsed following command arguments: %s" @@ -4224,7 +4238,7 @@ msgstr "" msgid "recipe %s does not exist?" msgstr "" -#: ./pkg/lint/recipe.go:212 +#: ./pkg/lint/recipe.go:219 #, c-format msgid "recipe '%s' failed lint checks:\n" "%s" @@ -4248,6 +4262,11 @@ msgstr "" msgid "ref" msgstr "" +#: ./pkg/client/registry.go:56 +#, c-format +msgid "registry did not return a digest for %s:%s" +msgstr "" + #. translators: `recipe release` command #: ./cli/recipe/release.go:35 msgid "release [version] [flags]" @@ -4346,6 +4365,11 @@ msgstr "" msgid "removing configs failed: %s" msgstr "" +#: ./pkg/recipe/compose.go:120 +#, c-format +msgid "removing digest from %s for %s, use --pindigests to pin the new tag" +msgstr "" + #: ./pkg/upstream/stack/remove.go:148 #, c-format msgid "removing network %s" @@ -4371,7 +4395,7 @@ msgstr "" msgid "removing volumes failed: %s" msgstr "" -#: ./pkg/lint/recipe.go:177 +#: ./pkg/lint/recipe.go:184 msgid "replace lightweight tag with annotated tag" msgstr "" @@ -4454,7 +4478,7 @@ msgstr "" msgid "retrieved %s as target container on %s" msgstr "" -#: ./pkg/recipe/compose.go:59 +#: ./pkg/recipe/compose.go:60 #, c-format msgid "retrieved %s configs for %s" msgstr "" @@ -4625,7 +4649,7 @@ msgstr "" msgid "secret %s is > %d chars when combined with %s" msgstr "" -#: ./pkg/lint/recipe.go:481 +#: ./pkg/lint/recipe.go:510 #, c-format msgid "secret %s is longer than 12 characters" msgstr "" @@ -5025,7 +5049,7 @@ msgstr "" msgid "sync [flags]" msgstr "" -#: ./pkg/recipe/compose.go:309 +#: ./pkg/recipe/compose.go:305 #, c-format msgid "synced label %s to service %s" msgstr "" @@ -5122,7 +5146,7 @@ msgstr "" msgid "toggle non-interactive mode" msgstr "" -#: ./pkg/lint/recipe.go:154 +#: ./pkg/lint/recipe.go:161 msgid "traefik routing enabled" msgstr "" @@ -5270,7 +5294,7 @@ msgstr "" msgid "unable to inspect container for %s: %s" msgstr "" -#: ./pkg/lint/recipe.go:496 +#: ./pkg/lint/recipe.go:525 #, c-format msgid "unable to list local tags for %s" msgstr "" @@ -5284,7 +5308,7 @@ msgstr "" msgid "unable to look up server context for %s: %s" msgstr "" -#: ./cli/recipe/fetch.go:77 ./pkg/git/read.go:26 ./pkg/lint/recipe.go:491 ./pkg/recipe/git.go:243 +#: ./cli/recipe/fetch.go:77 ./pkg/git/read.go:26 ./pkg/lint/recipe.go:520 ./pkg/recipe/git.go:243 #, c-format msgid "unable to open %s: %s" msgstr "" @@ -5314,16 +5338,16 @@ msgstr "" msgid "unable to parse %s, error was: %s, skipping upgrade for %s" msgstr "" -#: ./pkg/recipe/compose.go:154 -#, c-format -msgid "unable to parse %s, skipping" -msgstr "" - #: ./cli/app/list.go:167 #, c-format msgid "unable to parse %s, skipping as upgrade option" msgstr "" +#: ./pkg/recipe/compose.go:154 +#, c-format +msgid "unable to parse %s: %s" +msgstr "" + #: ./pkg/upstream/stack/stack.go:157 #, c-format msgid "unable to parse '%s' value as bool: %s" @@ -5334,6 +5358,11 @@ msgstr "" msgid "unable to parse deploy version: %s" msgstr "" +#: ./pkg/recipe/compose.go:229 +#, c-format +msgid "unable to parse image %s: %s" +msgstr "" + #: ./cli/run.go:176 #, c-format msgid "unable to proceed, %s does not exist?" @@ -5541,16 +5570,11 @@ msgstr "" msgid "updating %s" msgstr "" -#: ./pkg/recipe/compose.go:176 ./pkg/recipe/compose.go:303 +#: ./pkg/recipe/compose.go:179 ./pkg/recipe/compose.go:299 #, c-format msgid "updating %s to %s in %s" msgstr "" -#: ./pkg/recipe/compose.go:236 -#, c-format -msgid "updating pinned reference %s to %s in %s" -msgstr "" - #. translators: `abra upgrade` command for autocompletion #: ./cli/run.go:103 msgid "upgrade" @@ -5590,6 +5614,10 @@ msgstr "" msgid "upload your recipe to git.coopcloud.tech/coop-cloud/..." msgstr "" +#: ./pkg/lint/recipe.go:132 +msgid "use a digest for all images" +msgstr "" + #: ./pkg/lint/recipe.go:83 msgid "use a tag for all images" msgstr "" @@ -5640,7 +5668,7 @@ msgstr "" msgid "validated %s as server argument" msgstr "" -#: ./pkg/lint/recipe.go:170 +#: ./pkg/lint/recipe.go:177 msgid "vendor config versions in an abra.sh" msgstr "" @@ -5791,7 +5819,7 @@ msgstr "" msgid "waiting for %d task(s) to reach terminal state" msgstr "" -#: ./pkg/lint/recipe.go:21 ./pkg/lint/recipe.go:67 ./pkg/lint/recipe.go:74 ./pkg/lint/recipe.go:81 ./pkg/lint/recipe.go:88 ./pkg/lint/recipe.go:95 ./pkg/lint/recipe.go:102 ./pkg/lint/recipe.go:109 ./pkg/lint/recipe.go:116 ./pkg/lint/recipe.go:123 +#: ./pkg/lint/recipe.go:21 ./pkg/lint/recipe.go:67 ./pkg/lint/recipe.go:74 ./pkg/lint/recipe.go:81 ./pkg/lint/recipe.go:88 ./pkg/lint/recipe.go:95 ./pkg/lint/recipe.go:102 ./pkg/lint/recipe.go:109 ./pkg/lint/recipe.go:116 ./pkg/lint/recipe.go:123 ./pkg/lint/recipe.go:130 msgid "warn" msgstr "" diff --git a/pkg/i18n/locales/es.mo b/pkg/i18n/locales/es.mo index 1a8812cb064b3384c622d534f9593daf53e57e9f..9f7e1ee52a7bd63e318dc73ba72b9298df5b565e 100644 GIT binary patch delta 22056 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 HRw@1u<%rJM diff --git a/pkg/i18n/locales/es.po b/pkg/i18n/locales/es.po index 8edb72c7..82b023ac 100644 --- a/pkg/i18n/locales/es.po +++ b/pkg/i18n/locales/es.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: EMAIL\n" -"POT-Creation-Date: 2026-09-10 00:13-0400\n" +"POT-Creation-Date: 2026-09-29 20:55-0400\n" "PO-Revision-Date: 2026-09-01 22:35+0000\n" "Last-Translator: chasqui \n" "Language-Team: Spanish [opciones]" msgid "create [flags]" msgstr "crear [opciones]" -#: pkg/lint/recipe.go:134 +#: pkg/lint/recipe.go:141 msgid "create an example .env.sample" msgstr "crear un ejemplo de .env.sample" @@ -3204,7 +3209,7 @@ msgstr "argh! fall贸 el despliegue 馃洃" msgid "deploy in progress 馃煚" msgstr "despliegue en proceso 馃煚" -#: pkg/lint/recipe.go:147 +#: pkg/lint/recipe.go:154 msgid "deploy labels stanza present" msgstr "stanza de etiquetas de despliegue presente" @@ -3435,7 +3440,7 @@ msgid "ensure 'version: \"3.8\"' in compose configs" msgstr "" "aseg煤rate que 'version: \"3.8\"' est茅 en las configuraciones de compose" -#: pkg/lint/recipe.go:163 +#: pkg/lint/recipe.go:170 msgid "ensure \"image: ...\" set on all services" msgstr "aseg煤rate que \"image: ...\" est茅 establecido en todos los servicios" @@ -3477,9 +3482,9 @@ msgstr "archivo de entorno (env) para %s tiene problemas: %s" msgid "err: %v, " msgstr "error: %v, " -#: cli/recipe/lint.go:82 cli/recipe/lint.go:144 pkg/lint/recipe.go:132 -#: pkg/lint/recipe.go:139 pkg/lint/recipe.go:146 pkg/lint/recipe.go:153 -#: pkg/lint/recipe.go:161 pkg/lint/recipe.go:168 pkg/lint/recipe.go:175 +#: cli/recipe/lint.go:82 cli/recipe/lint.go:144 pkg/lint/recipe.go:139 +#: pkg/lint/recipe.go:146 pkg/lint/recipe.go:153 pkg/lint/recipe.go:160 +#: pkg/lint/recipe.go:168 pkg/lint/recipe.go:175 pkg/lint/recipe.go:182 msgid "error" msgstr "error" @@ -3602,6 +3607,11 @@ msgstr "馃洃 argh! error al crear secreto %s" msgid "failed to create volume %s on %s: %s" msgstr "馃洃 error al crear el volumen %s en %s: %s" +#: pkg/client/registry.go:51 +#, fuzzy, c-format +msgid "failed to fetch manifest for %s:%s, saw: %s" +msgstr "馃洃 error al analizar la imagen %s; en: %s: %s" + #: pkg/secret/secret.go:104 #, c-format msgid "failed to generate random bytes: %w" @@ -3640,11 +3650,16 @@ msgstr "馃洃 error al coincidir con el servicio seleccionado" msgid "failed to migrate app config: %s" msgstr "馃洃 error al migrar la configuraci贸n de la aplicaci贸n: %s" -#: pkg/client/registry.go:24 +#: pkg/client/registry.go:22 #, c-format msgid "failed to parse image %s, saw: %s" msgstr "馃洃 error al analizar la imagen %s; detectado: %s" +#: pkg/client/registry.go:42 +#, fuzzy, c-format +msgid "failed to parse image %s:%s, saw: %s" +msgstr "馃洃 error al analizar la imagen %s; detectado: %s" + #: pkg/recipe/git.go:437 #, c-format msgid "failed to parse image for %s in %s: %s" @@ -4022,16 +4037,22 @@ msgstr "" msgid "ignore uncommitted recipes changes" msgstr "Ignorar cambios no confirmados en recetas" +#: pkg/recipe/compose.go:162 +#, c-format +msgid "" +"image %s for %s uses a variable, skipping update, please update %s manually" +msgstr "" + #: cli/app/undeploy.go:156 cli/server/prune.go:74 #, c-format msgid "images pruned: %d; space reclaimed: %s" msgstr "im谩genes descartadas: %d; espacio recuperado: %s" -#: pkg/lint/recipe.go:148 +#: pkg/lint/recipe.go:155 msgid "include \"deploy: labels: ...\" stanza" msgstr "incluir el bloque \"deploy: labels: ...\" stanza" -#: pkg/lint/recipe.go:155 +#: pkg/lint/recipe.go:162 msgid "include \"traefik.enable=true\" deploy label" msgstr "incluir la etiqueta de despliegue \"traefik.enable=true\"" @@ -4196,7 +4217,7 @@ msgstr "" "teclas de escape de separaci贸n inv谩lidas, utilizando el valor " "predeterminado: %s" -#: pkg/lint/recipe.go:504 +#: pkg/lint/recipe.go:533 msgid "invalid lightweight tag detected" msgstr "etiqueta ligera inv谩lida detectada" @@ -4258,12 +4279,12 @@ msgstr "" msgid "lint [flags]" msgstr "validar [opciones]" -#: pkg/lint/recipe.go:187 +#: pkg/lint/recipe.go:194 #, c-format msgid "linting for critical errors in %s configs" msgstr "buscando errores cr铆ticos en las configuraciones de %s" -#: pkg/lint/recipe.go:215 +#: pkg/lint/recipe.go:222 #, c-format msgid "linting successful, %s is well configured" msgstr "linting exitoso, %s est谩 bien configurado" @@ -4468,7 +4489,7 @@ msgstr "" msgid "name" msgstr "nombre" -#: pkg/lint/recipe.go:141 +#: pkg/lint/recipe.go:148 msgid "name a servce 'app'" msgstr "nombrar un servicio 'app'" @@ -4557,7 +4578,7 @@ msgstr "no se encontr贸 etiqueta %s para %s" msgid "no .git directory in %s?" msgstr "驴no hay un directorio .git en %s?" -#: pkg/recipe/compose.go:29 +#: pkg/recipe/compose.go:30 #, c-format msgid "no COMPOSE_FILE detected, loading default: %s" msgstr "no se detect贸 COMPOSE_FILE, cargando el predeterminado: %s" @@ -4608,7 +4629,7 @@ msgstr "no se encontraron contenedores que coincidan con el filtro %v?" msgid "no domain provided" msgstr "no se proporcion贸 dominio" -#: pkg/recipe/compose.go:314 +#: pkg/recipe/compose.go:310 msgid "no existing label found, automagic insertion not supported yet" msgstr "" "no se encontr贸 ninguna etiqueta existente, la inserci贸n autom谩gica no es " @@ -4792,11 +4813,11 @@ msgstr "" msgid "one of / arguments must take $SERVICE:$PATH form" msgstr "uno de los argumentos / debe tener la forma $SERVICE:$PATH" -#: pkg/lint/recipe.go:140 +#: pkg/lint/recipe.go:147 msgid "one service named 'app'" msgstr "un servicio llamado 'app'" -#: pkg/lint/recipe.go:176 +#: pkg/lint/recipe.go:183 msgid "only annotated tags used for recipe version" msgstr "solo se usaron etiquetas anotadas para la versi贸n de la receta" @@ -4834,11 +4855,6 @@ msgstr "arriba" msgid "parsed %s for %s" msgstr "parseado %s para %s" -#: pkg/recipe/compose.go:160 -#, c-format -msgid "parsed %s from %s" -msgstr "parseado %s de %s" - #: cli/app/cmd.go:134 cli/app/cmd.go:180 #, c-format msgid "parsed following command arguments: %s" @@ -5099,7 +5115,7 @@ msgstr "receta" msgid "recipe %s does not exist?" msgstr "驴la receta %s no existe?" -#: pkg/lint/recipe.go:212 +#: pkg/lint/recipe.go:219 #, c-format msgid "" "recipe '%s' failed lint checks:\n" @@ -5126,6 +5142,11 @@ msgstr "reducir la longitud de los nombres secretos a 12 caracteres" msgid "ref" msgstr "" +#: pkg/client/registry.go:56 +#, fuzzy, c-format +msgid "registry did not return a digest for %s:%s" +msgstr "馃洃 error al analizar la imagen %s; en: %s: %s" + #. translators: `recipe release` command #: cli/recipe/release.go:35 msgid "release [version] [flags]" @@ -5224,6 +5245,11 @@ msgstr "eliminando configuraci贸n %s" msgid "removing configs failed: %s" msgstr "eliminaci贸n de configuraciones fallida: %s" +#: pkg/recipe/compose.go:120 +#, c-format +msgid "removing digest from %s for %s, use --pindigests to pin the new tag" +msgstr "" + #: pkg/upstream/stack/remove.go:148 #, c-format msgid "removing network %s" @@ -5249,7 +5275,7 @@ msgstr "eliminaci贸n de volumen %s fallida: %s" msgid "removing volumes failed: %s" msgstr "error al eliminar vol煤menes: %s" -#: pkg/lint/recipe.go:177 +#: pkg/lint/recipe.go:184 msgid "replace lightweight tag with annotated tag" msgstr "reemplazar etiqueta ligera por etiqueta anotada" @@ -5332,7 +5358,7 @@ msgstr "recuperado %s como servicio con respaldo (backup) habilitado" msgid "retrieved %s as target container on %s" msgstr "recuperado %s como contenedor destino en %s" -#: pkg/recipe/compose.go:59 +#: pkg/recipe/compose.go:60 #, c-format msgid "retrieved %s configs for %s" msgstr "recuperado %s configuraci贸n(es) para %s" @@ -5511,7 +5537,7 @@ msgstr "buscando abra.sh para la versi贸n de %s" msgid "secret %s is > %d chars when combined with %s" msgstr "el secreto %s tiene > %d caracteres cuando se combina con %s" -#: pkg/lint/recipe.go:481 +#: pkg/lint/recipe.go:510 #, c-format msgid "secret %s is longer than 12 characters" msgstr "el secreto %s es m谩s largo que 12 caracteres" @@ -5930,7 +5956,7 @@ msgstr "驴Modo swarm no habilitado en el servidor local?" msgid "sync [flags]" msgstr "sincronizar [opciones]" -#: pkg/recipe/compose.go:309 +#: pkg/recipe/compose.go:305 #, c-format msgid "synced label %s to service %s" msgstr "etiqueta sincronizada %s con el servicio %s" @@ -6028,7 +6054,7 @@ msgstr "las opciones tmpfs son incompatibles con el tipo volume" msgid "toggle non-interactive mode" msgstr "activar modo no interactivo" -#: pkg/lint/recipe.go:154 +#: pkg/lint/recipe.go:161 msgid "traefik routing enabled" msgstr "enrutamiento de traefik habilitado" @@ -6181,7 +6207,7 @@ msgstr "no se pudo hacer un soft reset en %s: %s" msgid "unable to inspect container for %s: %s" msgstr "no se pudo inspeccionar el contenedor para %s: %s" -#: pkg/lint/recipe.go:496 +#: pkg/lint/recipe.go:525 #, c-format msgid "unable to list local tags for %s" msgstr "no se pudieron listar las etiquetas locales para %s" @@ -6195,7 +6221,7 @@ msgstr "no se pudo localizar el comando git; no se puede mostrar el diff" msgid "unable to look up server context for %s: %s" msgstr "no se pudo obtener el contexto del servidor para %s: %s" -#: cli/recipe/fetch.go:77 pkg/git/read.go:26 pkg/lint/recipe.go:491 +#: cli/recipe/fetch.go:77 pkg/git/read.go:26 pkg/lint/recipe.go:520 #: pkg/recipe/git.go:243 #, c-format msgid "unable to open %s: %s" @@ -6227,16 +6253,16 @@ msgid "unable to parse %s, error was: %s, skipping upgrade for %s" msgstr "" "no se pudo analizar %s, el error fue: %s, omitiendo la actualizaci贸n para %s" -#: pkg/recipe/compose.go:154 -#, c-format -msgid "unable to parse %s, skipping" -msgstr "no se pudo parsear %s; se omitir谩" - #: cli/app/list.go:167 #, c-format msgid "unable to parse %s, skipping as upgrade option" msgstr "no se pudo parsear %s; se omitir谩 como opci贸n de actualizaci贸n" +#: pkg/recipe/compose.go:154 +#, fuzzy, c-format +msgid "unable to parse %s: %s" +msgstr "no se pudo abrir %s: %s" + #: pkg/upstream/stack/stack.go:157 #, c-format msgid "unable to parse '%s' value as bool: %s" @@ -6247,6 +6273,11 @@ msgstr "no se pudo parsear el valor '%s' como bool: %s" msgid "unable to parse deploy version: %s" msgstr "no se puede analizar la versi贸n de despliegue: %s" +#: pkg/recipe/compose.go:229 +#, fuzzy, c-format +msgid "unable to parse image %s: %s" +msgstr "no se pudo crear %s: %s" + #: cli/run.go:176 #, c-format msgid "unable to proceed, %s does not exist?" @@ -6461,16 +6492,11 @@ msgstr "arriba" msgid "updating %s" msgstr "actualizando %s" -#: pkg/recipe/compose.go:176 pkg/recipe/compose.go:303 +#: pkg/recipe/compose.go:179 pkg/recipe/compose.go:299 #, c-format msgid "updating %s to %s in %s" msgstr "actualizando %s a %s en %s" -#: pkg/recipe/compose.go:236 -#, fuzzy, c-format -msgid "updating pinned reference %s to %s in %s" -msgstr "actualizando %s a %s en %s" - #. translators: `abra upgrade` command for autocompletion #: cli/run.go:103 msgid "upgrade" @@ -6510,6 +6536,11 @@ msgstr "actualizando el servicio %s de %s a %s (etiqueta fijada: %s)" msgid "upload your recipe to git.coopcloud.tech/coop-cloud/..." msgstr "sube tu receta a git.coopcloud.tech/coop-cloud/..." +#: pkg/lint/recipe.go:132 +#, fuzzy +msgid "use a digest for all images" +msgstr "usar una etiqueta para todas las im谩genes" + #: pkg/lint/recipe.go:83 msgid "use a tag for all images" msgstr "usar una etiqueta para todas las im谩genes" @@ -6561,7 +6592,7 @@ msgstr "validado %s como argumento de receta" msgid "validated %s as server argument" msgstr "validado %s como argumento de servidor" -#: pkg/lint/recipe.go:170 +#: pkg/lint/recipe.go:177 msgid "vendor config versions in an abra.sh" msgstr "versiones de configuraci贸n del proveedor en un abra.sh" @@ -6718,7 +6749,7 @@ msgstr "esperando a que %d tarea(s) alcancen un estado terminal" #: pkg/lint/recipe.go:21 pkg/lint/recipe.go:67 pkg/lint/recipe.go:74 #: pkg/lint/recipe.go:81 pkg/lint/recipe.go:88 pkg/lint/recipe.go:95 #: pkg/lint/recipe.go:102 pkg/lint/recipe.go:109 pkg/lint/recipe.go:116 -#: pkg/lint/recipe.go:123 +#: pkg/lint/recipe.go:123 pkg/lint/recipe.go:130 msgid "warn" msgstr "advertencia" @@ -6792,6 +6823,18 @@ msgstr "" msgid "{name: %s, " msgstr "{nombre: %s, " +#, c-format +#~ msgid "parsed %s from %s" +#~ msgstr "parseado %s de %s" + +#, c-format +#~ msgid "unable to parse %s, skipping" +#~ msgstr "no se pudo parsear %s; se omitir谩" + +#, fuzzy, c-format +#~ msgid "updating pinned reference %s to %s in %s" +#~ msgstr "actualizando %s a %s en %s" + #~ msgid "removed freshly created commit" #~ msgstr "eliminado commit reci茅n creado"