国家地区接口优化

This commit is contained in:
2026-01-30 15:45:55 +08:00
parent 6868a67ed7
commit 8ef66b2cb1
16 changed files with 491 additions and 95 deletions

View File

@@ -1,26 +1,37 @@
package util
import "golang.org/x/text/language"
type Region struct {
Value string `json:"value"`
Label string `json:"label"`
}
var AllRegions = []Region{
{Value: "zh-CN", Label: "中国 (zh-CN)"},
{Value: "en-US", Label: "美国 (en-US)"},
{Value: "ja-JP", Label: "日本 (ja-JP)"},
{Value: "en-AU", Label: "澳大利亚 (en-AU)"},
{Value: "en-GB", Label: "英国 (en-GB)"},
{Value: "de-DE", Label: "德国 (de-DE)"},
{Value: "en-NZ", Label: "新西兰 (en-NZ)"},
{Value: "en-CA", Label: "加拿大 (en-CA)"},
{Value: "fr-FR", Label: "法国 (fr-FR)"},
{Value: "it-IT", Label: "意大利 (it-IT)"},
{Value: "es-ES", Label: "西班牙 (es-ES)"},
{Value: "pt-BR", Label: "巴西 (pt-BR)"},
{Value: "ko-KR", Label: "韩国 (ko-KR)"},
{Value: "en-IN", Label: "印度 (en-IN)"},
{Value: "ru-RU", Label: "俄罗斯 (ru-RU)"},
{Value: "zh-HK", Label: "中国香港 (zh-HK)"},
{Value: "zh-TW", Label: "中国台湾 (zh-TW)"},
// IsValidRegion 校验是否为标准的地区编码 (BCP 47)
func IsValidRegion(mkt string) bool {
if mkt == "" {
return false
}
_, err := language.Parse(mkt)
return err == nil
}
var AllRegions = []Region{
{Value: "zh-CN", Label: "中国"},
{Value: "en-US", Label: "美国"},
{Value: "ja-JP", Label: "日本"},
{Value: "en-AU", Label: "澳大利亚"},
{Value: "en-GB", Label: "英国"},
{Value: "de-DE", Label: "德国"},
{Value: "en-NZ", Label: "新西兰"},
{Value: "en-CA", Label: "加拿大"},
{Value: "fr-FR", Label: "法国"},
{Value: "it-IT", Label: "意大利"},
{Value: "es-ES", Label: "西班牙"},
{Value: "pt-BR", Label: "巴西"},
{Value: "ko-KR", Label: "韩国"},
{Value: "en-IN", Label: "印度"},
{Value: "ru-RU", Label: "俄罗斯"},
{Value: "zh-HK", Label: "中国香港"},
{Value: "zh-TW", Label: "中国台湾"},
}