All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.squarespace.cldr.dates._CalendarFormatter_ja Maven / Gradle / Ivy

//
//
// AUTO-GENERATED CLASS - DO NOT EDIT
//
//
package com.squarespace.cldr.dates;

import com.squarespace.cldr.CLDR;
import java.lang.Override;
import java.lang.String;
import java.lang.StringBuilder;
import java.time.ZonedDateTime;
import java.util.HashMap;

/**
 * Locale "ja"
 * See http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
 */
public class _CalendarFormatter_ja extends CalendarFormatterBase {
  public _CalendarFormatter_ja() {
    this.bundleId = CLDR.Locale.ja;
    this.firstDay = 1;
    this.minDays = 1;
    this.eras = new FieldVariants(
          new String[] {"紀元前", "西暦"}, 
          new String[] {"BC", "AD"}, 
          new String[] {}, 
          new String[] {"紀元前", "西暦"});
    this.quartersFormat = new FieldVariants(
          new String[] {"Q1", "Q2", "Q3", "Q4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"第1四半期", "第2四半期", "第3四半期", "第4四半期"});
    this.quartersStandalone = new FieldVariants(
          new String[] {"Q1", "Q2", "Q3", "Q4"}, 
          new String[] {"1", "2", "3", "4"}, 
          new String[] {}, 
          new String[] {"第1四半期", "第2四半期", "第3四半期", "第4四半期"});
    this.monthsFormat = new FieldVariants(
          new String[] {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, 
          new String[] {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, 
          new String[] {}, 
          new String[] {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"});
    this.monthsStandalone = new FieldVariants(
          new String[] {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"}, 
          new String[] {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"}, 
          new String[] {}, 
          new String[] {"1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"});
    this.weekdaysFormat = new FieldVariants(
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"});
    this.weekdaysStandalone = new FieldVariants(
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日", "月", "火", "水", "木", "金", "土"}, 
          new String[] {"日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"});
    this.dayPeriodsFormat = new FieldVariants(
          new String[] {"午前", "午後"}, 
          new String[] {"午前", "午後"}, 
          new String[] {}, 
          new String[] {"午前", "午後"});
    this.dayPeriodsStandalone = new FieldVariants(
          new String[] {"午前", "午後"}, 
          new String[] {"午前", "午後"}, 
          new String[] {}, 
          new String[] {"午前", "午後"});
    this.exemplarCities = new HashMap() { {
      put("America/Adak", "アダック");
      put("America/Anchorage", "アンカレッジ");
      put("America/Anguilla", "アンギラ");
      put("America/Antigua", "アンティグア");
      put("America/Araguaina", "アラグァイナ");
      put("America/Argentina/Rio_Gallegos", "リオガジェゴス");
      put("America/Argentina/San_Juan", "サンファン");
      put("America/Argentina/Ushuaia", "ウシュアイア");
      put("America/Argentina/La_Rioja", "ラリオハ");
      put("America/Argentina/San_Luis", "サンルイス");
      put("America/Argentina/Salta", "サルタ");
      put("America/Argentina/Tucuman", "トゥクマン");
      put("America/Aruba", "アルバ");
      put("America/Asuncion", "アスンシオン");
      put("America/Bahia", "バイーア");
      put("America/Bahia_Banderas", "バイアバンデラ");
      put("America/Barbados", "バルバドス");
      put("America/Belem", "ベレン");
      put("America/Belize", "ベリーズ");
      put("America/Blanc-Sablon", "ブラン・サブロン");
      put("America/Boa_Vista", "ボアビスタ");
      put("America/Bogota", "ボゴタ");
      put("America/Boise", "ボイシ");
      put("America/Buenos_Aires", "ブエノスアイレス");
      put("America/Cambridge_Bay", "ケンブリッジベイ");
      put("America/Campo_Grande", "カンポグランデ");
      put("America/Cancun", "カンクン");
      put("America/Caracas", "カラカス");
      put("America/Catamarca", "カタマルカ");
      put("America/Cayenne", "カイエンヌ");
      put("America/Cayman", "ケイマン");
      put("America/Chicago", "シカゴ");
      put("America/Chihuahua", "チワワ");
      put("America/Coral_Harbour", "アティコカン");
      put("America/Cordoba", "コルドバ");
      put("America/Costa_Rica", "コスタリカ");
      put("America/Creston", "クレストン");
      put("America/Cuiaba", "クイアバ");
      put("America/Curacao", "キュラソー");
      put("America/Danmarkshavn", "デンマークシャウン");
      put("America/Dawson", "ドーソン");
      put("America/Dawson_Creek", "ドーソンクリーク");
      put("America/Denver", "デンバー");
      put("America/Detroit", "デトロイト");
      put("America/Dominica", "ドミニカ");
      put("America/Edmonton", "エドモントン");
      put("America/Eirunepe", "エイルネペ");
      put("America/El_Salvador", "エルサルバドル");
      put("America/Fort_Nelson", "フォートネルソン");
      put("America/Fortaleza", "フォルタレザ");
      put("America/Glace_Bay", "グレースベイ");
      put("America/Godthab", "ヌーク");
      put("America/Goose_Bay", "グースベイ");
      put("America/Grand_Turk", "グランドターク");
      put("America/Grenada", "グレナダ");
      put("America/Guadeloupe", "グアドループ");
      put("America/Guatemala", "グアテマラ");
      put("America/Guayaquil", "グアヤキル");
      put("America/Guyana", "ガイアナ");
      put("America/Halifax", "ハリファクス");
      put("America/Havana", "ハバナ");
      put("America/Hermosillo", "エルモシヨ");
      put("America/Indiana/Vincennes", "インディアナ州ビンセンス");
      put("America/Indiana/Petersburg", "インディアナ州ピーターズバーグ");
      put("America/Indiana/Tell_City", "インディアナ州テルシティ");
      put("America/Indiana/Knox", "インディアナ州ノックス");
      put("America/Indiana/Winamac", "インディアナ州ウィナマック");
      put("America/Indiana/Marengo", "インディアナ州マレンゴ");
      put("America/Indiana/Vevay", "インディアナ州ビベー");
      put("America/Indianapolis", "インディアナポリス");
      put("America/Inuvik", "イヌヴィク");
      put("America/Iqaluit", "イカルイット");
      put("America/Jamaica", "ジャマイカ");
      put("America/Jujuy", "フフイ");
      put("America/Juneau", "ジュノー");
      put("America/Kentucky/Monticello", "ケンタッキー州モンティチェロ");
      put("America/Kralendijk", "クラレンダイク");
      put("America/La_Paz", "ラパス");
      put("America/Lima", "リマ");
      put("America/Los_Angeles", "ロサンゼルス");
      put("America/Louisville", "ルイビル");
      put("America/Lower_Princes", "ローワー・プリンセズ・クウォーター");
      put("America/Maceio", "マセイオ");
      put("America/Managua", "マナグア");
      put("America/Manaus", "マナウス");
      put("America/Marigot", "マリゴ");
      put("America/Martinique", "マルティニーク");
      put("America/Matamoros", "マタモロス");
      put("America/Mazatlan", "マサトラン");
      put("America/Mendoza", "メンドーサ");
      put("America/Menominee", "メノミニー");
      put("America/Merida", "メリダ");
      put("America/Metlakatla", "メトラカトラ");
      put("America/Mexico_City", "メキシコシティー");
      put("America/Miquelon", "ミクロン島");
      put("America/Moncton", "モンクトン");
      put("America/Monterrey", "モンテレイ");
      put("America/Montevideo", "モンテビデオ");
      put("America/Montserrat", "モントセラト");
      put("America/Nassau", "ナッソー");
      put("America/New_York", "ニューヨーク");
      put("America/Nipigon", "ニピゴン");
      put("America/Nome", "ノーム");
      put("America/Noronha", "ノローニャ");
      put("America/North_Dakota/Beulah", "ノースダコタ州ビューラー");
      put("America/North_Dakota/New_Salem", "ノースダコタ州ニューセーラム");
      put("America/North_Dakota/Center", "ノースダコタ州センター");
      put("America/Ojinaga", "オヒナガ");
      put("America/Panama", "パナマ");
      put("America/Pangnirtung", "パンナータング");
      put("America/Paramaribo", "パラマリボ");
      put("America/Phoenix", "フェニックス");
      put("America/Port-au-Prince", "ポルトープランス");
      put("America/Port_of_Spain", "ポートオブスペイン");
      put("America/Porto_Velho", "ポルトベーリョ");
      put("America/Puerto_Rico", "プエルトリコ");
      put("America/Rainy_River", "レイニーリバー");
      put("America/Rankin_Inlet", "ランキンインレット");
      put("America/Recife", "レシフェ");
      put("America/Regina", "レジャイナ");
      put("America/Resolute", "レゾリュート");
      put("America/Rio_Branco", "リオブランコ");
      put("America/Santa_Isabel", "サンタイサベル");
      put("America/Santarem", "サンタレム");
      put("America/Santiago", "サンチアゴ");
      put("America/Santo_Domingo", "サントドミンゴ");
      put("America/Sao_Paulo", "サンパウロ");
      put("America/Scoresbysund", "イトコルトルミット");
      put("America/Sitka", "シトカ");
      put("America/St_Barthelemy", "サン・バルテルミー");
      put("America/St_Johns", "セントジョンズ");
      put("America/St_Kitts", "セントキッツ");
      put("America/St_Lucia", "セントルシア");
      put("America/St_Thomas", "セントトーマス");
      put("America/St_Vincent", "セントビンセント");
      put("America/Swift_Current", "スウィフトカレント");
      put("America/Tegucigalpa", "テグシガルパ");
      put("America/Thule", "チューレ");
      put("America/Thunder_Bay", "サンダーベイ");
      put("America/Tijuana", "ティフアナ");
      put("America/Toronto", "トロント");
      put("America/Tortola", "トルトーラ");
      put("America/Vancouver", "バンクーバー");
      put("America/Whitehorse", "ホワイトホース");
      put("America/Winnipeg", "ウィニペグ");
      put("America/Yakutat", "ヤクタット");
      put("America/Yellowknife", "イエローナイフ");
      put("Atlantic/Azores", "アゾレス");
      put("Atlantic/Bermuda", "バミューダ");
      put("Atlantic/Canary", "カナリア");
      put("Atlantic/Cape_Verde", "カーボベルデ");
      put("Atlantic/Faeroe", "フェロー");
      put("Atlantic/Madeira", "マデイラ");
      put("Atlantic/Reykjavik", "レイキャビク");
      put("Atlantic/South_Georgia", "サウスジョージア");
      put("Atlantic/St_Helena", "セントヘレナ");
      put("Atlantic/Stanley", "スタンレー");
      put("Europe/Amsterdam", "アムステルダム");
      put("Europe/Andorra", "アンドラ");
      put("Europe/Astrakhan", "アストラハン");
      put("Europe/Athens", "アテネ");
      put("Europe/Belgrade", "ベオグラード");
      put("Europe/Berlin", "ベルリン");
      put("Europe/Bratislava", "ブラチスラバ");
      put("Europe/Brussels", "ブリュッセル");
      put("Europe/Bucharest", "ブカレスト");
      put("Europe/Budapest", "ブダペスト");
      put("Europe/Busingen", "ビュージンゲン");
      put("Europe/Chisinau", "キシナウ");
      put("Europe/Copenhagen", "コペンハーゲン");
      put("Europe/Dublin", "ダブリン");
      put("Europe/Gibraltar", "ジブラルタル");
      put("Europe/Guernsey", "ガーンジー");
      put("Europe/Helsinki", "ヘルシンキ");
      put("Europe/Isle_of_Man", "マン島");
      put("Europe/Istanbul", "イスタンブール");
      put("Europe/Jersey", "ジャージー");
      put("Europe/Kaliningrad", "カリーニングラード");
      put("Europe/Kiev", "キエフ");
      put("Europe/Kirov", "キーロフ");
      put("Europe/Lisbon", "リスボン");
      put("Europe/Ljubljana", "リュブリャナ");
      put("Europe/London", "ロンドン");
      put("Europe/Luxembourg", "ルクセンブルク");
      put("Europe/Madrid", "マドリード");
      put("Europe/Malta", "マルタ");
      put("Europe/Mariehamn", "マリエハムン");
      put("Europe/Minsk", "ミンスク");
      put("Europe/Monaco", "モナコ");
      put("Europe/Moscow", "モスクワ");
      put("Europe/Oslo", "オスロ");
      put("Europe/Paris", "パリ");
      put("Europe/Podgorica", "ポドゴリツァ");
      put("Europe/Prague", "プラハ");
      put("Europe/Riga", "リガ");
      put("Europe/Rome", "ローマ");
      put("Europe/Samara", "サマラ");
      put("Europe/San_Marino", "サンマリノ");
      put("Europe/Sarajevo", "サラエボ");
      put("Europe/Simferopol", "シンフェロポリ");
      put("Europe/Skopje", "スコピエ");
      put("Europe/Sofia", "ソフィア");
      put("Europe/Stockholm", "ストックホルム");
      put("Europe/Tallinn", "タリン");
      put("Europe/Tirane", "ティラナ");
      put("Europe/Ulyanovsk", "ウリヤノフスク");
      put("Europe/Uzhgorod", "ウージュホロド");
      put("Europe/Vaduz", "ファドゥーツ");
      put("Europe/Vatican", "バチカン");
      put("Europe/Vienna", "ウィーン");
      put("Europe/Vilnius", "ヴィリニュス");
      put("Europe/Volgograd", "ボルゴグラード");
      put("Europe/Warsaw", "ワルシャワ");
      put("Europe/Zagreb", "ザグレブ");
      put("Europe/Zaporozhye", "ザポリージャ");
      put("Europe/Zurich", "チューリッヒ");
      put("Africa/Abidjan", "アビジャン");
      put("Africa/Accra", "アクラ");
      put("Africa/Addis_Ababa", "アジスアベバ");
      put("Africa/Algiers", "アルジェ");
      put("Africa/Asmera", "アスマラ");
      put("Africa/Bamako", "バマコ");
      put("Africa/Bangui", "バンギ");
      put("Africa/Banjul", "バンジュール");
      put("Africa/Bissau", "ビサウ");
      put("Africa/Blantyre", "ブランタイヤ");
      put("Africa/Brazzaville", "ブラザビル");
      put("Africa/Bujumbura", "ブジュンブラ");
      put("Africa/Cairo", "カイロ");
      put("Africa/Casablanca", "カサブランカ");
      put("Africa/Ceuta", "セウタ");
      put("Africa/Conakry", "コナクリ");
      put("Africa/Dakar", "ダカール");
      put("Africa/Dar_es_Salaam", "ダルエスサラーム");
      put("Africa/Djibouti", "ジブチ");
      put("Africa/Douala", "ドゥアラ");
      put("Africa/El_Aaiun", "アイウン");
      put("Africa/Freetown", "フリータウン");
      put("Africa/Gaborone", "ハボローネ");
      put("Africa/Harare", "ハラレ");
      put("Africa/Johannesburg", "ヨハネスブルグ");
      put("Africa/Juba", "ジュバ");
      put("Africa/Kampala", "カンパラ");
      put("Africa/Khartoum", "ハルツーム");
      put("Africa/Kigali", "キガリ");
      put("Africa/Kinshasa", "キンシャサ");
      put("Africa/Lagos", "ラゴス");
      put("Africa/Libreville", "リーブルヴィル");
      put("Africa/Lome", "ロメ");
      put("Africa/Luanda", "ルアンダ");
      put("Africa/Lubumbashi", "ルブンバシ");
      put("Africa/Lusaka", "ルサカ");
      put("Africa/Malabo", "マラボ");
      put("Africa/Maputo", "マプト");
      put("Africa/Maseru", "マセル");
      put("Africa/Mbabane", "ムババーネ");
      put("Africa/Mogadishu", "モガディシオ");
      put("Africa/Monrovia", "モンロビア");
      put("Africa/Nairobi", "ナイロビ");
      put("Africa/Ndjamena", "ンジャメナ");
      put("Africa/Niamey", "ニアメ");
      put("Africa/Nouakchott", "ヌアクショット");
      put("Africa/Ouagadougou", "ワガドゥグー");
      put("Africa/Porto-Novo", "ポルトノボ");
      put("Africa/Sao_Tome", "サントメ");
      put("Africa/Tripoli", "トリポリ");
      put("Africa/Tunis", "チュニス");
      put("Africa/Windhoek", "ウィントフック");
      put("Asia/Aden", "アデン");
      put("Asia/Almaty", "アルマトイ");
      put("Asia/Amman", "アンマン");
      put("Asia/Anadyr", "アナディリ");
      put("Asia/Aqtau", "アクタウ");
      put("Asia/Aqtobe", "アクトベ");
      put("Asia/Ashgabat", "アシガバード");
      put("Asia/Baghdad", "バグダッド");
      put("Asia/Bahrain", "バーレーン");
      put("Asia/Baku", "バクー");
      put("Asia/Bangkok", "バンコク");
      put("Asia/Barnaul", "バルナウル");
      put("Asia/Beirut", "ベイルート");
      put("Asia/Bishkek", "ビシュケク");
      put("Asia/Brunei", "ブルネイ");
      put("Asia/Calcutta", "コルカタ");
      put("Asia/Chita", "チタ");
      put("Asia/Choibalsan", "チョイバルサン");
      put("Asia/Colombo", "コロンボ");
      put("Asia/Damascus", "ダマスカス");
      put("Asia/Dhaka", "ダッカ");
      put("Asia/Dili", "ディリ");
      put("Asia/Dubai", "ドバイ");
      put("Asia/Dushanbe", "ドゥシャンベ");
      put("Asia/Gaza", "ガザ");
      put("Asia/Hebron", "ヘブロン");
      put("Asia/Hong_Kong", "香港");
      put("Asia/Hovd", "ホブド");
      put("Asia/Irkutsk", "イルクーツク");
      put("Asia/Jakarta", "ジャカルタ");
      put("Asia/Jayapura", "ジャヤプラ");
      put("Asia/Jerusalem", "エルサレム");
      put("Asia/Kabul", "カブール");
      put("Asia/Kamchatka", "カムチャッカ");
      put("Asia/Karachi", "カラチ");
      put("Asia/Katmandu", "カトマンズ");
      put("Asia/Khandyga", "ハンドゥイガ");
      put("Asia/Krasnoyarsk", "クラスノヤルスク");
      put("Asia/Kuala_Lumpur", "クアラルンプール");
      put("Asia/Kuching", "クチン");
      put("Asia/Kuwait", "クウェート");
      put("Asia/Macau", "マカオ");
      put("Asia/Magadan", "マガダン");
      put("Asia/Makassar", "マカッサル");
      put("Asia/Manila", "マニラ");
      put("Asia/Muscat", "マスカット");
      put("Asia/Nicosia", "ニコシア");
      put("Asia/Novokuznetsk", "ノヴォクズネツク");
      put("Asia/Novosibirsk", "ノヴォシビルスク");
      put("Asia/Omsk", "オムスク");
      put("Asia/Oral", "オラル");
      put("Asia/Phnom_Penh", "プノンペン");
      put("Asia/Pontianak", "ポンティアナック");
      put("Asia/Pyongyang", "平壌");
      put("Asia/Qatar", "カタール");
      put("Asia/Qyzylorda", "クズロルダ");
      put("Asia/Rangoon", "ラングーン");
      put("Asia/Riyadh", "リヤド");
      put("Asia/Saigon", "ホーチミン");
      put("Asia/Sakhalin", "サハリン");
      put("Asia/Samarkand", "サマルカンド");
      put("Asia/Seoul", "ソウル");
      put("Asia/Shanghai", "上海");
      put("Asia/Singapore", "シンガポール");
      put("Asia/Srednekolymsk", "スレドネコリムスク");
      put("Asia/Taipei", "台北");
      put("Asia/Tashkent", "タシケント");
      put("Asia/Tbilisi", "トビリシ");
      put("Asia/Tehran", "テヘラン");
      put("Asia/Thimphu", "ティンプー");
      put("Asia/Tokyo", "東京");
      put("Asia/Tomsk", "トムスク");
      put("Asia/Ulaanbaatar", "ウランバートル");
      put("Asia/Urumqi", "ウルムチ");
      put("Asia/Ust-Nera", "ウスチネラ");
      put("Asia/Vientiane", "ビエンチャン");
      put("Asia/Vladivostok", "ウラジオストク");
      put("Asia/Yakutsk", "ヤクーツク");
      put("Asia/Yekaterinburg", "エカテリンブルグ");
      put("Asia/Yerevan", "エレバン");
      put("Indian/Antananarivo", "アンタナナリボ");
      put("Indian/Chagos", "チャゴス");
      put("Indian/Christmas", "クリスマス島");
      put("Indian/Cocos", "ココス諸島");
      put("Indian/Comoro", "コモロ");
      put("Indian/Kerguelen", "ケルゲレン諸島");
      put("Indian/Mahe", "マヘ");
      put("Indian/Maldives", "モルディブ");
      put("Indian/Mauritius", "モーリシャス");
      put("Indian/Mayotte", "マヨット");
      put("Indian/Reunion", "レユニオン");
      put("Australia/Adelaide", "アデレード");
      put("Australia/Brisbane", "ブリスベン");
      put("Australia/Broken_Hill", "ブロークンヒル");
      put("Australia/Currie", "カリー");
      put("Australia/Darwin", "ダーウィン");
      put("Australia/Eucla", "ユークラ");
      put("Australia/Hobart", "ホバート");
      put("Australia/Lindeman", "リンデマン");
      put("Australia/Lord_Howe", "ロードハウ");
      put("Australia/Melbourne", "メルボルン");
      put("Australia/Perth", "パース");
      put("Australia/Sydney", "シドニー");
      put("Pacific/Apia", "アピア");
      put("Pacific/Auckland", "オークランド");
      put("Pacific/Bougainville", "ブーゲンビル");
      put("Pacific/Chatham", "チャタム");
      put("Pacific/Easter", "イースター島");
      put("Pacific/Efate", "エフェテ島");
      put("Pacific/Enderbury", "エンダーベリー島");
      put("Pacific/Fakaofo", "ファカオフォ");
      put("Pacific/Fiji", "フィジー");
      put("Pacific/Funafuti", "フナフティ");
      put("Pacific/Galapagos", "ガラパゴス");
      put("Pacific/Gambier", "ガンビエ諸島");
      put("Pacific/Guadalcanal", "ガダルカナル");
      put("Pacific/Guam", "グアム");
      put("Pacific/Honolulu", "ホノルル");
      put("Pacific/Johnston", "ジョンストン島");
      put("Pacific/Kiritimati", "キリスィマスィ島");
      put("Pacific/Kosrae", "コスラエ");
      put("Pacific/Kwajalein", "クェゼリン");
      put("Pacific/Majuro", "マジュロ");
      put("Pacific/Marquesas", "マルキーズ");
      put("Pacific/Midway", "ミッドウェー島");
      put("Pacific/Nauru", "ナウル");
      put("Pacific/Niue", "ニウエ");
      put("Pacific/Norfolk", "ノーフォーク島");
      put("Pacific/Noumea", "ヌメア");
      put("Pacific/Pago_Pago", "パゴパゴ");
      put("Pacific/Palau", "パラオ");
      put("Pacific/Pitcairn", "ピトケアン諸島");
      put("Pacific/Ponape", "ポンペイ島");
      put("Pacific/Port_Moresby", "ポートモレスビー");
      put("Pacific/Rarotonga", "ラロトンガ");
      put("Pacific/Saipan", "サイパン");
      put("Pacific/Tahiti", "タヒチ");
      put("Pacific/Tarawa", "タラワ");
      put("Pacific/Tongatapu", "トンガタプ");
      put("Pacific/Truk", "チューク");
      put("Pacific/Wake", "ウェーク島");
      put("Pacific/Wallis", "ウォリス諸島");
      put("Arctic/Longyearbyen", "ロングイェールビーン");
      put("Antarctica/Casey", "ケーシー基地");
      put("Antarctica/Davis", "デービス基地");
      put("Antarctica/DumontDUrville", "デュモン・デュルヴィル基地");
      put("Antarctica/Macquarie", "マッコリー");
      put("Antarctica/Mawson", "モーソン基地");
      put("Antarctica/McMurdo", "マクマード基地");
      put("Antarctica/Palmer", "パーマー基地");
      put("Antarctica/Rothera", "ロゼラ基地");
      put("Antarctica/Syowa", "昭和基地");
      put("Antarctica/Troll", "トロル基地");
      put("Antarctica/Vostok", "ボストーク基地");
      put("Etc/GMT", "GMT");
      put("Etc/GMT1", "GMT+1");
      put("Etc/GMT10", "GMT+10");
      put("Etc/GMT11", "GMT+11");
      put("Etc/GMT12", "GMT+12");
      put("Etc/GMT2", "GMT+2");
      put("Etc/GMT3", "GMT+3");
      put("Etc/GMT4", "GMT+4");
      put("Etc/GMT5", "GMT+5");
      put("Etc/GMT6", "GMT+6");
      put("Etc/GMT7", "GMT+7");
      put("Etc/GMT8", "GMT+8");
      put("Etc/GMT9", "GMT+9");
      put("Etc/GMT-1", "GMT-1");
      put("Etc/GMT-10", "GMT-10");
      put("Etc/GMT-11", "GMT-11");
      put("Etc/GMT-12", "GMT-12");
      put("Etc/GMT-13", "GMT-13");
      put("Etc/GMT-14", "GMT-14");
      put("Etc/GMT-2", "GMT-2");
      put("Etc/GMT-3", "GMT-3");
      put("Etc/GMT-4", "GMT-4");
      put("Etc/GMT-5", "GMT-5");
      put("Etc/GMT-6", "GMT-6");
      put("Etc/GMT-7", "GMT-7");
      put("Etc/GMT-8", "GMT-8");
      put("Etc/GMT-9", "GMT-9");
      put("Etc/UTC", "UTC");
      put("Etc/Unknown", "地域不明");
    } };

    this.timezoneNames = new HashMap() { {

      put("Europe/Dublin", new TimeZoneNames("Europe/Dublin",   new TimeZoneNames.Name(null, null, "アイルランド標準時"),
        null));

      put("Europe/London", new TimeZoneNames("Europe/London",   new TimeZoneNames.Name(null, null, "英国夏時間"),
        null));

      put("Etc/UTC", new TimeZoneNames("Etc/UTC",   new TimeZoneNames.Name(null, "協定世界時", null),
        new TimeZoneNames.Name(null, "UTC", null)));
    } };

    this.metazoneNames = new HashMap() { {

      put("Acre", new TimeZoneNames("Acre", 
        new TimeZoneNames.Name("アクレ時間", "アクレ標準時", "アクレ夏時間"),
        null));

      put("Afghanistan", new TimeZoneNames("Afghanistan", 
        new TimeZoneNames.Name(null, "アフガニスタン時間", null),
        null));

      put("Africa_Central", new TimeZoneNames("Africa_Central", 
        new TimeZoneNames.Name(null, "中央アフリカ時間", null),
        null));

      put("Africa_Eastern", new TimeZoneNames("Africa_Eastern", 
        new TimeZoneNames.Name(null, "東アフリカ時間", null),
        null));

      put("Africa_Southern", new TimeZoneNames("Africa_Southern", 
        new TimeZoneNames.Name(null, "南アフリカ標準時", null),
        null));

      put("Africa_Western", new TimeZoneNames("Africa_Western", 
        new TimeZoneNames.Name("西アフリカ時間", "西アフリカ標準時", "西アフリカ夏時間"),
        null));

      put("Alaska", new TimeZoneNames("Alaska", 
        new TimeZoneNames.Name("アラスカ時間", "アラスカ標準時", "アラスカ夏時間"),
        null));

      put("Almaty", new TimeZoneNames("Almaty", 
        new TimeZoneNames.Name("アルトマイ時間", "アルトマイ標準時", "アルマトイ夏時間"),
        null));

      put("Amazon", new TimeZoneNames("Amazon", 
        new TimeZoneNames.Name("アマゾン時間", "アマゾン標準時", "アマゾン夏時間"),
        null));

      put("America_Central", new TimeZoneNames("America_Central", 
        new TimeZoneNames.Name("アメリカ中部時間", "アメリカ中部標準時", "アメリカ中部夏時間"),
        null));

      put("America_Eastern", new TimeZoneNames("America_Eastern", 
        new TimeZoneNames.Name("アメリカ東部時間", "アメリカ東部標準時", "アメリカ東部夏時間"),
        null));

      put("America_Mountain", new TimeZoneNames("America_Mountain", 
        new TimeZoneNames.Name("アメリカ山地時間", "アメリカ山地標準時", "アメリカ山地夏時間"),
        null));

      put("America_Pacific", new TimeZoneNames("America_Pacific", 
        new TimeZoneNames.Name("アメリカ太平洋時間", "アメリカ太平洋標準時", "アメリカ太平洋夏時間"),
        null));

      put("Anadyr", new TimeZoneNames("Anadyr", 
        new TimeZoneNames.Name("アナディリ時間", "アナディリ標準時", "アナディリ夏時間"),
        null));

      put("Apia", new TimeZoneNames("Apia", 
        new TimeZoneNames.Name("アピア時間", "アピア標準時", "アピア夏時間"),
        null));

      put("Aqtau", new TimeZoneNames("Aqtau", 
        new TimeZoneNames.Name("アクタウ時間", "アクタウ標準時", "アクタウ夏時間"),
        null));

      put("Aqtobe", new TimeZoneNames("Aqtobe", 
        new TimeZoneNames.Name("アクトベ時間", "アクトベ標準時", "アクトベ夏時間"),
        null));

      put("Arabian", new TimeZoneNames("Arabian", 
        new TimeZoneNames.Name("アラビア時間", "アラビア標準時", "アラビア夏時間"),
        null));

      put("Argentina", new TimeZoneNames("Argentina", 
        new TimeZoneNames.Name("アルゼンチン時間", "アルゼンチン標準時", "アルゼンチン夏時間"),
        null));

      put("Argentina_Western", new TimeZoneNames("Argentina_Western", 
        new TimeZoneNames.Name("西部アルゼンチン時間", "西部アルゼンチン標準時", "西部アルゼンチン夏時間"),
        null));

      put("Armenia", new TimeZoneNames("Armenia", 
        new TimeZoneNames.Name("アルメニア時間", "アルメニア標準時", "アルメニア夏時間"),
        null));

      put("Atlantic", new TimeZoneNames("Atlantic", 
        new TimeZoneNames.Name("大西洋時間", "大西洋標準時", "大西洋夏時間"),
        null));

      put("Australia_Central", new TimeZoneNames("Australia_Central", 
        new TimeZoneNames.Name("オーストラリア中部時間", "オーストラリア中部標準時", "オーストラリア中部夏時間"),
        null));

      put("Australia_CentralWestern", new TimeZoneNames("Australia_CentralWestern", 
        new TimeZoneNames.Name("オーストラリア中西部時間", "オーストラリア中西部標準時", "オーストラリア中西部夏時間"),
        null));

      put("Australia_Eastern", new TimeZoneNames("Australia_Eastern", 
        new TimeZoneNames.Name("オーストラリア東部時間", "オーストラリア東部標準時", "オーストラリア東部夏時間"),
        null));

      put("Australia_Western", new TimeZoneNames("Australia_Western", 
        new TimeZoneNames.Name("オーストラリア西部時間", "オーストラリア西部標準時", "オーストラリア西部夏時間"),
        null));

      put("Azerbaijan", new TimeZoneNames("Azerbaijan", 
        new TimeZoneNames.Name("アゼルバイジャン時間", "アゼルバイジャン標準時", "アゼルバイジャン夏時間"),
        null));

      put("Azores", new TimeZoneNames("Azores", 
        new TimeZoneNames.Name("アゾレス時間", "アゾレス標準時", "アゾレス夏時間"),
        null));

      put("Bangladesh", new TimeZoneNames("Bangladesh", 
        new TimeZoneNames.Name("バングラデシュ時間", "バングラデシュ標準時", "バングラデシュ夏時間"),
        null));

      put("Bhutan", new TimeZoneNames("Bhutan", 
        new TimeZoneNames.Name(null, "ブータン時間", null),
        null));

      put("Bolivia", new TimeZoneNames("Bolivia", 
        new TimeZoneNames.Name(null, "ボリビア時間", null),
        null));

      put("Brasilia", new TimeZoneNames("Brasilia", 
        new TimeZoneNames.Name("ブラジリア時間", "ブラジリア標準時", "ブラジリア夏時間"),
        null));

      put("Brunei", new TimeZoneNames("Brunei", 
        new TimeZoneNames.Name(null, "ブルネイ・ダルサラーム時間", null),
        null));

      put("Cape_Verde", new TimeZoneNames("Cape_Verde", 
        new TimeZoneNames.Name("カーボベルデ時間", "カーボベルデ標準時", "カーボベルデ夏時間"),
        null));

      put("Casey", new TimeZoneNames("Casey", 
        new TimeZoneNames.Name(null, "ケイシー基地時間", null),
        null));

      put("Chamorro", new TimeZoneNames("Chamorro", 
        new TimeZoneNames.Name(null, "チャモロ時間", null),
        null));

      put("Chatham", new TimeZoneNames("Chatham", 
        new TimeZoneNames.Name("チャタム時間", "チャタム標準時", "チャタム夏時間"),
        null));

      put("Chile", new TimeZoneNames("Chile", 
        new TimeZoneNames.Name("チリ時間", "チリ標準時", "チリ夏時間"),
        null));

      put("China", new TimeZoneNames("China", 
        new TimeZoneNames.Name("中国時間", "中国標準時", "中国夏時間"),
        null));

      put("Choibalsan", new TimeZoneNames("Choibalsan", 
        new TimeZoneNames.Name("チョイバルサン時間", "チョイバルサン標準時", "チョイバルサン夏時間"),
        null));

      put("Christmas", new TimeZoneNames("Christmas", 
        new TimeZoneNames.Name(null, "クリスマス島時間", null),
        null));

      put("Cocos", new TimeZoneNames("Cocos", 
        new TimeZoneNames.Name(null, "ココス諸島時間", null),
        null));

      put("Colombia", new TimeZoneNames("Colombia", 
        new TimeZoneNames.Name("コロンビア時間", "コロンビア標準時", "コロンビア夏時間"),
        null));

      put("Cook", new TimeZoneNames("Cook", 
        new TimeZoneNames.Name("クック諸島時間", "クック諸島標準時", "クック諸島夏時間"),
        null));

      put("Cuba", new TimeZoneNames("Cuba", 
        new TimeZoneNames.Name("キューバ時間", "キューバ標準時", "キューバ夏時間"),
        null));

      put("Davis", new TimeZoneNames("Davis", 
        new TimeZoneNames.Name(null, "デービス基地時間", null),
        null));

      put("DumontDUrville", new TimeZoneNames("DumontDUrville", 
        new TimeZoneNames.Name(null, "デュモン・デュルヴィル基地時間", null),
        null));

      put("East_Timor", new TimeZoneNames("East_Timor", 
        new TimeZoneNames.Name(null, "東ティモール時間", null),
        null));

      put("Easter", new TimeZoneNames("Easter", 
        new TimeZoneNames.Name("イースター島時間", "イースター島標準時", "イースター島夏時間"),
        null));

      put("Ecuador", new TimeZoneNames("Ecuador", 
        new TimeZoneNames.Name(null, "エクアドル時間", null),
        null));

      put("Europe_Central", new TimeZoneNames("Europe_Central", 
        new TimeZoneNames.Name("中央ヨーロッパ時間", "中央ヨーロッパ標準時", "中央ヨーロッパ夏時間"),
        null));

      put("Europe_Eastern", new TimeZoneNames("Europe_Eastern", 
        new TimeZoneNames.Name("東ヨーロッパ時間", "東ヨーロッパ標準時", "東ヨーロッパ夏時間"),
        null));

      put("Europe_Further_Eastern", new TimeZoneNames("Europe_Further_Eastern", 
        new TimeZoneNames.Name(null, "極東ヨーロッパ時間", null),
        null));

      put("Europe_Western", new TimeZoneNames("Europe_Western", 
        new TimeZoneNames.Name("西ヨーロッパ時間", "西ヨーロッパ標準時", "西ヨーロッパ夏時間"),
        null));

      put("Falkland", new TimeZoneNames("Falkland", 
        new TimeZoneNames.Name("フォークランド諸島時間", "フォークランド諸島標準時", "フォークランド諸島夏時間"),
        null));

      put("Fiji", new TimeZoneNames("Fiji", 
        new TimeZoneNames.Name("フィジー時間", "フィジー標準時", "フィジー夏時間"),
        null));

      put("French_Guiana", new TimeZoneNames("French_Guiana", 
        new TimeZoneNames.Name(null, "仏領ギアナ時間", null),
        null));

      put("French_Southern", new TimeZoneNames("French_Southern", 
        new TimeZoneNames.Name(null, "仏領南方南極時間", null),
        null));

      put("Galapagos", new TimeZoneNames("Galapagos", 
        new TimeZoneNames.Name(null, "ガラパゴス時間", null),
        null));

      put("Gambier", new TimeZoneNames("Gambier", 
        new TimeZoneNames.Name(null, "ガンビエ諸島時間", null),
        null));

      put("Georgia", new TimeZoneNames("Georgia", 
        new TimeZoneNames.Name("ジョージア時間", "ジョージア標準時", "ジョージア夏時間"),
        null));

      put("Gilbert_Islands", new TimeZoneNames("Gilbert_Islands", 
        new TimeZoneNames.Name(null, "ギルバート諸島時間", null),
        null));

      put("GMT", new TimeZoneNames("GMT", 
        new TimeZoneNames.Name(null, "グリニッジ標準時", null),
        null));

      put("Greenland_Eastern", new TimeZoneNames("Greenland_Eastern", 
        new TimeZoneNames.Name("グリーンランド東部時間", "グリーンランド東部標準時", "グリーンランド東部夏時間"),
        null));

      put("Greenland_Western", new TimeZoneNames("Greenland_Western", 
        new TimeZoneNames.Name("グリーンランド西部時間", "グリーンランド西部標準時", "グリーンランド西部夏時間"),
        null));

      put("Guam", new TimeZoneNames("Guam", 
        new TimeZoneNames.Name(null, "グアム時間", null),
        null));

      put("Gulf", new TimeZoneNames("Gulf", 
        new TimeZoneNames.Name(null, "湾岸標準時", null),
        null));

      put("Guyana", new TimeZoneNames("Guyana", 
        new TimeZoneNames.Name(null, "ガイアナ時間", null),
        null));

      put("Hawaii_Aleutian", new TimeZoneNames("Hawaii_Aleutian", 
        new TimeZoneNames.Name("ハワイ・アリューシャン時間", "ハワイ・アリューシャン標準時", "ハワイ・アリューシャン夏時間"),
        null));

      put("Hong_Kong", new TimeZoneNames("Hong_Kong", 
        new TimeZoneNames.Name("香港時間", "香港標準時", "香港夏時間"),
        null));

      put("Hovd", new TimeZoneNames("Hovd", 
        new TimeZoneNames.Name("ホブド時間", "ホブド標準時", "ホブド夏時間"),
        null));

      put("India", new TimeZoneNames("India", 
        new TimeZoneNames.Name(null, "インド標準時", null),
        null));

      put("Indian_Ocean", new TimeZoneNames("Indian_Ocean", 
        new TimeZoneNames.Name(null, "インド洋時間", null),
        null));

      put("Indochina", new TimeZoneNames("Indochina", 
        new TimeZoneNames.Name(null, "インドシナ時間", null),
        null));

      put("Indonesia_Central", new TimeZoneNames("Indonesia_Central", 
        new TimeZoneNames.Name(null, "インドネシア中部時間", null),
        null));

      put("Indonesia_Eastern", new TimeZoneNames("Indonesia_Eastern", 
        new TimeZoneNames.Name(null, "インドネシア東部時間", null),
        null));

      put("Indonesia_Western", new TimeZoneNames("Indonesia_Western", 
        new TimeZoneNames.Name(null, "インドネシア西部時間", null),
        null));

      put("Iran", new TimeZoneNames("Iran", 
        new TimeZoneNames.Name("イラン時間", "イラン標準時", "イラン夏時間"),
        null));

      put("Irkutsk", new TimeZoneNames("Irkutsk", 
        new TimeZoneNames.Name("イルクーツク時間", "イルクーツク標準時", "イルクーツク夏時間"),
        null));

      put("Israel", new TimeZoneNames("Israel", 
        new TimeZoneNames.Name("イスラエル時間", "イスラエル標準時", "イスラエル夏時間"),
        null));

      put("Japan", new TimeZoneNames("Japan", 
        new TimeZoneNames.Name("日本時間", "日本標準時", "日本夏時間"),
        new TimeZoneNames.Name(null, "JST", "JDT")));

      put("Kamchatka", new TimeZoneNames("Kamchatka", 
        new TimeZoneNames.Name("ペトロパブロフスク・カムチャツキー時間", "ペトロパブロフスク・カムチャツキー標準時", "ペトロパブロフスク・カムチャツキー夏時間"),
        null));

      put("Kazakhstan_Eastern", new TimeZoneNames("Kazakhstan_Eastern", 
        new TimeZoneNames.Name(null, "東カザフスタン時間", null),
        null));

      put("Kazakhstan_Western", new TimeZoneNames("Kazakhstan_Western", 
        new TimeZoneNames.Name(null, "西カザフスタン時間", null),
        null));

      put("Korea", new TimeZoneNames("Korea", 
        new TimeZoneNames.Name("韓国時間", "韓国標準時", "韓国夏時間"),
        null));

      put("Kosrae", new TimeZoneNames("Kosrae", 
        new TimeZoneNames.Name(null, "コスラエ時間", null),
        null));

      put("Krasnoyarsk", new TimeZoneNames("Krasnoyarsk", 
        new TimeZoneNames.Name("クラスノヤルスク時間", "クラスノヤルスク標準時", "クラスノヤルスク夏時間"),
        null));

      put("Kyrgystan", new TimeZoneNames("Kyrgystan", 
        new TimeZoneNames.Name(null, "キルギスタン時間", null),
        null));

      put("Lanka", new TimeZoneNames("Lanka", 
        new TimeZoneNames.Name(null, "ランカ時間", null),
        null));

      put("Line_Islands", new TimeZoneNames("Line_Islands", 
        new TimeZoneNames.Name(null, "ライン諸島時間", null),
        null));

      put("Lord_Howe", new TimeZoneNames("Lord_Howe", 
        new TimeZoneNames.Name("ロードハウ時間", "ロードハウ標準時", "ロードハウ夏時間"),
        null));

      put("Macau", new TimeZoneNames("Macau", 
        new TimeZoneNames.Name("マカオ時間", "マカオ標準時", "マカオ夏時間"),
        null));

      put("Macquarie", new TimeZoneNames("Macquarie", 
        new TimeZoneNames.Name(null, "マッコーリー島時間", null),
        null));

      put("Magadan", new TimeZoneNames("Magadan", 
        new TimeZoneNames.Name("マガダン時間", "マガダン標準時", "マガダン夏時間"),
        null));

      put("Malaysia", new TimeZoneNames("Malaysia", 
        new TimeZoneNames.Name(null, "マレーシア時間", null),
        null));

      put("Maldives", new TimeZoneNames("Maldives", 
        new TimeZoneNames.Name(null, "モルディブ時間", null),
        null));

      put("Marquesas", new TimeZoneNames("Marquesas", 
        new TimeZoneNames.Name(null, "マルキーズ時間", null),
        null));

      put("Marshall_Islands", new TimeZoneNames("Marshall_Islands", 
        new TimeZoneNames.Name(null, "マーシャル諸島時間", null),
        null));

      put("Mauritius", new TimeZoneNames("Mauritius", 
        new TimeZoneNames.Name("モーリシャス時間", "モーリシャス標準時", "モーリシャス夏時間"),
        null));

      put("Mawson", new TimeZoneNames("Mawson", 
        new TimeZoneNames.Name(null, "モーソン基地時間", null),
        null));

      put("Mexico_Northwest", new TimeZoneNames("Mexico_Northwest", 
        new TimeZoneNames.Name("メキシコ北西部時間", "メキシコ北西部標準時", "メキシコ北西部夏時間"),
        null));

      put("Mexico_Pacific", new TimeZoneNames("Mexico_Pacific", 
        new TimeZoneNames.Name("メキシコ太平洋時間", "メキシコ太平洋標準時", "メキシコ太平洋夏時間"),
        null));

      put("Mongolia", new TimeZoneNames("Mongolia", 
        new TimeZoneNames.Name("ウランバートル時間", "ウランバートル標準時", "ウランバートル夏時間"),
        null));

      put("Moscow", new TimeZoneNames("Moscow", 
        new TimeZoneNames.Name("モスクワ時間", "モスクワ標準時", "モスクワ夏時間"),
        null));

      put("Myanmar", new TimeZoneNames("Myanmar", 
        new TimeZoneNames.Name(null, "ミャンマー時間", null),
        null));

      put("Nauru", new TimeZoneNames("Nauru", 
        new TimeZoneNames.Name(null, "ナウル時間", null),
        null));

      put("Nepal", new TimeZoneNames("Nepal", 
        new TimeZoneNames.Name(null, "ネパール時間", null),
        null));

      put("New_Caledonia", new TimeZoneNames("New_Caledonia", 
        new TimeZoneNames.Name("ニューカレドニア時間", "ニューカレドニア標準時", "ニューカレドニア夏時間"),
        null));

      put("New_Zealand", new TimeZoneNames("New_Zealand", 
        new TimeZoneNames.Name("ニュージーランド時間", "ニュージーランド標準時", "ニュージーランド夏時間"),
        null));

      put("Newfoundland", new TimeZoneNames("Newfoundland", 
        new TimeZoneNames.Name("ニューファンドランド時間", "ニューファンドランド標準時", "ニューファンドランド夏時間"),
        null));

      put("Niue", new TimeZoneNames("Niue", 
        new TimeZoneNames.Name(null, "ニウエ時間", null),
        null));

      put("Norfolk", new TimeZoneNames("Norfolk", 
        new TimeZoneNames.Name(null, "ノーフォーク島時間", null),
        null));

      put("Noronha", new TimeZoneNames("Noronha", 
        new TimeZoneNames.Name("フェルナンド・デ・ノローニャ時間", "フェルナンド・デ・ノローニャ標準時", "フェルナンド・デ・ノローニャ夏時間"),
        null));

      put("North_Mariana", new TimeZoneNames("North_Mariana", 
        new TimeZoneNames.Name(null, "北マリアナ諸島時間", null),
        null));

      put("Novosibirsk", new TimeZoneNames("Novosibirsk", 
        new TimeZoneNames.Name("ノヴォシビルスク時間", "ノヴォシビルスク標準時", "ノヴォシビルスク夏時間"),
        null));

      put("Omsk", new TimeZoneNames("Omsk", 
        new TimeZoneNames.Name("オムスク時間", "オムスク標準時", "オムスク夏時間"),
        null));

      put("Pakistan", new TimeZoneNames("Pakistan", 
        new TimeZoneNames.Name("パキスタン時間", "パキスタン標準時", "パキスタン夏時間"),
        null));

      put("Palau", new TimeZoneNames("Palau", 
        new TimeZoneNames.Name(null, "パラオ時間", null),
        null));

      put("Papua_New_Guinea", new TimeZoneNames("Papua_New_Guinea", 
        new TimeZoneNames.Name(null, "パプアニューギニア時間", null),
        null));

      put("Paraguay", new TimeZoneNames("Paraguay", 
        new TimeZoneNames.Name("パラグアイ時間", "パラグアイ標準時", "パラグアイ夏時間"),
        null));

      put("Peru", new TimeZoneNames("Peru", 
        new TimeZoneNames.Name("ペルー時間", "ペルー標準時", "ペルー夏時間"),
        null));

      put("Philippines", new TimeZoneNames("Philippines", 
        new TimeZoneNames.Name("フィリピン時間", "フィリピン標準時", "フィリピン夏時間"),
        null));

      put("Phoenix_Islands", new TimeZoneNames("Phoenix_Islands", 
        new TimeZoneNames.Name(null, "フェニックス諸島時間", null),
        null));

      put("Pierre_Miquelon", new TimeZoneNames("Pierre_Miquelon", 
        new TimeZoneNames.Name("サンピエール・ミクロン時間", "サンピエール・ミクロン標準時", "サンピエール・ミクロン夏時間"),
        null));

      put("Pitcairn", new TimeZoneNames("Pitcairn", 
        new TimeZoneNames.Name(null, "ピトケアン時間", null),
        null));

      put("Ponape", new TimeZoneNames("Ponape", 
        new TimeZoneNames.Name(null, "ポナペ時間", null),
        null));

      put("Pyongyang", new TimeZoneNames("Pyongyang", 
        new TimeZoneNames.Name(null, "平壌時間", null),
        null));

      put("Qyzylorda", new TimeZoneNames("Qyzylorda", 
        new TimeZoneNames.Name("クズロルダ時間", "クズロルダ標準時", "クズロルダ夏時間"),
        null));

      put("Reunion", new TimeZoneNames("Reunion", 
        new TimeZoneNames.Name(null, "レユニオン時間", null),
        null));

      put("Rothera", new TimeZoneNames("Rothera", 
        new TimeZoneNames.Name(null, "ロゼラ基地時間", null),
        null));

      put("Sakhalin", new TimeZoneNames("Sakhalin", 
        new TimeZoneNames.Name("サハリン時間", "サハリン標準時", "サハリン夏時間"),
        null));

      put("Samara", new TimeZoneNames("Samara", 
        new TimeZoneNames.Name("サマラ時間", "サマラ標準時", "サマラ夏時間"),
        null));

      put("Samoa", new TimeZoneNames("Samoa", 
        new TimeZoneNames.Name("サモア時間", "サモア標準時", "サモア夏時間"),
        null));

      put("Seychelles", new TimeZoneNames("Seychelles", 
        new TimeZoneNames.Name(null, "セーシェル時間", null),
        null));

      put("Singapore", new TimeZoneNames("Singapore", 
        new TimeZoneNames.Name(null, "シンガポール標準時", null),
        null));

      put("Solomon", new TimeZoneNames("Solomon", 
        new TimeZoneNames.Name(null, "ソロモン諸島時間", null),
        null));

      put("South_Georgia", new TimeZoneNames("South_Georgia", 
        new TimeZoneNames.Name(null, "サウスジョージア時間", null),
        null));

      put("Suriname", new TimeZoneNames("Suriname", 
        new TimeZoneNames.Name(null, "スリナム時間", null),
        null));

      put("Syowa", new TimeZoneNames("Syowa", 
        new TimeZoneNames.Name(null, "昭和基地時間", null),
        null));

      put("Tahiti", new TimeZoneNames("Tahiti", 
        new TimeZoneNames.Name(null, "タヒチ時間", null),
        null));

      put("Taipei", new TimeZoneNames("Taipei", 
        new TimeZoneNames.Name("台北時間", "台北標準時", "台北夏時間"),
        null));

      put("Tajikistan", new TimeZoneNames("Tajikistan", 
        new TimeZoneNames.Name(null, "タジキスタン時間", null),
        null));

      put("Tokelau", new TimeZoneNames("Tokelau", 
        new TimeZoneNames.Name(null, "トケラウ時間", null),
        null));

      put("Tonga", new TimeZoneNames("Tonga", 
        new TimeZoneNames.Name("トンガ時間", "トンガ標準時", "トンガ夏時間"),
        null));

      put("Truk", new TimeZoneNames("Truk", 
        new TimeZoneNames.Name(null, "チューク時間", null),
        null));

      put("Turkmenistan", new TimeZoneNames("Turkmenistan", 
        new TimeZoneNames.Name("トルクメニスタン時間", "トルクメニスタン標準時", "トルクメニスタン夏時間"),
        null));

      put("Tuvalu", new TimeZoneNames("Tuvalu", 
        new TimeZoneNames.Name(null, "ツバル時間", null),
        null));

      put("Uruguay", new TimeZoneNames("Uruguay", 
        new TimeZoneNames.Name("ウルグアイ時間", "ウルグアイ標準時", "ウルグアイ夏時間"),
        null));

      put("Uzbekistan", new TimeZoneNames("Uzbekistan", 
        new TimeZoneNames.Name("ウズベキスタン時間", "ウズベキスタン標準時", "ウズベキスタン夏時間"),
        null));

      put("Vanuatu", new TimeZoneNames("Vanuatu", 
        new TimeZoneNames.Name("バヌアツ時間", "バヌアツ標準時", "バヌアツ夏時間"),
        null));

      put("Venezuela", new TimeZoneNames("Venezuela", 
        new TimeZoneNames.Name(null, "ベネズエラ時間", null),
        null));

      put("Vladivostok", new TimeZoneNames("Vladivostok", 
        new TimeZoneNames.Name("ウラジオストク時間", "ウラジオストク標準時", "ウラジオストク夏時間"),
        null));

      put("Volgograd", new TimeZoneNames("Volgograd", 
        new TimeZoneNames.Name("ボルゴグラード時間", "ボルゴグラード標準時", "ボルゴグラード夏時間"),
        null));

      put("Vostok", new TimeZoneNames("Vostok", 
        new TimeZoneNames.Name(null, "ボストーク基地時間", null),
        null));

      put("Wake", new TimeZoneNames("Wake", 
        new TimeZoneNames.Name(null, "ウェーク島時間", null),
        null));

      put("Wallis", new TimeZoneNames("Wallis", 
        new TimeZoneNames.Name(null, "ウォリス・フツナ時間", null),
        null));

      put("Yakutsk", new TimeZoneNames("Yakutsk", 
        new TimeZoneNames.Name("ヤクーツク時間", "ヤクーツク標準時", "ヤクーツク夏時間"),
        null));

      put("Yekaterinburg", new TimeZoneNames("Yekaterinburg", 
        new TimeZoneNames.Name("エカテリンブルグ時間", "エカテリンブルグ標準時", "エカテリンブルグ夏時間"),
        null));
    } };
  }

  @Override
  public void formatDate(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "y/MM/dd"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        break;
      }
      case MEDIUM: {
        // "y/MM/dd"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 2, b);
        b.append("/");
        formatField(d, 'd', 2, b);
        break;
      }
      case LONG: {
        // "y年M月d日"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case FULL: {
        // "y年M月d日EEEE"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        formatField(d, 'E', 4, b);
        break;
      }
    }
  }

  @Override
  public void formatTime(CalendarFormat type, ZonedDateTime d, StringBuilder b) {
    if (type == null) {
      return;
    }
    switch (type) {
      case SHORT: {
        // "H:mm"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case MEDIUM: {
        // "H:mm:ss"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case LONG: {
        // "H:mm:ss z"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'z', 1, b);
        break;
      }
      case FULL: {
        // "H時mm分ss秒 zzzz"
        formatField(d, 'H', 1, b);
        b.append("時");
        formatField(d, 'm', 2, b);
        b.append("分");
        formatField(d, 's', 2, b);
        b.append("秒 ");
        formatField(d, 'z', 4, b);
        break;
      }
    }
  }

  @Override
  public void formatWrapped(CalendarFormat wrapperType, CalendarFormat dateType,
      CalendarFormat timeType, String dateSkel, String timeSkel, ZonedDateTime d, StringBuilder b) {
    switch (wrapperType) {
      case SHORT:
      case MEDIUM:
      case LONG:
      case FULL:
       {
        // "{1} {0}"
        if (dateType != null) {
          formatDate(dateType, d, b);
        } else {
          formatSkeleton(dateSkel, d, b);
        }
        b.append(" ");
        if (timeType != null) {
          formatTime(timeType, d, b);
        } else {
          formatSkeleton(timeSkel, d, b);
        }
        break;
      }
    }
  }

  @Override
  public boolean formatSkeleton(String skeleton, ZonedDateTime d, StringBuilder b) {
    if (skeleton == null) {
      return false;
    }
    switch (skeleton) {
      case "d": {
        // Pattern: "d日"
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case "E": {
        // Pattern: "ccc"
        formatField(d, 'c', 3, b);
        break;
      }
      case "Ed": {
        // Pattern: "d日(E)"
        formatField(d, 'd', 1, b);
        b.append("日(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "EEEEd": {
        // Pattern: "d日EEEE"
        formatField(d, 'd', 1, b);
        b.append("日");
        formatField(d, 'E', 4, b);
        break;
      }
      case "Ehm": {
        // Pattern: "aK:mm (E)"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" (");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "EHm": {
        // Pattern: "H:mm (E)"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" (");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "Ehms": {
        // Pattern: "aK:mm:ss (E)"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" (");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "EHms": {
        // Pattern: "H:mm:ss (E)"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" (");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "Gy": {
        // Pattern: "Gy年"
        formatField(d, 'G', 1, b);
        formatField(d, 'y', 1, b);
        b.append("年");
        break;
      }
      case "GyMMM": {
        // Pattern: "Gy年M月"
        formatField(d, 'G', 1, b);
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        break;
      }
      case "GyMMMd": {
        // Pattern: "Gy年M月d日"
        formatField(d, 'G', 1, b);
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case "GyMMMEd": {
        // Pattern: "Gy年M月d日(E)"
        formatField(d, 'G', 1, b);
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "GyMMMEEEEd": {
        // Pattern: "Gy年M月d日EEEE"
        formatField(d, 'G', 1, b);
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        formatField(d, 'E', 4, b);
        break;
      }
      case "h": {
        // Pattern: "aK時"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append("時");
        break;
      }
      case "H": {
        // Pattern: "H時"
        formatField(d, 'H', 1, b);
        b.append("時");
        break;
      }
      case "hm": {
        // Pattern: "aK:mm"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "Hm": {
        // Pattern: "H:mm"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        break;
      }
      case "hms": {
        // Pattern: "aK:mm:ss"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "Hms": {
        // Pattern: "H:mm:ss"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "hmsv": {
        // Pattern: "aK:mm:ss v"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmsv": {
        // Pattern: "H:mm:ss v"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "hmv": {
        // Pattern: "aK:mm v"
        formatField(d, 'a', 1, b);
        formatField(d, 'K', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "Hmv": {
        // Pattern: "H:mm v"
        formatField(d, 'H', 1, b);
        b.append(":");
        formatField(d, 'm', 2, b);
        b.append(" ");
        formatField(d, 'v', 1, b);
        break;
      }
      case "M": {
        // Pattern: "M月"
        formatField(d, 'M', 1, b);
        b.append("月");
        break;
      }
      case "Md": {
        // Pattern: "M/d"
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        break;
      }
      case "MEd": {
        // Pattern: "M/d(E)"
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        b.append("(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "MEEEEd": {
        // Pattern: "M/dEEEE"
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        formatField(d, 'E', 4, b);
        break;
      }
      case "MMM": {
        // Pattern: "M月"
        formatField(d, 'M', 1, b);
        b.append("月");
        break;
      }
      case "MMMd": {
        // Pattern: "M月d日"
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case "MMMEd": {
        // Pattern: "M月d日(E)"
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "MMMEEEEd": {
        // Pattern: "M月d日EEEE"
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        formatField(d, 'E', 4, b);
        break;
      }
      case "MMMMd": {
        // Pattern: "M月d日"
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case "MMMMW-count-other": {
        // Pattern: "M月第W週"
        formatField(d, 'M', 1, b);
        b.append("月第");
        formatField(d, 'W', 1, b);
        b.append("週");
        break;
      }
      case "ms": {
        // Pattern: "mm:ss"
        formatField(d, 'm', 2, b);
        b.append(":");
        formatField(d, 's', 2, b);
        break;
      }
      case "y": {
        // Pattern: "y年"
        formatField(d, 'y', 1, b);
        b.append("年");
        break;
      }
      case "yM": {
        // Pattern: "y/M"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        break;
      }
      case "yMd": {
        // Pattern: "y/M/d"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        break;
      }
      case "yMEd": {
        // Pattern: "y/M/d(E)"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        b.append("(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "yMEEEEd": {
        // Pattern: "y/M/dEEEE"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 1, b);
        b.append("/");
        formatField(d, 'd', 1, b);
        formatField(d, 'E', 4, b);
        break;
      }
      case "yMM": {
        // Pattern: "y/MM"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'M', 2, b);
        break;
      }
      case "yMMM": {
        // Pattern: "y年M月"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        break;
      }
      case "yMMMd": {
        // Pattern: "y年M月d日"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        break;
      }
      case "yMMMEd": {
        // Pattern: "y年M月d日(E)"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日(");
        formatField(d, 'E', 1, b);
        b.append(")");
        break;
      }
      case "yMMMEEEEd": {
        // Pattern: "y年M月d日EEEE"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        formatField(d, 'd', 1, b);
        b.append("日");
        formatField(d, 'E', 4, b);
        break;
      }
      case "yMMMM": {
        // Pattern: "y年M月"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'M', 1, b);
        b.append("月");
        break;
      }
      case "yQQQ": {
        // Pattern: "y/QQQ"
        formatField(d, 'y', 1, b);
        b.append("/");
        formatField(d, 'Q', 3, b);
        break;
      }
      case "yQQQQ": {
        // Pattern: "y年QQQQ"
        formatField(d, 'y', 1, b);
        b.append("年");
        formatField(d, 'Q', 4, b);
        break;
      }
      case "yw-count-other": {
        // Pattern: "y年第w週"
        formatField(d, 'y', 1, b);
        b.append("年第");
        formatField(d, 'w', 1, b);
        b.append("週");
        break;
      }
      default: {
        return false;
      }
    }
    return true;
  }

  @Override
  public void formatInterval(ZonedDateTime s, ZonedDateTime e, String k, DateTimeField f,
      StringBuilder b) {
    if (k != null && f != null) {
      switch (k) {
        case "d": {
          switch (f) {
            case DAY: {
              // "d日~"
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "d日"
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMM": {
          switch (f) {
            case MONTH: {
              // "M月~"
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "M月"
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            default: break;
          }
          break;
        }
        case "hm": {
          switch (f) {
            case AM_PM: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "aK時mm分"
              formatField(e, 'a', 1, b);
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分");
              return;
            }
            case HOUR: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "K時mm分"
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分");
              return;
            }
            case MINUTE: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "K時mm分"
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分");
              return;
            }
            default: break;
          }
          break;
        }
        case "Hm": {
          switch (f) {
            case HOUR: {
              // "H時mm分~"
              formatField(s, 'H', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "H時mm分"
              formatField(e, 'H', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分");
              return;
            }
            case MINUTE: {
              // "H時mm分~"
              formatField(s, 'H', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "H時mm分"
              formatField(e, 'H', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分");
              return;
            }
            default: break;
          }
          break;
        }
        case "h": {
          switch (f) {
            case AM_PM: {
              // "aK時~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時~");
              // "aK時"
              formatField(e, 'a', 1, b);
              formatField(e, 'K', 1, b);
              b.append("時");
              return;
            }
            case HOUR: {
              // "aK時~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時~");
              // "K時"
              formatField(e, 'K', 1, b);
              b.append("時");
              return;
            }
            default: break;
          }
          break;
        }
        case "H": {
          switch (f) {
            case HOUR: {
              // "H時~"
              formatField(s, 'H', 1, b);
              b.append("時~");
              // "H時"
              formatField(e, 'H', 1, b);
              b.append("時");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMEd": {
          switch (f) {
            case DAY: {
              // "y年M月d日(E)~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "d日(E)"
              formatField(e, 'd', 1, b);
              b.append("日(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case YEAR: {
              // "y年M月d日(E)~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "y年M月d日(E)"
              formatField(e, 'y', 1, b);
              b.append("年");
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case MONTH: {
              // "y年M月d日(E)~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "M月d日(E)"
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMEd": {
          switch (f) {
            case DAY: {
              // "y/MM/dd(E)~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "y/MM/dd(E)"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              b.append("(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case YEAR: {
              // "y/MM/dd(E)~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "y/MM/dd(E)"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              b.append("(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case MONTH: {
              // "y/MM/dd(E)~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "y/MM/dd(E)"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              b.append("(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMM": {
          switch (f) {
            case MONTH: {
              // "M月~"
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "M月"
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMM": {
          switch (f) {
            case YEAR: {
              // "y年M月~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "y年M月"
              formatField(e, 'y', 1, b);
              b.append("年");
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            case MONTH: {
              // "y年M月~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "M月"
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            default: break;
          }
          break;
        }
        case "M": {
          switch (f) {
            case MONTH: {
              // "M月~"
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "M月"
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            default: break;
          }
          break;
        }
        case "MEd": {
          switch (f) {
            case DAY: {
              // "MM/dd(E)~"
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "MM/dd(E)"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              b.append("(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case MONTH: {
              // "MM/dd(E)~"
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "MM/dd(E)"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              b.append("(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMEd": {
          switch (f) {
            case DAY: {
              // "M月d日(E)~"
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "d日(E)"
              formatField(e, 'd', 1, b);
              b.append("日(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            case MONTH: {
              // "M月d日(E)~"
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日(");
              formatField(s, 'E', 1, b);
              b.append(")~");
              // "M月d日(E)"
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日(");
              formatField(e, 'E', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "hv": {
          switch (f) {
            case AM_PM: {
              // "aK時~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時~");
              // "aK時(v)"
              formatField(e, 'a', 1, b);
              formatField(e, 'K', 1, b);
              b.append("時(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            case HOUR: {
              // "aK時~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時~");
              // "K時(v)"
              formatField(e, 'K', 1, b);
              b.append("時(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "Hv": {
          switch (f) {
            case HOUR: {
              // "H時~"
              formatField(s, 'H', 1, b);
              b.append("時~");
              // "H時(v)"
              formatField(e, 'H', 1, b);
              b.append("時(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "hmv": {
          switch (f) {
            case AM_PM: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "aK時mm分(v)"
              formatField(e, 'a', 1, b);
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            case HOUR: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "K時mm分(v)"
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            case MINUTE: {
              // "aK時mm分~"
              formatField(s, 'a', 1, b);
              formatField(s, 'K', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "K時mm分(v)"
              formatField(e, 'K', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "Hmv": {
          switch (f) {
            case HOUR: {
              // "H時mm分~"
              formatField(s, 'H', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "H時mm分(v)"
              formatField(e, 'H', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            case MINUTE: {
              // "H時mm分~"
              formatField(s, 'H', 1, b);
              b.append("時");
              formatField(s, 'm', 2, b);
              b.append("分~");
              // "H時mm分(v)"
              formatField(e, 'H', 1, b);
              b.append("時");
              formatField(e, 'm', 2, b);
              b.append("分(");
              formatField(e, 'v', 1, b);
              b.append(")");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMd": {
          switch (f) {
            case DAY: {
              // "y/MM/dd~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("~");
              // "y/MM/dd"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              return;
            }
            case YEAR: {
              // "y/MM/dd~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("~");
              // "y/MM/dd"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              return;
            }
            case MONTH: {
              // "y/MM/dd~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("~");
              // "y/MM/dd"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "MMMd": {
          switch (f) {
            case DAY: {
              // "M月d日~"
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "d日"
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            case MONTH: {
              // "M月d日~"
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "M月d日"
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            default: break;
          }
          break;
        }
        case "yM": {
          switch (f) {
            case YEAR: {
              // "y/MM~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("~");
              // "y/MM"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            case MONTH: {
              // "y/MM~"
              formatField(s, 'y', 1, b);
              b.append("/");
              formatField(s, 'M', 2, b);
              b.append("~");
              // "y/MM"
              formatField(e, 'y', 1, b);
              b.append("/");
              formatField(e, 'M', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMM": {
          switch (f) {
            case YEAR: {
              // "y年M月~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "y年M月"
              formatField(e, 'y', 1, b);
              b.append("年");
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            case MONTH: {
              // "y年M月~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月~");
              // "M月"
              formatField(e, 'M', 1, b);
              b.append("月");
              return;
            }
            default: break;
          }
          break;
        }
        case "Md": {
          switch (f) {
            case DAY: {
              // "MM/dd~"
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("~");
              // "MM/dd"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              return;
            }
            case MONTH: {
              // "MM/dd~"
              formatField(s, 'M', 2, b);
              b.append("/");
              formatField(s, 'd', 2, b);
              b.append("~");
              // "MM/dd"
              formatField(e, 'M', 2, b);
              b.append("/");
              formatField(e, 'd', 2, b);
              return;
            }
            default: break;
          }
          break;
        }
        case "y": {
          switch (f) {
            case YEAR: {
              // "y年~"
              formatField(s, 'y', 1, b);
              b.append("年~");
              // "y年"
              formatField(e, 'y', 1, b);
              b.append("年");
              return;
            }
            default: break;
          }
          break;
        }
        case "yMMMd": {
          switch (f) {
            case DAY: {
              // "y年M月d日~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "d日"
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            case YEAR: {
              // "y年M月d日~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "y年M月d日"
              formatField(e, 'y', 1, b);
              b.append("年");
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            case MONTH: {
              // "y年M月d日~"
              formatField(s, 'y', 1, b);
              b.append("年");
              formatField(s, 'M', 1, b);
              b.append("月");
              formatField(s, 'd', 1, b);
              b.append("日~");
              // "M月d日"
              formatField(e, 'M', 1, b);
              b.append("月");
              formatField(e, 'd', 1, b);
              b.append("日");
              return;
            }
            default: break;
          }
          break;
        }
        default: break;
      }
      // "{0}~{1}"
      formatSkeleton(k, s, b);
      b.append("~");
      formatSkeleton(k, e, b);
    }
  }

  protected void wrapTimeZoneGMT(StringBuilder b, boolean neg, int hours, int mins,
      boolean _short) {
    if (hours == 0 && mins == 0) {
      b.append("GMT");
      return;
    }
    boolean emitMins = !_short || mins > 0;
    b.append("GMT");
    if (neg) {
      b.append("-");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
    else {
      b.append("+");
      zeroPad2(b, hours, _short ? 1 : 2);
      if (emitMins) {
        b.append(":");
      }
      if (emitMins) {
        zeroPad2(b, mins, 2);
      }
    }
  }

  protected void wrapTimeZoneRegion(StringBuilder b, String region) {
    b.append(region);
    b.append("時間");
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy