From bc30436f71c524b0401d36d4c5aa2d3d098db66e Mon Sep 17 00:00:00 2001 From: decentral1se Date: Sun, 28 Sep 2025 10:58:10 +0200 Subject: [PATCH] feat: msgctx support See https://git.coopcloud.tech/toolshed/abra/issues/647 See https://git.coopcloud.tech/toolshed/xgettext-go/pulls/1 --- Makefile | 1 + cli/app/app.go | 2 +- cli/app/backup.go | 2 +- cli/app/restart.go | 2 +- cli/app/secret.go | 4 +-- cli/recipe/fetch.go | 2 +- cli/recipe/upgrade.go | 2 +- cli/server/add.go | 2 +- cli/server/prune.go | 2 +- cli/updater/updater.go | 2 +- pkg/i18n/i18n.go | 1 + pkg/i18n/locales/abra.pot | 49 +++++++++++++++++++++++++-- pkg/i18n/locales/es.po | 70 +++++++++++++++++++++++++++++++-------- 13 files changed, 115 insertions(+), 26 deletions(-) diff --git a/Makefile b/Makefile index 07496d36..f47d16ec 100644 --- a/Makefile +++ b/Makefile @@ -82,6 +82,7 @@ update-pot: @xgettext-go \ -o pkg/i18n/locales/$(DOMAIN).pot \ --keyword=i18n.G \ + --keyword-ctx=i18n.GC \ --sort-output \ --add-comments-tag="translators" \ $$(find . -name "*.go" -not -path "*vendor*" | sort) diff --git a/cli/app/app.go b/cli/app/app.go index 66a79bcc..d8913e55 100644 --- a/cli/app/app.go +++ b/cli/app/app.go @@ -9,7 +9,7 @@ import ( // translators: `abra app` aliases. use a comma separated list of aliases with // no spaces in between -var appAliases = i18n.G("a") +var appAliases = i18n.GC("a", "abra app") var AppCommand = &cobra.Command{ // translators: `app` command group diff --git a/cli/app/backup.go b/cli/app/backup.go index 0f0677a0..6f36d456 100644 --- a/cli/app/backup.go +++ b/cli/app/backup.go @@ -268,7 +268,7 @@ func init() { AppBackupListCommand.Flags().BoolVarP( &showAllPaths, i18n.G("all"), - i18n.G("a"), + i18n.GC("a", "app backup"), false, i18n.G("show all paths"), ) diff --git a/cli/app/restart.go b/cli/app/restart.go index 3e877419..49357743 100644 --- a/cli/app/restart.go +++ b/cli/app/restart.go @@ -166,7 +166,7 @@ func init() { AppRestartCommand.Flags().BoolVarP( &allServices, i18n.G("all-services"), - i18n.G("a"), + i18n.GC("a", "app restart"), false, i18n.G("restart all services"), ) diff --git a/cli/app/secret.go b/cli/app/secret.go index b3f5c0f7..ad21852a 100644 --- a/cli/app/secret.go +++ b/cli/app/secret.go @@ -574,7 +574,7 @@ func init() { AppSecretGenerateCommand.Flags().BoolVarP( &generateAllSecrets, i18n.G("all"), - i18n.G("a"), + i18n.GC("a", "app secret generate"), false, i18n.G("generate all secrets"), ) @@ -614,7 +614,7 @@ func init() { AppSecretRmCommand.Flags().BoolVarP( &rmAllSecrets, i18n.G("all"), - i18n.G("a"), + i18n.G("a", "app secret rm"), false, i18n.G("remove all secrets"), ) diff --git a/cli/recipe/fetch.go b/cli/recipe/fetch.go index c3d17757..a2cff8da 100644 --- a/cli/recipe/fetch.go +++ b/cli/recipe/fetch.go @@ -119,7 +119,7 @@ func init() { RecipeFetchCommand.Flags().BoolVarP( &fetchAllRecipes, i18n.G("all"), - i18n.G("a"), + i18n.GC("a", "recipe fetch"), false, i18n.G("fetch all recipes"), ) diff --git a/cli/recipe/upgrade.go b/cli/recipe/upgrade.go index 9aea368b..b202948c 100644 --- a/cli/recipe/upgrade.go +++ b/cli/recipe/upgrade.go @@ -381,7 +381,7 @@ func init() { RecipeUpgradeCommand.Flags().BoolVarP( &allTags, i18n.G("all-tags"), - i18n.G("a"), + i18n.GC("a", "recipe upgrade"), false, i18n.G("list all tags, not just upgrades"), ) diff --git a/cli/server/add.go b/cli/server/add.go index 2fcbd4e3..8e939e08 100644 --- a/cli/server/add.go +++ b/cli/server/add.go @@ -20,7 +20,7 @@ import ( // translators: `abra server add` aliases. use a comma separated list of // aliases with no spaces in between -var serverAddAliases = i18n.G("a") +var serverAddAliases = i18n.GC("a", "server add") var ServerAddCommand = &cobra.Command{ // translators: `server add` command diff --git a/cli/server/prune.go b/cli/server/prune.go index ba61abf5..67e0391c 100644 --- a/cli/server/prune.go +++ b/cli/server/prune.go @@ -96,7 +96,7 @@ func init() { ServerPruneCommand.Flags().BoolVarP( &allFilter, i18n.G("all"), - i18n.G("a"), + i18n.GC("a", "server prune"), false, i18n.G("remove all unused images"), ) diff --git a/cli/updater/updater.go b/cli/updater/updater.go index 6f28216e..052cc866 100644 --- a/cli/updater/updater.go +++ b/cli/updater/updater.go @@ -551,7 +551,7 @@ func init() { UpgradeCommand.Flags().BoolVarP( &updateAll, i18n.G("all"), - i18n.G("a"), + i18n.GC("a", "abra upgrade"), false, i18n.G("update all deployed apps"), ) diff --git a/pkg/i18n/i18n.go b/pkg/i18n/i18n.go index 3a8d1768..8afbc4c1 100644 --- a/pkg/i18n/i18n.go +++ b/pkg/i18n/i18n.go @@ -20,6 +20,7 @@ var ( Locale = DefaultLocale _, Mo = LoadLocale() G = Mo.Get + GC = Mo.GetC ) func LoadLocale() (string, *gotext.Mo) { diff --git a/pkg/i18n/locales/abra.pot b/pkg/i18n/locales/abra.pot index 4ddc9f06..fa8a82de 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: 2025-09-10 21:44+0200\n" + "POT-Creation-Date: 2025-09-28 12:36+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1666,11 +1666,56 @@ msgstr "" msgid "^%s" msgstr "" +#: ./cli/app/secret.go:617 +msgid "a" +msgstr "" + #. translators: `abra app` aliases. use a comma separated list of aliases with #. no spaces in between +#: ./cli/app/app.go:12 +msgctxt "abra app" +msgid "a" +msgstr "" + +#: ./cli/app/backup.go:271 +msgctxt "app backup" +msgid "a" +msgstr "" + +#: ./cli/app/restart.go:169 +msgctxt "app restart" +msgid "a" +msgstr "" + +#: ./cli/app/secret.go:577 +msgctxt "app secret generate" +msgid "a" +msgstr "" + +#: ./cli/recipe/fetch.go:122 +msgctxt "recipe fetch" +msgid "a" +msgstr "" + +#: ./cli/recipe/upgrade.go:384 +msgctxt "recipe upgrade" +msgid "a" +msgstr "" + #. translators: `abra server add` aliases. use a comma separated list of #. aliases with no spaces in between -#: ./cli/app/app.go:12 ./cli/app/backup.go:271 ./cli/app/restart.go:169 ./cli/app/secret.go:577 ./cli/app/secret.go:617 ./cli/recipe/fetch.go:122 ./cli/recipe/upgrade.go:384 ./cli/server/add.go:23 ./cli/server/prune.go:99 ./cli/updater/updater.go:554 +#: ./cli/server/add.go:23 +msgctxt "server add" +msgid "a" +msgstr "" + +#: ./cli/server/prune.go:99 +msgctxt "server prune" +msgid "a" +msgstr "" + +#: ./cli/updater/updater.go:554 +msgctxt "abra upgrade" msgid "a" msgstr "" diff --git a/pkg/i18n/locales/es.po b/pkg/i18n/locales/es.po index 9fd9351d..fdc1f764 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: 2025-09-10 21:44+0200\n" +"POT-Creation-Date: 2025-09-28 12:36+0200\n" "PO-Revision-Date: 2025-09-04 08:14+0000\n" "Last-Translator: chasqui \n" "Language-Team: Spanish