From d2b06512fe3e9c4b1033771045c69f81dd55e5dc Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Sun, 2 May 2021 16:50:10 +0200 Subject: [PATCH] add Czech translations, update README.md --- README.md | 7 +- main.go | 15 +--- message/bundle.go | 7 +- message/translations/active.cs.json | 113 ++++++++++++++++++++++++++++ message/translations/active.pl.json | 4 +- 5 files changed, 123 insertions(+), 23 deletions(-) create mode 100644 message/translations/active.cs.json diff --git a/README.md b/README.md index 6b939d1..37cf84c 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,16 @@ A Discord bot for the online game Tribal Wars. Features: - 1. Coords translation ![Screenshot](/screenshots/coordstranslation.png?raw=true) -2. Near real-time notifications about conquers +2. Live conquer notifications ![Screenshot](/screenshots/notifications2.png?raw=true) -3. Tribe members ordered by OD/ODA/ODD/ODS/points -4. Translated into 3 languages: Polish, English, Dutch +3. List of tribe members ordered by OD/ODA/ODD/ODS/points +4. Translated into 4 languages: Polish, Czech, English, Dutch [You can check all available commands here.](https://dcbot.tribalwarshelp.com/commands/) diff --git a/main.go b/main.go index fcedd33..a8fda6c 100644 --- a/main.go +++ b/main.go @@ -50,28 +50,22 @@ func main() { logrus.Fatal(err) } dirWithMessages := path.Join(dir, "message", "translations") - if err := message.LoadMessageFiles(dirWithMessages); err != nil { + if err := message.LoadMessages(dirWithMessages); err != nil { logrus.Fatal(err) } logrus.WithField("dir", dirWithMessages). WithField("languages", message.LanguageTags()). Info("Loaded messages") - dbOptions := &pg.Options{ + db := pg.Connect(&pg.Options{ User: os.Getenv("DB_USER"), Password: os.Getenv("DB_PASSWORD"), Database: os.Getenv("DB_NAME"), Addr: os.Getenv("DB_HOST") + ":" + os.Getenv("DB_PORT"), - } - dbFields := logrus.Fields{ - "user": dbOptions.User, - "database": dbOptions.Database, - "addr": dbOptions.Addr, - } - db := pg.Connect(dbOptions) + }) defer func() { if err := db.Close(); err != nil { - logrus.WithFields(dbFields).Fatalln(err) + logrus.Fatalln(err) } }() if strings.ToUpper(os.Getenv("LOG_DB_QUERIES")) == "TRUE" { @@ -93,7 +87,6 @@ func main() { if err != nil { logrus.Fatal(err) } - logrus.WithFields(dbFields).Info("Connection with the database has been established") api := sdk.New(os.Getenv("API_URL")) diff --git a/message/bundle.go b/message/bundle.go index ce96a71..e600688 100644 --- a/message/bundle.go +++ b/message/bundle.go @@ -12,11 +12,6 @@ import ( var lang = language.English var bundle = i18n.NewBundle(lang) -func SetDefaultLanguage(tag language.Tag) { - lang = tag - bundle = i18n.NewBundle(tag) -} - func GetDefaultLanguage() language.Tag { return lang } @@ -29,7 +24,7 @@ func LanguageTags() []language.Tag { return bundle.LanguageTags() } -func LoadMessageFiles(root string) error { +func LoadMessages(root string) error { return filepath.Walk(root, func(path string, info os.FileInfo, err error) error { if path != root { bundle.MustLoadMessageFile(path) diff --git a/message/translations/active.cs.json b/message/translations/active.cs.json new file mode 100644 index 0000000..f79a6c3 --- /dev/null +++ b/message/translations/active.cs.json @@ -0,0 +1,113 @@ +{ + "help.title": "Nápověda", + "help.description": "Příkazy k použití bota.", + "help.footer": "", + "help.forAllUsers": "Pro všechny", + "help.forAdmins": "Pro správce", + "help.tribe.topoda": "**{{.Command}}** [server] [stránka] [kmenové id nebo kmenový tag, lze použít více než jeden] - vygeneruje ODA seznam hráčů z vybraných kmenů.", + "help.tribe.topodd": "**{{.Command}}** [server] [stránka] [kmenové id nebo kmenový tag, lze použít více než jeden] - vygeneruje ODD seznam hráčů z vybraných kmenů.", + "help.tribe.topods": "**{{.Command}}** [server] [stránka] [kmenové id nebo kmenový tag, lze použít více než jeden] - vygeneruje ODS seznam hráčů z vybraných kmenů.", + "help.tribe.topod": "**{{.Command}}** [server] [stránka] [kmenové id nebo kmenový tag, lze použít více než jeden] - vygeneruje OD seznam hráčů z vybraných kmenů.", + "help.tribe.toppoints": "**{{.Command}}** [server] [stránka] [kmenové id nebo kmenový tag, lze použít více než jeden] - vygeneruje seznam hráčů z vybraných kmenů, seřazený podle bodů.", + "help.author": "**{{.Command}}** - ukáže jak kontaktovat autora.", + "help.addgroup": "**{{.Command}}** - přidat novou pozorovací skupinu.", + "help.groups": "**{{.Command}}** - ukázat seznam skupin vytvořených pro tento server.", + "help.deletegroup": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - vymazat pozorovací skupinu.", + "help.showennobledbarbs": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - zapnout/vypnout notifikace o zabírání barbarských vesnic.", + "help.observe": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] [server] [kmenové id nebo kmenový tag] - přidat kmen do pozorovací skupiny.", + "help.observations": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - ukázat seznam pozorovaných kmenů, které jsou přidány do této skupiny.", + "help.deleteobservation": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] [id z {{.ObservationsCommand}}] - odebrat kmen z pozorovací skupiny.", + "help.conqueredvillages": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - změnit textový channel, ve kterém se ukazují notifikace o dobytých vesnicích. **DŮLEŽITÉ!** Použij tento příkaz pouze v textovém channelu, ve kterém chceš, aby se ti tyto notifikace ukazovaly.", + "help.disableconqueredvillages": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - vypnout notifikace o dobytých vesnicích.", + "help.lostvillages": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - změnit textový channel, ve kterém se ukazují notifikace o ztracených vesnicích. **DŮLEŽITÉ!** Použij tento příkaz pouze v textovém channelu, ve kterém chceš, aby se ti tyto notifikace ukazovaly.", + "help.disablelostvillages": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - vypnout notifikace o ztracených vesnicích.", + "help.changelanguage": "**{{.Command}}** [{{.Languages}}] - změnit jazyk.", + "help.showinternals": "**{{.Command}}** [id skupiny z {{.GroupsCommand}}] - zapnout/vypnout notifikace o skupinovém/kmenovém zabírání.", + "help.coordstranslation": "**{{.Command}}** [server] - zapnout možnost překladu souřadnic.", + "help.disablecoordstranslation": "**{{.Command}}** - vypnout možnost překladu souřadnic.", + + "tribe.invalidPage": "{{.Mention}} Stránka musí být číslo větší než 0.", + "tribe.noTribeID": "{{.Mention}} Alespoň jedno skupinové id/tag je potřeba.", + "tribe.title.orderedByOD": "Seřazeno podle OD", + "tribe.title.orderedByODA": "Seřazeno podle ODA", + "tribe.title.orderedByODD": "Seřazeno podle ODD", + "tribe.title.orderedByODS": "Seřazeno podle ODS", + "tribe.title.orderedByPoints": "Seřazeno podle bodů", + "tribe.tribesNotFound": "{{.Mention}} Kmen nebyl nalezen.", + "tribe.exceededMaximumNumberOfPages": "{{.Mention}} Překročil jsi maximální počet stránek ({{.Page}}/{{.MaxPage}}).", + "tribe.messageLine": "**{{.Index}}**. [`{{.PlayerName}}`]({{.PlayerURL}}) (Kmen: [`{{.TribeTag}}`]({{.TribeURL}}) | Umístění: **{{.Rank}}** | Skóre: **{{.Score}}**)\n", + + "addGroup.groupLimitHasBeenReached": "{{.Mention}} Byl dosažen limit skupiny ({{.Total}}/{{.Limit}}).", + "addGroup.success": "{{.Mention}} Nová skupina byla vytvořena (ID: {{.ID}}).", + + "deleteGroup.invalidID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "deleteGroup.success": "{{.Mention}} Skupina byla vymazána.", + + "groups.noGroupsAdded": "Žádné záznamy k zobrazení.", + "groups.title": "Seznam skupin", + "groups.fieldTitle": "Index | ID | Dobytí | Ztráty | Barbarky | Interní", + + "conqueredVillages.invalidID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "conqueredVillages.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "conqueredVillages.success": "{{.Mention}} Textový channel se úspěšně změnil.", + + "disableConqueredVillages.invalidID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "disableConqueredVillages.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "disableConqueredVillages.success": "{{.Mention}} Notifikace o dobytých vesnicích nadále nebudou zobrazovány.", + + "lostVillages.invalidID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "lostVillages.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "lostVillages.success": "{{.Mention}} Textový channel se úspěšně změnil.", + + "disableLostVillages.invalidID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "disableLostVillages.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "disableLostVillages.success": "{{.Mention}} Notifikace o ztracených vesnicích nadále nebudou zobrazovány.", + + "observe.invalidGroupID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "observe.invalidTribeID": "{{.Mention}} Třetí parametr musí být číslo větší než 0 nebo platná kombinace.", + "observe.serverIsClosed": "{{.Mention}} Server je vypnutý.", + "observe.serverNotFound": "{{.Mention}} Server nebyl nalezen.", + "observe.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "observe.tribeNotFound": "{{.Mention}} Kmen nebyl nalezen.", + "observe.observationLimitHasBeenReached": "{{.Mention}} Pozorovací limit pro tuto skupinu byl dosažen ({{.Total}}/{{.Limit}}).", + "observe.success": "{{.Mention}} Přidáno.", + + "deleteObservation.invalidGroupID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "deleteObservation.invalidObservationID": "{{.Mention}} Pozorovací ID musí být číslo větší než 0.", + "deleteObservation.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "deleteObservation.success": "{{.Mention}} Smazáno.", + + "observations.invalidGroupID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "observations.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "observations.title": "Spravované kmeny\nIndex | ID - Server - Kmen", + + "showEnnobledBarbs.invalidGroupID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "showEnnobledBarbs.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "showEnnobledBarbs.success_1": "{{.Mention}} Notifikace o dobytých barbarských vesnicích nadále nebudou zobrazovány.", + "showEnnobledBarbs.success_2": "{{.Mention}} Byly zapnuty notifikace o dobytí barbarských vesnic.", + + "changeLanguage.languageNotSupported": "{{.Mention}} Jazyk není podporován.", + "changeLanguage.success": "{{.Mention}} Jazyk byl změněn.", + + "showInternals.invalidGroupID": "{{.Mention}} Skupinové ID musí být číslo větší než 0.", + "showInternals.groupNotFound": "{{.Mention}} Skupina nebyla nalezena.", + "showInternals.success_1": "{{.Mention}} Interní notifikace nadále nebudou zobrazovány.", + "showInternals.success_2": "{{.Mention}} Byly zapnuty interní notifikace.", + + "coordsTranslation.title": "Vesnice", + "coordsTranslation.message": "{{.Village}} majitel {{.Player}} (Kmen: {{.Tribe}}).", + "coordsTranslation.serverNotFound": "{{.Mention}} Server nebyl nalezen.", + "coordsTranslation.success": "{{.Mention}} Překládaní souřadnic bylo zapnuto.", + + "disableCoordsTranslation.success": "{{.Mention}} Překládání souřadnic bylo vypnuto.", + + "cron.lostVillages.title": "Ztracené vesnice", + "cron.conqueredVillages.title": "Dobyté vesnice", + "cron.checkEnnoblements.msgLine": "{{.NewOwner}} [{{.NewOwnerTribe}}] dobyl {{.Village}} (Vlastnil: {{.OldOwner}} [{{.OldOwnerTribe}}])", + + "api.defaultError": "{{.Mention}} Momentálně nelze načíst data z API, zkus prosím později.", + + "pagination.labelDisplayedPage": "Stránka: {{.Page}} z {{.MaxPage}}", + + "internalServerError": "{{.Mention}} Došlo k interní chybě serveru, zkus prosím později." +} diff --git a/message/translations/active.pl.json b/message/translations/active.pl.json index 6619829..84e13ab 100644 --- a/message/translations/active.pl.json +++ b/message/translations/active.pl.json @@ -10,9 +10,9 @@ "help.tribe.topod": "**{{.Command}}** [serwer] [strona] [id lub skrót plemienia, można podać więcej niż 1] - generuje listę graczy z wybranych plemion i sortuje po pokonanych ogólnie.", "help.tribe.toppoints": "**{{.Command}}** [serwer] [strona] [id lub skrót plemienia, można podać więcej niż 1] - Generuje listę graczy z wybranych plemion i sortuje po punktach.", "help.author": "**{{.Command}}** - pokazuje możliwe formy kontaktu z autorem.", - "help.addgroup": "**{{.Command}}** - dodaje nową grupę obserwacyjną.", + "help.addgroup": "**{{.Command}}** - dodaje nową grupę.", "help.groups": "**{{.Command}}** - pokazuje listę grup dodanych przez administrację tego serwera Discord.", - "help.deletegroup": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - usuwa grupę obserwacyjną.", + "help.deletegroup": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - usuwa grupę.", "help.showennobledbarbs": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - włącza/wyłącza informacje o podbitych wioskach barbarzyńskich.", "help.observe": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] [serwer] [id lub skrót plemienia] - dodaje plemię do grupy.", "help.observations": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - pokazuje plemiona należące do wybranej grupy.",