package torrentLanguages import ( "strings" "github.com/NyaaPantsu/nyaa/config" "github.com/NyaaPantsu/nyaa/utils/publicSettings" ) var torrentLanguages publicSettings.Languages func initTorrentLanguages() { languages := publicSettings.GetAvailableLanguages() var langSort []string for _, lang := range languages { langSort = append(langSort, lang.Code) } // Also support languages we don't have a translation langSorted := publicSettings.ParseLanguages(append(langSort, config.Get().Torrents.AdditionalLanguages...)) prevLang := "" for _, lang := range langSorted { if prevLang == lang.Code { last := len(torrentLanguages) - 1 if last > 0 && !strings.Contains(torrentLanguages[last].Name, lang.Name) { torrentLanguages[last].Name += ", " + lang.Name torrentLanguages[last].Tag += ", " + lang.Tag } } else { prevLang = lang.Code torrentLanguages = append(torrentLanguages, lang) } } } // GetTorrentLanguages returns a list of available torrent languages. func GetTorrentLanguages() publicSettings.Languages { if torrentLanguages == nil { initTorrentLanguages() } return torrentLanguages } // LanguageExists check if said language is available for torrents func LanguageExists(languageCode string) bool { langs := GetTorrentLanguages() for _, lang := range langs { if lang.Code == publicSettings.GetParentTag(languageCode).String() { return true } } return false }