add Czech translations, update README.md

This commit is contained in:
Dawid Wysokiński 2021-05-02 16:50:10 +02:00
parent 94a79afa6e
commit d2b06512fe
5 changed files with 123 additions and 23 deletions

View File

@ -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/)

15
main.go
View File

@ -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"))

View File

@ -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)

View File

@ -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."
}

View File

@ -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.",