| // Copyright (c) 2019, the Dart project authors. Please see the AUTHORS file |
| // for details. All rights reserved. Use of this source code is governed by a |
| // BSD-style license that can be found in the LICENSE file. |
| // @dart=2.9 |
| |
| /// Replaces deprecated language subtags. |
| /// |
| /// The subtag must already be lowercase. |
| /// |
| /// TODO(b/127689510): write a new script for updating this list from CLDR data. |
| String replaceDeprecatedLanguageSubtag(String languageCode) { |
| return _deprecatedLanguageTagReplacements[languageCode] ?? languageCode; |
| } |
| |
| const Map<String, String> _deprecatedLanguageTagReplacements = { |
| // These map entries are generated by a modified version of Flutter's |
| // gen_locale.dart. TODO(hugovdm): make improvements to the tool. |
| // |
| // Mappings generated for language subtag registry as of 2019-02-20. |
| 'in': 'id', // Indonesian; deprecated 1989-01-01 |
| 'iw': 'he', // Hebrew; deprecated 1989-01-01 |
| 'ji': 'yi', // Yiddish; deprecated 1989-01-01 |
| 'jw': 'jv', // Javanese; deprecated 2001-08-13 |
| 'mo': 'ro', // Moldavian, Moldovan; deprecated 2008-11-22 |
| 'aam': 'aas', // Aramanik; deprecated 2015-02-12 |
| 'adp': 'dz', // Adap; deprecated 2015-02-12 |
| 'aue': 'ktz', // ǂKxʼauǁʼein; deprecated 2015-02-12 |
| 'ayx': 'nun', // Ayi (China); deprecated 2011-08-16 |
| 'bgm': 'bcg', // Baga Mboteni; deprecated 2016-05-30 |
| 'bjd': 'drl', // Bandjigali; deprecated 2012-08-12 |
| 'ccq': 'rki', // Chaungtha; deprecated 2012-08-12 |
| 'cjr': 'mom', // Chorotega; deprecated 2010-03-11 |
| 'cka': 'cmr', // Khumi Awa Chin; deprecated 2012-08-12 |
| 'cmk': 'xch', // Chimakum; deprecated 2010-03-11 |
| 'coy': 'pij', // Coyaima; deprecated 2016-05-30 |
| 'cqu': 'quh', // Chilean Quechua; deprecated 2016-05-30 |
| 'drh': 'khk', // Darkhat; deprecated 2010-03-11 |
| 'drw': 'prs', // Darwazi; deprecated 2010-03-11 |
| 'gav': 'dev', // Gabutamon; deprecated 2010-03-11 |
| 'gfx': 'vaj', // Mangetti Dune ǃXung; deprecated 2015-02-12 |
| 'ggn': 'gvr', // Eastern Gurung; deprecated 2016-05-30 |
| 'gti': 'nyc', // Gbati-ri; deprecated 2015-02-12 |
| 'guv': 'duz', // Gey; deprecated 2016-05-30 |
| 'hrr': 'jal', // Horuru; deprecated 2012-08-12 |
| 'ibi': 'opa', // Ibilo; deprecated 2012-08-12 |
| 'ilw': 'gal', // Talur; deprecated 2013-09-10 |
| 'jeg': 'oyb', // Jeng; deprecated 2017-02-23 |
| 'kgc': 'tdf', // Kasseng; deprecated 2016-05-30 |
| 'kgh': 'kml', // Upper Tanudan Kalinga; deprecated 2012-08-12 |
| 'koj': 'kwv', // Sara Dunjo; deprecated 2015-02-12 |
| 'krm': 'bmf', // Krim; deprecated 2017-02-23 |
| 'ktr': 'dtp', // Kota Marudu Tinagas; deprecated 2016-05-30 |
| 'kvs': 'gdj', // Kunggara; deprecated 2016-05-30 |
| 'kwq': 'yam', // Kwak; deprecated 2015-02-12 |
| 'kxe': 'tvd', // Kakihum; deprecated 2015-02-12 |
| 'kzj': 'dtp', // Coastal Kadazan; deprecated 2016-05-30 |
| 'kzt': 'dtp', // Tambunan Dusun; deprecated 2016-05-30 |
| 'lii': 'raq', // Lingkhim; deprecated 2015-02-12 |
| 'lmm': 'rmx', // Lamam; deprecated 2014-02-28 |
| 'meg': 'cir', // Mea; deprecated 2013-09-10 |
| 'mst': 'mry', // Cataelano Mandaya; deprecated 2010-03-11 |
| 'mwj': 'vaj', // Maligo; deprecated 2015-02-12 |
| 'myt': 'mry', // Sangab Mandaya; deprecated 2010-03-11 |
| 'nad': 'xny', // Nijadali; deprecated 2016-05-30 |
| 'ncp': 'kdz', // Ndaktup; deprecated 2018-03-08 |
| 'nnx': 'ngv', // Ngong; deprecated 2015-02-12 |
| 'nts': 'pij', // Natagaimas; deprecated 2016-05-30 |
| 'oun': 'vaj', // ǃOǃung; deprecated 2015-02-12 |
| 'pcr': 'adx', // Panang; deprecated 2013-09-10 |
| 'pmc': 'huw', // Palumata; deprecated 2016-05-30 |
| 'pmu': 'phr', // Mirpur Panjabi; deprecated 2015-02-12 |
| 'ppa': 'bfy', // Pao; deprecated 2016-05-30 |
| 'ppr': 'lcq', // Piru; deprecated 2013-09-10 |
| 'pry': 'prt', // Pray 3; deprecated 2016-05-30 |
| 'puz': 'pub', // Purum Naga; deprecated 2014-02-28 |
| 'sca': 'hle', // Sansu; deprecated 2012-08-12 |
| 'skk': 'oyb', // Sok; deprecated 2017-02-23 |
| 'tdu': 'dtp', // Tempasuk Dusun; deprecated 2016-05-30 |
| 'thc': 'tpo', // Tai Hang Tong; deprecated 2016-05-30 |
| 'thx': 'oyb', // The; deprecated 2015-02-12 |
| 'tie': 'ras', // Tingal; deprecated 2011-08-16 |
| 'tkk': 'twm', // Takpa; deprecated 2011-08-16 |
| 'tlw': 'weo', // South Wemale; deprecated 2012-08-12 |
| 'tmp': 'tyj', // Tai Mène; deprecated 2016-05-30 |
| 'tne': 'kak', // Tinoc Kallahan; deprecated 2016-05-30 |
| 'tnf': 'prs', // Tangshewi; deprecated 2010-03-11 |
| 'tsf': 'taj', // Southwestern Tamang; deprecated 2015-02-12 |
| 'uok': 'ema', // Uokha; deprecated 2015-02-12 |
| 'xba': 'cax', // Kamba (Brazil); deprecated 2016-05-30 |
| 'xia': 'acn', // Xiandao; deprecated 2013-09-10 |
| 'xkh': 'waw', // Karahawyana; deprecated 2016-05-30 |
| 'xsj': 'suj', // Subi; deprecated 2015-02-12 |
| 'ybd': 'rki', // Yangbye; deprecated 2012-08-12 |
| 'yma': 'lrr', // Yamphe; deprecated 2012-08-12 |
| 'ymt': 'mtm', // Mator-Taygi-Karagas; deprecated 2015-02-12 |
| 'yos': 'zom', // Yos; deprecated 2013-09-10 |
| 'yuu': 'yug', // Yugh; deprecated 2014-02-28 |
| }; |
| |
| /// Replaces deprecated region subtags. |
| /// |
| /// The subtag must already be uppercase. |
| /// |
| /// TODO(b/127689510): write a new script for updating this list from CLDR data. |
| String replaceDeprecatedRegionSubtag(String regionCode) { |
| return _deprecatedRegionTagReplacements[regionCode] ?? regionCode; |
| } |
| |
| const Map<String, String> _deprecatedRegionTagReplacements = { |
| // These map entries are generated by a modified version of Flutter's |
| // gen_locale.dart. TODO(hugovdm): make improvements to the tool. |
| // |
| // Mappings generated for language subtag registry as of 2019-02-20. |
| 'BU': 'MM', // Burma; deprecated 1989-12-05 |
| 'DD': 'DE', // German Democratic Republic; deprecated 1990-10-30 |
| 'FX': 'FR', // Metropolitan France; deprecated 1997-07-14 |
| 'TP': 'TL', // East Timor; deprecated 2002-05-20 |
| 'YD': 'YE', // Democratic Yemen; deprecated 1990-08-14 |
| 'ZR': 'CD', // Zaire; deprecated 1997-07-14 |
| }; |