diff --git a/src/consts/timezone.js b/src/consts/timezone.js new file mode 100644 index 00000000..8f720238 --- /dev/null +++ b/src/consts/timezone.js @@ -0,0 +1,220 @@ +// https://github.com/nodatime/nodatime/blob/master/data/cldr/windowsZones-38-1.xml +const allTimezoneNames = [ + // UTC-12:00 + 'Etc/GMT+12', // International Date Line West + + // UTC-11:00 + 'Etc/GMT+11', // Coordinated Universal Time-11 + + // UTC-10:00 + 'America/Adak', // Aleutian Islands + 'Pacific/Honolulu', // Hawaii + + // UTC-09:30 + 'Pacific/Marquesas', // Marquesas Islands= + + // UTC-09:00 + 'America/Anchorage', // Alaska + 'Etc/GMT+9', // Coordinated Universal Time-09 + + // UTC-08:00 + 'America/Tijuana', // Baja California + 'Etc/GMT+8', // Coordinated Universal Time-08 + 'America/Los_Angeles', // Pacific Time (US & Canada) + + // UTC-07:00 + 'America/Phoenix', // Arizona + 'America/Chihuahua', // Chihuahua, La Paz, Mazatlan + 'America/Denver', // Mountain Time (US & Canada) + 'America/Whitehorse', // Yukon + + // UTC-06:00 + 'America/Guatemala', // Central America + 'America/Chicago', // Central Time (US & Canada) + 'Pacific/Easter', // Easter Island + 'America/Mexico_City', // Guadalajara, Mexico City, Monterrey + 'America/Regina', // Saskatchewan + + // UTC-05:00 + 'America/Bogota', // Bogota, Lima, Quito, Rio Branco + 'America/Cancun', // Chetumal + 'America/New_York', // Eastern Time (US & Canada) + 'America/Port-au-Prince', // Haiti + 'America/Havana', // Havana + 'America/Indianapolis', // Indiana (East) + 'America/Grand_Turk', // Turks and Caicos + + // UTC-04:00 + 'America/Asuncion', // Asuncion + 'America/Halifax', // Atlantic Time (Canada) + 'America/Caracas', // Caracas + 'America/Cuiaba', // Cuiaba + 'America/La_Paz', // Georgetown, La Paz, Manaus, San Juan + 'America/Santiago', // Santiago + + // UTC-03:30 + 'America/St_Johns', // Newfoundland + + // UTC-03:00 + 'America/Araguaina', // Araguaina + 'America/Sao_Paulo', // Brasilia + 'America/Cayenne', // Cayenne, Fortaleza + 'America/Buenos_Aires', // City of Buenos Aires + 'America/Godthab', // Greenland + 'America/Montevideo', // Montevideo + 'America/Punta_Arenas', // Punta Arenas + 'America/Miquelon', // Saint Pierre and Miquelon + 'America/Bahia', // Salvador + + // UTC-02:00 + 'Etc/GMT+2', // Coordinated Universal Time-02 + + // UTC-01:00 + 'Atlantic/Azores', // Azores + 'Atlantic/Cape_Verde', // Cabo Verde Is. + + // UTC + 'Etc/GMT', // Coordinated Universal Time + + // UTC+00:00 + 'Europe/London', // Dublin, Edinburgh, Lisbon, London + 'Atlantic/Reykjavik', // Monrovia, Reykjavik + 'Africa/Sao_Tome', // Sao Tome + + // UTC+01:00 + 'Africa/Casablanca', // Casablanca + 'Europe/Berlin', // Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna + 'Europe/Budapest', // Belgrade, Bratislava, Budapest, Ljubljana, Prague + 'Europe/Paris', // Brussels, Copenhagen, Madrid, Paris + 'Europe/Warsaw', // Sarajevo, Skopje, Warsaw, Zagreb + 'Africa/Lagos', // West Central Africa + + // UTC+02:00 + 'Asia/Amman', // Amman + 'Europe/Bucharest', // Athens, Bucharest + 'Asia/Beirut', // Beirut + 'Africa/Cairo', // Cairo + 'Europe/Chisinau', // Chisinau + 'Asia/Damascus', // Damascus + 'Asia/Gaza', // Gaza, Hebron + 'Africa/Johannesburg', // Harare, Pretoria + 'Europe/Kiev', // Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius + 'Asia/Jerusalem', // Jerusalem + 'Europe/Kaliningrad', // Kaliningrad + 'Africa/Khartoum', // Khartoum + 'Africa/Tripoli', // Tripoli + 'Africa/Windhoek', // Windhoek + + // UTC+03:00 + 'Asia/Baghdad', // Baghdad + 'Europe/Istanbul', // Istanbul + 'Asia/Riyadh', // Kuwait, Riyadh + 'Europe/Minsk', // Minsk + 'Europe/Moscow', // Moscow, St. Petersburg, Volgograd + 'Africa/Nairobi', // Nairobi + 'Asia/Tehran', // Tehran + + // UTC+04:00 + 'Asia/Dubai', // Abu Dhabi, Muscat + 'Europe/Astrakhan', // Astrakhan, Ulyanovsk + 'Asia/Baku', // Baku + 'Europe/Samara', // Izhevsk, Samara + 'Indian/Mauritius', // Port Louis + 'Europe/Saratov', // Saratov + 'Asia/Tbilisi', // Tbilisi + 'Europe/Volgograd', // Volgograd + 'Asia/Yerevan', // Yerevan + + // UTC+04:30 + 'Asia/Kabul', // Kabul + + // UTC+05:00 + 'Asia/Tashkent', // Ashgabat, Tashkent + 'Asia/Yekaterinburg', // Ekaterinburg + 'Asia/Karachi', // Islamabad, Karachi + 'Asia/Qyzylorda', // Qyzylorda + + // UTC+05:30 + 'Asia/Calcutta', // Chennai, Kolkata, Mumbai, New Delhi + 'Asia/Colombo', // Sri Jayawardenepura + + // UTC+05:45 + 'Asia/Kathmandu', // Kathmandu + + // UTC+06:00 + 'Asia/Almaty', // Astana + 'Asia/Dhaka', // Dhaka + 'Asia/Omsk', // Omsk + + // UTC+06:30 + 'Asia/Rangoon', // Yangon (Rangoon) + + // UTC+07:00 + 'Asia/Bangkok', // Bangkok, Hanoi, Jakarta + 'Asia/Barnaul', // Barnaul, Gorno-Altaysk + 'Asia/Hovd', // Hovd + 'Asia/Krasnoyarsk', // Krasnoyarsk + 'Asia/Novosibirsk', // Novosibirsk + 'Asia/Tomsk', // Tomsk + + // UTC+08:00 + 'Asia/Shanghai', // Beijing, Chongqing, Hong Kong SAR, Urumqi + 'Asia/Irkutsk', // Irkutsk + 'Asia/Singapore', // Kuala Lumpur, Singapore + 'Australia/Perth', // Perth + 'Asia/Taipei', // Taipei + 'Asia/Ulaanbaatar', // Ulaanbaatar + + // UTC+08:45 + 'Australia/Eucla', // Eucla + + // UTC+09:00 + 'Asia/Chita', // Chita + 'Asia/Tokyo', // Osaka, Sapporo, Tokyo + 'Asia/Pyongyang', // Pyongyang + 'Asia/Seoul', // Seoul + 'Asia/Yakutsk', // Yakutsk + + // UTC+09:30 + 'Australia/Adelaide', // Adelaide + 'Australia/Darwin', // Darwin + + // UTC+10:00 + 'Australia/Brisbane', // Brisbane + 'Australia/Sydney', // Canberra, Melbourne, Sydney + 'Pacific/Port_Moresby', // Guam, Port Moresby + 'Australia/Hobart', // Hobart + 'Asia/Vladivostok', // Vladivostok + + // UTC+10:30 + 'Australia/Lord_Howe', // Lord Howe Island + + // UTC+11:00 + 'Pacific/Bougainville', // Bougainville Island + 'Asia/Srednekolymsk', // Chokurdakh + 'Asia/Magadan', // Magadan + 'Pacific/Norfolk', // Norfolk Island + 'Asia/Sakhalin', // Sakhalin + 'Pacific/Guadalcanal', // Solomon Is., New Caledonia + + // UTC+12:00 + 'Asia/Kamchatka', // Anadyr, Petropavlovsk-Kamchatsky + 'Pacific/Auckland', // Auckland, Wellington + 'Etc/GMT-12', // Coordinated Universal Time+12 + 'Pacific/Fiji', // Fiji + + // UTC+12:45 + 'Pacific/Chatham', // Chatham Islands + + // UTC+13:00 + 'Etc/GMT-13', // Coordinated Universal Time+13 + 'Pacific/Tongatapu', // Nuku'alofa + 'Pacific/Apia', // Samoa + + // UTC+14:00 + 'Pacific/Kiritimati', // Kiritimati Island +]; + +export default { + all: allTimezoneNames +}; diff --git a/src/locales/en.js b/src/locales/en.js index 41150fa1..6c724431 100644 --- a/src/locales/en.js +++ b/src/locales/en.js @@ -102,6 +102,146 @@ export default { 'long': 'December' } }, + 'timezone': { + 'Etc/GMT+12': 'International Date Line West', + 'Etc/GMT+11': 'Coordinated Universal Time-11', + 'America/Adak': 'Aleutian Islands', + 'Pacific/Honolulu': 'Hawaii', + 'Pacific/Marquesas': 'Marquesas Islands', + 'America/Anchorage': 'Alaska', + 'Etc/GMT+9': 'Coordinated Universal Time-09', + 'America/Tijuana': 'Baja California', + 'Etc/GMT+8': 'Coordinated Universal Time-08', + 'America/Los_Angeles': 'Pacific Time (US & Canada)', + 'America/Phoenix': 'Arizona', + 'America/Chihuahua': 'Chihuahua, La Paz, Mazatlan', + 'America/Denver': 'Mountain Time (US & Canada)', + 'America/Whitehorse': 'Yukon', + 'America/Guatemala': 'Central America', + 'America/Chicago': 'Central Time (US & Canada)', + 'Pacific/Easter': 'Easter Island', + 'America/Mexico_City': 'Guadalajara, Mexico City, Monterrey', + 'America/Regina': 'Saskatchewan', + 'America/Bogota': 'Bogota, Lima, Quito, Rio Branco', + 'America/Cancun': 'Chetumal', + 'America/New_York': 'Eastern Time (US & Canada)', + 'America/Port-au-Prince': 'Haiti', + 'America/Havana': 'Havana', + 'America/Indianapolis': 'Indiana (East)', + 'America/Grand_Turk': 'Turks and Caicos', + 'America/Asuncion': 'Asuncion', + 'America/Halifax': 'Atlantic Time (Canada)', + 'America/Caracas': 'Caracas', + 'America/Cuiaba': 'Cuiaba', + 'America/La_Paz': 'Georgetown, La Paz, Manaus, San Juan', + 'America/Santiago': 'Santiago', + 'America/St_Johns': 'Newfoundland', + 'America/Araguaina': 'Araguaina', + 'America/Sao_Paulo': 'Brasilia', + 'America/Cayenne': 'Cayenne, Fortaleza', + 'America/Buenos_Aires': 'City of Buenos Aires', + 'America/Godthab': 'Greenland', + 'America/Montevideo': 'Montevideo', + 'America/Punta_Arenas': 'Punta Arenas', + 'America/Miquelon': 'Saint Pierre and Miquelon', + 'America/Bahia': 'Salvador', + 'Etc/GMT+2': 'Coordinated Universal Time-02', + 'Atlantic/Azores': 'Azores', + 'Atlantic/Cape_Verde': 'Cabo Verde Is.', + 'Etc/GMT': 'Coordinated Universal Time', + 'Europe/London': 'Dublin, Edinburgh, Lisbon, London', + 'Atlantic/Reykjavik': 'Monrovia, Reykjavik', + 'Africa/Sao_Tome': 'Sao Tome', + 'Africa/Casablanca': 'Casablanca', + 'Europe/Berlin': 'Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna', + 'Europe/Budapest': 'Belgrade, Bratislava, Budapest, Ljubljana, Prague', + 'Europe/Paris': 'Brussels, Copenhagen, Madrid, Paris', + 'Europe/Warsaw': 'Sarajevo, Skopje, Warsaw, Zagreb', + 'Africa/Lagos': 'West Central Africa', + 'Asia/Amman': 'Amman', + 'Europe/Bucharest': 'Athens, Bucharest', + 'Asia/Beirut': 'Beirut', + 'Africa/Cairo': 'Cairo', + 'Europe/Chisinau': 'Chisinau', + 'Asia/Damascus': 'Damascus', + 'Asia/Gaza': 'Gaza, Hebron', + 'Africa/Johannesburg': 'Harare, Pretoria', + 'Europe/Kiev': 'Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius', + 'Asia/Jerusalem': 'Jerusalem', + 'Europe/Kaliningrad': 'Kaliningrad', + 'Africa/Khartoum': 'Khartoum', + 'Africa/Tripoli': 'Tripoli', + 'Africa/Windhoek': 'Windhoek', + 'Asia/Baghdad': 'Baghdad', + 'Europe/Istanbul': 'Istanbul', + 'Asia/Riyadh': 'Kuwait, Riyadh', + 'Europe/Minsk': 'Minsk', + 'Europe/Moscow': 'Moscow, St. Petersburg, Volgograd', + 'Africa/Nairobi': 'Nairobi', + 'Asia/Tehran': 'Tehran', + 'Asia/Dubai': 'Abu Dhabi, Muscat', + 'Europe/Astrakhan': 'Astrakhan, Ulyanovsk', + 'Asia/Baku': 'Baku', + 'Europe/Samara': 'Izhevsk, Samara', + 'Indian/Mauritius': 'Port Louis', + 'Europe/Saratov': 'Saratov', + 'Asia/Tbilisi': 'Tbilisi', + 'Europe/Volgograd': 'Volgograd', + 'Asia/Yerevan': 'Yerevan', + 'Asia/Kabul': 'Kabul', + 'Asia/Tashkent': 'Ashgabat, Tashkent', + 'Asia/Yekaterinburg': 'Ekaterinburg', + 'Asia/Karachi': 'Islamabad, Karachi', + 'Asia/Qyzylorda': 'Qyzylorda', + 'Asia/Calcutta': 'Chennai, Kolkata, Mumbai, New Delhi', + 'Asia/Colombo': 'Sri Jayawardenepura', + 'Asia/Kathmandu': 'Kathmandu', + 'Asia/Almaty': 'Astana', + 'Asia/Dhaka': 'Dhaka', + 'Asia/Omsk': 'Omsk', + 'Asia/Rangoon': 'Yangon (Rangoon)', + 'Asia/Bangkok': 'Bangkok, Hanoi, Jakarta', + 'Asia/Barnaul': 'Barnaul, Gorno-Altaysk', + 'Asia/Hovd': 'Hovd', + 'Asia/Krasnoyarsk': 'Krasnoyarsk', + 'Asia/Novosibirsk': 'Novosibirsk', + 'Asia/Tomsk': 'Tomsk', + 'Asia/Shanghai': 'Beijing, Chongqing, Hong Kong SAR, Urumqi', + 'Asia/Irkutsk': 'Irkutsk', + 'Asia/Singapore': 'Kuala Lumpur, Singapore', + 'Australia/Perth': 'Perth', + 'Asia/Taipei': 'Taipei', + 'Asia/Ulaanbaatar': 'Ulaanbaatar', + 'Australia/Eucla': 'Eucla', + 'Asia/Chita': 'Chita', + 'Asia/Tokyo': 'Osaka, Sapporo, Tokyo', + 'Asia/Pyongyang': 'Pyongyang', + 'Asia/Seoul': 'Seoul', + 'Asia/Yakutsk': 'Yakutsk', + 'Australia/Adelaide': 'Adelaide', + 'Australia/Darwin': 'Darwin', + 'Australia/Brisbane': 'Brisbane', + 'Australia/Sydney': 'Canberra, Melbourne, Sydney', + 'Pacific/Port_Moresby': 'Guam, Port Moresby', + 'Australia/Hobart': 'Hobart', + 'Asia/Vladivostok': 'Vladivostok', + 'Australia/Lord_Howe': 'Lord Howe Island', + 'Pacific/Bougainville': 'Bougainville Island', + 'Asia/Srednekolymsk': 'Chokurdakh', + 'Asia/Magadan': 'Magadan', + 'Pacific/Norfolk': 'Norfolk Island', + 'Asia/Sakhalin': 'Sakhalin', + 'Pacific/Guadalcanal': 'Solomon Is., New Caledonia', + 'Asia/Kamchatka': 'Anadyr, Petropavlovsk-Kamchatsky', + 'Pacific/Auckland': 'Auckland, Wellington', + 'Etc/GMT-12': 'Coordinated Universal Time+12', + 'Pacific/Fiji': 'Fiji', + 'Pacific/Chatham': 'Chatham Islands', + 'Etc/GMT-13': 'Coordinated Universal Time+13', + 'Pacific/Tongatapu': 'Nuku\'alofa', + 'Pacific/Apia': 'Samoa', + 'Pacific/Kiritimati': 'Kiritimati Island', + }, 'currency': { 'AED': 'United Arab Emirates dirham', 'AFN': 'Afghan afghani', diff --git a/src/locales/zh_Hans.js b/src/locales/zh_Hans.js index 1a068867..82153b11 100644 --- a/src/locales/zh_Hans.js +++ b/src/locales/zh_Hans.js @@ -102,6 +102,146 @@ export default { 'long': '12月' } }, + 'timezone': { + 'Etc/GMT+12': '国际日期变更线西', + 'Etc/GMT+11': '协调世界时-11', + 'America/Adak': '阿留申群岛', + 'Pacific/Honolulu': '夏威夷', + 'Pacific/Marquesas': '马克萨斯群岛', + 'America/Anchorage': '阿拉斯加', + 'Etc/GMT+9': '协调世界时-09 ', + 'America/Tijuana': '下加利福尼亚州', + 'Etc/GMT+8': '协调世界时-08', + 'America/Los_Angeles': '太平洋时间(美国和加拿大)', + 'America/Phoenix': '亚利桑那', + 'America/Chihuahua': '奇瓦瓦,拉巴斯,马萨特兰', + 'America/Denver': '山地时间(美国和加拿大)', + 'America/Whitehorse': '育空', + 'America/Guatemala': '中美洲', + 'America/Chicago': '中部时间(美国和加拿大)', + 'Pacific/Easter': '复活节岛', + 'America/Mexico_City': '瓜达拉哈拉,墨西哥城,蒙特雷 ', + 'America/Regina': '萨斯喀彻温', + 'America/Bogota': '波哥大,利马,基多,里奥布朗库', + 'America/Cancun': '切图马尔', + 'America/New_York': '东部时间(美国和加拿大)', + 'America/Port-au-Prince': '海地', + 'America/Havana': '哈瓦那', + 'America/Indianapolis': '印地安那州(东部)', + 'America/Grand_Turk': '特克斯和凯科斯群岛', + 'America/Asuncion': '亚松森', + 'America/Halifax': '大西洋时间(加拿大)', + 'America/Caracas': '加拉加斯', + 'America/Cuiaba': '库亚巴', + 'America/La_Paz': '乔治敦,拉巴斯,马瑙斯,圣胡安', + 'America/Santiago': '圣地亚哥', + 'America/St_Johns': '纽芬兰', + 'America/Araguaina': '阿拉瓜伊纳', + 'America/Sao_Paulo': '巴西利亚', + 'America/Cayenne': '卡宴,福塔雷萨', + 'America/Buenos_Aires': '布宜诺斯艾利斯', + 'America/Godthab': '格陵兰', + 'America/Montevideo': '蒙得维的亚', + 'America/Punta_Arenas': '蓬塔阿雷纳斯', + 'America/Miquelon': '圣皮埃尔和密克隆群岛', + 'America/Bahia': '萨尔瓦多', + 'Etc/GMT+2': '协调世界时-02', + 'Atlantic/Azores': '亚速尔群岛', + 'Atlantic/Cape_Verde': '佛得角群岛', + 'Etc/GMT': '协调世界时', + 'Europe/London': '都柏林,爱丁堡,里斯本,伦敦', + 'Atlantic/Reykjavik': '蒙罗维亚,雷克雅未克', + 'Africa/Sao_Tome': '圣多美', + 'Africa/Casablanca': '卡萨布兰卡', + 'Europe/Berlin': '阿姆斯特丹,柏林,伯尔尼,罗马,斯德哥尔摩,维也纳', + 'Europe/Budapest': '贝尔格莱德,布拉迪斯拉发,布达佩斯,卢布尔雅那,布拉格', + 'Europe/Paris': '布鲁塞尔,哥本哈根,马德里,巴黎', + 'Europe/Warsaw': '萨拉热窝,斯科普里,华沙,萨格勒布', + 'Africa/Lagos': '中非西部', + 'Asia/Amman': '安曼', + 'Europe/Bucharest': '雅典,布加勒斯特', + 'Asia/Beirut': '贝鲁特', + 'Africa/Cairo': '开罗', + 'Europe/Chisinau': '基希讷乌', + 'Asia/Damascus': '大马士革', + 'Asia/Gaza': '加沙,希伯伦', + 'Africa/Johannesburg': '哈拉雷,比勒陀利亚', + 'Europe/Kiev': '赫尔辛基,基辅,里加,索非亚,塔林,维尔纽斯', + 'Asia/Jerusalem': '耶路撒冷', + 'Europe/Kaliningrad': '加里宁格勒', + 'Africa/Khartoum': '喀土穆', + 'Africa/Tripoli': '的黎波里', + 'Africa/Windhoek': '温得和克', + 'Asia/Baghdad': '巴格达', + 'Europe/Istanbul': '伊斯坦布尔', + 'Asia/Riyadh': '科威特,利雅得', + 'Europe/Minsk': '明斯克', + 'Europe/Moscow': '莫斯科,圣彼得堡', + 'Africa/Nairobi': '内罗毕', + 'Asia/Tehran': '德黑兰', + 'Asia/Dubai': '阿布扎比,马斯喀特', + 'Europe/Astrakhan': '阿斯特拉罕,乌里扬诺夫斯克', + 'Asia/Baku': '巴库', + 'Europe/Samara': '伊热夫斯克,萨马拉', + 'Indian/Mauritius': '路易港', + 'Europe/Saratov': '萨拉托夫', + 'Asia/Tbilisi': '第比利斯', + 'Europe/Volgograd': '伏尔加格勒', + 'Asia/Yerevan': '埃里温', + 'Asia/Kabul': '喀布尔', + 'Asia/Tashkent': '阿什哈巴德,塔什干', + 'Asia/Yekaterinburg': '叶卡捷琳堡', + 'Asia/Karachi': '伊斯兰堡,卡拉奇', + 'Asia/Qyzylorda': '克孜洛尔达', + 'Asia/Calcutta': '钦奈,加尔各答,孟买,新德里', + 'Asia/Colombo': '斯里加亚渥登普拉', + 'Asia/Kathmandu': '加德满都', + 'Asia/Almaty': '阿斯塔纳', + 'Asia/Dhaka': '达卡', + 'Asia/Omsk': '鄂木斯克', + 'Asia/Rangoon': '仰光', + 'Asia/Bangkok': '曼谷,河内,雅加达', + 'Asia/Barnaul': '巴尔瑙尔,戈尔诺-阿尔泰斯克', + 'Asia/Hovd': '科布多', + 'Asia/Krasnoyarsk': '克拉斯诺亚尔斯克', + 'Asia/Novosibirsk': '新西伯利亚', + 'Asia/Tomsk': '托木斯克', + 'Asia/Shanghai': '北京,重庆,香港特别行政区,乌鲁木齐', + 'Asia/Irkutsk': '伊尔库茨克', + 'Asia/Singapore': '吉隆坡,新加坡', + 'Australia/Perth': '珀斯', + 'Asia/Taipei': '台北', + 'Asia/Ulaanbaatar': '乌兰巴托', + 'Australia/Eucla': '尤克拉', + 'Asia/Chita': '赤塔市', + 'Asia/Tokyo': '大阪,札幌,东京', + 'Asia/Pyongyang': '平壤', + 'Asia/Seoul': '首尔', + 'Asia/Yakutsk': '雅库茨克', + 'Australia/Adelaide': '阿德莱德', + 'Australia/Darwin': '达尔文', + 'Australia/Brisbane': '布里斯班', + 'Australia/Sydney': '堪培拉,墨尔本,悉尼', + 'Pacific/Port_Moresby': '关岛,莫尔兹比港', + 'Australia/Hobart': '霍巴特', + 'Asia/Vladivostok': '符拉迪沃斯托克', + 'Australia/Lord_Howe': '豪勋爵岛', + 'Pacific/Bougainville': '布干维尔岛', + 'Asia/Srednekolymsk': '乔库尔达赫', + 'Asia/Magadan': '马加丹', + 'Pacific/Norfolk': '诺福克岛', + 'Asia/Sakhalin': '萨哈林', + 'Pacific/Guadalcanal': '所罗门群岛,新喀里多尼亚', + 'Asia/Kamchatka': '阿纳德尔,堪察加彼得罗巴甫洛夫斯克', + 'Pacific/Auckland': '奥克兰,惠灵顿', + 'Etc/GMT-12': '协调世界时+12', + 'Pacific/Fiji': '斐济', + 'Pacific/Chatham': '查塔姆群岛', + 'Etc/GMT-13': '协调世界时+13', + 'Pacific/Tongatapu': '努库阿洛法', + 'Pacific/Apia': '萨摩亚群岛', + 'Pacific/Kiritimati': '圣诞岛', + }, 'currency': { 'AED': '阿联酋迪拉姆', 'AFN': '阿富汗阿富汗尼', diff --git a/src/mobile-main.js b/src/mobile-main.js index ecd0937e..07101d21 100644 --- a/src/mobile-main.js +++ b/src/mobile-main.js @@ -47,6 +47,7 @@ import 'line-awesome/dist/line-awesome/css/line-awesome.css'; import api from './consts/api.js'; import datetime from './consts/datetime.js'; +import timezone from './consts/timezone.js'; import currency from './consts/currency.js'; import colors from './consts/color.js'; import icons from './consts/icon.js'; @@ -214,16 +215,28 @@ Vue.prototype.$locale = { } }, getAllTimezones: function () { - const allTimezoneNames = moment.tz.names(); + const allTimezoneNames = timezone.all; const allTimezoneInfos = []; for (let i = 0; i < allTimezoneNames.length; i++) { allTimezoneInfos.push({ name: allTimezoneNames[i], - displayName: `(UTC${utils.getTimezoneOffset(allTimezoneNames[i])}) ${allTimezoneNames[i]}` + utcOffset: (allTimezoneNames[i] !== 'Etc/GMT' ? utils.getTimezoneOffset(allTimezoneNames[i]) : ''), + displayName: i18n.t(`timezone.${allTimezoneNames[i]}`) }); } + allTimezoneInfos.sort(function(c1, c2){ + const utcOffset1 = parseInt(c1.utcOffset.replace(':', '')); + const utcOffset2 = parseInt(c2.utcOffset.replace(':', '')); + + if (utcOffset1 !== utcOffset2) { + return utcOffset1 - utcOffset2; + } + + return c1.displayName.localeCompare(c2.displayName); + }) + return allTimezoneInfos; }, getAllCurrencies: function () { diff --git a/src/views/mobile/Settings.vue b/src/views/mobile/Settings.vue index 522d6319..2ecc95a1 100644 --- a/src/views/mobile/Settings.vue +++ b/src/views/mobile/Settings.vue @@ -33,13 +33,14 @@