mirror of
https://github.com/tobychui/zoraxy.git
synced 2025-08-02 11:26:53 +02:00
68 lines
1.3 KiB
Go
68 lines
1.3 KiB
Go
package geodb
|
|
|
|
import "net/http"
|
|
|
|
// GetRequesterCountryISOCode get the locale of the requester
|
|
func (s *Store) GetLocaleFromRequest(r *http.Request) (string, error) {
|
|
cc := s.GetRequesterCountryISOCode(r)
|
|
return GetLocaleFromCountryCode(cc), nil
|
|
}
|
|
|
|
// GetLocaleFromCountryCode get the locale given the country code
|
|
func GetLocaleFromCountryCode(cc string) string {
|
|
//If you find your country is not in the list, please add it here
|
|
mapCountryToLocale := map[string]string{
|
|
"aa": "ar_AA",
|
|
"by": "be_BY",
|
|
"bg": "bg_BG",
|
|
"es": "ca_ES",
|
|
"cz": "cs_CZ",
|
|
"dk": "da_DK",
|
|
"ch": "de_CH",
|
|
"de": "de_DE",
|
|
"gr": "el_GR",
|
|
"au": "en_AU",
|
|
"be": "en_BE",
|
|
"gb": "en_GB",
|
|
"jp": "en_JP",
|
|
"us": "en_US",
|
|
"za": "en_ZA",
|
|
"fi": "fi_FI",
|
|
"ca": "fr_CA",
|
|
"fr": "fr_FR",
|
|
"hr": "hr_HR",
|
|
"hu": "hu_HU",
|
|
"is": "is_IS",
|
|
"it": "it_IT",
|
|
"il": "iw_IL",
|
|
"kr": "ko_KR",
|
|
"lt": "lt_LT",
|
|
"lv": "lv_LV",
|
|
"mk": "mk_MK",
|
|
"nl": "nl_NL",
|
|
"no": "no_NO",
|
|
"pl": "pl_PL",
|
|
"br": "pt_BR",
|
|
"pt": "pt_PT",
|
|
"ro": "ro_RO",
|
|
"ru": "ru_RU",
|
|
"sp": "sh_SP",
|
|
"sk": "sk_SK",
|
|
"sl": "sl_SL",
|
|
"al": "sq_AL",
|
|
"se": "sv_SE",
|
|
"th": "th_TH",
|
|
"tr": "tr_TR",
|
|
"ua": "uk_UA",
|
|
"cn": "zh_CN",
|
|
"tw": "zh_TW",
|
|
"hk": "zh_HK",
|
|
}
|
|
locale, ok := mapCountryToLocale[cc]
|
|
if !ok {
|
|
return "en-US"
|
|
}
|
|
|
|
return locale
|
|
}
|