PHPIndex

This page lists files in the current directory. You can view content, get download/execute commands for Wget, Curl, or PowerShell, or filter the list using wildcards (e.g., `*.sh`).

Address.lang.php
wget 'https://sme10.lists2.roe3.org/kodbox/app/sdks/Ip2Region/Address.lang.php'
View Content
<?php

return array(
	// 国内
	'TPG电信'			=> 'TPG Telecom',
	'阿坝'				=> 'Aba',
	'阿卡迈'			=> 'Akamai',
	'阿克苏'			=> 'Aksu',
	'阿拉善'			=> 'Alxa',
	'阿勒泰'			=> 'Altay',
	'阿里巴巴'			=> 'Alibaba',
	'阿里地区'			=> 'Ali area',
	'阿里云'			=> 'Ali Cloud',
	'安徽省'			=> 'Anhui Province',
	'安康市'			=> 'Ankang',
	'安庆市'			=> 'Anqing',
	'安顺市'			=> 'Anshun',
	'安阳市'			=> 'Anyang',
	'鞍山市'			=> 'Anshan',
	'澳大利亚电信'		=> 'Australia Telecom',
	'澳门'				=> 'Macao',
	'澳门电讯'			=> 'Macau Telecom',
	'巴彦淖尔市'		=> 'Bayannur',
	'巴音郭楞'			=> 'Bayingoleng',
	'巴中市'			=> 'Bazhong',
	'白城市'			=> 'Baicheng',
	'白山市'			=> 'Baishan',
	'白银市'			=> 'Silver',
	'百度'				=> 'Baidu',
	'百色市'			=> 'Baise',
	'蚌埠市'			=> 'Bengbu',
	'包头市'			=> 'Baotou',
	'宝鸡市'			=> 'Baoji',
	'保定市'			=> 'Baoding',
	'保山市'			=> 'Baoshan',
	'北海市'			=> 'Beihai',
	'北京'				=> 'Beijing',
	'北京市'			=> 'Beijing',
	'本溪市'			=> 'Benxi',
	'毕节'				=> 'Bijie',
	'滨州市'			=> 'Binzhou',
	'亳州市'			=> 'Bozhou',
	'博尔塔拉'			=> 'Bortala',
	'沧州市'			=> 'Cangzhou',
	'层峰网络'			=> 'Layer peak network',
	'昌都'				=> 'Qamdo',
	'昌吉'				=> 'Changji',
	'常德市'			=> 'Changde',
	'常州市'			=> 'Changzhou',
	'朝阳市'			=> 'Chaoyang',
	'潮州市'			=> 'Chaozhou',
	'郴州市'			=> 'Chenzhou',
	'沈阳市'			=> 'Shenyang',
	'成都市'			=> 'Chengdu',
	'承德市'			=> 'Chengde',
	'池州市'			=> 'Chizhou',
	'赤峰市'			=> 'Chifeng',
	'崇左市'			=> 'Chongzuo',
	'滁州市'			=> 'Chuzhou',
	'楚雄'				=> 'Chuxiong',
	'达州市'			=> 'Dazhou',
	'大理'				=> 'Dali',
	'大连理工大学'		=> 'Dalian University of Technology',
	'大连市'			=> 'Dalian',
	'大庆市'			=> 'Daqing',
	'大同市'			=> 'Datong',
	'大兴安岭'			=> 'Daxinganling',
	'丹东市'			=> 'Dandong',
	'儋州'				=> 'Danzhou',
	'德宏'				=> 'Dehong',
	'德阳市'			=> 'Deyang',
	'德州市'			=> 'Dezhou',
	'迪庆'				=> 'Diqing',
	'电讯盈科'			=> 'PCCW',
	'定西市'			=> 'Dingxi',
	'东莞市'			=> 'Dongguan',
	'东营市'			=> 'Dongying',
	'鄂尔多斯市'		=> 'Ordos',
	'鄂州市'			=> 'Ezhou',
	'恩施'				=> 'Enshi',
	'方正宽带'			=> 'Founder Broadband',
	'防城港市'			=> 'Fangchenggang',
	'菲律宾长途电话公司' => 'Philippine long distance telephone company',
	'佛山市'			=> 'Foshan',
	'福建广电'			=> 'Fujian Radio and Television',
	'福建省'			=> 'Fujian Province',
	'福州市'			=> 'Fuzhou',
	'抚顺市'			=> 'Fushun',
	'抚州市'			=> 'Fuzhou',
	'阜新市'			=> 'Fuxin',
	'阜阳市'			=> 'Fuyang',
	'甘南'				=> 'Gannan',
	'甘肃省'			=> 'Gansu province',
	'甘孜'				=> 'Ganzi',
	'赣州市'			=> 'Ganzhou',
	'高雄'				=> 'Kaohsiung',
	'歌华'				=> 'Gehua',
	'谷歌'				=> 'Google',
	'固原市'			=> 'Guyuan',
	'广安市'			=> 'Guang An',
	'广东广电'			=> 'Guangdong Radio and Television',
	'广东省'			=> 'Guangdong Province',
	'广西广电'			=> 'Guangxi Radio and Television',
	'广西'				=> 'Guangxi',
	'广元市'			=> 'Guangyuan',
	'广州驰联'			=> 'Guangzhou Chilian',
	'广州市'			=> 'Guangzhou',
	'贵港市'			=> 'Guigang',
	'贵阳市'			=> 'Guiyang',
	'贵州广电'			=> 'Guizhou Radio and Television',
	'贵州省'			=> 'Guizhou Province',
	'桂林市'			=> 'Guilin',
	'果洛'				=> 'Goluo',
	'哈尔滨市'			=> 'Harbin',
	'哈密'				=> 'Hami',
	'海北'				=> 'Haibei',
	'海东'				=> 'Haidong',
	'海口市'			=> 'Haikou',
	'海南'				=> 'Hainan',
	'海南广电'			=> 'Hainan Radio and Television',
	'海南省'			=> 'Hainan',
	'海西'				=> 'Haixi',
	'邯郸市'			=> 'Handan',
	'韩国电信'			=> 'Korea Telecom',
	'汉中市'			=> 'Hanzhong',
	'杭州市'			=> 'Hangzhou',
	'皓宽网络'			=> 'Hao Kuan Network',
	'合肥市'			=> 'Hefei',
	'和记电讯'			=> 'Hutchison Telecommunications',
	'和田'				=> 'Hotan',
	'河北广电'			=> 'Hebei Radio and Television',
	'河北省'			=> 'Hebei Province',
	'河池市'			=> 'Hechi',
	'河南广电'			=> 'Henan Radio and Television',
	'河南省'			=> 'Henan Province',
	'河源市'			=> 'Heyuan',
	'菏泽市'			=> 'Heze',
	'贺州市'			=> 'Hezhou',
	'鹤壁市'			=> 'Hebi',
	'鹤岗市'			=> 'Hegang',
	'黑河市'			=> 'Heihe',
	'黑龙江广电'			=> 'Heilongjiang Radio and Television',
	'黑龙江省'			=> 'Heilongjiang Province',
	'衡水市'			=> 'Hengshui',
	'衡阳市'			=> 'Hengyang',
	'红河'				=> 'Red River',
	'呼和浩特市'		=> 'Hohhot',
	'呼伦贝尔市'		=> 'Hulunbeir',
	'湖北广电'			=> 'Hubei Radio and Television',
	'湖北省'			=> 'Hubei Province',
	'湖南广电'			=> 'Hunan Radio and Television',
	'湖南巨亚'			=> 'Hunan Giant Asia',
	'湖南省'			=> 'Hunan Province',
	'湖南有线'			=> 'Hunan Cable',
	'湖州市'			=> 'Huzhou',
	'葫芦岛市'			=> 'Huludao',
	'互联优势'			=> 'Interconnection advantage',
	'花莲县'			=> 'Hualien County',
	'华数'				=> 'Chinese number',
	'华数传媒'			=> 'Wasu Media',
	'怀化市'			=> 'Huaihua',
	'淮安市'			=> 'Huaian',
	'淮北市'			=> 'Huaibei',
	'淮南市'			=> 'Huainan',
	'黄冈市'			=> 'Huanggang',
	'黄南'				=> 'Huang Nan',
	'黄山市'			=> 'Huangshan',
	'黄石市'			=> 'Huangshi',
	'惠州市'			=> 'Huizhou',
	'鸡西市'			=> 'Jixi',
	'基隆'				=> 'Keelung',
	'吉安市'			=> 'Ji\'an',
	'吉林省'			=> 'Jilin Province',
	'吉林市'			=> 'Jilin',
	'吉视传媒'			=> 'Jishi Media',
	'济南市'			=> 'Jinan',
	'济宁市'			=> 'Jining',
	'济源'				=> 'Jiyuan',
	'佳木斯市'			=> 'Jiamusi',
	'嘉兴市'			=> 'Jiaxing',
	'嘉义市'			=> 'Chiayi',
	'嘉义县'			=> 'Chiayi County',
	'嘉峪关市'			=> 'Jiayuguan',
	'江门市'			=> 'Jiangmen',
	'江苏广电'			=> 'Jiangsu Radio and Television',
	'江苏省'			=> 'Jiangsu Province',
	'江西省'			=> 'Jiangxi Province',
	'焦作市'			=> 'Jiaozuo',
	'教育网'			=> 'Education Network',
	'揭阳市'			=> 'Jieyang',
	'金昌市'			=> 'Jinchang',
	'金华市'			=> 'Jinhua',
	'金门县'			=> 'Kinmen County',
	'锦州市'			=> 'Jinzhou',
	'晋城市'			=> 'Jincheng',
	'晋中市'			=> 'Jinzhong',
	'荆门市'			=> 'Jingmen',
	'荆州市'			=> 'Jingzhou',
	'景德镇市'			=> 'Jingdezhen',
	'九江市'			=> 'Jiujiang',
	'酒泉市'			=> 'Jiuquan',
	'橘子电信'			=> 'Orange Telecom',
	'喀什'				=> 'Kashgar',
	'开封市'			=> 'Kaifeng',
	'科技网'			=> 'Science and Technology Network',
	'科进'				=> 'Kejin',
	'克拉玛依市'		=> 'Karamay',
	'克孜勒苏'			=> 'Kizilsu',
	'昆明市'			=> 'Kunming',
	'拉萨市'			=> 'Lhasa',
	'来宾市'			=> 'Laibin',
	'莱芜市'			=> 'Laiwu',
	'兰州市'			=> 'Lan\'Zhou',
	'廊坊市'			=> 'Langfang',
	'老挝电信企业'		=> 'Lao Telecom Enterprise',
	'乐山市'			=> 'Leshan',
	'丽江市'			=> 'Lijiang',
	'丽水市'			=> 'Lishui',
	'连云港市'			=> 'Lianyungang',
	'脸书'				=> 'Facebook',
	'凉山'				=> 'Liangshan',
	'辽宁广电'			=> 'Liaoning Radio and Television',
	'辽宁省'			=> 'Liaoning Province',
	'辽阳市'			=> 'Liaoyang',
	'辽源市'			=> 'Liaoyuan',
	'聊城市'			=> 'Liaocheng',
	'林芝'				=> 'Lin Zhi',
	'临沧市'			=> 'Lincang',
	'临汾市'			=> 'Linfen',
	'临夏'				=> 'Linxia',
	'临沂市'			=> 'Linyi',
	'柳州市'			=> 'Liuzhou',
	'六安市'			=> 'Lu\'an',
	'六盘水市'			=> 'Liupanshui',
	'龙岩市'			=> 'Longyan',
	'陇南市'			=> 'Longnan',
	'娄底市'			=> 'Loudi',
	'泸州市'			=> 'Luzhou',
	'吕梁市'			=> 'Luliang',
	'洛阳市'			=> 'Luoyang',
	'漯河市'			=> 'Luohe',
	'马鞍山市'			=> 'Maanshan',
	'茂名市'			=> 'Maoming',
	'眉山市'			=> 'Meishan',
	'梅州市'			=> 'Meizhou',
	'美国电话电报'		=> 'American Telephone and Telegraph',
	'绵阳市'			=> 'Mianyang',
	'苗栗县'			=> 'Miaoli County',
	'牡丹江市'			=> 'Mudanjiang',
	'那曲'				=> 'Nagqu',
	'南昌市'			=> 'Nanchang',
	'南充市'			=> 'Nanchong',
	'南京市'			=> 'Nanjing',
	'南宁市'			=> 'NanNing',
	'南平市'			=> 'Nanping',
	'南通市'			=> 'Nantong',
	'南投县'			=> 'Nantou County',
	'南阳市'			=> 'Nanyang',
	'内江市'			=> 'Neijiang',
	'内蒙古'			=> 'Inner Mongolia',
	'内蒙古广电'		=> 'Inner Mongolia Radio and Television',
	'宁波市'			=> 'Ningbo',
	'宁德市'			=> 'Ningde',
	'宁夏'				=> 'Ningxia',
	'宁夏广电'			=> 'Ningxia Radio and Television',
	'怒江'				=> 'Nujiang',
	'攀枝花市'			=> 'Panzhihua',
	'盘锦市'			=> 'Panjin',
	'澎湖县'			=> 'Penghu County',
	'鹏博士'			=> 'Dr. Peng',
	'平顶山市'			=> 'Pingdingshan',
	'平凉市'			=> 'Pingliang',
	'苹果'				=> 'Apple',
	'屏东县'			=> 'Pingtung County',
	'萍乡市'			=> 'Pingxiang',
	'莆田市'			=> 'Putian',
	'濮阳市'			=> 'Puyang',
	'普洱市'			=> 'Pu\'er',
	'七台河市'			=> 'Qitaihe',
	'齐齐哈尔市'		=> 'Qiqihar',
	'黔东南'			=> 'Southeast Guizhou',
	'黔南'				=> 'Qiannan',
	'黔西南'			=> 'Southwest Guizhou',
	'钦州市'			=> 'Qinzhou',
	'秦皇岛市'			=> 'Qinhuangdao',
	'青岛市'			=> 'Qingdao',
	'青海省'			=> 'Qinghai Province',
	'清远市'			=> 'Qingyuan',
	'庆阳市'			=> 'Qingyang',
	'曲靖市'			=> 'Qujing',
	'衢州市'			=> 'Quzhou',
	'泉州市'			=> 'Quanzhou',
	'荃湾'				=> 'Tsuen Wan',
	'日本电信电话'		=> 'Japan Telecom',
	'日喀则'			=> 'Shigatse',
	'日照市'			=> 'Rizhao',
	'软银'				=> 'SoftBank',
	'三门峡市'			=> 'Sanmenxia',
	'三明市'			=> 'Sanming',
	'三亚市'			=> 'Sanya',
	'沙田'				=> 'Sha Tin',
	'厦门市'			=> 'Xiamen',
	'山东广电'			=> 'Shandong Radio and Television',
	'山东乐享广电'		=> 'Shandong Lexiang Radio and Television',
	'山东青岛广电'		=> 'Shandong Qingdao Radio and Television',
	'山东省'			=> 'Shandong Province',
	'山南'				=> 'Shannan',
	'山西省'			=> 'Shanxi Province',
	'陕西广电'			=> 'Shaanxi Radio and Television',
	'陕西省'			=> 'Shaanxi Province',
	'汕头市'			=> 'city ​​of Shantou',
	'汕尾市'			=> 'Shanwei',
	'商洛市'			=> 'Shangluo',
	'商丘市'			=> 'Shangqiu',
	'上海'				=> 'Shanghai',
	'上海驰联'			=> 'Shanghai Chilian',
	'上海教委'			=> 'Shanghai Education Commission',
	'上海市'			=> 'Shanghai',
	'上饶市'			=> 'Shangrao',
	'韶关市'			=> 'Shaoguan',
	'邵阳市'			=> 'Shaoyang',
	'绍兴市'			=> 'Shaoxing',
	'深圳市'			=> 'Shenzhen',
	'十堰市'			=> 'Shiyan',
	'石家庄市'			=> 'Shijiazhuang',
	'石嘴山市'			=> 'Shizuishan',
	'世纪互联'			=> '21Vianet',
	'双鸭山市'			=> 'Shuangyashan',
	'朔州市'			=> 'Shuozhou',
	'四川广电'			=> 'Sichuan Radio and Television',
	'四川省'			=> 'Sichuan Province',
	'四平市'			=> 'Siping',
	'松原市'			=> 'Songyuan',
	'苏州市'			=> 'Suzhou',
	'宿迁市'			=> 'Suqian',
	'宿州市'			=> 'Suzhou',
	'绥化市'			=> 'Suihua',
	'随州市'			=> 'Suizhou',
	'遂宁市'			=> 'Suining',
	'塔城'				=> 'Tacheng',
	'台北'				=> 'Taipei',
	'台东县'			=> 'Taitung County',
	'台南'				=> 'Tainan',
	'台湾大哥大'		=> 'Big Brother Taiwan',
	'台湾固网'			=> 'Taiwan Fixed Network',
	'台湾省'			=> 'Taiwan Province',
	'台湾之星'			=> 'Taiwan Star',
	'台中'				=> 'Taichung',
	'台州市'			=> 'Taizhou',
	'太原市'			=> 'Taiyuan',
	'泰安市'			=> 'Tai\'an',
	'泰州市'			=> 'Taizhou',
	'唐山市'			=> 'Tangshan',
	'桃园'				=> 'Peach orchard',
	'腾讯'				=> 'Tencent',
	'天驰网络'			=> 'Tianchi Network',
	'天津'				=> 'Tianjin',
	'天津市'			=> 'Tianjin',
	'天水市'			=> 'Tianshui',
	'天威'				=> 'Tianwei',
	'铁岭市'			=> 'Tieling',
	'铁通'				=> 'Railcom',
	'通化市'			=> 'Tonghua',
	'通辽市'			=> 'Tongliao',
	'铜川市'			=> 'Tongchuan',
	'铜陵市'			=> 'Tongling',
	'铜仁'				=> 'Tongren',
	'吐鲁番'			=> 'Turpan',
	'网上网'			=> 'Net',
	'网宿'				=> 'Wangsu',
	'威海市'			=> 'Weihai',
	'威瑞森'			=> 'Verizon',
	'微软'				=> 'Microsoft',
	'潍坊市'			=> 'Weifang',
	'渭南市'			=> 'Weinan',
	'温州市'			=> 'Wenzhou',
	'文山'				=> 'Wenshan',
	'沃达丰'			=> 'Vodafone',
	'乌海市'			=> 'Wuhai',
	'乌兰察布市'		=> 'Wulanchabu',
	'乌鲁木齐市'		=> 'Urumqi',
	'无锡市'			=> 'Wuxi',
	'吴忠市'			=> 'Wuzhong',
	'芜湖市'			=> 'Wuhu',
	'梧州市'			=> 'Wuzhou',
	'武汉市'			=> 'Wuhan',
	'武威市'			=> 'Wuwei',
	'西安交通大学'		 => 'Xi\'an Jiaotong University',
	'西安市'			=> 'Xi\'an',
	'西班牙电信'		=> 'Telefónica',
	'西藏'				=> 'Tibet',
	'西宁市'			=> 'Xining',
	'西双版纳'			=> 'Xishuangbanna',
	'锡林郭勒'			=> 'Xilin Gol',
	'咸宁市'			=> 'Xianning',
	'咸阳市'			=> 'Xianyang',
	'香港'				=> 'Hongkong',
	'香港宽频'			=> 'Hong Kong Broadband',
	'香港新世界'		=> 'Hong Kong New World',
	'香港有线'			=> 'Hong Kong Cable',
	'湘潭市'			=> 'Xiangtan',
	'湘西'				=> 'Xiangxi',
	'襄阳'				=> 'Xiangyang',
	'孝感市'			=> 'Xiaogan',
	'忻州市'			=> 'Xinzhou',
	'新北'				=> 'New Taipei',
	'新加坡电信'		=> 'Singapore Telecom',
	'新疆'				=> 'Xinjiang',
	'新疆广电'			=> 'Xinjiang Radio and Television',
	'新乡市'			=> 'Xinxiang',
	'新余市'			=> 'Xinyu',
	'新竹市'			=> 'Hsinchu',
	'新竹县'			=> 'Hsinchu County',
	'信实通信'			=> 'Reliance Communications',
	'信阳市'			=> 'Xinyang',
	'邢台市'			=> 'Xingtai',
	'兴安盟'			=> 'Xing\'an League',
	'徐州市'			=> 'Xuzhou',
	'许昌市'			=> 'Xuchang',
	'宣城市'			=> 'Xuancheng',
	'雅安市'			=> 'Ya\'an',
	'雅虎'				=> 'Yahoo',
	'亚马逊'			=> 'Amazon',
	'亚太电信'			=> 'Asia Pacific Telecom',
	'烟台市'			=> 'Yantai',
	'延安市'			=> 'Yan\'an',
	'延边'				=> 'Yanbian',
	'盐城市'			=> 'Yancheng',
	'扬州市'			=> 'Yangzhou',
	'阳江市'			=> 'Yangjiang',
	'阳泉市'			=> 'Yangquan',
	'伊春市'			=> 'Yichun',
	'伊犁'				=> 'Yili',
	'宜宾市'			=> 'Yibin',
	'宜昌市'			=> 'Yichang',
	'宜春市'			=> 'Yichun',
	'宜兰县'			=> 'Yilan County',
	'益阳市'			=> 'Yiyang',
	'银川市'			=> 'Yinchuan',
	'印度电信'			=> 'India Telecom',
	'鹰潭市'			=> 'Yingtan',
	'营口市'			=> 'Yingkou',
	'永州市'			=> 'Yongzhou',
	'有线通'			=> 'Wired',
	'榆林市'			=> 'Yulin',
	'玉林市'			=> 'Yulin',
	'玉树'				=> 'Yushu',
	'玉溪市'			=> 'Yuxi',
	'远传电信'			=> 'FarEasTone',
	'岳阳市'			=> 'Yueyang',
	'云浮市'			=> 'Yunfu',
	'云林县'			=> 'Yunlin County',
	'云南省'			=> 'Yunnan Province',
	'运城市'			=> 'Yuncheng',
	'枣庄市'			=> 'Zaozhuang',
	'湛江市'			=> 'Zhangjiang',
	'张家界市'			=> 'Zhangjiajie',
	'张家口市'			=> 'Zhangjiakou',
	'张掖市'			=> 'Zhangye',
	'彰化县'			=> 'Changhua County',
	'漳州市'			=> 'Zhangzhou',
	'长春市'			=> 'Changchun',
	'长沙市'			=> 'Changsha',
	'长治市'			=> 'Changzhi',
	'昭通市'			=> 'Zhaotong',
	'肇庆市'			=> 'Zhaoqing',
	'浙江华数'			=> 'Zhejiang Huashu',
	'浙江省'			=> 'Zhejiang Province',
	'镇江市'			=> 'Zhenjiang',
	'郑州市'			=> 'Zhengzhou',
	'中国'				=> 'China',
	'中华电信'			=> 'Chunghwa Telecom',
	'中山市'			=> 'Zhongshan',
	'中卫市'			=> 'Zhongwei',
	'重庆广电'			=> 'Chongqing Radio and Television',
	'重庆市'			=> 'Chongqing',
	'重庆'				=> 'Chongqing',
	'舟山市'			=> 'Zhoushan',
	'周口市'			=> 'Zhoukou',
	'株洲市'			=> 'Zhuzhou',
	'珠海市'			=> 'Zhuhai',
	'珠江宽频'			=> 'Pearl River Broadband',
	'驻马店市'			=> 'Zhumadian',
	'资阳市'			=> 'Ziyang',
	'淄博市'			=> 'Zibo',
	'自贡市'			=> 'Zigong',
	'遵义市'			=> 'Zunyi',
	
	//国外;	
	'阿德莱德'			=> 'Adelaide',
	'阿尔巴尼亚'		=> 'Albania',
	'阿尔拜省'			=> 'Albay',
	'阿尔及利亚'		=> 'Algeria',
	'阿富汗'			=> 'Afghanistan',
	'阿根廷'			=> 'Argentina',
	'阿罕布拉'			=> 'Alhambra',
	'阿加尔塔拉'		=> 'Agartala',
	'阿卡迈'			=> 'Akamai',
	'阿克兰省'			=> 'Aklan',
	'阿肯色'			=> 'Arkansas',
	'阿拉斯加'			=> 'Alaska',
	'阿里巴巴'			=> 'Alibaba',
	'阿里云'			=> 'Ali Cloud',
	'阿联酋'			=> 'UAE',
	'阿鲁巴'			=> 'Aruba',
	'阿鲁纳恰尔'		=> 'Arunachal',
	'阿曼'				=> 'Oman',
	'阿曼电信'			=> 'Oman Telecom',
	'阿姆斯特丹'		=> 'Amsterdam',
	'阿穆达巴'			=> 'Ahmedabad',
	'阿萨巴斯卡'		=> 'Athabasca',
	'阿萨姆'			=> 'Assam',
	'阿塞拜疆'			=> 'Azerbaijan',
	'阿森松岛'			=> 'Ascension Island',
	'阿什本'			=> 'Ashburn',
	'埃德蒙顿'			=> 'Edmonton',
	'埃及'				=> 'Egypt',
	'埃塞俄比亚'		=> 'Ethiopia',
	'艾奥瓦'			=> 'Iowa',
	'艾伯塔'			=> 'Alberta',
	'艾藻尔'			=> 'Aizawl',
	'爱达荷'			=> 'Idaho',
	'爱德华王子岛'		=> 'Prince Edward Island',
	'爱尔兰'			=> 'Ireland',
	'爱沙尼亚'			=> 'Estonia',
	'爱媛县'			=> 'Ehime Prefecture',
	'爱知县'			=> 'Aichi Prefecture',
	'安大略'			=> 'Ontario',
	'安道尔'			=> 'Andorra',
	'安德拉'			=> 'Andra',
	'安的列斯'			=> 'Antilles',
	'安蒂戈尼什'			=> 'Antigonish',
	'安蒂克省'			=> 'Antique',
	'安哥拉'			=> 'Angola',
	'安圭拉'			=> 'Anguilla',
	'安江省'			=> 'An Giang',
	'安克雷奇'			=> 'Anchorage',
	'安那罕'			=> 'Anaheim',
	'安纳波利斯'		=> 'Annapolis',
	'安纳乍能府'		=> 'Amna Charoen',
	'安沛省'			=> 'Yen Bai',
	'安提瓜和巴布达'	=> 'Antigua and Barbuda',
	'安汶'				=> 'Ambon',
	'奥地利'			=> 'Austria',
	'奥尔巴尼'			=> 'Albany',
	'奥古斯塔'			=> 'Augusta',
	'奥克兰'			=> 'Auckland',
	'奥克维尔'			=> 'Oakville',
	'奥兰群岛'			=> 'Aland Islands',
	'奥兰治'			=> 'Orange',
	'奥里萨'			=> 'Orissa',
	'奥林匹亚'			=> 'Olympia',
	'奥罗拉省'			=> 'Aurora',
	'奥斯汀'			=> 'Austin',
	'澳大利亚'			=> 'Australia',
	'澳大利亚电信'		=> 'Australia Telecom',
	'澳大利亚首都领地'	=> 'Australian Capital Territory',
	'澳门电讯'			=> 'Macau Telecom',
	'八打雁省'			=> 'Batangas Province',
	'八王子'			=> 'Hachioji',
	'巴巴多斯'			=> 'Barbados',
	'巴布亚'			=> 'Papua',
	'巴布亚新几内亚'	=> 'Papua New Guinea',
	'巴丹省'			=> 'Bataan',
	'巴淡岛'			=> 'Batam',
	'巴地斗顿'			=> 'Badidouton',
	'巴东'				=> 'Padang',
	'巴哈马'			=> 'Bahamas',
	'巴基斯坦'			=> 'Pakistan',
	'巴基斯坦电信'		=> 'Pakistan Telecom',
	'巴拉圭'			=> 'Paraguay',
	'巴拉望省'			=> 'Palawan Province',
	'巴勒斯坦'			=> 'Palestine',
	'巴厘巴板'			=> 'Balikpapan',
	'巴厘省'			=> 'Bali Province',
	'巴黎'				=> 'Paris',
	'巴里'				=> 'Barry',
	'巴林'				=> 'Bahrain',
	'巴鲁埃里'			=> 'Barueri',
	'巴拿马'			=> 'Panama',
	'巴蜀府'			=> 'Prachuap Khiri Khan',
	'巴特那'			=> 'Patna',
	'巴吞鲁日'			=> 'Baton Rouge',
	'巴吞他尼府'		=> 'Pathum Thani',
	'巴西'				=> 'Brazil',
	'巴西兰省'			=> 'Basilan Province',
	'巴真府'			=> 'Prachinburi',
	'白俄罗斯'			=> 'Belarus',
	'百度'				=> 'Baidu',
	'百慕大'			=> 'Bermuda',
	'柏林'				=> 'Berlin',
	'班达楠榜'			=> 'Bandar Lampung',
	'班达亚齐'			=> 'Banda Aceh',
	'班加罗尔'			=> 'Bangalore',
	'斑鸠城'			=> 'Turtledove city',
	'邦阿西楠省'		=> 'Pangasinan',
	'邦板牙省'			=> 'Pampanga Province',
	'邦加勿里洞'		=> 'Bangka Belitung',
	'薄寮省'			=> 'Bac Lieu Province',
	'保和省'			=> 'Bohol',
	'保加利亚'			=> 'Bulgaria',
	'北阿古桑省'		=> 'Agusan del Norte',
	'北阿坎德'			=> 'North Arkander',
	'北爱尔兰'			=> 'Northern Ireland',
	'北奥塞梯'			=> 'North Ossetia',
	'北碧府'			=> 'Kanchanaburi',
	'北标府'			=> 'Saraburi',
	'北达科他'			=> 'North Dakota',
	'北达沃省'			=> 'North Davao',
	'北大年府'			=> 'Pattani House',
	'北方邦'			=> 'Uttar Pradesh',
	'北甘马粦省'		=> 'North Kampar',
	'北乾省'			=> 'Pekan',
	'北干巴鲁'			=> 'Pekanbaru',
	'北海道'			=> 'Hokkaido',
	'北荷兰'			=> 'North Holland',
	'北加里曼丹'		=> 'North Kalimantan',
	'北江省'			=> 'Bac Giang',
	'北卡罗来纳'		=> 'North Carolina',
	'北拉瑙省'			=> 'Lanao del Norte',
	'北榄府'			=> 'Samut Prakan',
	'北榄坡府'			=> 'Nakhon Si Thammarat',
	'北领地'			=> 'Northern Territory',
	'北柳府'			=> 'Chachoengsao',
	'北马里亚纳群岛'	=> 'Northern Mariana Islands',
	'北马鲁古'			=> 'North Maluku',
	'北美地区'			=> 'North America',
	'北宁省'			=> 'Bac Ninh Province',
	'北萨马省'			=> 'Northern Samar',
	'北三宝颜省'		=> 'Zamboanga del Norte',
	'北苏拉威西'		=> 'North Sulawesi',
	'北苏里高省'		=> 'Surigao del Norte',
	'北苏门答腊'		=> 'North Sumatra',
	'北湾'				=> 'North Bay',
	'北温哥华'			=> 'North Vancouver',
	'北伊罗戈省'		=> 'Ilocos Norte',
	'贝尔维尔'			=> 'Belleville',
	'贝克斯菲尔德'		=> 'Bakersfield',
	'贝宁'				=> 'Benin',
	'本地治里'			=> 'Pondicherry',
	'本格特省'			=> 'Benguet',
	'本那比'			=> 'Burnaby',
	'比哈尔'			=> 'Bihar',
	'比利时'			=> 'Belgium',
	'彼得伯勒'			=> 'Peterborough',
	'俾斯麦'			=> 'Bismarck',
	'碧差汶府'			=> 'Phetchabun',
	'别府'				=> 'Beppu',
	'宾夕法尼亚'		=> 'Pennsylvania',
	'滨松'				=> 'Hamamatsu',
	'槟知省'			=> 'Penang Province',
	'槟州'				=> 'Penang',
	'冰岛'				=> 'Iceland',
	'兵库县'			=> 'Hyogo Prefecture',
	'波多黎各'			=> 'Puerto Rico',
	'波黑'				=> 'Bosnia and Herzegovina',
	'波兰'				=> 'Poland',
	'波莫纳'			=> 'Pomona',
	'波士顿'			=> 'Boston',
	'波特兰'			=> 'Portland',
	'玻璃市'			=> 'Perlis',
	'玻利维亚'			=> 'Bolivia',
	'伯利兹'			=> 'Belize',
	'伯灵顿'			=> 'Burlington',
	'博阿努瓦'			=> 'Boanoy',
	'博茨瓦纳'			=> 'Botswana',
	'博达伦府'			=> 'Boudalen',
	'博帕尔'			=> 'Bhopal',
	'博伊西'			=> 'Boise',
	'不丹'				=> 'Bhutan',
	'不列颠哥伦比亚'	=> 'British Columbia',
	'布巴内斯瓦尔'		=> 'Bhubaneswar',
	'布城'				=> 'Putrajaya',
	'布基纳法索'		=> 'Burkina Faso',
	'布基农省'			=> 'Bukidnon',
	'布加勒斯特'		=> 'Bucharest',
	'布拉干省'			=> 'Bulacan',
	'布拉格'			=> 'Prague',
	'布兰普顿'			=> 'Brampton',
	'布兰特福德'		=> 'Brantford',
	'布里斯班'			=> 'Brisbane',
	'布隆迪'			=> 'Burundi',
	'布罗克维尔'		=> 'Brockville',
	'布什尔'			=> 'Bushehr',
	'布伊格电信'		=> 'Bouygues Telecom',
	'猜那府'			=> 'Guana House',
	'猜也奔府'			=> 'Chaiyaphum',
	'层峰网络'			=> 'Layer peak network',
	'查尔斯顿'			=> 'Charleston',
	'查谟'				=> 'Jammu',
	'查谟和克什米尔'	=> 'Jammu and Kashmir',
	'查亚普拉'			=> 'Jayapura',
	'茶荣省'			=> 'Tra Vinh',
	'昌迪加尔'			=> 'Chandigarh',
	'朝鲜'				=> 'North Korea',
	'程逸府'			=> 'Uttaradit',
	'赤道几内亚'		=> 'Equatorial Guinea',
	'冲绳县'			=> 'Okinawa Prefecture',
	'川崎'				=> 'Kawasaki',
	'川越'				=> 'Kawagoe',
	'春蓬府'			=> 'Chumphon',
	'春武里府'			=> 'Chonburi',
	'茨城县'			=> 'Ibaraki prefecture',
	'达德拉纳加尔哈维利'=> 'Dadra Nagar Haveli',
	'达尔文'			=> 'Darwin',
	'达府'				=> 'Tak',
	'达拉斯'			=> 'Dallas',
	'达叻府'			=> 'Trat',
	'达曼'				=> 'Dammam',
	'达曼和第乌'		=> 'Dammam and Diu',
	'达沃省'			=> 'Davao',
	'大阪'				=> 'Osaka',
	'大阪府'			=> 'Osaka Prefecture',
	'大城府'			=> 'Ayutthaya',
	'大分县'			=> 'Oita Prefecture',
	'大津'				=> 'Otsu',
	'大熊湖'			=> 'Big Bear Lake',
	'大雅加达'			=> 'Greater Jakarta',
	'丹佛'				=> 'Denver',
	'丹麦'				=> 'Denmark',
	'丹戎槟榔'			=> 'Tanjung Pinang',
	'岛根县'			=> 'Shimane Prefecture',
	'得梅因'			=> 'Des Moines',
	'德波'				=> 'Debord',
	'德岛县'			=> 'Tokushima County',
	'德国'				=> 'Germany',
	'德国电信'			=> 'SF',
	'德黑兰'			=> 'Tehran',
	'德克萨斯'			=> 'Texas',
	'德里'				=> 'Delhi',
	'德里国家首都辖区'	=> 'National Capital Territory of Delhi',
	'登巴萨'			=> 'Denpasar',
	'登嘉楼'			=> 'Terengganu',
	'迪拜'				=> 'Dubai',
	'迪马布尔'			=> 'Dimapur',
	'底特律'			=> 'Detroit',
	'第斯普尔'			=> 'Dispur',
	'蒂鲁文南特布勒姆'	=> 'Thiruvananthapuram',
	'奠边省'			=> 'Dien Bien Province',
	'东达沃省'			=> 'Davao East',
	'东帝汶'			=> 'East Timor',
	'东加里曼丹'		=> 'East Kalimantan',
	'东京'				=> 'Tokyo',
	'东京都'			=> 'Tokyo',
	'东米萨米斯省'		=> 'Misamis Oriental',
	'东南苏拉威西'		=> 'Southeast Sulawesi',
	'东内格罗省'		=> 'Negro East',
	'东努沙登加拉'		=> 'East Nusa Tenggara',
	'东萨马省'			=> 'Eastern Samar',
	'东塔省'			=> 'Dongta',
	'东爪哇'			=> 'East Java',
	'董里府'			=> 'Trang',
	'多佛'				=> 'Dover',
	'多哥'				=> 'Togo',
	'多哈'				=> 'Doha',
	'多科莫'			=> 'Dokomo',
	'多乐省'			=> 'Dak Lak',
	'多伦多'			=> 'Toronto',
	'多米尼加'			=> 'Dominica',
	'多米尼克'			=> 'Dominica',
	'多农省'			=> 'Donnon',
	'俄亥俄'			=> 'Ohio',
	'俄克拉何马'		=> 'Oklahoma',
	'俄克拉何马城'		=> 'Oklahoma City',
	'俄勒冈'			=> 'Oregon',
	'俄罗斯'			=> 'Russia',
	'俄罗斯电信'		=> 'Russia Telecom',
	'厄瓜多尔'			=> 'Ecuador',
	'厄立特里亚'		=> 'Eritrea',
	'法尔斯'			=> 'Fars',
	'法国'				=> 'France',
	'法国电信'			=> 'France Telecom',
	'法国南部领地'		=> 'French Southern Territory',
	'法兰克福'			=> 'Frankfurt',
	'法里达巴德'		=> 'Faridabad',
	'法罗群岛'			=> 'Faroe Islands',
	'法属波利尼西亚'	=> 'French Polynesia',
	'法属圭亚那'		=> 'French Guiana',
	'泛贝加尔'			=> 'Pan Baikal',
	'梵蒂冈'			=> 'Vatican',
	'非洲地区'			=> 'Africa',
	'菲律宾'			=> 'the Philippines',
	'菲律宾长途电话公司'=> 'Philippine long distance telephone company',
	'斐济'				=> 'Fiji',
	'费城'				=> 'Philadelphia',
	'费利蒙'			=> 'Fremont',
	'芬兰'				=> 'Finland',
	'丰田'				=> 'Toyota',
	'凤凰城'			=> 'Phoenix city',
	'弗吉尼亚'			=> 'Virginia',
	'弗雷德里克顿'		=> 'Fredericton',
	'佛得角'			=> 'Cape Verde',
	'佛列斯诺'			=> 'Fresno',
	'佛罗里达'			=> 'Florida',
	'佛蒙特'			=> 'Vermont',
	'佛丕府'			=> 'Phetchaburi',
	'佛统府'			=> 'Nakhon Pathom',
	'福岛县'			=> 'Fukushima Prefecture',
	'福冈县'			=> 'Fukuoka Prefecture',
	'福井县'			=> 'Fukui Prefecture',
	'福克兰群岛'		=> 'Falkland Islands',
	'福山'				=> 'Fukuyama',
	'富安省'			=> 'Phu Yen',
	'富吉拉'			=> 'Fujairah',
	'富山县'			=> 'Toyama County',
	'富士'				=> 'Fuji',
	'富寿省'			=> 'Phu Tho',
	'甘地讷格尔'		=> 'Gandhinagar',
	'甘烹碧府'			=> 'Kamphaeng Phet',
	'甘托克'			=> 'Gangtok',
	'冈比亚'			=> 'Gambia',
	'冈山县'			=> 'Okayama Prefecture',
	'刚果布'			=> 'Republic of Congo',
	'刚果金'			=> 'Congo',
	'高哈蒂'			=> 'Gauhati',
	'高平省'			=> 'Cao Binh',
	'高知县'			=> 'Kochi Prefecture',
	'哥本哈根'			=> 'Copenhagen',
	'哥打巴托省'		=> 'Cotabato Province',
	'哥伦比亚'			=> 'Colombia',
	'哥伦布'			=> 'Columbus',
	'哥伦打洛'			=> 'Gorontalo',
	'哥斯达黎加'		=> 'Costa Rica',
	'哥印拜陀'			=> 'Coimbatore',
	'格林纳达'			=> 'Grenada',
	'格陵兰'			=> 'Greenland',
	'格鲁吉亚'			=> 'Georgia',
	'根西岛'			=> 'Guernsey',
	'宫城县'			=> 'Miyagi Prefecture',
	'宫崎县'			=> 'Miyazaki Prefecture',
	'古巴'				=> 'Cuba',
	'古邦'				=> 'Kupang',
	'古尔冈'			=> 'Gurgaon',
	'古吉拉特'			=> 'Gujarat',
	'瓜德罗普'			=> 'Guadeloupe',
	'关岛'				=> 'Guam',
	'广岛县'			=> 'Hiroshima Prefecture',
	'广电'				=> 'Broadcasting',
	'广南省'			=> 'Quang Nam',
	'广宁省'			=> 'Quang Ninh Province',
	'广义省'			=> 'Quang Ngai Province',
	'广治省'			=> 'Quang Tri',
	'圭尔夫'			=> 'Guelph',
	'圭亚那'			=> 'Guyana',
	'果阿'				=> 'Goa',
	'哈里斯堡'			=> 'Harrisburg',
	'哈里亚纳'			=> 'Haryana',
	'哈利法克斯'		=> 'Halifax',
	'哈密尔顿'			=> 'Hamilton',
	'哈南省'			=> 'Hanan Province',
	'哈萨克斯坦'		=> 'Kazakhstan',
	'哈萨克斯坦电信'	=> 'Kazakhstan Telecom',
	'哈特福德'			=> 'Hartford',
	'海得拉巴'			=> 'Hyderabad',
	'海地'				=> 'Haiti',
	'海防市'			=> 'Haiphong',
	'海伦娜'			=> 'Helena',
	'海阳省'			=> 'Hai Duong Province',
	'韩国'				=> 'South Korea',
	'韩国电信'			=> 'Korea Telecom',
	'汉诺威'			=> 'Hanover',
	'豪登'				=> 'Howden',
	'好莱坞'			=> 'Hollywood',
	'呵叻府'			=> 'Nakhon Ratchasima',
	'和歌山县'			=> 'Wakayama County',
	'和记电讯'			=> 'Hutchison Telecommunications',
	'和记电讯印尼'		=> 'Hutchison Telecommunications Indonesia',
	'和平省'			=> 'Peace Province',
	'河江省'			=> 'Ha Giang Province',
	'河静省'			=> 'Ha Tinh',
	'河内'				=> 'Hanoi',
	'荷兰'				=> 'Netherlands',
	'荷属圣马丁'		=> 'Sint Maarten',
	'鹤冈'				=> 'Tsuruoka',
	'黑森'				=> 'Hesse',
	'黑山'				=> 'Montenegro',
	'横滨'				=> 'Yokohama',
	'红木城'			=> 'Redwood City',
	'红统府'			=> 'Ang Thong',
	'洪都拉斯'			=> 'Honduras',
	'后江省'			=> 'Houjiang Province',
	'胡志明'			=> 'Ho Chi Minh',
	'互联网泰国'		=> 'Internet Thailand',
	'花卷'				=> 'Hanamaki',
	'华富里府'			=> 'Lopburi',
	'华沙'				=> 'Warsaw',
	'华盛顿'			=> 'Washington',
	'华盛顿特区'		=> 'Washington DC',
	'滑铁卢'			=> 'Waterloo',
	'怀俄明'			=> 'Wyoming',
	'怀特霍斯'			=> 'Whitehorse',
	'黄金海岸'			=> 'Gold Coast',
	'会津若松'			=> 'Aizuwakamatsu',
	'霍巴特'			=> 'Hobart',
	'霍利奥克'			=> 'Holyoke',
	'姬路'				=> 'Himeji',
	'基里巴斯'			=> 'Kiribati',
	'基洛纳'			=> 'Kelowna',
	'基奇纳'			=> 'Kitchener',
	'吉布提'			=> 'Djibouti',
	'吉打州'			=> 'Kedah',
	'吉尔吉斯斯坦'		=> 'Kyrgyzstan',
	'吉兰丹'			=> 'Kelantan',
	'吉朗'				=> 'Geelong',
	'吉隆坡'			=> 'Kuala Lumpur',
	'几内亚'			=> 'Guinea',
	'几内亚比绍'		=> 'Guinea-Bissau',
	'加蒂诺'			=> 'Gatineau',
	'加尔各答'			=> 'Calcutta',
	'加拉信府'			=> 'Kalasin',
	'加利福尼亚'		=> 'California',
	'加拿大'			=> 'Canada',
	'加拿大贝尔'		=> 'Canadian Bell',
	'加纳'				=> 'Ghana',
	'加蓬'				=> 'Gabon',
	'嘉莱省'			=> 'Gia Lai',
	'甲洞'				=> 'Kepong',
	'甲府'				=> 'Kofu',
	'甲米地省'			=> 'Cavite Province',
	'甲米府'			=> 'Krabi',
	'贾坎德'			=> 'Jakhand',
	'尖竹汶府'			=> 'Chanthaburi',
	'坚江省'			=> 'Kien Giang Province',
	'柬埔寨'			=> 'Cambodia',
	'柬埔寨信威'		=> 'Cambodia Xinwei',
	'剑桥'				=> 'Cambridge',
	'杰斐逊城'			=> 'Jefferson City',
	'杰克逊'			=> 'Jackson',
	'捷克'				=> 'Czech Republic',
	'堺'				=> 'Sakai',
	'金边'				=> 'Phnom Penh',
	'金瓯省'			=> 'Ca Mau Province',
	'金斯敦'			=> 'Kingston',
	'津'				=> 'Tianjin',
	'津巴布韦'			=> 'Zimbabwe',
	'京都'				=> 'Kyoto',
	'京都府'			=> 'Kyoto Prefecture',
	'静冈县'			=> 'Shizuoka Prefecture',
	'旧金山'			=> 'San Francisco',
	'橘子电信'			=> 'Orange Telecom',
	'巨港'				=> 'Palembang',
	'喀拉拉'			=> 'Kerala',
	'喀麦隆'			=> 'Cameroon',
	'卡尔加里'			=> 'Calgary',
	'卡加烟省'			=> 'Cagayan Province',
	'卡林阿省'			=> 'Kalinga',
	'卡纳塔克'			=> 'Karnataka',
	'卡皮斯省'			=> 'Capiz',
	'卡森城'			=> 'Carson city',
	'卡塔尔'			=> 'Qatar',
	'卡塔尔电信'		=> 'Qatar Telecom',
	'卡坦端内斯省'		=> 'Catanduanes',
	'开曼群岛'			=> 'Cayman Islands',
	'开普敦'			=> 'Cape Town',
	'凯恩斯'			=> 'Cairns',
	'堪培拉'			=> 'Canberra',
	'堪萨斯'			=> 'Kansas',
	'堪萨斯城'			=> 'Kansas City',
	'坎卢普斯'			=> 'Kamloops',
	'坎普尔'			=> 'Kanpur',
	'康波斯特拉谷省'		=> 'Compostela Valley',
	'康卡斯特'			=> 'Comcast',
	'康科德'			=> 'Concord',
	'康涅狄格'			=> 'Connecticut',
	'康普顿'			=> 'Compton',
	'康沃尔'			=> 'Cornwall',
	'柯钦'				=> 'Cochin',
	'科技网'			=> 'Science and Technology Network',
	'科进'				=> 'Kejin',
	'科罗拉多'			=> 'Colorado',
	'科摩罗'			=> 'Comoros',
	'科斯塔梅萨'		=> 'Costa Mesa',
	'科索沃'			=> 'Kosovo',
	'科特迪瓦'			=> 'Cote d\'Ivoire',
	'科威特'			=> 'Kuwait',
	'科希马'			=> 'Koshima',
	'克尔曼'			=> 'Kerman',
	'克里米亚'			=> 'Crimea',
	'克罗地亚'			=> 'Croatia',
	'肯达里'			=> 'Kendari',
	'肯尼亚'			=> 'Kenya',
	'肯塔基'			=> 'Kentucky',
	'孔敬府'			=> 'Khon Kaen',
	'库比蒂诺'			=> 'Cupertino',
	'库克群岛'			=> 'Island',
	'库拉索'			=> 'Curacao',
	'奎松省'			=> 'Quezon Province',
	'魁北克'			=> 'Quebec',
	'坤甸'				=> 'Pontianak',
	'昆士兰'			=> 'Queensland',
	'昆嵩省'			=> 'Kon Tum Province',
	'拉贾斯坦'			=> 'Rajasthan',
	'拉农府'			=> 'Ranong',
	'拉斯维加斯'		=> 'Las Vegas',
	'拉脱维亚'			=> 'Latvia',
	'拉允隆省'			=> 'La Yunlong',
	'莱索托'			=> 'Lesotho',
	'莱特省'			=> 'Leyte',
	'莱洲省'			=> 'Lai Chau',
	'兰契'				=> 'Ranchi',
	'兰辛'				=> 'Lansing',
	'廊开府'			=> 'Nong Khai',
	'廊磨喃蒲府'		=> 'Lang Mo Lam Phu',
	'朗布隆省'			=> 'Romblon',
	'老街省'			=> 'Lao Cai Province',
	'老挝'				=> 'Laos',
	'老挝电信'			=> 'Lao Telecom',
	'老挝电信企业'		=> 'Lao Telecom Enterprise',
	'叻丕府'			=> 'Ratchaburi',
	'勒克瑙'			=> 'Lucknow',
	'雷德蒙德'			=> 'Redmond',
	'黎巴嫩'			=> 'Lebanon',
	'黎府'				=> 'Loei',
	'黎刹省'			=> 'Rizal Province',
	'黎逸府'			=> 'Roi Et',
	'里弗顿'			=> 'Riverton',
	'里贾纳'			=> 'Regina',
	'里士满'			=> 'Richmond',
	'立陶宛'			=> 'Lithuania',
	'利比里亚'			=> 'Liberia',
	'利比亚'			=> 'Libya',
	'利特尔顿'			=> 'Littleton',
	'利雅得地区'		=> 'Riyadh Region',
	'栃木县'			=> 'Tochigi Prefecture',
	'脸书'				=> 'Facebook',
	'谅山省'			=> 'Lang Son Province',
	'廖内群岛'			=> 'Riau Islands',
	'廖内省'			=> 'Riau',
	'列宁格勒'			=> 'Leningrad',
	'列支敦士登'		=> 'Liechtenstein',
	'林肯'				=> 'Lincoln',
	'林同省'			=> 'Lam Dong',
	'留尼旺'			=> 'Reunion',
	'龙仔厝府'			=> 'Long Tsai House',
	'隆安省'			=> 'Long An Province',
	'卢迪亚纳'			=> 'Ludhiana',
	'卢森堡'			=> 'Luxembourg',
	'卢旺达'			=> 'Rwanda',
	'鹿儿岛县'			=> 'Kagoshima Prefecture',
	'路易斯安那'		=> 'Louisiana',
	'伦敦'				=> 'London',
	'罗得岛'			=> 'Rhode Island',
	'罗杰斯通信'		=> 'Rogers Communications',
	'罗马'				=> 'Rome',
	'罗马尼亚'			=> 'Romania',
	'罗勇府'			=> 'Rayong',
	'洛坤府'			=> 'Nakhon Si Thammarat',
	'洛杉矶'			=> 'Los Angeles',
	'马辰'				=> 'Ma Chen',
	'马达加斯加'		=> 'Madagascar',
	'马德里'			=> 'Madrid',
	'马杜赖'			=> 'Madurai',
	'马恩岛'			=> 'Isle of Man',
	'马尔代夫'			=> 'Maldives',
	'马耳他'			=> 'Malta',
	'马哈拉施特拉'		=> 'Maharashtra',
	'马京达瑙省'		=> 'Maguindanao',
	'马拉维'			=> 'Malawi',
	'马来西亚'			=> 'Malaysia',
	'马来西亚电信'		=> 'Malaysia Telecom',
	'马里'				=> 'Mali',
	'马里兰'			=> 'Maryland',
	'马利布'			=> 'Malibu',
	'马林杜克省'		=> 'Marinduque',
	'马六甲'			=> 'Malacca',
	'马鲁古'			=> 'Maluku',
	'马尼拉'			=> 'Manila',
	'马诺夸里'			=> 'Manokwari',
	'马其顿'			=> 'Macedonia',
	'马萨诸塞'			=> 'Massachusetts',
	'马绍尔群岛'		=> 'Marshall Islands',
	'马斯巴特省'		=> 'Masbate',
	'马斯喀特'			=> 'Muscat',
	'马塔兰'			=> 'Mataram',
	'马提尼克'			=> 'Martinique',
	'马约特'			=> 'Mayotte',
	'玛哈沙拉堪府'		=> 'Maha Sarakham',
	'玛琅'				=> 'Malang',
	'迈阿密'			=> 'Miami',
	'迈索尔'			=> 'Mysore',
	'麦迪逊'			=> 'Madison',
	'麦加地区'			=> 'Mecca area',
	'麦凯'				=> 'Mackay',
	'麦克默里堡'		=> 'Fort McMurray',
	'曼谷'				=> 'Bangkok',
	'曼尼普尔'			=> 'Manipur',
	'曼尼托巴'			=> 'Manitoba',
	'毛里求斯'			=> 'Mauritius',
	'毛里塔尼亚'		=> 'Mauritania',
	'茂物'				=> 'Bogor',
	'梅加拉亚'			=> 'Megaraya',
	'湄公网'			=> 'Mekong',
	'美国'				=> 'America',
	'美国电话电报'		=> 'American Telephone and Telegraph',
	'美属萨摩亚'		=> 'American Samoa',
	'美属维尔京群岛'	=> 'United States Virgin Islands',
	'蒙彼利埃'			=> 'Montpellier',
	'蒙大拿'			=> 'Montana',
	'蒙哥马利'			=> 'Montgomery',
	'蒙古'				=> 'Mongolia',
	'蒙古顿'			=> 'Moncton',
	'蒙塞拉特岛'		=> 'Monserrate',
	'蒙特利'			=> 'Monterey',
	'蒙特利尔'			=> 'Montreal',
	'孟加拉'			=> 'Bengal',
	'孟买'				=> 'Mumbai',
	'米尔顿'			=> 'Milton',
	'米兰'				=> 'Milan',
	'米佐拉姆'			=> 'Mizoram',
	'秘鲁'				=> 'Peru',
	'密克罗尼西亚'		=> 'Micronesia',
	'密拉特'			=> 'Meerut',
	'密苏里'			=> 'Missouri',
	'密西沙加'			=> 'Mississauga',
	'密西西比'			=> 'Mississippi',
	'密歇根'			=> 'Michigan',
	'棉兰'				=> 'Medan',
	'缅甸'				=> 'Myanmar',
	'缅甸电信'			=> 'Myanmar Telecom',
	'缅因'				=> 'Maine',
	'民都洛省'			=> 'Mindoro',
	'名古屋'			=> 'Nagoya',
	'明古鲁'			=> 'Bengkulu',
	'明尼阿波利斯'		=> 'Minneapolis',
	'明尼苏达'			=> 'Minnesota',
	'摩尔多瓦'			=> 'Moldova',
	'摩洛哥'			=> 'Morocco',
	'摩纳哥'			=> 'Monaco',
	'莫达汉府'			=> 'Mukdahan',
	'莫桑比克'			=> 'Mozambique',
	'莫斯科'			=> 'Moscow',
	'墨尔本'			=> 'Melbourne',
	'墨西哥'			=> 'Mexico',
	'墨西哥电信'		=> 'Mexico Telecom',
	'墨西哥美洲移动'	=> 'Mexico America Mobile',
	'慕尼黑'			=> 'Munich',
	'穆阿拉'			=> 'Muara',
	'那霸'				=> 'Naha',
	'那格浦尔'			=> 'Nagpur',
	'那加兰'			=> 'Nagaran',
	'那空那育府'		=> 'Nakhon Nayok',
	'那空帕农府'		=> 'Nakhon Phanom',
	'纳罗利'			=> 'Naroli',
	'纳米比亚'			=> 'Namibia',
	'纳闽'				=> 'Labuan',
	'纳什维尔'			=> 'Nashville',
	'纳西克'			=> 'Nasik',
	'奈良县'			=> 'Nara Prefecture',
	'南阿古桑省'		=> 'Agusan del Sur',
	'南澳大利亚'		=> 'South Australia',
	'南邦府'			=> 'Lampang',
	'南奔府'			=> 'Lamphun',
	'南达科他'			=> 'South Dakota',
	'南达沃省'			=> 'South Davao',
	'南定省'			=> 'Nam Dinh Province',
	'南非'				=> 'South Africa',
	'南甘马粦省'		=> 'South Kemaman Province',
	'南哥打巴托省'		=> 'South Cotabato Province',
	'南广平'			=> 'Nam Guangping',
	'南极洲'			=> 'Antarctica',
	'南加里曼丹'		=> 'South Kalimantan',
	'南加利福尼亚'		=> 'Southern California',
	'南卡罗来纳'		=> 'South Carolina',
	'南乔治亚岛和南桑威奇群岛'	=> 'South Georgia and the South Sandwich Islands',
	'南三宝颜省'		=> 'Zamboanga del Sur',
	'南苏丹'			=> 'South Sudan',
	'南苏拉威西'		=> 'South Sulawesi',
	'南苏里高省'		=> 'Surigao del Sur',
	'南苏门答腊'		=> 'South Sumatra',
	'南伊罗戈省'		=> 'Ilocos del Sur',
	'难府'				=> 'Nanfu',
	'楠榜省'			=> 'Lampung',
	'瑙鲁'				=> 'Nauru',
	'内布拉斯加'		=> 'Nebraska',
	'内湖省'			=> 'Neihu',
	'内华达'			=> 'Nevada',
	'内洛尔'			=> 'Nellore',
	'内珀维尔'			=> 'Naperville',
	'内网IP'			=> 'Intranet IP',
	'尼加拉瓜'			=> 'Nicaragua',
	'尼泊尔'			=> 'Nepal',
	'尼日尔'			=> 'Niger',
	'尼日利亚'			=> 'Nigeria',
	'鸟取县'			=> 'Tottori Prefecture',
	'宁平省'			=> 'Ninh Binh Province',
	'宁顺省'			=> 'Ninh Thuan Province',
	'纽埃'				=> 'Niue',
	'纽芬兰与拉布拉多'	=> 'Newfoundland and Labrador',
	'纽卡斯尔'			=> 'Newcastle',
	'纽马克特'			=> 'Newmarket',
	'纽约'				=> 'New York',
	'努纳武特'			=> 'Nunavut',
	'暖武里府'			=> 'Nonthaburi',
	'挪威'				=> 'Norway',
	'诺福克岛'			=> 'Norfolk Island',
	'诺伊达'			=> 'Noida',
	'欧洲'				=> 'Europe',
	'帕府'				=> 'Phrae',
	'帕朗卡拉亚'		=> 'Palangkaraya',
	'帕劳'				=> 'Palau',
	'帕卢'				=> 'Palu',
	'帕罗奥多'			=> 'Palo Alto',
	'帕萨迪纳'			=> 'Pasadena',
	'帕西格'			=> 'Pasig',
	'帕尧府'			=> 'Phayao',
	'潘吉姆'			=> 'Panjim',
	'攀牙府'			=> 'Phang Nga',
	'旁遮普'			=> 'Punjab',
	'彭亨州'			=> 'Pahang',
	'彭世洛府'			=> 'Phitsanulok',
	'鹏博士'			=> 'Dr. Peng',
	'披集府'			=> 'Phichit',
	'霹雳州'			=> 'Perak',
	'皮尔'				=> 'Peel',
	'平定省'			=> 'Binh Dinh Province',
	'平福省'			=> 'Binh Phuoc',
	'平顺省'			=> 'Binh Thuan Province',
	'平阳省'			=> 'Binh Duong Province',
	'苹果'				=> 'Apple',
	'珀斯'				=> 'Perth',
	'葡萄牙'			=> 'Portugal',
	'浦那'				=> 'Pune',
	'普吉府'			=> 'Phuket Province',
	'普罗维登斯'		=> 'Providence',
	'普哇加达'			=> 'Puwajada',
	'岐阜县'			=> 'Gifu Prefecture',
	'埼玉县'			=> 'Saitama Prefecture',
	'恰蒂斯加尔'		=> 'Chhattisgarh',
	'清莱府'			=> 'Chiang Rai',
	'清迈府'			=> 'Chiang Mai',
	'惹拉府'			=> 'Yala',
	'日本电信电话'		=> 'Japan Telecom',
	'萨尔瓦多'			=> 'Salvador',
	'萨摩亚'			=> 'Samoa',
	'塞尔维亚'			=> 'Serbia',
	'塞拉利昂'			=> 'Sierra Leone',
	'塞内加尔'			=> 'Senegal',
	'塞浦路斯'			=> 'Cyprus',
	'塞舌尔'			=> 'Seychelles',
	'三重县'			=> 'Mie County',
	'千叶县'			=> 'Chiba Prefecture',
	'前江省'			=> 'Tien Giang Province',
	'钦奈'				=> 'Chennai',
	'芹苴市'			=> 'Can Tho City',
	'寝屋川'			=> 'Neyagawa',
	'青森县'			=> 'Aomori Prefecture',
	'清化省'			=> 'Thanh Hoa',
	'庆和省'			=> 'Khanh Hoa',
	'秋田县'			=> 'Akita Prefecture',
	'群马县'			=> 'Gunma Prefecture',
	'日本'				=> 'Japan',
	'日本电信电话'			=> 'Japan Telecom',
	'日惹'				=> 'Yogyakarta',
	'日惹特区'			=> 'Special Region of Yogyakarta',
	'柔佛州'			=> 'Johor',
	'柔似蜜'			=> 'Soft as honey',
	'软银'				=> 'Softbank',
	'瑞典'				=> 'Sweden',
	'瑞士'				=> 'Switzerland',
	'若列特'			=> 'Jolet',
	'萨克拉门托'		=> 'Sacramento',
	'萨兰加尼省'		=> 'Sarangani',
	'萨马省'			=> 'Samar',
	'萨斯喀彻温'		=> 'Saskatchewan',
	'萨斯卡通'			=> 'Saskatoon',
	'塞勒姆'			=> 'Salem',
	'赛城'				=> 'Cyberjaya',
	'三宝垄'			=> 'Semarang',
	'三宝颜锡布格省'	=> 'Zamboanga City Province',
	'三联市'			=> 'Tricity',
	'三马林达'			=> 'Samarinda',
	'三描礼士省'		=> 'Zambales',
	'桑德贝'			=> 'Thunder Bay',
	'色军府'			=> 'Sakon Palace',
	'森美兰'			=> 'Negeri Sembilan',
	'森尼韦尔'			=> 'Sunnyvale',
	'沙巴州'			=> 'Sabah',
	'沙敦府'			=> 'Satun',
	'沙缴府'			=> 'Sa Kaeo',
	'沙特阿拉伯'		=> 'Saudi Arabia',
	'砂拉越州'			=> 'Sarawak',
	'山景'				=> 'Mountain view',
	'山口县'			=> 'Yamaguchi',
	'山梨县'			=> 'Yamanashi',
	'山萝省'			=> 'Shanluo',
	'山行县'			=> 'Shanxing County',
	'神奈川县'			=> 'Kanagawa Prefecture',
	'圣安那'			=> 'St. Anna',
	'圣巴泰勒米'		=> 'Saint Barthelemy',
	'圣保罗'			=> 'Sao paulo',
	'圣贝纳迪诺'		=> 'San Bernardino',
	'圣彼得堡'			=> 'St. Petersburg',
	'圣诞岛'			=> 'Christmas Island',
	'圣地亚哥'			=> 'San Diego',
	'圣多美和普林西比'	=> 'Sao Tome and Principe',
	'圣菲'				=> 'Santa Fe',
	'圣费尔南多'		=> 'San Fernando',
	'圣何塞'			=> 'San jose',
	'圣基茨和尼维斯'	=> 'Saint Kitts and Nevis',
	'圣加夫列夫尔'		=> 'St. Gabriel',
	'圣凯瑟琳斯'		=> 'St. Catharines',
	'圣克拉拉'			=> 'Santa Clara',
	'圣朗贝尔'			=> 'Saint Lambert',
	'圣卢西亚'			=> 'Saint Lucia',
	'圣路易斯'			=> 'Saint louis',
	'圣马丁'			=> 'Saint Martin',
	'圣马力诺'			=> 'San Marino',
	'圣莫尼卡'			=> 'Santa Monica',
	'圣皮埃尔和密克隆群岛'	=> 'Saint Pierre and Miquelon',
	'圣文森特和格林纳丁斯'	=> 'Saint Vincent and the Grenadines',
	'圣约翰'			=> 'Saint john',
	'石川县'			=> 'Ishikawa Prefecture',
	'石卷'				=> 'Ishinomaki',
	'史托克顿'			=> 'Stockton',
	'世纪互联'			=> '21Vianet',
	'首尔'				=> 'Seoul',
	'顺化省'			=> 'Hue Province',
	'朔庄省'			=> 'Sotrang Province',
	'斯德哥尔摩'		=> 'Stockholm',
	'斯里兰卡'			=> 'Sri Lanka',
	'斯利那加'			=> 'Srinagar',
	'斯洛伐克'			=> 'Slovakia',
	'斯洛文尼亚'		=> 'Slovenia',
	'斯普林菲尔德'		=> 'Springfield',
	'斯威士兰'			=> 'Swaziland',
	'四日市'			=> 'Yokkaichi',
	'四色菊府'			=> 'Sisaket',
	'泗水'				=> 'Surabaya',
	'松本'				=> 'Matsumoto',
	'松江'				=> 'Matsue',
	'松山'				=> 'Matsuyama',
	'宋卡府'			=> 'Songkhla',
	'苏丹'				=> 'Sudan',
	'苏丹库达拉省'		=> 'Sultan Kudala Province',
	'苏拉特'			=> 'Surat',
	'苏里南'			=> 'Suriname',
	'苏禄省'			=> 'Sulu',
	'素可泰府'			=> 'Sukhothai',
	'素叻府'			=> 'Surat Thani',
	'素里'				=> 'Surrey',
	'素辇府'			=> 'Surin',
	'素攀武里府'		=> 'Suphan Buri',
	'宿雾省'			=> 'Cebu Province',
	'梭罗'				=> 'Thoreau',
	'所罗门群岛'		=> 'Solomon Islands',
	'索龙'				=> 'Sorong',
	'索马里'			=> 'Somalia',
	'索索贡省'			=> 'Sorsogon',
	'塔吉克斯坦'		=> 'Tajikistan',
	'塔科马'			=> 'Tacoma',
	'塔拉哈西'			=> 'Tallahassee',
	'塔那'				=> 'Thane',
	'塔斯马尼亚'		=> 'Tasmania',
	'台拉登'			=> 'Dehradun',
	'太平省'			=> 'Taiping Province',
	'太原省'			=> 'Taiyuan',
	'泰国'				=> 'Thailand',
	'泰米尔纳德'		=> 'Tamil Nadu',
	'檀香山'			=> 'Honolulu',
	'坦桑尼亚'			=> 'Tanzania',
	'汤加'				=> 'Tonga',
	'汤斯维尔'			=> 'Townsville',
	'陶公府'			=> 'Tao Gongfu',
	'特克斯和凯科斯群岛'=> 'Turks and Caicos Islands',
	'特拉华'			=> 'Delaware',
	'特里普拉'			=> 'Tripura',
	'特立尼达和多巴哥'	=> 'Trinidad and Tobago',
	'特伦顿'			=> 'Trenton',
	'特伦甘地'			=> 'Telangandi',
	'特洛伊'			=> 'Troy',
	'腾讯'				=> 'Tencent',
	'田纳西'			=> 'Tennessee',
	'同奈省'			=> 'Dong Nai',
	'突尼斯'			=> 'Tunisia',
	'图瓦卢'			=> 'Tuvalu',
	'图文巴'			=> 'Toowoomba',
	'土耳其'			=> 'Turkey',
	'土库曼斯坦'		=> 'Turkmenistan',
	'托克劳群岛'		=> 'Tokelau',
	'托兰斯'			=> 'Torrance',
	'托皮卡'			=> 'Topeka',
	'瓦多达拉'			=> 'Vadodara',
	'瓦利斯和富图纳群岛'=> 'Wallis and Futuna Islands',
	'瓦努阿图'			=> 'Vanuatu',
	'瓦斯科'			=> 'Vasco',
	'万丹'				=> 'Banten',
	'万隆'				=> 'Bandung',
	'万鸦老'			=> 'Manado',
	'网宿'				=> 'Wangsu',
	'望加锡'			=> 'Makassar',
	'危地马拉'			=> 'Guatemala',
	'威瑞森'			=> 'Verizon',
	'威斯康星'			=> 'Wisconsin',
	'微软'				=> 'Microsoft',
	'维多利亚'			=> 'Victoria',
	'维杰亚瓦达'		=> 'Vijayawada',
	'维沙卡帕特南'		=> 'Visakhapatnam',
	'委内瑞拉'			=> 'Venezuela',
	'温哥华'			=> 'Vancouver',
	'温尼伯'			=> 'Winnipeg',
	'温莎'				=> 'Windsor',
	'文莱'				=> 'Brunei',
	'文莱电信'			=> 'Brunei Telecom',
	'汶干府'			=> 'Bueng Kan',
	'翁戈尔'			=> 'Ongor',
	'沃达丰'			=> 'Vodafone',
	'沃达丰印度'		=> 'Vodafone India',
	'沃尔夫维尔'		=> 'Wolfville',
	'渥太华'			=> 'Ottawa',
	'乌干达'			=> 'Uganda',
	'乌克兰'			=> 'Ukraine',
	'乌拉圭'			=> 'Uruguay',
	'乌兰巴托'			=> 'Ulaanbaatar',
	'乌隆府'			=> 'Udon Thani',
	'乌泰他尼府'		=> 'Uthai Thani',
	'乌汶府'			=> 'Ubon Ratchathani',
	'乌兹别克斯坦'		=> 'Uzbekistan',
	'五所川原'			=> 'Goshogawara',
	'伍伦贡'			=> 'Wollongong',
	'武里南府'			=> 'Buriram',
	'勿加泗'			=> 'Bekasi',
	'西澳大利亚'		=> 'Western Australia',
	'西巴布亚'			=> 'West Papua',
	'西班牙'			=> 'Spain',
	'西班牙电信'		=> 'Telefónica',
	'西北地区'			=> 'North-west region',
	'西弗吉尼亚'		=> 'West Virginia',
	'西贡电信'			=> 'Saigon Telecom',
	'西加里曼丹'		=> 'West Kalimantan',
	'西冷'				=> 'Serang',
	'西隆'				=> 'Shillong',
	'西孟加拉'			=> 'West Bengal',
	'西米萨米斯省'		=> 'Western Misamis',
	'西姆拉'			=> 'Simla',
	'西内格罗省'		=> 'Negros Occidental',
	'西宁省'			=> 'Xining Province',
	'西努沙登加拉'		=> 'West Nusa Tenggara',
	'西苏拉威西'		=> 'West Sulawesi',
	'西苏门答腊'		=> 'West Sumatra',
	'西雅图'			=> 'Seattle',
	'西爪哇'			=> 'West Java',
	'希腊'				=> 'Greece',
	'悉尼'				=> 'Sydney',
	'锡尔瓦萨'			=> 'Silvassa',
	'锡基霍尔省'		=> 'Siquijor Province',
	'锡金'				=> 'Sikkim',
	'喜马偕尔'			=> 'Himachal',
	'夏洛特'			=> 'Charlotte',
	'夏洛特敦'			=> 'Charlottetown',
	'夏威夷'			=> 'Hawaii',
	'夏延'				=> 'Cheyenne',
	'岘港市'			=> 'Da Nang City',
	'香川县'			=> 'Kagawa Prefecture',
	'香港流动通讯'		=> 'Hong Kong Mobile Communications',
	'香港有线'			=> 'Hong Kong Cable',
	'小石城'			=> 'Little Rock',
	'辛辛那提'			=> 'Cincinnati',
	'新奥尔良'			=> 'New Orleans',
	'新不伦瑞克'		=> 'New Brunswick',
	'新德里'			=> 'New Delhi',
	'新罕布什尔'		=> 'New Hampshire',
	'新加坡'			=> 'Singapore',
	'新加坡第一通'		=> 'Singapore First Pass',
	'新加坡电信'		=> 'Singapore Telecom',
	'新喀里多尼亚'		=> 'New Caledonia',
	'新墨西哥'			=> 'New Mexico',
	'新南威尔士'		=> 'New South Wales',
	'新斯科舍'			=> 'Nova Scotia',
	'新西兰'			=> 'new Zealand',
	'新泻县'			=> 'Niigata Prefecture',
	'新怡诗夏省'		=> 'New Ecija',
	'新泽西'			=> 'New Jersey',
	'信实通信'			=> 'Reliance Communications',
	'信武里府'			=> 'Sing Buri',
	'星和移动'			=> 'Star and mobile',
	'星通讯'			=> 'Star Communications',
	'兴安省'			=> 'Xing\'an',
	'匈牙利'			=> 'Hungary',
	'熊本县'			=> 'Kumamoto Prefecture',
	'休斯顿'			=> 'Houston',
	'旭川'				=> 'Asahikawa',
	'叙利亚'			=> 'Syria',
	'宣光省'			=> 'Xuan Kuang Province',
	'雪兰莪'			=> 'Selangor',
	'牙买加'			=> 'Jamaica',
	'雅虎'				=> 'Yahoo',
	'雅加达'			=> 'Jakarta',
	'亚拉巴马'			=> 'Alabama',
	'亚利桑那'			=> 'Arizona',
	'亚马逊'			=> 'Amazon',
	'亚美尼亚'			=> 'Armenia',
	'亚齐特区'			=> 'Aceh',
	'亚太地区'			=> 'Asia-Pacific',
	'亚太电信'			=> 'Asia Pacific Telecom',
	'亚特兰大'			=> 'Atlanta',
	'岩手县'			=> 'Iwate Prefecture',
	'盐湖城'			=> 'Salt Lake City',
	'阳光海岸'			=> 'sunshine Beach',
	'耶洛奈夫'			=> 'Yellowknife',
	'也门'				=> 'Yemen',
	'夜丰颂府'			=> 'Mae Hong Son',
	'夜功府'			=> 'Samut Songkhram',
	'伊达纳格尔'		=> 'Idanagher',
	'伊富高省'			=> 'Ifugao',
	'伊卡卢伊特'		=> 'Iqaluit',
	'伊拉克'			=> 'Iraq',
	'伊朗'				=> 'Iran',
	'伊利诺伊'			=> 'Illinois',
	'伊洛伊洛省'		=> 'Iloilo',
	'伊努维克'			=> 'Inuvik',
	'伊斯法罕'			=> 'Isfahan',
	'以色列'			=> 'Israel',
	'义安省'			=> 'Nghe An',
	'益梭通府'			=> 'Yasothon',
	'意大利'			=> 'Italy',
	'意大利电信'		=> 'Telecom Italia',
	'印第安纳'			=> 'Indiana',
	'印第安纳波利斯'	=> 'Indianapolis',
	'印度'				=> 'India',
	'印度电信'			=> 'India Telecom',
	'印度尼西亚'		=> 'Indonesia',
	'印多尔'			=> 'Indore',
	'印尼金光'			=> 'Indonesia Cotai',
	'英国'				=> 'U.K',
	'英帕尔'			=> 'Impal',
	'英属维尔京群岛'	=> 'The British Virgin Islands',
	'英属印度洋领地'	=> 'British Indian Ocean Territory',
	'永富省'			=> 'Vinh Phu Province',
	'永隆省'			=> 'Vinh Long Province',
	'尤凯亚'			=> 'Ukiah',
	'尤里卡'			=> 'Eureka',
	'犹他'				=> 'Utah',
	'犹太州'			=> 'Jewish State',
	'育空'				=> 'Yukon',
	'约旦'				=> 'Jordan',
	'约翰内斯堡'		=> 'Johannesburg',
	'越南'				=> 'Vietnam',
	'越南电信'			=> 'Vietnam Telecom',
	'越南军用通讯'		=> 'Vietnam Military Communications',
	'越南邮电'			=> 'Vietnam Post and Telecommunications',
	'赞比亚'			=> 'Zambia',
	'泽西岛'			=> 'Jersey',
	'扎因'				=> 'Zain',
	'乍得'				=> 'Chad',
	'斋浦尔'			=> 'Jaipur',
	'詹谢普尔'			=> 'Jamshedpur',
	'占碑'				=> 'Jambi',
	'占碑省'			=> 'Jambi',
	'长冈'				=> 'Nagaoka',
	'长门'				=> 'Nagato',
	'长崎县'			=> 'Nagasaki Prefecture',
	'长滩'				=> 'Long Beach',
	'长野县'			=> 'Nagano Prefecture',
	'芝加哥'			=> 'Chicago',
	'直布罗陀'			=> 'Gibraltar',
	'智利'				=> 'Chile',
	'中非'				=> 'Central Africa',
	'中华电信'			=> 'Chunghwa Telecom',
	'中加里曼丹'		=> 'Central Kalimantan',
	'中苏拉威西'		=> 'Central Sulawesi',
	'中央邦'			=> 'Madhya Pradesh',
	'中爪哇'			=> 'Central Java',
	'朱诺'				=> 'Juno',
	'滋贺县'			=> 'Shiga Prefecture',
	'佐贺县'			=> 'Saga Prefecture',
	'佐治亚'			=> 'Georgia',

	// 短的放在后面
	'联通'				=> ' [China Unicom]',
	'移动'				=> ' [China Mobile]',
	'电信'				=> ' [China Telecom]',
	'广电'				=> ' [Broadcasting]',
	'内网IP'			=> 'Local IP',
);
Ip2Region.db
wget 'https://sme10.lists2.roe3.org/kodbox/app/sdks/Ip2Region/Ip2Region.db'
View Content
Ip2Region.php
wget 'https://sme10.lists2.roe3.org/kodbox/app/sdks/Ip2Region/Ip2Region.php'
View Content
<?php
/**
 * ip2region php seacher client class
 *
 * @author  chenxin<chenxin619315@gmail.com>
 * @date    2015-10-29
*/

defined('INDEX_BLOCK_LENGTH')   or define('INDEX_BLOCK_LENGTH',  12);
defined('TOTAL_HEADER_LENGTH')  or define('TOTAL_HEADER_LENGTH', 8192);

class Ip2Region 
{
    /**
     * db file handler
    */
    private $dbFileHandler = NULL;

    /**
     * header block info
    */
    private $HeaderSip    = NULL;
    private $HeaderPtr    = NULL;
    private $headerLen  = 0;

    /**
     * super block index info
    */
    private $firstIndexPtr = 0;
    private $lastIndexPtr  = 0;
    private $totalBlocks   = 0;

    /**
     * for memory mode only
     *  the original db binary string
    */
    private $dbBinStr = NULL;
    private $dbFile = NULL;
    
    /**
     * construct method
     *
     * @param   ip2regionFile
    */
    public function __construct( $ip2regionFile)
    {
        $this->dbFile = $ip2regionFile;
    }

    /**
     * all the db binary string will be loaded into memory
     * then search the memory only and this will a lot faster than disk base search
     * @Note: 
     * invoke it once before put it to public invoke could make it thread safe
     *
     * @param   $ip
    */
    public function memorySearch($ip)
    {
        //check and load the binary string for the first time
        if ( $this->dbBinStr == NULL ) {
            $this->dbBinStr = file_get_contents($this->dbFile);
            if ( $this->dbBinStr == false ) {
                throw new Exception("Fail to open the db file {$this->dbFile}");
            }

            $this->firstIndexPtr = self::getLong($this->dbBinStr, 0);
            $this->lastIndexPtr  = self::getLong($this->dbBinStr, 4);
            $this->totalBlocks   = ($this->lastIndexPtr-$this->firstIndexPtr)/INDEX_BLOCK_LENGTH + 1;
        }

        if ( is_string($ip) ) $ip = self::safeIp2long($ip);

        //binary search to define the data
        $l = 0;
        $h = $this->totalBlocks;
        $dataPtr = 0;
        while ( $l <= $h ) {
            $m = (($l + $h) >> 1);
            $p = $this->firstIndexPtr + $m * INDEX_BLOCK_LENGTH;
            $sip = self::getLong($this->dbBinStr, $p);
            if ( $ip < $sip ) {
                $h = $m - 1;
            } else {
                $eip = self::getLong($this->dbBinStr, $p + 4);
                if ( $ip > $eip ) {
                    $l = $m + 1;
                } else {
                    $dataPtr = self::getLong($this->dbBinStr, $p + 8);
                    break;
                }
            }
        }

        //not matched just stop it here
        if ( $dataPtr == 0 ) return NULL;

        //get the data
        $dataLen = (($dataPtr >> 24) & 0xFF);
        $dataPtr = ($dataPtr & 0x00FFFFFF);

        return array(
            'city_id' => self::getLong($this->dbBinStr, $dataPtr), 
            'region'  => substr($this->dbBinStr, $dataPtr + 4, $dataLen - 4)
        );
    }

    /**
     * get the data block through the specified ip address or long ip numeric with binary search algorithm
     *
     * @param    ip
     * @return    mixed Array or NULL for any error
    */
    public function binarySearch( $ip )
    {
        //check and conver the ip address
        if ( is_string($ip) ) $ip = self::safeIp2long($ip);
        if ( $this->totalBlocks == 0 ) {
            //check and open the original db file
            if ( $this->dbFileHandler == NULL ) {
                $this->dbFileHandler = fopen($this->dbFile, 'r');
                if ( $this->dbFileHandler == false ) {
                    throw new Exception("Fail to open the db file {$this->dbFile}");
                }
            }

            fseek($this->dbFileHandler, 0);
            $superBlock = fread($this->dbFileHandler, 8);

            $this->firstIndexPtr = self::getLong($superBlock, 0);
            $this->lastIndexPtr  = self::getLong($superBlock, 4);
            $this->totalBlocks   = ($this->lastIndexPtr-$this->firstIndexPtr)/INDEX_BLOCK_LENGTH + 1;
        }

        //binary search to define the data
        $l = 0;
        $h = $this->totalBlocks;
        $dataPtr = 0;
        while ( $l <= $h ) {
            $m = (($l + $h) >> 1);
            $p = $m * INDEX_BLOCK_LENGTH;

            fseek($this->dbFileHandler, $this->firstIndexPtr + $p);
            $buffer = fread($this->dbFileHandler, INDEX_BLOCK_LENGTH);
            $sip    = self::getLong($buffer, 0);
            if ( $ip < $sip ) {
                $h = $m - 1;
            } else {
                $eip = self::getLong($buffer, 4);
                if ( $ip > $eip ) {
                    $l = $m + 1;
                } else {
                    $dataPtr = self::getLong($buffer, 8);
                    break;
                }
            }
        }

        //not matched just stop it here
        if ( $dataPtr == 0 ) return NULL;


        //get the data
        $dataLen = (($dataPtr >> 24) & 0xFF);
        $dataPtr = ($dataPtr & 0x00FFFFFF);

        fseek($this->dbFileHandler, $dataPtr);
        $data = fread($this->dbFileHandler, $dataLen);

        return array(
            'city_id' => self::getLong($data, 0), 
            'region'  => substr($data, 4)
        );
    }

    /**
     * get the data block associated with the specified ip with b-tree search algorithm
     * @Note: not thread safe
     *
     * @param   ip
     * @return  Mixed Array for NULL for any error
    */
    public function btreeSearch( $ip )
    {
        if ( is_string($ip) ) $ip = self::safeIp2long($ip);

        //check and load the header
        if ( $this->HeaderSip == NULL ) {
            //check and open the original db file
            if ( $this->dbFileHandler == NULL ) {
                $this->dbFileHandler = fopen($this->dbFile, 'r');
                if ( $this->dbFileHandler == false ) {
                    throw new Exception("Fail to open the db file {$this->dbFile}");
                }
            }

            fseek($this->dbFileHandler, 8);
            $buffer = fread($this->dbFileHandler, TOTAL_HEADER_LENGTH);
            
            //fill the header
            $idx = 0;
            $this->HeaderSip = array();
            $this->HeaderPtr = array();
            for ( $i = 0; $i < TOTAL_HEADER_LENGTH; $i += 8 ) {
                $startIp = self::getLong($buffer, $i);
                $dataPtr = self::getLong($buffer, $i + 4);
                if ( $dataPtr == 0 ) break;

                $this->HeaderSip[] = $startIp;
                $this->HeaderPtr[] = $dataPtr;
                $idx++;
            }

            $this->headerLen = $idx;
        }
        
        //1. define the index block with the binary search
        $l = 0; $h = $this->headerLen; $sptr = 0; $eptr = 0;
        while ( $l <= $h ) {
            $m = (($l + $h) >> 1);
            
            //perfetc matched, just return it
            if ( $ip == $this->HeaderSip[$m] ) {
                if ( $m > 0 ) {
                    $sptr = $this->HeaderPtr[$m-1];
                    $eptr = $this->HeaderPtr[$m  ];
                } else {
                    $sptr = $this->HeaderPtr[$m ];
                    $eptr = $this->HeaderPtr[$m+1];
                }
                
                break;
            }
            
            //less then the middle value
            if ( $ip < $this->HeaderSip[$m] ) {
                if ( $m == 0 ) {
                    $sptr = $this->HeaderPtr[$m  ];
                    $eptr = $this->HeaderPtr[$m+1];
                    break;
                } else if ( $ip > $this->HeaderSip[$m-1] ) {
                    $sptr = $this->HeaderPtr[$m-1];
                    $eptr = $this->HeaderPtr[$m  ];
                    break;
                }
                $h = $m - 1;
            } else {
                if ( $m == $this->headerLen - 1 ) {
                    $sptr = $this->HeaderPtr[$m-1];
                    $eptr = $this->HeaderPtr[$m  ];
                    break;
                } else if ( $ip <= $this->HeaderSip[$m+1] ) {
                    $sptr = $this->HeaderPtr[$m  ];
                    $eptr = $this->HeaderPtr[$m+1];
                    break;
                }
                $l = $m + 1;
            }
        }
        
        //match nothing just stop it
        if ( $sptr == 0 ) return NULL;
        
        //2. search the index blocks to define the data
        $blockLen = $eptr - $sptr;
        fseek($this->dbFileHandler, $sptr);
        $index = fread($this->dbFileHandler, $blockLen + INDEX_BLOCK_LENGTH);
        
        $dataPtr = 0;
        $l = 0; $h = $blockLen / INDEX_BLOCK_LENGTH;
        while ( $l <= $h ) {
            $m = (($l + $h) >> 1);
            $p = (int)($m * INDEX_BLOCK_LENGTH);
            $sip = self::getLong($index, $p);
            if ( $ip < $sip ) {
                $h = $m - 1;
            } else {
                $eip = self::getLong($index, $p + 4);
                if ( $ip > $eip ) {
                    $l = $m + 1;
                } else {
                    $dataPtr = self::getLong($index, $p + 8);
                    break;
                }
            }
        }
        
        //not matched
        if ( $dataPtr == 0 ) return NULL;
        
        //3. get the data
        $dataLen = (($dataPtr >> 24) & 0xFF);
        $dataPtr = ($dataPtr & 0x00FFFFFF);
        
        fseek($this->dbFileHandler, $dataPtr);
        $data = fread($this->dbFileHandler, $dataLen);

        return array(
            'city_id' => self::getLong($data, 0), 
            'region'  => substr($data, 4)
        );
    }


    /**
     * safe self::safeIp2long function 
     *
     * @param ip 
     * */
    public static function safeIp2long($ip) 
    {
        $ip = ip2long($ip);

        // convert signed int to unsigned int if on 32 bit operating system
        if ($ip < 0 && PHP_INT_SIZE == 4) {
            $ip = sprintf("%u", $ip);
        } 

        return $ip;
    }



    /**
     * read a long from a byte buffer
     *
     * @param    b
     * @param    offset
    */
    public static function getLong( $b, $offset )
    {
        $val =  (
            (ord($b[$offset++]))        | 
            (ord($b[$offset++]) << 8)   | 
            (ord($b[$offset++]) << 16)  | 
            (ord($b[$offset  ]) << 24)
        );

        // convert signed int to unsigned int if on 32 bit operating system
        if ($val < 0 && PHP_INT_SIZE == 4) {
            $val = sprintf("%u", $val);
        } 

        return $val;
    }

    /**
     * destruct method, resource destroy
    */
    public function __destruct()
    {
        if ( $this->dbFileHandler != NULL ) {
            fclose($this->dbFileHandler);
        }

        $this->dbBinStr  = NULL;
        $this->HeaderSip = NULL;
        $this->HeaderPtr = NULL;
    }
}