AppEngine中是否有基于IP地址或国家/地区(X-AppEngine-Country)获取用户语言的模块?我需要它是ISO 639-2格式。它不一定非常精确,因为用户可以随时更改它。
答案 0 :(得分:1)
这是按国家/地区划分的官方语言列表:
http://en.wikipedia.org/wiki/List_of_official_languages_by_state
您还可以查看此文件,其中包含国家/地区和语言代码:
http://download.geonames.org/export/dump/countryInfo.txt
您可以将它放在一个简单的Python字典中,以便在您的应用程序中使用。
答案 1 :(得分:0)
根据Andrei的回答中的第二个链接,我创建了这本词典。
警告:它不是100%正确,可能不适用于所有人(取决于您需要的特定语言代码格式)。
countryLangs = { "CN":"zh-CN", "IN":"hi", "US":"en", "ID":"id", "BR":"pt-BR", "PK":"ur",
"BD":"bn", "NG":"en", "RU":"ru", "JP":"ja", "MX":"es", "PH":"tl", "VN":"vi", "ET":"am",
"DE":"de", "EG":"ar", "TR":"tr", "IR":"fa", "CD":"fr", "TH":"th", "FR":"fr", "GB":"en",
"IT":"it", "MM":"my", "ZA":"zu", "KR":"ko", "ES":"es", "UA":"uk", "CO":"es", "TZ":"sw",
"AR":"es", "KE":"en", "PL":"pl", "SD":"ar", "DZ":"ar", "CA":"en", "UG":"en", "MA":"ar",
"PE":"es", "IQ":"ar", "AF":"fa", "NP":"ne", "MY":"ms", "UZ":"uz", "VE":"es", "SA":"ar",
"GH":"en", "YE":"ar", "KP":"ko", "TW":"zh", "SY":"ar", "MZ":"pt", "RO":"ro", "AU":"en",
"LK":"si", "MG":"fr", "CI":"fr", "CM":"en", "CL":"es", "NL":"nl", "BF":"fr", "NE":"fr",
"MW":"ny", "KZ":"kk", "EC":"es", "KH":"km", "ML":"fr", "GT":"es", "ZM":"en", "AO":"pt",
"SN":"fr", "ZW":"en", "CU":"es", "RW":"rw", "GR":"el", "CS":"cu", "PT":"pt", "TN":"ar",
"TD":"fr", "CZ":"cs", "BE":"nl", "GN":"fr", "SO":"so", "HU":"hu", "BO":"es", "BI":"fr",
"DO":"es", "BY":"be", "HT":"ht", "SE":"sv", "BJ":"fr", "AZ":"az", "SS":"en", "AT":"de",
"HN":"es", "CH":"de", "TJ":"tg", "IL":"he", "RS":"sr", "BG":"bg", "HK":"zh", "TG":"fr",
"LY":"ar", "JO":"ar", "PY":"es", "LA":"lo", "PG":"en", "SV":"es", "NI":"es", "ER":"aa",
"KG":"ky", "DK":"da", "SK":"sk", "SL":"en", "FI":"fi", "NO":"no", "AE":"ar", "TM":"tk",
"CF":"fr", "SG":"cmn", "GE":"ka", "IE":"en", "BA":"bs", "CR":"es", "HR":"hr", "MD":"ro",
"NZ":"en", "LB":"ar", "PR":"en", "PS":"ar", "LR":"en", "LT":"lt", "UY":"es", "PA":"es",
"MR":"ar", "MN":"mn", "CG":"fr", "AL":"sq", "AM":"hy", "OM":"ar", "JM":"en", "KW":"ar",
"LV":"lv", "NA":"en", "MK":"mk", "BW":"en", "SI":"sl", "LS":"en", "XK":"sq", "GM":"en",
"GW":"pt", "GA":"fr", "SZ":"en", "MU":"en", "EE":"et", "TT":"en", "TL":"tet", "CY":"el",
"GQ":"es", "FJ":"en", "QA":"ar", "RE":"fr", "KM":"ar", "GY":"en", "DJ":"fr", "BH":"ar",
"BT":"dz", "ME":"sr", "SB":"en", "CV":"pt", "LU":"lb", "SR":"nl", "MO":"zh", "GP":"fr",
"MQ":"fr", "MT":"mt", "MV":"dv", "BN":"ms", "BZ":"en", "IS":"is", "BS":"en", "BB":"en",
"EH":"ar", "PF":"fr", "VU":"bi", "NC":"fr", "GF":"fr", "WS":"sm", "ST":"pt", "LC":"en",
"GU":"en", "YT":"fr", "CW":"nl", "AN":"nl", "TO":"to", "VI":"en", "GD":"en", "FM":"en",
"VC":"en", "KI":"en", "JE":"en", "SC":"en", "AG":"en", "AD":"ca", "IM":"en", "DM":"en",
"AW":"nl", "MH":"mh", "BM":"en", "GG":"en", "AS":"en", "GL":"kl", "MP":"fil", "KN":"en",
"FO":"fo", "KY":"en", "SX":"nl", "MF":"fr", "LI":"de", "MC":"fr", "SM":"it", "GI":"en",
"AX":"sv", "VG":"en", "CK":"en", "TC":"en", "PW":"pau", "BQ":"nl", "WF":"wls", "AI":"en",
"TV":"tvl", "NR":"na", "MS":"en", "BL":"fr", "SH":"en", "PM":"fr", "IO":"en", "FK":"en",
"SJ":"no", "NU":"niu", "NF":"en", "CX":"en", "TK":"tkl", "VA":"la", "CC":"ms", "TF":"fr",
"PN":"en", "GS":"en", "UM":"en" }