ISOLanguage.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package language
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/types/language"
  4. "strings"
  5. )
  6. // ChineseISOString2Lang 将 中文描述:zh、zho、chi 转换为 types.MyLanguage
  7. func ChineseISOString2Lang(chineseStr string) language.MyLanguage {
  8. switch chineseStr {
  9. case language.ISO_639_1_Chinese, language.ISO_639_2T_Chinese, language.ISO_639_2B_Chinese:
  10. return language.ChineseSimple
  11. default:
  12. return language.Unknown
  13. }
  14. }
  15. // ISOString2SupportLang 从 639-2/B 的语言缩写字符串转换为内部的 MyLanguage 类型,值支持
  16. // https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
  17. func ISOString2SupportLang(isoString string) language.MyLanguage {
  18. switch strings.ToLower(isoString) {
  19. case language.ISO_639_2B_Chinese:
  20. return language.ChineseSimple
  21. case language.ISO_639_2B_English:
  22. return language.English
  23. case language.ISO_639_2B_Japanese:
  24. return language.Japanese
  25. case language.ISO_639_2B_Korean:
  26. return language.Korean
  27. default:
  28. return language.Unknown
  29. }
  30. }
  31. // IsSupportISOString 是否是受支持的 639-2/B 语言,中、英、日、韩
  32. func IsSupportISOString(isoString string) bool {
  33. switch strings.ToLower(isoString) {
  34. case language.ISO_639_2B_Chinese, language.ISO_639_2B_English, language.ISO_639_2B_Japanese, language.ISO_639_2B_Korean:
  35. return true
  36. default:
  37. return false
  38. }
  39. }