php兑现不同ip不同语言包
程序员文章站
2022-05-30 16:23:48
...
php实现不同ip不同语言包
做了一个外贸站 ,怎样针对用户的ip设置语言包,让老外访问时是英文,咱们访问时是中文,还有其他不同语言,请问如何实现?
------解决方案--------------------
四大门户都提供了获取IP位置的接口,但并不推荐你这样做,因为程序要等待接口返回结果。这很妨碍用户体验。
你可以借助浏览器发送的客户信息 Accept-language 来判定使用那个语言包,因为老外肯定不会把他浏览器首选语言设为中文。
------解决方案--------------------
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
可能的取值(括号中的)
Afrikaans (af) 南非荷兰语
Albanian (sq) 阿尔巴尼亚
Basque (eu) 巴斯克(欧盟)
Bulgarian (bg) 保加利亚
Byelorussian (be) 白俄罗斯
Catalan (ca) 加泰罗尼亚语
Chinese (zh) 中国
Chinese/China (zh-cn) 中国/中国
Chinese/* (zh-tw) 中国/*
Chinese/* (zh-hk) 中国/香港
Chinese/singapore (zh-sg) 中国/新加坡
Croatian (hr) 克罗地亚
Czech (cs) 捷克
Danish (da) 丹麦
Dutch (nl) 荷兰语
Dutch/Belgium (nl-be) 荷兰/比利时
English (en) 英语
English/United Kingdom (en-gb) 英语/英国
English/United Satates (en-us) 英语/美国
English/Australian (en-au) 英国/澳大利亚
English/Canada (en-ca) 英国/加拿大
English/New Zealand (en-nz) 英国/新西兰
English/Ireland (en-ie) 英国/爱尔兰
English/South Africa (en-za) 英语/南非
English/Jamaica (en-jm) 英语/牙买加
English/Belize (en-bz) 英语/伯利兹
English/Trinidad (en-tt) 英语/特
Estonian (et) 爱沙尼亚语
Faeroese (fo) 法罗
Farsi (fa) 波斯语
Finnish (fi) 芬兰
French (fr) 法语
French/Belgium (fr-be) 法国/比利时
French/France (fr-fr) 法国/法国
French/Switzerland (fr-ch) 法国/瑞士
French/Canada (fr-ca) 法国/加拿大
French/Luxembourg (fr-lu) 法国/卢森堡
Gaelic (gd) 盖尔文
Galician (gl) 加利西亚语
German (de) 德语
German/Austria (de-at) 德国/奥地利
German/Germany (de-de) 德国/德国
German/Switzerland (de-ch) 德国/瑞士
German/Luxembourg (de-lu) 德国/卢森堡
German/Liechtenstein (de-li) 德国/列支敦士登
Greek (el) 希腊语
Hindi (hi) 印地文
Hungarian (hu) 匈牙利
Icelandic (is) 冰岛
Indonesian (id or in) 印度尼西亚
Irish (ga) 爱尔兰
Italian (it) 意大利
Italian/ Switzerland (it-ch) 意大利/瑞士
Japanese (ja) 日语
Korean (ko) 韩文
Latvian (lv) 拉脱维亚
Lithuanian (lt) 立陶宛
Macedonian (mk) 马其顿语
Malaysian (ms) 马来西亚
Maltese (mt) 马耳他
Norwegian (no) 挪威
Polish (pl) 波兰
Portuguese (pt) 葡萄牙
Portuguese/Brazil (pt-br) 葡萄牙/巴西
Rhaeto-Romanic (rm) 里托罗曼斯文
Romanian (ro) 罗马尼亚
Romanian/Moldavia (ro-mo) 罗马尼亚/摩尔达维亚
Russian (ru) 俄语
Russian /Moldavia (ru-mo) 俄罗斯/摩尔达维亚
Scots Gaelic (gd) 苏格兰的盖尔语
Serbian (sr) 塞尔维亚
Slovack (sk) Slovack
Slovenian (sl) 斯洛文尼亚语
Sorbian (sb) 索布语
Spanish (es or es-do) 西班牙语
Spanish/Argentina (es-ar) 西班牙/阿根廷
Spanish/Colombia (es-co) 西班牙/哥伦比亚
Spanish/Mexico (es-mx) 西班牙/墨西哥
Spanish/Spain (es-es) 西班牙/西班牙
Spanish/Guatemala (es-gt) 西班牙/危地马拉
Spanish/Costa Rica (es-cr) 西班牙/哥斯达黎加
Spanish/Panama (es-pa) 西班牙/*
Spanish/Venezuela (es-ve) 西班牙/委内瑞拉
Spanish/Peru (es-pe) 西班牙/秘鲁
Spanish/Ecuador (es-ec) 西班牙/厄瓜多尔
Spanish/Chile (es-cl) 西班牙/智利
Spanish/Uruguay (es-uy) 西班牙/乌拉圭
Spanish/Paraguay (es-py) 西班牙/巴拉圭
Spanish/Bolivia (es-bo) 西班牙/玻利维亚
Spanish/El salvador (es-sv) 西班牙/萨尔瓦多
Spanish/Honduras (es-hn) 西班牙/洪都拉斯
Spanish/Nicaragua (es-ni) 西班牙/尼加拉瓜
Spanish/Puerto Rico (es-pr) 西班牙/波多黎各
做了一个外贸站 ,怎样针对用户的ip设置语言包,让老外访问时是英文,咱们访问时是中文,还有其他不同语言,请问如何实现?
------解决方案--------------------
四大门户都提供了获取IP位置的接口,但并不推荐你这样做,因为程序要等待接口返回结果。这很妨碍用户体验。
你可以借助浏览器发送的客户信息 Accept-language 来判定使用那个语言包,因为老外肯定不会把他浏览器首选语言设为中文。
------解决方案--------------------
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
可能的取值(括号中的)
Afrikaans (af) 南非荷兰语
Albanian (sq) 阿尔巴尼亚
Basque (eu) 巴斯克(欧盟)
Bulgarian (bg) 保加利亚
Byelorussian (be) 白俄罗斯
Catalan (ca) 加泰罗尼亚语
Chinese (zh) 中国
Chinese/China (zh-cn) 中国/中国
Chinese/* (zh-tw) 中国/*
Chinese/* (zh-hk) 中国/香港
Chinese/singapore (zh-sg) 中国/新加坡
Croatian (hr) 克罗地亚
Czech (cs) 捷克
Danish (da) 丹麦
Dutch (nl) 荷兰语
Dutch/Belgium (nl-be) 荷兰/比利时
English (en) 英语
English/United Kingdom (en-gb) 英语/英国
English/United Satates (en-us) 英语/美国
English/Australian (en-au) 英国/澳大利亚
English/Canada (en-ca) 英国/加拿大
English/New Zealand (en-nz) 英国/新西兰
English/Ireland (en-ie) 英国/爱尔兰
English/South Africa (en-za) 英语/南非
English/Jamaica (en-jm) 英语/牙买加
English/Belize (en-bz) 英语/伯利兹
English/Trinidad (en-tt) 英语/特
Estonian (et) 爱沙尼亚语
Faeroese (fo) 法罗
Farsi (fa) 波斯语
Finnish (fi) 芬兰
French (fr) 法语
French/Belgium (fr-be) 法国/比利时
French/France (fr-fr) 法国/法国
French/Switzerland (fr-ch) 法国/瑞士
French/Canada (fr-ca) 法国/加拿大
French/Luxembourg (fr-lu) 法国/卢森堡
Gaelic (gd) 盖尔文
Galician (gl) 加利西亚语
German (de) 德语
German/Austria (de-at) 德国/奥地利
German/Germany (de-de) 德国/德国
German/Switzerland (de-ch) 德国/瑞士
German/Luxembourg (de-lu) 德国/卢森堡
German/Liechtenstein (de-li) 德国/列支敦士登
Greek (el) 希腊语
Hindi (hi) 印地文
Hungarian (hu) 匈牙利
Icelandic (is) 冰岛
Indonesian (id or in) 印度尼西亚
Irish (ga) 爱尔兰
Italian (it) 意大利
Italian/ Switzerland (it-ch) 意大利/瑞士
Japanese (ja) 日语
Korean (ko) 韩文
Latvian (lv) 拉脱维亚
Lithuanian (lt) 立陶宛
Macedonian (mk) 马其顿语
Malaysian (ms) 马来西亚
Maltese (mt) 马耳他
Norwegian (no) 挪威
Polish (pl) 波兰
Portuguese (pt) 葡萄牙
Portuguese/Brazil (pt-br) 葡萄牙/巴西
Rhaeto-Romanic (rm) 里托罗曼斯文
Romanian (ro) 罗马尼亚
Romanian/Moldavia (ro-mo) 罗马尼亚/摩尔达维亚
Russian (ru) 俄语
Russian /Moldavia (ru-mo) 俄罗斯/摩尔达维亚
Scots Gaelic (gd) 苏格兰的盖尔语
Serbian (sr) 塞尔维亚
Slovack (sk) Slovack
Slovenian (sl) 斯洛文尼亚语
Sorbian (sb) 索布语
Spanish (es or es-do) 西班牙语
Spanish/Argentina (es-ar) 西班牙/阿根廷
Spanish/Colombia (es-co) 西班牙/哥伦比亚
Spanish/Mexico (es-mx) 西班牙/墨西哥
Spanish/Spain (es-es) 西班牙/西班牙
Spanish/Guatemala (es-gt) 西班牙/危地马拉
Spanish/Costa Rica (es-cr) 西班牙/哥斯达黎加
Spanish/Panama (es-pa) 西班牙/*
Spanish/Venezuela (es-ve) 西班牙/委内瑞拉
Spanish/Peru (es-pe) 西班牙/秘鲁
Spanish/Ecuador (es-ec) 西班牙/厄瓜多尔
Spanish/Chile (es-cl) 西班牙/智利
Spanish/Uruguay (es-uy) 西班牙/乌拉圭
Spanish/Paraguay (es-py) 西班牙/巴拉圭
Spanish/Bolivia (es-bo) 西班牙/玻利维亚
Spanish/El salvador (es-sv) 西班牙/萨尔瓦多
Spanish/Honduras (es-hn) 西班牙/洪都拉斯
Spanish/Nicaragua (es-ni) 西班牙/尼加拉瓜
Spanish/Puerto Rico (es-pr) 西班牙/波多黎各
相关文章
相关视频
上一篇: PHP开发中问题总结及解疑