forked from Qortal/Brooklyn
308 lines
14 KiB
C++
308 lines
14 KiB
C++
/*
|
|
SPDX-FileCopyrightText: 2014 Martin Klapetek <mklapetek@kde.org>
|
|
|
|
SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
*/
|
|
|
|
#include "timezonesi18n.h"
|
|
|
|
#include <KLocalizedString>
|
|
|
|
#include "timezonesi18n_generated.h"
|
|
|
|
TimezonesI18n::TimezonesI18n(QObject *parent)
|
|
: QObject(parent)
|
|
, m_isInitialized(false)
|
|
{
|
|
}
|
|
|
|
QString TimezonesI18n::i18nCity(const QString &city)
|
|
{
|
|
if (!m_isInitialized) {
|
|
init();
|
|
}
|
|
return m_i18nCities.value(city);
|
|
}
|
|
|
|
QString TimezonesI18n::i18nContinents(const QString &continent)
|
|
{
|
|
if (!m_isInitialized) {
|
|
init();
|
|
}
|
|
return m_i18nContinents.value(continent);
|
|
}
|
|
|
|
QString TimezonesI18n::i18nCountry(QLocale::Country country)
|
|
{
|
|
if (!m_isInitialized) {
|
|
init();
|
|
}
|
|
return m_i18nCountries.value(country);
|
|
}
|
|
|
|
void TimezonesI18n::init()
|
|
{
|
|
m_i18nCities = TimezonesI18nData::timezoneCityToL10nMap();
|
|
m_i18nContinents = TimezonesI18nData::timezoneContinentToL10nMap();
|
|
|
|
#define ENTRY_ISO_3166(qlocale_enum, string) {QLocale::qlocale_enum, i18nd("iso_3166", string)}
|
|
/* Make sure the country names match their versions in iso-codes,
|
|
* ISO 3166. */
|
|
m_i18nCountries = QHash<QLocale::Country, QString>({
|
|
ENTRY_ISO_3166(IvoryCoast, "Côte d'Ivoire"),
|
|
ENTRY_ISO_3166(Ghana, "Ghana"),
|
|
ENTRY_ISO_3166(Ethiopia, "Ethiopia"),
|
|
ENTRY_ISO_3166(Algeria, "Algeria"),
|
|
ENTRY_ISO_3166(Eritrea, "Eritrea"),
|
|
ENTRY_ISO_3166(Mali, "Mali"),
|
|
ENTRY_ISO_3166(CentralAfricanRepublic, "Central African Republic"),
|
|
ENTRY_ISO_3166(Gambia, "Gambia"),
|
|
ENTRY_ISO_3166(GuineaBissau, "Guinea-Bissau"),
|
|
ENTRY_ISO_3166(Malawi, "Malawi"),
|
|
ENTRY_ISO_3166(CongoBrazzaville, "Congo"),
|
|
ENTRY_ISO_3166(Burundi, "Burundi"),
|
|
ENTRY_ISO_3166(Egypt, "Egypt"),
|
|
ENTRY_ISO_3166(Morocco, "Morocco"),
|
|
ENTRY_ISO_3166(Spain, "Spain"),
|
|
ENTRY_ISO_3166(Guinea, "Guinea"),
|
|
ENTRY_ISO_3166(Senegal, "Senegal"),
|
|
ENTRY_ISO_3166(Tanzania, "Tanzania"),
|
|
ENTRY_ISO_3166(Djibouti, "Djibouti"),
|
|
ENTRY_ISO_3166(Cameroon, "Cameroon"),
|
|
ENTRY_ISO_3166(WesternSahara, "Western Sahara"),
|
|
ENTRY_ISO_3166(SierraLeone, "Sierra Leone"),
|
|
ENTRY_ISO_3166(Botswana, "Botswana"),
|
|
ENTRY_ISO_3166(BouvetIsland, "Bouvet Island"),
|
|
ENTRY_ISO_3166(Zimbabwe, "Zimbabwe"),
|
|
ENTRY_ISO_3166(SouthAfrica, "South Africa"),
|
|
ENTRY_ISO_3166(SouthSudan, "South Sudan"),
|
|
ENTRY_ISO_3166(Uganda, "Uganda"),
|
|
ENTRY_ISO_3166(Sudan, "Sudan"),
|
|
ENTRY_ISO_3166(Rwanda, "Rwanda"),
|
|
ENTRY_ISO_3166(CongoKinshasa, "Congo, The Democratic Republic of the"),
|
|
ENTRY_ISO_3166(Nigeria, "Nigeria"),
|
|
ENTRY_ISO_3166(Gabon, "Gabon"),
|
|
ENTRY_ISO_3166(Togo, "Togo"),
|
|
ENTRY_ISO_3166(Angola, "Angola"),
|
|
ENTRY_ISO_3166(Zambia, "Zambia"),
|
|
ENTRY_ISO_3166(EquatorialGuinea, "Equatorial Guinea"),
|
|
ENTRY_ISO_3166(Mozambique, "Mozambique"),
|
|
ENTRY_ISO_3166(Lesotho, "Lesotho"),
|
|
ENTRY_ISO_3166(Swaziland, "Swaziland"),
|
|
ENTRY_ISO_3166(Somalia, "Somalia"),
|
|
ENTRY_ISO_3166(Liberia, "Liberia"),
|
|
ENTRY_ISO_3166(Kenya, "Kenya"),
|
|
ENTRY_ISO_3166(Chad, "Chad"),
|
|
ENTRY_ISO_3166(Niger, "Niger"),
|
|
ENTRY_ISO_3166(Mauritania, "Mauritania"),
|
|
ENTRY_ISO_3166(BurkinaFaso, "Burkina Faso"),
|
|
ENTRY_ISO_3166(Benin, "Benin"),
|
|
ENTRY_ISO_3166(SaoTomeAndPrincipe, "Sao Tome and Principe"),
|
|
ENTRY_ISO_3166(Libya, "Libya"),
|
|
ENTRY_ISO_3166(Tunisia, "Tunisia"),
|
|
ENTRY_ISO_3166(Namibia, "Namibia"),
|
|
ENTRY_ISO_3166(UnitedStates, "United States"),
|
|
ENTRY_ISO_3166(Anguilla, "Anguilla"),
|
|
ENTRY_ISO_3166(AntiguaAndBarbuda, "Antigua and Barbuda"),
|
|
ENTRY_ISO_3166(Brazil, "Brazil"),
|
|
ENTRY_ISO_3166(Argentina, "Argentina"),
|
|
ENTRY_ISO_3166(Aruba, "Aruba"),
|
|
ENTRY_ISO_3166(Paraguay, "Paraguay"),
|
|
ENTRY_ISO_3166(Canada, "Canada"),
|
|
ENTRY_ISO_3166(Mexico, "Mexico"),
|
|
ENTRY_ISO_3166(Barbados, "Barbados"),
|
|
ENTRY_ISO_3166(Belize, "Belize"),
|
|
ENTRY_ISO_3166(Colombia, "Colombia"),
|
|
ENTRY_ISO_3166(Venezuela, "Venezuela"),
|
|
ENTRY_ISO_3166(FrenchGuiana, "French Guiana"),
|
|
ENTRY_ISO_3166(CaymanIslands, "Cayman Islands"),
|
|
ENTRY_ISO_3166(CostaRica, "Costa Rica"),
|
|
ENTRY_ISO_3166(CuraSao, "Curaçao"),
|
|
ENTRY_ISO_3166(Greenland, "Greenland"),
|
|
ENTRY_ISO_3166(Dominica, "Dominica"),
|
|
ENTRY_ISO_3166(ElSalvador, "El Salvador"),
|
|
ENTRY_ISO_3166(TurksAndCaicosIslands, "Turks and Caicos Islands"),
|
|
ENTRY_ISO_3166(Grenada, "Grenada"),
|
|
ENTRY_ISO_3166(Guadeloupe, "Guadeloupe"),
|
|
ENTRY_ISO_3166(Guatemala, "Guatemala"),
|
|
ENTRY_ISO_3166(Ecuador, "Ecuador"),
|
|
ENTRY_ISO_3166(Guyana, "Guyana"),
|
|
ENTRY_ISO_3166(Cuba, "Cuba"),
|
|
ENTRY_ISO_3166(Jamaica, "Jamaica"),
|
|
ENTRY_ISO_3166(Bonaire, "Bonaire, Sint Eustatius and Saba"),
|
|
ENTRY_ISO_3166(Bolivia, "Bolivia"),
|
|
ENTRY_ISO_3166(Peru, "Peru"),
|
|
ENTRY_ISO_3166(SintMaarten, "Sint Maarten (Dutch part)"),
|
|
ENTRY_ISO_3166(Nicaragua, "Nicaragua"),
|
|
ENTRY_ISO_3166(SaintMartin, "Saint Martin (French part)"),
|
|
ENTRY_ISO_3166(Martinique, "Martinique"),
|
|
ENTRY_ISO_3166(SaintPierreAndMiquelon, "Saint Pierre and Miquelon"),
|
|
ENTRY_ISO_3166(Uruguay, "Uruguay"),
|
|
ENTRY_ISO_3166(Montserrat, "Montserrat"),
|
|
ENTRY_ISO_3166(Bahamas, "Bahamas"),
|
|
ENTRY_ISO_3166(Panama, "Panama"),
|
|
ENTRY_ISO_3166(Suriname, "Suriname"),
|
|
ENTRY_ISO_3166(Haiti, "Haiti"),
|
|
ENTRY_ISO_3166(HeardAndMcDonaldIslands, "Heard Island and McDonald Islands"),
|
|
ENTRY_ISO_3166(TrinidadAndTobago, "Trinidad and Tobago"),
|
|
ENTRY_ISO_3166(PuertoRico, "Puerto Rico"),
|
|
ENTRY_ISO_3166(Chile, "Chile"),
|
|
ENTRY_ISO_3166(DominicanRepublic, "Dominican Republic"),
|
|
ENTRY_ISO_3166(SaintBarthelemy, "Saint Barthélemy"),
|
|
ENTRY_ISO_3166(SaintKittsAndNevis, "Saint Kitts and Nevis"),
|
|
ENTRY_ISO_3166(SaintLucia, "Saint Lucia"),
|
|
ENTRY_ISO_3166(UnitedStatesVirginIslands, "Virgin Islands, U.S."),
|
|
ENTRY_ISO_3166(SaintVincentAndTheGrenadines, "Saint Vincent and the Grenadines"),
|
|
ENTRY_ISO_3166(Honduras, "Honduras"),
|
|
ENTRY_ISO_3166(BritishVirginIslands, "Virgin Islands, British"),
|
|
ENTRY_ISO_3166(Antarctica, "Antarctica"),
|
|
ENTRY_ISO_3166(Australia, "Australia"),
|
|
ENTRY_ISO_3166(SvalbardAndJanMayenIslands, "Svalbard and Jan Mayen"),
|
|
ENTRY_ISO_3166(Yemen, "Yemen"),
|
|
ENTRY_ISO_3166(Kazakhstan, "Kazakhstan"),
|
|
ENTRY_ISO_3166(Jordan, "Jordan"),
|
|
ENTRY_ISO_3166(Russia, "Russian Federation"),
|
|
ENTRY_ISO_3166(Turkmenistan, "Turkmenistan"),
|
|
ENTRY_ISO_3166(Iraq, "Iraq"),
|
|
ENTRY_ISO_3166(Bahrain, "Bahrain"),
|
|
ENTRY_ISO_3166(Azerbaijan, "Azerbaijan"),
|
|
ENTRY_ISO_3166(Thailand, "Thailand"),
|
|
ENTRY_ISO_3166(Lebanon, "Lebanon"),
|
|
ENTRY_ISO_3166(Kyrgyzstan, "Kyrgyzstan"),
|
|
ENTRY_ISO_3166(Brunei, "Brunei Darussalam"),
|
|
ENTRY_ISO_3166(Mongolia, "Mongolia"),
|
|
ENTRY_ISO_3166(China, "China"),
|
|
ENTRY_ISO_3166(SriLanka, "Sri Lanka"),
|
|
ENTRY_ISO_3166(Syria, "Syrian Arab Republic"),
|
|
ENTRY_ISO_3166(Bangladesh, "Bangladesh"),
|
|
ENTRY_ISO_3166(EastTimor, "Timor-Leste"),
|
|
ENTRY_ISO_3166(UnitedArabEmirates, "United Arab Emirates"),
|
|
ENTRY_ISO_3166(Tajikistan, "Tajikistan"),
|
|
ENTRY_ISO_3166(PalestinianTerritories, "Palestine, State of"),
|
|
ENTRY_ISO_3166(Vietnam, "Vietnam"),
|
|
ENTRY_ISO_3166(HongKong, "Hong Kong"),
|
|
ENTRY_ISO_3166(Indonesia, "Indonesia"),
|
|
ENTRY_ISO_3166(Israel, "Israel"),
|
|
ENTRY_ISO_3166(Afghanistan, "Afghanistan"),
|
|
ENTRY_ISO_3166(Pakistan, "Pakistan"),
|
|
ENTRY_ISO_3166(Nepal, "Nepal"),
|
|
ENTRY_ISO_3166(India, "India"),
|
|
ENTRY_ISO_3166(Malaysia, "Malaysia"),
|
|
ENTRY_ISO_3166(Kuwait, "Kuwait"),
|
|
ENTRY_ISO_3166(Macau, "Macao"),
|
|
ENTRY_ISO_3166(Philippines, "Philippines"),
|
|
ENTRY_ISO_3166(Oman, "Oman"),
|
|
ENTRY_ISO_3166(Cyprus, "Cyprus"),
|
|
ENTRY_ISO_3166(Cambodia, "Cambodia"),
|
|
ENTRY_ISO_3166(NorthKorea, "Korea, Democratic People's Republic of"),
|
|
ENTRY_ISO_3166(Qatar, "Qatar"),
|
|
ENTRY_ISO_3166(Myanmar, "Myanmar"),
|
|
ENTRY_ISO_3166(SaudiArabia, "Saudi Arabia"),
|
|
ENTRY_ISO_3166(Uzbekistan, "Uzbekistan"),
|
|
ENTRY_ISO_3166(SouthKorea, "Korea, Republic of"),
|
|
ENTRY_ISO_3166(Singapore, "Singapore"),
|
|
ENTRY_ISO_3166(Taiwan, "Taiwan"),
|
|
ENTRY_ISO_3166(Georgia, "Georgia"),
|
|
ENTRY_ISO_3166(Iran, "Iran, Islamic Republic of"),
|
|
ENTRY_ISO_3166(Bhutan, "Bhutan"),
|
|
ENTRY_ISO_3166(Japan, "Japan"),
|
|
ENTRY_ISO_3166(Laos, "Lao People's Democratic Republic"),
|
|
ENTRY_ISO_3166(Armenia, "Armenia"),
|
|
ENTRY_ISO_3166(Portugal, "Portugal"),
|
|
ENTRY_ISO_3166(Bermuda, "Bermuda"),
|
|
ENTRY_ISO_3166(CapeVerde, "Cabo Verde"),
|
|
ENTRY_ISO_3166(FaroeIslands, "Faroe Islands"),
|
|
ENTRY_ISO_3166(Iceland, "Iceland"),
|
|
ENTRY_ISO_3166(SouthGeorgiaAndTheSouthSandwichIslands, "South Georgia and the South Sandwich Islands"),
|
|
ENTRY_ISO_3166(SaintHelena, "Saint Helena, Ascension and Tristan da Cunha"),
|
|
ENTRY_ISO_3166(FalklandIslands, "Falkland Islands (Malvinas)"),
|
|
ENTRY_ISO_3166(Netherlands, "Netherlands"),
|
|
ENTRY_ISO_3166(Andorra, "Andorra"),
|
|
ENTRY_ISO_3166(Greece, "Greece"),
|
|
ENTRY_ISO_3166(Serbia, "Serbia"),
|
|
ENTRY_ISO_3166(Germany, "Germany"),
|
|
ENTRY_ISO_3166(Slovakia, "Slovakia"),
|
|
ENTRY_ISO_3166(Belgium, "Belgium"),
|
|
ENTRY_ISO_3166(Romania, "Romania"),
|
|
ENTRY_ISO_3166(Hungary, "Hungary"),
|
|
ENTRY_ISO_3166(Moldova, "Moldova"),
|
|
ENTRY_ISO_3166(Denmark, "Denmark"),
|
|
ENTRY_ISO_3166(Ireland, "Ireland"),
|
|
ENTRY_ISO_3166(Gibraltar, "Gibraltar"),
|
|
ENTRY_ISO_3166(Guernsey, "Guernsey"),
|
|
ENTRY_ISO_3166(Finland, "Finland"),
|
|
ENTRY_ISO_3166(IsleOfMan, "Isle of Man"),
|
|
ENTRY_ISO_3166(Turkey, "Turkey"),
|
|
ENTRY_ISO_3166(Jersey, "Jersey"),
|
|
ENTRY_ISO_3166(Ukraine, "Ukraine"),
|
|
ENTRY_ISO_3166(Slovenia, "Slovenia"),
|
|
ENTRY_ISO_3166(UnitedKingdom, "United Kingdom"),
|
|
ENTRY_ISO_3166(Luxembourg, "Luxembourg"),
|
|
ENTRY_ISO_3166(Malta, "Malta"),
|
|
ENTRY_ISO_3166(AlandIslands, "Åland Islands"),
|
|
ENTRY_ISO_3166(Belarus, "Belarus"),
|
|
ENTRY_ISO_3166(Monaco, "Monaco"),
|
|
ENTRY_ISO_3166(Norway, "Norway"),
|
|
ENTRY_ISO_3166(France, "France"),
|
|
ENTRY_ISO_3166(Montenegro, "Montenegro"),
|
|
ENTRY_ISO_3166(CzechRepublic, "Czechia"),
|
|
ENTRY_ISO_3166(Latvia, "Latvia"),
|
|
ENTRY_ISO_3166(Italy, "Italy"),
|
|
ENTRY_ISO_3166(SanMarino, "San Marino"),
|
|
ENTRY_ISO_3166(BosniaAndHerzegowina, "Bosnia and Herzegovina"),
|
|
ENTRY_ISO_3166(Macedonia, "Macedonia, Republic of"),
|
|
ENTRY_ISO_3166(Bulgaria, "Bulgaria"),
|
|
ENTRY_ISO_3166(Sweden, "Sweden"),
|
|
ENTRY_ISO_3166(Estonia, "Estonia"),
|
|
ENTRY_ISO_3166(Albania, "Albania"),
|
|
ENTRY_ISO_3166(Liechtenstein, "Liechtenstein"),
|
|
ENTRY_ISO_3166(VaticanCityState, "Holy See (Vatican City State)"),
|
|
ENTRY_ISO_3166(Austria, "Austria"),
|
|
ENTRY_ISO_3166(Lithuania, "Lithuania"),
|
|
ENTRY_ISO_3166(Poland, "Poland"),
|
|
ENTRY_ISO_3166(Croatia, "Croatia"),
|
|
ENTRY_ISO_3166(Switzerland, "Switzerland"),
|
|
ENTRY_ISO_3166(Madagascar, "Madagascar"),
|
|
ENTRY_ISO_3166(BritishIndianOceanTerritory, "British Indian Ocean Territory"),
|
|
ENTRY_ISO_3166(ChristmasIsland, "Christmas Island"),
|
|
ENTRY_ISO_3166(CocosIslands, "Cocos (Keeling) Islands"),
|
|
ENTRY_ISO_3166(Comoros, "Comoros"),
|
|
ENTRY_ISO_3166(FrenchSouthernTerritories, "French Southern Territories"),
|
|
ENTRY_ISO_3166(Seychelles, "Seychelles"),
|
|
ENTRY_ISO_3166(Maldives, "Maldives"),
|
|
ENTRY_ISO_3166(Mauritius, "Mauritius"),
|
|
ENTRY_ISO_3166(Mayotte, "Mayotte"),
|
|
ENTRY_ISO_3166(Reunion, "Réunion"),
|
|
ENTRY_ISO_3166(Samoa, "Samoa"),
|
|
ENTRY_ISO_3166(NewZealand, "New Zealand"),
|
|
ENTRY_ISO_3166(Micronesia, "Micronesia, Federated States of"),
|
|
ENTRY_ISO_3166(Vanuatu, "Vanuatu"),
|
|
ENTRY_ISO_3166(Kiribati, "Kiribati"),
|
|
ENTRY_ISO_3166(TokelauCountry, "Tokelau"),
|
|
ENTRY_ISO_3166(Fiji, "Fiji"),
|
|
ENTRY_ISO_3166(TuvaluCountry, "Tuvalu"),
|
|
ENTRY_ISO_3166(FrenchPolynesia, "French Polynesia"),
|
|
ENTRY_ISO_3166(SolomonIslands, "Solomon Islands"),
|
|
ENTRY_ISO_3166(Guam, "Guam"),
|
|
ENTRY_ISO_3166(UnitedStatesMinorOutlyingIslands, "United States Minor Outlying Islands"),
|
|
ENTRY_ISO_3166(MarshallIslands, "Marshall Islands"),
|
|
ENTRY_ISO_3166(NauruCountry, "Nauru"),
|
|
ENTRY_ISO_3166(Niue, "Niue"),
|
|
ENTRY_ISO_3166(NorfolkIsland, "Norfolk Island"),
|
|
ENTRY_ISO_3166(NewCaledonia, "New Caledonia"),
|
|
ENTRY_ISO_3166(AmericanSamoa, "American Samoa"),
|
|
ENTRY_ISO_3166(Palau, "Palau"),
|
|
ENTRY_ISO_3166(Pitcairn, "Pitcairn"),
|
|
ENTRY_ISO_3166(PapuaNewGuinea, "Papua New Guinea"),
|
|
ENTRY_ISO_3166(CookIslands, "Cook Islands"),
|
|
ENTRY_ISO_3166(NorthernMarianaIslands, "Northern Mariana Islands"),
|
|
ENTRY_ISO_3166(Tonga, "Tonga"),
|
|
ENTRY_ISO_3166(WallisAndFutunaIslands, "Wallis and Futuna")
|
|
// {QLocale::Default, i18nc("This is a country name associated with a particular time zone in a zone selection dialog",
|
|
// "Default")} },
|
|
});
|
|
#undef ENTRY_ISO_3166
|
|
|
|
m_isInitialized = true;
|
|
}
|