func()

in api/simultaneousinterpreter/get_languages.go [63:86]


func (h *handler) filterLanguages(langs []translate.Language) []*supportedLanguage {
	langMap := map[string]bool{}
	for _, l := range langs {
		if _, ok := langMap[l.Tag.String()]; !ok {
			langMap[l.Tag.String()] = true
		}
	}

	filtered := []*supportedLanguage{}

	for _, l := range h.speechSupportedLanguages {
		tag := strings.Split(l.Code, " ")[0] // for Chinese
		lang := strings.Split(tag, "-")[0]

		if _, ok := langMap[lang]; ok {
			filtered = append(filtered, &supportedLanguage{
				Name: l.Name,
				Code: tag,
			})
		}
	}

	return filtered
}