add Czech translations, update README.md
This commit is contained in:
parent
94a79afa6e
commit
d2b06512fe
|
@ -3,17 +3,16 @@
|
||||||
A Discord bot for the online game Tribal Wars.
|
A Discord bot for the online game Tribal Wars.
|
||||||
|
|
||||||
Features:
|
Features:
|
||||||
|
|
||||||
1. Coords translation
|
1. Coords translation
|
||||||
|
|
||||||
![Screenshot](/screenshots/coordstranslation.png?raw=true)
|
![Screenshot](/screenshots/coordstranslation.png?raw=true)
|
||||||
|
|
||||||
2. Near real-time notifications about conquers
|
2. Live conquer notifications
|
||||||
|
|
||||||
![Screenshot](/screenshots/notifications2.png?raw=true)
|
![Screenshot](/screenshots/notifications2.png?raw=true)
|
||||||
|
|
||||||
3. Tribe members ordered by OD/ODA/ODD/ODS/points
|
3. List of tribe members ordered by OD/ODA/ODD/ODS/points
|
||||||
4. Translated into 3 languages: Polish, English, Dutch
|
4. Translated into 4 languages: Polish, Czech, English, Dutch
|
||||||
|
|
||||||
[You can check all available commands here.](https://dcbot.tribalwarshelp.com/commands/)
|
[You can check all available commands here.](https://dcbot.tribalwarshelp.com/commands/)
|
||||||
|
|
||||||
|
|
15
main.go
15
main.go
|
@ -50,28 +50,22 @@ func main() {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
dirWithMessages := path.Join(dir, "message", "translations")
|
dirWithMessages := path.Join(dir, "message", "translations")
|
||||||
if err := message.LoadMessageFiles(dirWithMessages); err != nil {
|
if err := message.LoadMessages(dirWithMessages); err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
logrus.WithField("dir", dirWithMessages).
|
logrus.WithField("dir", dirWithMessages).
|
||||||
WithField("languages", message.LanguageTags()).
|
WithField("languages", message.LanguageTags()).
|
||||||
Info("Loaded messages")
|
Info("Loaded messages")
|
||||||
|
|
||||||
dbOptions := &pg.Options{
|
db := pg.Connect(&pg.Options{
|
||||||
User: os.Getenv("DB_USER"),
|
User: os.Getenv("DB_USER"),
|
||||||
Password: os.Getenv("DB_PASSWORD"),
|
Password: os.Getenv("DB_PASSWORD"),
|
||||||
Database: os.Getenv("DB_NAME"),
|
Database: os.Getenv("DB_NAME"),
|
||||||
Addr: os.Getenv("DB_HOST") + ":" + os.Getenv("DB_PORT"),
|
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() {
|
defer func() {
|
||||||
if err := db.Close(); err != nil {
|
if err := db.Close(); err != nil {
|
||||||
logrus.WithFields(dbFields).Fatalln(err)
|
logrus.Fatalln(err)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
if strings.ToUpper(os.Getenv("LOG_DB_QUERIES")) == "TRUE" {
|
if strings.ToUpper(os.Getenv("LOG_DB_QUERIES")) == "TRUE" {
|
||||||
|
@ -93,7 +87,6 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logrus.Fatal(err)
|
logrus.Fatal(err)
|
||||||
}
|
}
|
||||||
logrus.WithFields(dbFields).Info("Connection with the database has been established")
|
|
||||||
|
|
||||||
api := sdk.New(os.Getenv("API_URL"))
|
api := sdk.New(os.Getenv("API_URL"))
|
||||||
|
|
||||||
|
|
|
@ -12,11 +12,6 @@ import (
|
||||||
var lang = language.English
|
var lang = language.English
|
||||||
var bundle = i18n.NewBundle(lang)
|
var bundle = i18n.NewBundle(lang)
|
||||||
|
|
||||||
func SetDefaultLanguage(tag language.Tag) {
|
|
||||||
lang = tag
|
|
||||||
bundle = i18n.NewBundle(tag)
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetDefaultLanguage() language.Tag {
|
func GetDefaultLanguage() language.Tag {
|
||||||
return lang
|
return lang
|
||||||
}
|
}
|
||||||
|
@ -29,7 +24,7 @@ func LanguageTags() []language.Tag {
|
||||||
return bundle.LanguageTags()
|
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 {
|
return filepath.Walk(root, func(path string, info os.FileInfo, err error) error {
|
||||||
if path != root {
|
if path != root {
|
||||||
bundle.MustLoadMessageFile(path)
|
bundle.MustLoadMessageFile(path)
|
||||||
|
|
|
@ -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."
|
||||||
|
}
|
|
@ -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.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.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.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.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.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.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.",
|
"help.observations": "**{{.Command}}** [id grupy z {{.GroupsCommand}}] - pokazuje plemiona należące do wybranej grupy.",
|
||||||
|
|
Reference in New Issue