See #647 See toolshed/xgettext-go#1
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@
|
|||||||
/kadabra
|
/kadabra
|
||||||
dist/
|
dist/
|
||||||
tests/integration/.bats
|
tests/integration/.bats
|
||||||
|
/bin
|
||||||
|
10
Makefile
10
Makefile
@ -78,14 +78,20 @@ update-po:
|
|||||||
done
|
done
|
||||||
|
|
||||||
.PHONY: update-pot
|
.PHONY: update-pot
|
||||||
update-pot:
|
update-pot: ./bin/xgettext-go
|
||||||
@xgettext-go \
|
@./bin/xgettext-go \
|
||||||
-o pkg/i18n/locales/$(DOMAIN).pot \
|
-o pkg/i18n/locales/$(DOMAIN).pot \
|
||||||
--keyword=i18n.G \
|
--keyword=i18n.G \
|
||||||
|
--keyword-ctx=i18n.GC \
|
||||||
--sort-output \
|
--sort-output \
|
||||||
--add-comments-tag="translators" \
|
--add-comments-tag="translators" \
|
||||||
$$(find . -name "*.go" -not -path "*vendor*" | sort)
|
$$(find . -name "*.go" -not -path "*vendor*" | sort)
|
||||||
|
|
||||||
|
./bin/xgettext-go:
|
||||||
|
@mkdir -p ./bin && \
|
||||||
|
wget -O ./bin/xgettext-go https://git.coopcloud.tech/toolshed/xgettext-go/raw/branch/main/xgettext-go && \
|
||||||
|
chmod +x ./bin/xgettext-go
|
||||||
|
|
||||||
.PHONY: update-pot-po-metadata
|
.PHONY: update-pot-po-metadata
|
||||||
update-pot-po-metadata:
|
update-pot-po-metadata:
|
||||||
@sed -i "s/charset=CHARSET/charset=UTF-8/g" pkg/i18n/locales/*.po pkg/i18n/locales/*.pot
|
@sed -i "s/charset=CHARSET/charset=UTF-8/g" pkg/i18n/locales/*.po pkg/i18n/locales/*.pot
|
||||||
|
@ -9,7 +9,7 @@ import (
|
|||||||
|
|
||||||
// translators: `abra app` aliases. use a comma separated list of aliases with
|
// translators: `abra app` aliases. use a comma separated list of aliases with
|
||||||
// no spaces in between
|
// no spaces in between
|
||||||
var appAliases = i18n.G("a")
|
var appAliases = i18n.GC("a", "abra app")
|
||||||
|
|
||||||
var AppCommand = &cobra.Command{
|
var AppCommand = &cobra.Command{
|
||||||
// translators: `app` command group
|
// translators: `app` command group
|
||||||
|
@ -268,7 +268,7 @@ func init() {
|
|||||||
AppBackupListCommand.Flags().BoolVarP(
|
AppBackupListCommand.Flags().BoolVarP(
|
||||||
&showAllPaths,
|
&showAllPaths,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "app backup"),
|
||||||
false,
|
false,
|
||||||
i18n.G("show all paths"),
|
i18n.G("show all paths"),
|
||||||
)
|
)
|
||||||
|
@ -166,7 +166,7 @@ func init() {
|
|||||||
AppRestartCommand.Flags().BoolVarP(
|
AppRestartCommand.Flags().BoolVarP(
|
||||||
&allServices,
|
&allServices,
|
||||||
i18n.G("all-services"),
|
i18n.G("all-services"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "app restart"),
|
||||||
false,
|
false,
|
||||||
i18n.G("restart all services"),
|
i18n.G("restart all services"),
|
||||||
)
|
)
|
||||||
|
@ -574,7 +574,7 @@ func init() {
|
|||||||
AppSecretGenerateCommand.Flags().BoolVarP(
|
AppSecretGenerateCommand.Flags().BoolVarP(
|
||||||
&generateAllSecrets,
|
&generateAllSecrets,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "app secret generate"),
|
||||||
false,
|
false,
|
||||||
i18n.G("generate all secrets"),
|
i18n.G("generate all secrets"),
|
||||||
)
|
)
|
||||||
@ -614,7 +614,7 @@ func init() {
|
|||||||
AppSecretRmCommand.Flags().BoolVarP(
|
AppSecretRmCommand.Flags().BoolVarP(
|
||||||
&rmAllSecrets,
|
&rmAllSecrets,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "app secret rm"),
|
||||||
false,
|
false,
|
||||||
i18n.G("remove all secrets"),
|
i18n.G("remove all secrets"),
|
||||||
)
|
)
|
||||||
|
@ -119,7 +119,7 @@ func init() {
|
|||||||
RecipeFetchCommand.Flags().BoolVarP(
|
RecipeFetchCommand.Flags().BoolVarP(
|
||||||
&fetchAllRecipes,
|
&fetchAllRecipes,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "recipe fetch"),
|
||||||
false,
|
false,
|
||||||
i18n.G("fetch all recipes"),
|
i18n.G("fetch all recipes"),
|
||||||
)
|
)
|
||||||
|
@ -381,7 +381,7 @@ func init() {
|
|||||||
RecipeUpgradeCommand.Flags().BoolVarP(
|
RecipeUpgradeCommand.Flags().BoolVarP(
|
||||||
&allTags,
|
&allTags,
|
||||||
i18n.G("all-tags"),
|
i18n.G("all-tags"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "recipe upgrade"),
|
||||||
false,
|
false,
|
||||||
i18n.G("list all tags, not just upgrades"),
|
i18n.G("list all tags, not just upgrades"),
|
||||||
)
|
)
|
||||||
|
@ -20,7 +20,7 @@ import (
|
|||||||
|
|
||||||
// translators: `abra server add` aliases. use a comma separated list of
|
// translators: `abra server add` aliases. use a comma separated list of
|
||||||
// aliases with no spaces in between
|
// aliases with no spaces in between
|
||||||
var serverAddAliases = i18n.G("a")
|
var serverAddAliases = i18n.GC("a", "server add")
|
||||||
|
|
||||||
var ServerAddCommand = &cobra.Command{
|
var ServerAddCommand = &cobra.Command{
|
||||||
// translators: `server add` command
|
// translators: `server add` command
|
||||||
|
@ -96,7 +96,7 @@ func init() {
|
|||||||
ServerPruneCommand.Flags().BoolVarP(
|
ServerPruneCommand.Flags().BoolVarP(
|
||||||
&allFilter,
|
&allFilter,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "server prune"),
|
||||||
false,
|
false,
|
||||||
i18n.G("remove all unused images"),
|
i18n.G("remove all unused images"),
|
||||||
)
|
)
|
||||||
|
@ -551,7 +551,7 @@ func init() {
|
|||||||
UpgradeCommand.Flags().BoolVarP(
|
UpgradeCommand.Flags().BoolVarP(
|
||||||
&updateAll,
|
&updateAll,
|
||||||
i18n.G("all"),
|
i18n.G("all"),
|
||||||
i18n.G("a"),
|
i18n.GC("a", "abra upgrade"),
|
||||||
false,
|
false,
|
||||||
i18n.G("update all deployed apps"),
|
i18n.G("update all deployed apps"),
|
||||||
)
|
)
|
||||||
|
@ -20,6 +20,7 @@ var (
|
|||||||
Locale = DefaultLocale
|
Locale = DefaultLocale
|
||||||
_, Mo = LoadLocale()
|
_, Mo = LoadLocale()
|
||||||
G = Mo.Get
|
G = Mo.Get
|
||||||
|
GC = Mo.GetC
|
||||||
)
|
)
|
||||||
|
|
||||||
func LoadLocale() (string, *gotext.Mo) {
|
func LoadLocale() (string, *gotext.Mo) {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr "Project-Id-Version: \n"
|
msgstr "Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL\n"
|
"Report-Msgid-Bugs-To: EMAIL\n"
|
||||||
"POT-Creation-Date: 2025-09-10 21:44+0200\n"
|
"POT-Creation-Date: 2025-09-28 12:38+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -1668,9 +1668,55 @@ msgstr ""
|
|||||||
|
|
||||||
#. translators: `abra app` aliases. use a comma separated list of aliases with
|
#. translators: `abra app` aliases. use a comma separated list of aliases with
|
||||||
#. no spaces in between
|
#. 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/app/secret.go:617
|
||||||
|
msgctxt "app secret rm"
|
||||||
|
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
|
#. translators: `abra server add` aliases. use a comma separated list of
|
||||||
#. aliases with no spaces in between
|
#. 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"
|
msgid "a"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: \n"
|
"Project-Id-Version: \n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL\n"
|
"Report-Msgid-Bugs-To: EMAIL\n"
|
||||||
"POT-Creation-Date: 2025-09-10 21:44+0200\n"
|
"POT-Creation-Date: 2025-09-28 12:38+0200\n"
|
||||||
"PO-Revision-Date: 2025-09-04 08:14+0000\n"
|
"PO-Revision-Date: 2025-09-04 08:14+0000\n"
|
||||||
"Last-Translator: chasqui <chasqui@cryptolab.net>\n"
|
"Last-Translator: chasqui <chasqui@cryptolab.net>\n"
|
||||||
"Language-Team: Spanish <https://translate.coopcloud.tech/projects/co-op-"
|
"Language-Team: Spanish <https://translate.coopcloud.tech/projects/co-op-"
|
||||||
@ -1695,19 +1695,19 @@ msgid ""
|
|||||||
"\n"
|
"\n"
|
||||||
"Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "
|
"Available Commands:{{range .Commands}}{{if (or .IsAvailableCommand (eq .Name "
|
||||||
"\"help\"))}}\n"
|
"\"help\"))}}\n"
|
||||||
" {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}"
|
" {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}}{{if ."
|
||||||
"{{if .HasAvailableLocalFlags}}\n"
|
"HasAvailableLocalFlags}}\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Flags:\n"
|
"Flags:\n"
|
||||||
"{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}"
|
"{{.LocalFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if ."
|
||||||
"{{if .HasAvailableInheritedFlags}}\n"
|
"HasAvailableInheritedFlags}}\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Global Flags:\n"
|
"Global Flags:\n"
|
||||||
"{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}"
|
"{{.InheritedFlags.FlagUsages | trimTrailingWhitespaces}}{{end}}{{if ."
|
||||||
"{{if .HasHelpSubCommands}}\n"
|
"HasHelpSubCommands}}\n"
|
||||||
"\n"
|
"\n"
|
||||||
"Additional help topics:{{range .Commands}}"
|
"Additional help topics:{{range .Commands}}{{if ."
|
||||||
"{{if .IsAdditionalHelpTopicCommand}}\n"
|
"IsAdditionalHelpTopicCommand}}\n"
|
||||||
" {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}"
|
" {{rpad .CommandPath .CommandPathPadding}} {{.Short}}{{end}}{{end}}{{end}}"
|
||||||
"{{if .HasAvailableSubCommands}}\n"
|
"{{if .HasAvailableSubCommands}}\n"
|
||||||
"\n"
|
"\n"
|
||||||
@ -1829,12 +1829,55 @@ msgstr ""
|
|||||||
|
|
||||||
#. translators: `abra app` aliases. use a comma separated list of aliases with
|
#. translators: `abra app` aliases. use a comma separated list of aliases with
|
||||||
#. no spaces in between
|
#. 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/app/secret.go:617
|
||||||
|
msgctxt "app secret rm"
|
||||||
|
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
|
#. translators: `abra server add` aliases. use a comma separated list of
|
||||||
#. aliases with no spaces in between
|
#. aliases with no spaces in between
|
||||||
#: cli/app/app.go:12 cli/app/backup.go:271 cli/app/restart.go:169
|
#: cli/server/add.go:23
|
||||||
#: cli/app/secret.go:577 cli/app/secret.go:617 cli/recipe/fetch.go:122
|
msgctxt "server add"
|
||||||
#: cli/recipe/upgrade.go:384 cli/server/add.go:23 cli/server/prune.go:99
|
msgid "a"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cli/server/prune.go:99
|
||||||
|
msgctxt "server prune"
|
||||||
|
msgid "a"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: cli/updater/updater.go:554
|
#: cli/updater/updater.go:554
|
||||||
|
msgctxt "abra upgrade"
|
||||||
msgid "a"
|
msgid "a"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -4910,8 +4953,8 @@ msgstr ""
|
|||||||
#: cli/recipe/upgrade.go:228
|
#: cli/recipe/upgrade.go:228
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"service %s is at version %s, but pinned to %s, please correct your "
|
"service %s is at version %s, but pinned to %s, please correct your compose."
|
||||||
"compose.yml file manually!"
|
"yml file manually!"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cli/recipe/upgrade.go:224
|
#: cli/recipe/upgrade.go:224
|
||||||
|
Reference in New Issue
Block a user