[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r3499: Add a CountryInfo class that can be used to look up a locali (vidalia/trunk/src/common)



Author: edmanm
Date: 2009-02-01 23:50:28 -0500 (Sun, 01 Feb 2009)
New Revision: 3499

Added:
   vidalia/trunk/src/common/countryinfo.cpp
   vidalia/trunk/src/common/countryinfo.h
Modified:
   vidalia/trunk/src/common/CMakeLists.txt
Log:

Add a CountryInfo class that can be used to look up a localized country
name given its ISO 3166 2-letter country code.


Modified: vidalia/trunk/src/common/CMakeLists.txt
===================================================================
--- vidalia/trunk/src/common/CMakeLists.txt	2009-02-01 02:28:32 UTC (rev 3498)
+++ vidalia/trunk/src/common/CMakeLists.txt	2009-02-02 04:50:28 UTC (rev 3499)
@@ -12,6 +12,7 @@
 
 
 set(common_SRCS
+  countryinfo.cpp
   crypto.cpp
   file.cpp
   html.cpp
@@ -22,7 +23,10 @@
   torsocket.cpp
   zlibbytearray.cpp
 )
-qt4_wrap_cpp(common_SRCS torsocket.h)
+qt4_wrap_cpp(common_SRCS 
+  countryinfo.h
+  torsocket.h
+)
 
 
 if(USE_QSSLSOCKET)

Added: vidalia/trunk/src/common/countryinfo.cpp
===================================================================
--- vidalia/trunk/src/common/countryinfo.cpp	                        (rev 0)
+++ vidalia/trunk/src/common/countryinfo.cpp	2009-02-02 04:50:28 UTC (rev 3499)
@@ -0,0 +1,238 @@
+/*
+**  This file is part of Vidalia, and is subject to the license terms in the
+**  LICENSE file, found in the top level directory of this distribution. If you
+**  did not receive the LICENSE file with this file, you may obtain it from the
+**  Vidalia source package distributed by the Vidalia Project at
+**  http://www.vidalia-project.net/. No part of Vidalia, including this file,
+**  may be copied, modified, propagated, or distributed except according to the
+**  terms described in the LICENSE file.
+*/
+
+/*
+** \file countryinfo.cpp
+** \version $Id$
+** \brief Provides a method to look up a localized country name given its
+** ISO 3166 2-letter country code.
+*/
+
+#include <QMap>
+
+#include "countryinfo.h"
+
+
+CountryInfo::CountryInfo(QObject *parent)
+  : QObject(parent)
+{
+}
+
+QString
+CountryInfo::countryName(const QString &countryCode)
+{
+  static QMap<QString,QString> db;
+  if (db.isEmpty()) {
+    db.insert("af", QT_TR_NOOP("Afghanistan"));
+    db.insert("al", QT_TR_NOOP("Albania "));
+    db.insert("dz", QT_TR_NOOP("Algeria "));
+    db.insert("ad", QT_TR_NOOP("Andorra"));
+    db.insert("ao", QT_TR_NOOP("Angola"));
+    db.insert("ag", QT_TR_NOOP("Antigua & Barbuda"));
+    db.insert("ar", QT_TR_NOOP("Argentina"));
+    db.insert("am", QT_TR_NOOP("Armenia"));
+    db.insert("au", QT_TR_NOOP("Australia"));
+    db.insert("at", QT_TR_NOOP("Austria "));
+    db.insert("az", QT_TR_NOOP("Azerbaijan"));
+    db.insert("bs", QT_TR_NOOP("Bahamas"));
+    db.insert("bh", QT_TR_NOOP("Bahrain "));
+    db.insert("bd", QT_TR_NOOP("Bangladesh"));
+    db.insert("bb", QT_TR_NOOP("Barbados"));
+    db.insert("by", QT_TR_NOOP("Belarus"));
+    db.insert("be", QT_TR_NOOP("Belgium"));
+    db.insert("bz", QT_TR_NOOP("Belize"));
+    db.insert("bj", QT_TR_NOOP("Benin "));
+    db.insert("bt", QT_TR_NOOP("Bhutan"));
+    db.insert("bo", QT_TR_NOOP("Bolivia"));
+    db.insert("ba", QT_TR_NOOP("Bosnia & Herzegovina"));
+    db.insert("bw", QT_TR_NOOP("Botswana"));
+    db.insert("br", QT_TR_NOOP("Brazil"));
+    db.insert("bn", QT_TR_NOOP("Brunei Darussalam"));
+    db.insert("bg", QT_TR_NOOP("Bulgaria"));
+    db.insert("bf", QT_TR_NOOP("Burkina Faso"));
+    db.insert("bi", QT_TR_NOOP("Burundi"));
+    db.insert("kh", QT_TR_NOOP("Cambodia"));
+    db.insert("cm", QT_TR_NOOP("Cameroon"));
+    db.insert("ca", QT_TR_NOOP("Canada"));
+    db.insert("cv", QT_TR_NOOP("Cape Verde"));
+    db.insert("cf", QT_TR_NOOP("Central African Republic"));
+    db.insert("td", QT_TR_NOOP("Chad"));
+    db.insert("cl", QT_TR_NOOP("Chile"));
+    db.insert("cn", QT_TR_NOOP("China"));
+    db.insert("co", QT_TR_NOOP("Colombia"));
+    db.insert("km", QT_TR_NOOP("Comoros"));
+    db.insert("cd", QT_TR_NOOP("Congo, The Democratic Republic of the"));
+    db.insert("cg", QT_TR_NOOP("Congo"));
+    db.insert("cr", QT_TR_NOOP("Costa Rica"));
+    db.insert("ci", QT_TR_NOOP("Cote d’Ivoire"));
+    db.insert("hr", QT_TR_NOOP("Croatia"));
+    db.insert("cu", QT_TR_NOOP("Cuba"));
+    db.insert("cy", QT_TR_NOOP("Cyprus"));
+    db.insert("cz", QT_TR_NOOP("Czech Republic"));
+    db.insert("dk", QT_TR_NOOP("Denmark"));
+    db.insert("dj", QT_TR_NOOP("Djibouti"));
+    db.insert("dm", QT_TR_NOOP("Dominica"));
+    db.insert("do", QT_TR_NOOP("Dominican Republic"));
+    db.insert("ec", QT_TR_NOOP("Ecuador"));
+    db.insert("eg", QT_TR_NOOP("Egypt"));
+    db.insert("sv", QT_TR_NOOP("El Salvador"));
+    db.insert("gq", QT_TR_NOOP("Equatorial Guinea"));
+    db.insert("er", QT_TR_NOOP("Eritrea"));
+    db.insert("ee", QT_TR_NOOP("Estonia"));
+    db.insert("et", QT_TR_NOOP("Ethiopia "));
+    db.insert("fj", QT_TR_NOOP("Fiji "));
+    db.insert("fi", QT_TR_NOOP("Finland "));
+    db.insert("fr", QT_TR_NOOP("France"));
+    db.insert("ga", QT_TR_NOOP("Gabon"));
+    db.insert("gm", QT_TR_NOOP("Gambia"));
+    db.insert("ge", QT_TR_NOOP("Georgia"));
+    db.insert("de", QT_TR_NOOP("Germany"));
+    db.insert("gh", QT_TR_NOOP("Ghana"));
+    db.insert("gr", QT_TR_NOOP("Greece "));
+    db.insert("gd", QT_TR_NOOP("Grenada"));
+    db.insert("gt", QT_TR_NOOP("Guatemala"));
+    db.insert("gu", QT_TR_NOOP("Guam "));
+    db.insert("gn", QT_TR_NOOP("Guinea"));
+    db.insert("gw", QT_TR_NOOP("Guinea-Bissau"));
+    db.insert("gy", QT_TR_NOOP("Guyana"));
+    db.insert("hk", QT_TR_NOOP("Hong Kong"));
+    db.insert("ht", QT_TR_NOOP("Haiti"));
+    db.insert("hn", QT_TR_NOOP("Honduras"));
+    db.insert("hu", QT_TR_NOOP("Hungary "));
+    db.insert("is", QT_TR_NOOP("Iceland "));
+    db.insert("in", QT_TR_NOOP("India "));
+    db.insert("id", QT_TR_NOOP("Indonesia "));
+    db.insert("ir", QT_TR_NOOP("Iran "));
+    db.insert("iq", QT_TR_NOOP("Iraq "));
+    db.insert("ie", QT_TR_NOOP("Ireland "));
+    db.insert("il", QT_TR_NOOP("Israel"));
+    db.insert("it", QT_TR_NOOP("Italy"));
+    db.insert("jm", QT_TR_NOOP("Jamaica"));
+    db.insert("jp", QT_TR_NOOP("Japan"));
+    db.insert("jo", QT_TR_NOOP("Jordan"));
+    db.insert("kz", QT_TR_NOOP("Kazakhstan"));
+    db.insert("ke", QT_TR_NOOP("Kenya"));
+    db.insert("ki", QT_TR_NOOP("Kiribati"));
+    db.insert("kp", QT_TR_NOOP("Korea, North "));
+    db.insert("kr", QT_TR_NOOP("Korea, South "));
+    db.insert("kw", QT_TR_NOOP("Kuwait"));
+    db.insert("kg", QT_TR_NOOP("Kyrgyzstan"));
+    db.insert("la", QT_TR_NOOP("Laos"));
+    db.insert("lv", QT_TR_NOOP("Latvia"));
+    db.insert("lb", QT_TR_NOOP("Lebanon"));
+    db.insert("ls", QT_TR_NOOP("Lesotho"));
+    db.insert("lr", QT_TR_NOOP("Liberia"));
+    db.insert("ly", QT_TR_NOOP("Libya "));
+    db.insert("li", QT_TR_NOOP("Liechtenstein"));
+    db.insert("lt", QT_TR_NOOP("Lithuania"));
+    db.insert("lu", QT_TR_NOOP("Luxembourg"));
+    db.insert("mk", QT_TR_NOOP("Macedonia"));
+    db.insert("mg", QT_TR_NOOP("Madagascar"));
+    db.insert("mw", QT_TR_NOOP("Malawi"));
+    db.insert("my", QT_TR_NOOP("Malaysia"));
+    db.insert("mv", QT_TR_NOOP("Maldives "));
+    db.insert("ml", QT_TR_NOOP("Mali"));
+    db.insert("mt", QT_TR_NOOP("Malta"));
+    db.insert("mh", QT_TR_NOOP("Marshall Islands"));
+    db.insert("mr", QT_TR_NOOP("Mauritania"));
+    db.insert("mu", QT_TR_NOOP("Mauritius"));
+    db.insert("mx", QT_TR_NOOP("Mexico "));
+    db.insert("fm", QT_TR_NOOP("Micronesia"));
+    db.insert("md", QT_TR_NOOP("Moldova"));
+    db.insert("mc", QT_TR_NOOP("Monaco"));
+    db.insert("mn", QT_TR_NOOP("Mongolia"));
+    db.insert("me", QT_TR_NOOP("Montenegro"));
+    db.insert("ma", QT_TR_NOOP("Morocco"));
+    db.insert("mz", QT_TR_NOOP("Mozambique"));
+    db.insert("mm", QT_TR_NOOP("Myanmar "));
+    db.insert("na", QT_TR_NOOP("Namibia"));
+    db.insert("nr", QT_TR_NOOP("Nauru"));
+    db.insert("np", QT_TR_NOOP("Nepal"));
+    db.insert("nl", QT_TR_NOOP("Netherlands"));
+    db.insert("nz", QT_TR_NOOP("New Zealand"));
+    db.insert("ni", QT_TR_NOOP("Nicaragua"));
+    db.insert("ne", QT_TR_NOOP("Niger"));
+    db.insert("ng", QT_TR_NOOP("Nigeria"));
+    db.insert("no", QT_TR_NOOP("Norway"));
+    db.insert("om", QT_TR_NOOP("Oman"));
+    db.insert("pk", QT_TR_NOOP("Pakistan"));
+    db.insert("pw", QT_TR_NOOP("Palau"));
+    db.insert("ps", QT_TR_NOOP("Palestine"));
+    db.insert("pa", QT_TR_NOOP("Panama"));
+    db.insert("pg", QT_TR_NOOP("Papua New Guinea"));
+    db.insert("py", QT_TR_NOOP("Paraguay"));
+    db.insert("pe", QT_TR_NOOP("Peru"));
+    db.insert("ph", QT_TR_NOOP("Philippines"));
+    db.insert("pl", QT_TR_NOOP("Poland"));
+    db.insert("pt", QT_TR_NOOP("Portugal"));
+    db.insert("qa", QT_TR_NOOP("Qatar"));
+    db.insert("ro", QT_TR_NOOP("Romania"));
+    db.insert("ru", QT_TR_NOOP("Russia"));
+    db.insert("rw", QT_TR_NOOP("Rwanda"));
+    db.insert("kn", QT_TR_NOOP("Saint Kitts & Nevis"));
+    db.insert("lc", QT_TR_NOOP("Saint Lucia"));
+    db.insert("vc", QT_TR_NOOP("Saint Vincent & the Grenadines"));
+    db.insert("ws", QT_TR_NOOP("Samoa"));
+    db.insert("sm", QT_TR_NOOP("San Marino"));
+    db.insert("st", QT_TR_NOOP("Sao Tome & Principe"));
+    db.insert("sa", QT_TR_NOOP("Saudi Arabia"));
+    db.insert("sn", QT_TR_NOOP("Senegal"));
+    db.insert("rs", QT_TR_NOOP("Serbia"));
+    db.insert("sc", QT_TR_NOOP("Seychelles"));
+    db.insert("sl", QT_TR_NOOP("Sierra Leone"));
+    db.insert("sg", QT_TR_NOOP("Singapore"));
+    db.insert("sk", QT_TR_NOOP("Slovakia"));
+    db.insert("si", QT_TR_NOOP("Slovenia"));
+    db.insert("sb", QT_TR_NOOP("Solomon Islands"));
+    db.insert("so", QT_TR_NOOP("Somalia"));
+    db.insert("za", QT_TR_NOOP("South Africa"));
+    db.insert("es", QT_TR_NOOP("Spain"));
+    db.insert("lk", QT_TR_NOOP("Sri Lanka"));
+    db.insert("sd", QT_TR_NOOP("Sudan"));
+    db.insert("sr", QT_TR_NOOP("Suriname"));
+    db.insert("sz", QT_TR_NOOP("Swaziland"));
+    db.insert("se", QT_TR_NOOP("Sweden"));
+    db.insert("ch", QT_TR_NOOP("Switzerland"));
+    db.insert("sy", QT_TR_NOOP("Syria"));
+    db.insert("tw", QT_TR_NOOP("Taiwan "));
+    db.insert("tj", QT_TR_NOOP("Tajikistan"));
+    db.insert("tz", QT_TR_NOOP("Tanzania"));
+    db.insert("th", QT_TR_NOOP("Thailand"));
+    db.insert("tl", QT_TR_NOOP("Timor-Leste (East Timor)"));
+    db.insert("tg", QT_TR_NOOP("Togo"));
+    db.insert("to", QT_TR_NOOP("Tonga"));
+    db.insert("tt", QT_TR_NOOP("Trinidad & Tobago"));
+    db.insert("tn", QT_TR_NOOP("Tunisia"));
+    db.insert("tr", QT_TR_NOOP("Turkey"));
+    db.insert("tm", QT_TR_NOOP("Turkmenistan"));
+    db.insert("tv", QT_TR_NOOP("Tuvalu"));
+    db.insert("ug", QT_TR_NOOP("Uganda"));
+    db.insert("ua", QT_TR_NOOP("Ukraine"));
+    db.insert("ae", QT_TR_NOOP("United Arab Emirates"));
+    db.insert("gb", QT_TR_NOOP("United Kingdom"));
+    db.insert("us", QT_TR_NOOP("United States"));
+    db.insert("uy", QT_TR_NOOP("Uruguay"));
+    db.insert("uz", QT_TR_NOOP("Uzbekistan"));
+    db.insert("vu", QT_TR_NOOP("Vanuatu"));
+    db.insert("va", QT_TR_NOOP("Vatican"));
+    db.insert("ve", QT_TR_NOOP("Venezuela"));
+    db.insert("vn", QT_TR_NOOP("Vietnam"));
+    db.insert("eh", QT_TR_NOOP("Western Sahara"));
+    db.insert("ye", QT_TR_NOOP("Yemen"));
+    db.insert("zm", QT_TR_NOOP("Zambia"));
+    db.insert("zw", QT_TR_NOOP("Zimbabwe"));
+  }
+
+  QString cc = countryCode.toLower();
+  if (db.contains(cc))
+    return  tr(db.value(cc).toLocal8Bit().data());
+  return QString();
+}
+


Property changes on: vidalia/trunk/src/common/countryinfo.cpp
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native

Added: vidalia/trunk/src/common/countryinfo.h
===================================================================
--- vidalia/trunk/src/common/countryinfo.h	                        (rev 0)
+++ vidalia/trunk/src/common/countryinfo.h	2009-02-02 04:50:28 UTC (rev 3499)
@@ -0,0 +1,43 @@
+/*
+**  This file is part of Vidalia, and is subject to the license terms in the
+**  LICENSE file, found in the top level directory of this distribution. If you
+**  did not receive the LICENSE file with this file, you may obtain it from the
+**  Vidalia source package distributed by the Vidalia Project at
+**  http://www.vidalia-project.net/. No part of Vidalia, including this file,
+**  may be copied, modified, propagated, or distributed except according to the
+**  terms described in the LICENSE file.
+*/
+
+/*
+** \file countryinfo.h
+** \version $Id$
+** \brief Provides a method to look up a localized country name given its
+** ISO 3166-1 2-letter country code.
+*/
+
+#ifndef _COUNTRYINFO_H
+#define _COUNTRYINFO_H
+
+#include <QObject>
+#include <QString>
+
+
+class CountryInfo : public QObject
+{
+  Q_OBJECT
+
+public:
+  /** Default constructor.
+   */
+  CountryInfo(QObject *parent);
+
+  /** Returns the name of the country represented by <b>countryCode</b>, where
+   * <b>countryCode</b> is a 2-letter ISO 3166-1 alpha-2 two-letter country
+   * code. The name will be returned translated to the current locale if an
+   * appropriate QTranslator is currently installed.
+   */
+  static QString countryName(const QString &countryCode);
+};
+
+#endif
+


Property changes on: vidalia/trunk/src/common/countryinfo.h
___________________________________________________________________
Added: svn:keywords
   + Id
Added: svn:eol-style
   + native