12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- 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
- }
|