Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取用户';基于IP地址的s语言(ISO 639-2)_Python_Google App Engine_Python 2.7_Geocoding - Fatal编程技术网

Python 获取用户';基于IP地址的s语言(ISO 639-2)

Python 获取用户';基于IP地址的s语言(ISO 639-2),python,google-app-engine,python-2.7,geocoding,Python,Google App Engine,Python 2.7,Geocoding,在AppEngine中是否有基于IP地址或国家(X-AppEngine-country)获取用户语言的模块?我需要它是在ISO 639-2格式。它不必非常精确,因为用户可以随时更改它。这是按国家列出的官方语言列表: 您还可以查看此文件,其中包括国家和语言代码: 您可以将它放在一个简单的Python字典中,以便在应用程序中使用。基于Andrei回答中的第二个链接,我创建了这个字典 警告:它不是100%正确,可能不适用于所有人(取决于您需要的特定语言代码格式) @m.wasowski:不太可能,

在AppEngine中是否有基于IP地址或国家(X-AppEngine-country)获取用户语言的模块?我需要它是在ISO 639-2格式。它不必非常精确,因为用户可以随时更改它。

这是按国家列出的官方语言列表:

您还可以查看此文件,其中包括国家和语言代码:


您可以将它放在一个简单的Python字典中,以便在应用程序中使用。

基于Andrei回答中的第二个链接,我创建了这个字典

警告:它不是100%正确,可能不适用于所有人(取决于您需要的特定语言代码格式)


@m.wasowski:不太可能,因为OP已经知道此人所在的国家。(在任何情况下,您都应该使用
接受语言
标题,而不是根据某人的位置猜测他说的语言。)我正在建立一个语言学习网站,想猜测用户的母语。据我所知,在这种情况下,Accept语言通常会给出不正确的结果,因此根据国家预测结果可能会更好。
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" }