1 | /* This file is part of the KDE project |
2 | Copyright 2000-2006 The KSpread Team <calligra-devel@kde.org> |
3 | Copyright 1998,1999 Torben Weis <weis@kde.org> |
4 | |
5 | This library is free software; you can redistribute it and/or |
6 | modify it under the terms of the GNU Library General Public |
7 | License as published by the Free Software Foundation; either |
8 | version 2 of the License, or (at your option) any later version. |
9 | |
10 | This library is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
13 | Library General Public License for more details. |
14 | |
15 | You should have received a copy of the GNU Library General Public License |
16 | along with this library; see the file COPYING.LIB. If not, write to |
17 | the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
18 | Boston, MA 02110-1301, USA. |
19 | */ |
20 | |
21 | // Locale |
22 | #include "Currency.h" |
23 | |
24 | #include <klocale.h> |
25 | |
26 | using namespace Calligra::Sheets; |
27 | |
28 | namespace Currency_LNS |
29 | { |
30 | typedef struct { |
31 | char const * code; |
32 | char const * country; |
33 | char const * name; |
34 | char const * display; |
35 | } Money; |
36 | |
37 | // codes and names as defined in ISO 3166-1 |
38 | // first column: saved code |
39 | // second column: country name (localized) |
40 | // third column: currency name (localized) |
41 | // fourth column: displayed currency code (localized but maybe only in |
42 | // the country language it belongs to) |
43 | // WARNING: change the "29" in chooseString if you change this array |
44 | static const Money lMoney[] = { |
45 | { "" , "" , "" , "" }, // auto |
46 | { "" , "" , "" , "" }, // extension (codes imported) |
47 | { "$" , "" , "Dollar" , "$" }, // unspecified |
48 | { "$" , I18N_NOOP("Australia" ), I18N_NOOP("Dollar" ), "$" }, |
49 | { "$" , I18N_NOOP("Canada" ), I18N_NOOP("Dollar" ), "$" }, |
50 | { "$" , I18N_NOOP("Caribbean" ), I18N_NOOP("Dollar" ), "$" }, |
51 | { "$" , I18N_NOOP("New Zealand" ), I18N_NOOP("Dollar" ), "$" }, |
52 | { "$" , I18N_NOOP("United States" ), I18N_NOOP("Dollar" ), "$" }, |
53 | |
54 | // € == Euro sign in utf8 |
55 | { "€" , "" , "€" , "€" }, // unspecified |
56 | { "€" , I18N_NOOP("Austria" ), I18N_NOOP("Euro" ), "€" }, |
57 | { "€" , I18N_NOOP("Belgium" ), I18N_NOOP("Euro" ), "€" }, |
58 | { "€" , I18N_NOOP("Cyprus" ), I18N_NOOP("Euro" ), "€" }, |
59 | { "€" , I18N_NOOP("Finland" ), I18N_NOOP("Euro" ), "€" }, |
60 | { "€" , I18N_NOOP("France" ), I18N_NOOP("Euro" ), "€" }, |
61 | { "€" , I18N_NOOP("Germany" ), I18N_NOOP("Euro" ), "€" }, |
62 | { "€" , I18N_NOOP("Greece" ), I18N_NOOP("Euro" ), "€" }, |
63 | { "€" , I18N_NOOP("Ireland" ), I18N_NOOP("Euro" ), "€" }, |
64 | { "€" , I18N_NOOP("Italy" ), I18N_NOOP("Euro" ), "€" }, |
65 | { "€" , I18N_NOOP("Latvia" ), I18N_NOOP("Euro" ), "€" }, |
66 | { "€" , I18N_NOOP("Luxembourg" ), I18N_NOOP("Euro" ), "€" }, |
67 | { "€" , I18N_NOOP("Malta" ), I18N_NOOP("Euro" ), "€" }, |
68 | { "€" , I18N_NOOP("Monaco" ), I18N_NOOP("Euro" ), "€" }, |
69 | { "€" , I18N_NOOP("Netherlands" ), I18N_NOOP("Euro" ), "€" }, |
70 | { "€" , I18N_NOOP("Portugal" ), I18N_NOOP("Euro" ), "€" }, |
71 | { "€" , I18N_NOOP("San Marino" ), I18N_NOOP("Euro" ), "€" }, |
72 | { "€" , I18N_NOOP("Slovakia" ), I18N_NOOP("Euro" ), "€" }, |
73 | { "€" , I18N_NOOP("Slovenia" ), I18N_NOOP("Euro" ), "€" }, |
74 | { "€" , I18N_NOOP("Spain" ), I18N_NOOP("Euro" ), "€" }, |
75 | |
76 | { "£" , I18N_NOOP("United Kingdom" ), I18N_NOOP("Pound" ), "£" }, |
77 | |
78 | { "¥" , I18N_NOOP("Japan" ), I18N_NOOP("Yen" ), "¥" }, |
79 | |
80 | { "AFA" , I18N_NOOP("Afghanistan" ), I18N_NOOP("Afghani (old)" ), I18N_NOOP("AFA" ) }, |
81 | { "AFN" , I18N_NOOP("Afghanistan" ), I18N_NOOP("Afghani" ), I18N_NOOP("AFN" ) }, |
82 | { "ALL" , I18N_NOOP("Albania" ), I18N_NOOP("Lek" ), I18N_NOOP("Lek" ) }, |
83 | { "DZD" , I18N_NOOP("Algeria" ), I18N_NOOP("Algerian Dinar" ), I18N_NOOP("DZD" ) }, |
84 | { "USD" , I18N_NOOP("American Samoa" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
85 | { "EUR" , I18N_NOOP("Andorra" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
86 | { "ADP" , I18N_NOOP("Andorra" ), I18N_NOOP("Andorran Peseta" ), I18N_NOOP("ADP" ) }, |
87 | { "AOA" , I18N_NOOP("Angola" ), I18N_NOOP("Kwanza" ), I18N_NOOP("AOA" ) }, |
88 | { "XCD" , I18N_NOOP("Anguilla" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
89 | { "XCD" , I18N_NOOP("Antigua And Barbuda" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
90 | { "ARS" , I18N_NOOP("Argentina" ), I18N_NOOP("Argentine Peso" ), I18N_NOOP("ARS" ) }, |
91 | { "AMD" , I18N_NOOP("Armenia" ), I18N_NOOP("Armenian Dram" ), I18N_NOOP("AMD" ) }, |
92 | { "AWG" , I18N_NOOP("Aruba" ), I18N_NOOP("Aruban Florin" ), I18N_NOOP("AWG" ) }, |
93 | { "AUD" , I18N_NOOP("Australia" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
94 | { "EUR" , I18N_NOOP("Austria" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
95 | { "ATS" , I18N_NOOP("Austria" ), I18N_NOOP("Schilling" ), I18N_NOOP("S" ) }, |
96 | { "AZM" , I18N_NOOP("Azerbaijan" ), I18N_NOOP("Azerbaijanian Manat" ), I18N_NOOP("AZM" ) }, |
97 | { "BSD" , I18N_NOOP("Bahamas" ), I18N_NOOP("Bahamian Dollar" ), I18N_NOOP("BSD" ) }, |
98 | { "BHD" , I18N_NOOP("Bahrain" ), I18N_NOOP("Bahraini Dinar" ), I18N_NOOP("BHD" ) }, |
99 | { "BDT" , I18N_NOOP("Bangladesh" ), I18N_NOOP("Taka" ), I18N_NOOP("BDT" ) }, |
100 | { "BBD" , I18N_NOOP("Barbados" ), I18N_NOOP("Barbados Dollar" ), I18N_NOOP("BBD" ) }, |
101 | { "BYR" , I18N_NOOP("Belarus" ), I18N_NOOP("Belarusian Ruble" ), I18N_NOOP("p." ) }, |
102 | { "EUR" , I18N_NOOP("Belgium" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
103 | { "BEF" , I18N_NOOP("Belgium" ), I18N_NOOP("Franc" ), I18N_NOOP("BF" ) }, |
104 | { "BZD" , I18N_NOOP("Belize" ), I18N_NOOP("Belize Dollar" ), I18N_NOOP("BZ$" ) }, |
105 | { "XOF" , I18N_NOOP("Benin" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
106 | { "BMD" , I18N_NOOP("Bermuda" ), I18N_NOOP("Bermudian Dollar" ), I18N_NOOP("BMD" ) }, |
107 | { "INR" , I18N_NOOP("Bhutan" ), I18N_NOOP("Indian Rupee" ), I18N_NOOP("INR" ) }, |
108 | { "BTN" , I18N_NOOP("Bhutan" ), I18N_NOOP("Ngultrum" ), I18N_NOOP("BTN" ) }, |
109 | { "BOB" , I18N_NOOP("Bolivia" ), I18N_NOOP("Boliviano" ), I18N_NOOP("Bs" ) }, |
110 | { "BOV" , I18N_NOOP("Bolivia" ), I18N_NOOP("Mvdol" ), I18N_NOOP("BOV" ) }, |
111 | { "BAM" , I18N_NOOP("Bosnia And Herzegovina" ), I18N_NOOP("Convertible Marks" ), I18N_NOOP("BAM" ) }, |
112 | { "BWP" , I18N_NOOP("Botswana" ), I18N_NOOP("Pula" ), I18N_NOOP("BWP" ) }, |
113 | { "NOK" , I18N_NOOP("Bouvet Island" ), I18N_NOOP("Norwegian Krone" ), I18N_NOOP("NOK" ) }, |
114 | { "BRL" , I18N_NOOP("Brazil" ), I18N_NOOP("Brazilian Real" ), I18N_NOOP("R$" ) }, |
115 | { "USD" , I18N_NOOP("British Indian Ocean Territory" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
116 | { "BND" , I18N_NOOP("Brunei Darussalam" ), I18N_NOOP("Brunei Dollar" ), I18N_NOOP("BND" ) }, |
117 | { "BGL" , I18N_NOOP("Bulgaria" ), I18N_NOOP("Lev" ), I18N_NOOP("BGL" ) }, |
118 | { "BGN" , I18N_NOOP("Bulgaria" ), I18N_NOOP("Bulgarian Lev" ), I18N_NOOP("BGN" ) }, |
119 | { "XOF" , I18N_NOOP("Burkina Faso" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
120 | { "BIF" , I18N_NOOP("Burundi" ), I18N_NOOP("Burundi Franc" ), I18N_NOOP("BIF" ) }, |
121 | { "KHR" , I18N_NOOP("Cambodia" ), I18N_NOOP("Riel" ), I18N_NOOP("KHR" ) }, |
122 | { "XAF" , I18N_NOOP("Cameroon" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
123 | { "CAD" , I18N_NOOP("Canada" ), I18N_NOOP("Canadian Dollar" ), I18N_NOOP("CAD" ) }, |
124 | { "CVE" , I18N_NOOP("Cape Verde" ), I18N_NOOP("Cape Verde Escudo" ), I18N_NOOP("CVE" ) }, |
125 | { "KYD" , I18N_NOOP("Cayman Islands" ), I18N_NOOP("Cayman Islands Dollar" ), I18N_NOOP("KYD" ) }, |
126 | { "XAF" , I18N_NOOP("Central African Republic" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
127 | { "XAF" , I18N_NOOP("Chad" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
128 | { "CLP" , I18N_NOOP("Chile" ), I18N_NOOP("Chilean Peso" ), I18N_NOOP("Ch$" ) }, |
129 | { "CLF" , I18N_NOOP("Chile" ), I18N_NOOP("Unidades de fomento" ), I18N_NOOP("CLF" ) }, |
130 | { "CNY" , I18N_NOOP("China" ), I18N_NOOP("Yuan Renminbi" ), I18N_NOOP("CNY" ) }, |
131 | { "AUD" , I18N_NOOP("Christmas Island" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
132 | { "AUD" , I18N_NOOP("Cocos (Keeling) Islands" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
133 | { "COP" , I18N_NOOP("Colombia" ), I18N_NOOP("Colombian Peso" ), I18N_NOOP("C$" ) }, |
134 | { "KMF" , I18N_NOOP("Comoros" ), I18N_NOOP("Comoro Franc" ), I18N_NOOP("KMF" ) }, |
135 | { "XAF" , I18N_NOOP("Congo" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
136 | { "CDF" , I18N_NOOP("Congo, The Democratic Republic Of" ), I18N_NOOP("Franc Congolais" ), I18N_NOOP("CDF" ) }, |
137 | { "NZD" , I18N_NOOP("Cook Islands" ), I18N_NOOP("New Zealand Dollar" ), I18N_NOOP("NZD" ) }, |
138 | { "CRC" , I18N_NOOP("Costa Rica" ), I18N_NOOP("Costa Rican Colon" ), I18N_NOOP("C" ) }, |
139 | { "XOF" , I18N_NOOP("Cote D'Ivoire" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
140 | { "HRK" , I18N_NOOP("Croatia" ), I18N_NOOP("Croatian kuna" ), I18N_NOOP("kn" ) }, |
141 | { "CUP" , I18N_NOOP("Cuba" ), I18N_NOOP("Cuban Peso" ), I18N_NOOP("CUP" ) }, |
142 | { "EUR" , I18N_NOOP("Cyprus" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
143 | { "CYP" , I18N_NOOP("Cyprus" ), I18N_NOOP("Cyprus Pound" ), I18N_NOOP("CYP" ) }, |
144 | { "CZK" , I18N_NOOP("Czech Republic" ), I18N_NOOP("Czech Koruna" ), I18N_NOOP("Kc" ) }, |
145 | { "DKK" , I18N_NOOP("Denmark" ), I18N_NOOP("Danish Krone" ), I18N_NOOP("kr" ) }, |
146 | { "DJF" , I18N_NOOP("Djibouti" ), I18N_NOOP("Djibouti Franc" ), I18N_NOOP("DJF" ) }, |
147 | { "XCD" , I18N_NOOP("Dominica" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("RD$" ) }, |
148 | { "DOP" , I18N_NOOP("Dominican Republic" ), I18N_NOOP("Dominican Peso" ), I18N_NOOP("DOP" ) }, |
149 | { "TPE" , I18N_NOOP("East Timor" ), I18N_NOOP("Timor Escudo" ), I18N_NOOP("TPE" ) }, |
150 | { "USD" , I18N_NOOP("East Timor" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
151 | { "USD" , I18N_NOOP("Ecuador" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
152 | { "EGP" , I18N_NOOP("Egypt" ), I18N_NOOP("Egyptian Pound" ), I18N_NOOP("EGP" ) }, |
153 | { "SVC" , I18N_NOOP("El Salvador" ), I18N_NOOP("El Salvador Colon" ), I18N_NOOP("C" ) }, |
154 | { "USD" , I18N_NOOP("El Salvador" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
155 | { "XAF" , I18N_NOOP("Equatorial Guinea" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
156 | { "ERN" , I18N_NOOP("Eritrea" ), I18N_NOOP("Nakfa" ), I18N_NOOP("ERN" ) }, |
157 | { "EEK" , I18N_NOOP("Estonia" ), I18N_NOOP("Kroon" ), I18N_NOOP("kr" ) }, |
158 | { "ETB" , I18N_NOOP("Ethiopia" ), I18N_NOOP("Ethiopian Birr" ), I18N_NOOP("ETB" ) }, |
159 | { "FKP" , I18N_NOOP("Falkland Island (Malvinas)" ), I18N_NOOP("Falkland Islands Pound" ), I18N_NOOP("FKP" ) }, |
160 | { "DKK" , I18N_NOOP("Faeroe Islands" ), I18N_NOOP("Danish Krone" ), I18N_NOOP("kr" ) }, |
161 | { "FJD" , I18N_NOOP("Fiji" ), I18N_NOOP("Fiji Dollar" ), I18N_NOOP("FJD" ) }, |
162 | { "EUR" , I18N_NOOP("Finland" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
163 | { "FIM" , I18N_NOOP("Finland" ), I18N_NOOP("Markka" ), I18N_NOOP("mk" ) }, |
164 | { "EUR" , I18N_NOOP("France" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
165 | { "FRF" , I18N_NOOP("France" ), I18N_NOOP("Franc" ), I18N_NOOP("F" ) }, |
166 | { "EUR" , I18N_NOOP("French Guiana" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
167 | { "XPF" , I18N_NOOP("French Polynesia" ), I18N_NOOP("CFP Franc" ), I18N_NOOP("XPF" ) }, |
168 | { "EUR" , I18N_NOOP("Franc Southern Territories" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
169 | { "XAF" , I18N_NOOP("Gabon" ), I18N_NOOP("CFA Franc BEAC" ), I18N_NOOP("XAF" ) }, |
170 | { "GMD" , I18N_NOOP("Gambia" ), I18N_NOOP("Dalasi" ), I18N_NOOP("GMD" ) }, |
171 | { "GEL" , I18N_NOOP("Georgia" ), I18N_NOOP("Lari" ), I18N_NOOP("GEL" ) }, |
172 | { "EUR" , I18N_NOOP("Germany" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
173 | { "DEM" , I18N_NOOP("Germany" ), I18N_NOOP("German Mark" ), I18N_NOOP("DM" ) }, |
174 | { "GHC" , I18N_NOOP("Ghana" ), I18N_NOOP("Cedi" ), I18N_NOOP("GHC" ) }, |
175 | { "GIP" , I18N_NOOP("Gibraltar" ), I18N_NOOP("Gibraltar Pound" ), I18N_NOOP("GIP" ) }, |
176 | { "EUR" , I18N_NOOP("Greece" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
177 | { "GRD" , I18N_NOOP("Greece" ), I18N_NOOP("Drachma" ), I18N_NOOP("GRD" ) }, |
178 | { "DKK" , I18N_NOOP("Greenland" ), I18N_NOOP("Danish Krone" ), I18N_NOOP("DKK" ) }, |
179 | { "XCD" , I18N_NOOP("Grenada" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
180 | { "EUR" , I18N_NOOP("Guadeloupe" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
181 | { "USD" , I18N_NOOP("Guam" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
182 | { "GTQ" , I18N_NOOP("Guatemala" ), I18N_NOOP("Quetzal" ), I18N_NOOP("Q" ) }, |
183 | { "GNF" , I18N_NOOP("Guinea" ), I18N_NOOP("Guinea Franc" ), I18N_NOOP("GNF" ) }, |
184 | { "GWP" , I18N_NOOP("Guinea-Bissau" ), I18N_NOOP("Guinea-Bissau Peso" ), I18N_NOOP("GWP" ) }, |
185 | { "XOF" , I18N_NOOP("Guinea-Bissau" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
186 | { "GYD" , I18N_NOOP("Guyana" ), I18N_NOOP("Guyana Dollar" ), I18N_NOOP("GYD" ) }, |
187 | { "HTG" , I18N_NOOP("Haiti" ), I18N_NOOP("Gourde" ), I18N_NOOP("HTG" ) }, |
188 | { "USD" , I18N_NOOP("Haiti" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
189 | { "AUD" , I18N_NOOP("Heard Island And McDonald Islands" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
190 | { "EUR" , I18N_NOOP("Holy See (Vatican City State)" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
191 | { "HNL" , I18N_NOOP("Honduras" ), I18N_NOOP("Lempira" ), I18N_NOOP("L" ) }, |
192 | { "HKD" , I18N_NOOP("Hong Kong" ), I18N_NOOP("Hong Kong Dollar" ), I18N_NOOP("HKD" ) }, |
193 | { "HUF" , I18N_NOOP("Hungary" ), I18N_NOOP("Forint" ), I18N_NOOP("Ft" ) }, |
194 | { "ISK" , I18N_NOOP("Iceland" ), I18N_NOOP("Iceland Krona" ), I18N_NOOP("kr." ) }, |
195 | { "INR" , I18N_NOOP("India" ), I18N_NOOP("Indian Rupee" ), I18N_NOOP("INR" ) }, |
196 | { "IDR" , I18N_NOOP("Indonesia" ), I18N_NOOP("Rupiah" ), I18N_NOOP("Rp" ) }, |
197 | { "IRR" , I18N_NOOP("Iran, Islamic Republic Of" ), I18N_NOOP("Iranian Rial" ), I18N_NOOP("IRR" ) }, |
198 | { "IQD" , I18N_NOOP("Iraq" ), I18N_NOOP("Iraqi Dinar" ), I18N_NOOP("IQD" ) }, |
199 | { "EUR" , I18N_NOOP("Ireland" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
200 | { "IEP" , I18N_NOOP("Ireland" ), I18N_NOOP("Punt" ), I18N_NOOP("IR----" ) }, |
201 | { "IEX" , I18N_NOOP("Ireland" ), I18N_NOOP("Pence" ), I18N_NOOP("IEX" ) }, |
202 | { "ILS" , I18N_NOOP("Israel" ), I18N_NOOP("New Israeli Sheqel" ), I18N_NOOP("ILS" ) }, |
203 | { "EUR" , I18N_NOOP("Italy" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
204 | { "ITL" , I18N_NOOP("Italy" ), I18N_NOOP("Lira" ), I18N_NOOP("L." ) }, |
205 | { "JMD" , I18N_NOOP("Jamaica" ), I18N_NOOP("Jamaican Dollar" ), I18N_NOOP("J$" ) }, |
206 | { "JPY" , I18N_NOOP("Japan" ), I18N_NOOP("Yen" ), I18N_NOOP("JPY" ) }, |
207 | { "JOD" , I18N_NOOP("Jordan" ), I18N_NOOP("Jordanian Dinar" ), I18N_NOOP("JOD" ) }, |
208 | { "KZT" , I18N_NOOP("Kazakhstan" ), I18N_NOOP("Tenge" ), I18N_NOOP("KZT" ) }, |
209 | { "KES" , I18N_NOOP("Kenya" ), I18N_NOOP("Kenyan Shilling" ), I18N_NOOP("KES" ) }, |
210 | { "AUD" , I18N_NOOP("Kiribati" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
211 | { "KPW" , I18N_NOOP("Korea, Democratic People's Republic Of" ), I18N_NOOP("North Korean Won" ), I18N_NOOP("KPW" ) }, |
212 | { "KRW" , I18N_NOOP("Korea, Republic Of" ), I18N_NOOP("Won" ), I18N_NOOP("KRW" ) }, |
213 | { "KWD" , I18N_NOOP("Kuwait" ), I18N_NOOP("Kuwaiti Dinar" ), I18N_NOOP("KWD" ) }, |
214 | { "KGS" , I18N_NOOP("Kyrgyzstan" ), I18N_NOOP("Som" ), I18N_NOOP("KGS" ) }, |
215 | { "LAK" , I18N_NOOP("Lao People's Democratic Republic" ), I18N_NOOP("Kip" ), I18N_NOOP("LAK" ) }, |
216 | { "EUR" , I18N_NOOP("Latvia" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
217 | { "LVL" , I18N_NOOP("Latvia" ), I18N_NOOP("Latvian Lats" ), I18N_NOOP("Ls" ) }, |
218 | { "LBP" , I18N_NOOP("Lebanon" ), I18N_NOOP("Lebanese Pound" ), I18N_NOOP("LBP" ) }, |
219 | { "ZAR" , I18N_NOOP("Lesotho" ), I18N_NOOP("Rand" ), I18N_NOOP("ZAR" ) }, |
220 | { "LSL" , I18N_NOOP("Lesotho" ), I18N_NOOP("Loti" ), I18N_NOOP("LSL" ) }, |
221 | { "LRD" , I18N_NOOP("Liberia" ), I18N_NOOP("Liberian Dollar" ), I18N_NOOP("LRD" ) }, |
222 | { "LYD" , I18N_NOOP("Libyan Arab Jamahiriya" ), I18N_NOOP("Lybian Dinar" ), I18N_NOOP("LYD" ) }, |
223 | { "CHF" , I18N_NOOP("Liechtenstein" ), I18N_NOOP("Swiss Franc" ), I18N_NOOP("CHF" ) }, |
224 | { "LTL" , I18N_NOOP("Lithuania" ), I18N_NOOP("Lithuanian Litus" ), I18N_NOOP("Lt" ) }, |
225 | { "EUR" , I18N_NOOP("Luxembourg" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
226 | { "LUF" , I18N_NOOP("Luxembourg" ), I18N_NOOP("Franc" ), I18N_NOOP("F" ) }, |
227 | { "MOP" , I18N_NOOP("Macao" ), I18N_NOOP("Pataca" ), I18N_NOOP("MOP" ) }, |
228 | { "MKD" , I18N_NOOP("Macedonia, The Former Yugoslav Republic Of" ), I18N_NOOP("Denar" ), I18N_NOOP("MKD" ) }, |
229 | { "MGF" , I18N_NOOP("Madagascar" ), I18N_NOOP("Malagasy Franc" ), I18N_NOOP("MGF" ) }, |
230 | { "MWK" , I18N_NOOP("Malawi" ), I18N_NOOP("Kwacha" ), I18N_NOOP("MWK" ) }, |
231 | { "MYR" , I18N_NOOP("Malaysia" ), I18N_NOOP("Malaysian Ringgit" ), I18N_NOOP("MYR" ) }, |
232 | { "MVR" , I18N_NOOP("Maldives" ), I18N_NOOP("Rufiyaa" ), I18N_NOOP("MVR" ) }, |
233 | { "XOF" , I18N_NOOP("Mali" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
234 | { "EUR" , I18N_NOOP("Malta" ), I18N_NOOP("EURO" ), I18N_NOOP("EUR" ) }, |
235 | { "MTL" , I18N_NOOP("Malta" ), I18N_NOOP("Maltese Lira" ), I18N_NOOP("MTL" ) }, |
236 | { "USD" , I18N_NOOP("Marshall Islands" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
237 | { "EUR" , I18N_NOOP("Martinique" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
238 | { "MRO" , I18N_NOOP("Mauritania" ), I18N_NOOP("Ouguiya" ), I18N_NOOP("MRO" ) }, |
239 | { "MUR" , I18N_NOOP("Mauritius" ), I18N_NOOP("Mauritius Rupee" ), I18N_NOOP("MUR" ) }, |
240 | { "EUR" , I18N_NOOP("Mayotte" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
241 | { "MXN" , I18N_NOOP("Mexico" ), I18N_NOOP("Mexican Peso" ), I18N_NOOP("MXN" ) }, |
242 | { "MXV" , I18N_NOOP("Mexico" ), I18N_NOOP("Mexican Unidad de Inversion (UDI)" ), I18N_NOOP("MXV" ) }, |
243 | { "USD" , I18N_NOOP("Micronesia, Federated States Of" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
244 | { "MDL" , I18N_NOOP("Moldova, Republic Of" ), I18N_NOOP("Moldovan Leu" ), I18N_NOOP("MDL" ) }, |
245 | { "EUR" , I18N_NOOP("Monaco" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
246 | { "MNT" , I18N_NOOP("Mongolia" ), I18N_NOOP("Tugrik" ), I18N_NOOP("MNT" ) }, |
247 | { "XCD" , I18N_NOOP("Montserrat" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
248 | { "MAD" , I18N_NOOP("Morocco" ), I18N_NOOP("Moroccan Dirham" ), I18N_NOOP("MAD" ) }, |
249 | { "MZM" , I18N_NOOP("Mozambique" ), I18N_NOOP("Metical" ), I18N_NOOP("MZM" ) }, |
250 | { "MMK" , I18N_NOOP("Myanmar" ), I18N_NOOP("Kyat" ), I18N_NOOP("MMK" ) }, |
251 | { "ZAR" , I18N_NOOP("Namibia" ), I18N_NOOP("Rand" ), I18N_NOOP("ZAR" ) }, |
252 | { "NAD" , I18N_NOOP("Namibia" ), I18N_NOOP("Namibia Dollar" ), I18N_NOOP("NAD" ) }, |
253 | { "AUD" , I18N_NOOP("Nauru" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
254 | { "NPR" , I18N_NOOP("Nepal" ), I18N_NOOP("Nepalese Rupee" ), I18N_NOOP("NPR" ) }, |
255 | { "EUR" , I18N_NOOP("Netherlands" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
256 | { "NLG" , I18N_NOOP("Netherlands" ), I18N_NOOP("Guilder" ), I18N_NOOP("fl" ) }, |
257 | { "ANG" , I18N_NOOP("Netherlands Antilles" ), I18N_NOOP("Netherlands Antillean Guilder" ), I18N_NOOP("ANG" ) }, |
258 | { "XPF" , I18N_NOOP("New Caledonia" ), I18N_NOOP("CFP Franc" ), I18N_NOOP("XPF" ) }, |
259 | { "NZD" , I18N_NOOP("New Zealand" ), I18N_NOOP("New Zealand Dollar" ), I18N_NOOP("NZD" ) }, |
260 | { "NIO" , I18N_NOOP("Nicaragua" ), I18N_NOOP("Cordoba Oro" ), I18N_NOOP("NIO" ) }, |
261 | { "XOF" , I18N_NOOP("Niger" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
262 | { "NGN" , I18N_NOOP("Nigeria" ), I18N_NOOP("Naira" ), I18N_NOOP("NGN" ) }, |
263 | { "NZD" , I18N_NOOP("Niue" ), I18N_NOOP("New Zealand Dollar" ), I18N_NOOP("NZD" ) }, |
264 | { "AUD" , I18N_NOOP("Norfolk Islands" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
265 | { "USD" , I18N_NOOP("Northern Mariana Islands" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
266 | { "NOK" , I18N_NOOP("Norway" ), I18N_NOOP("Norwegian Krone" ), I18N_NOOP("kr" ) }, |
267 | { "OMR" , I18N_NOOP("Oman" ), I18N_NOOP("Rial Omani" ), I18N_NOOP("OMR" ) }, |
268 | { "PKR" , I18N_NOOP("Pakistan" ), I18N_NOOP("Pakistan Rupee" ), I18N_NOOP("PKR" ) }, |
269 | { "USD" , I18N_NOOP("Palau" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
270 | { "PAB" , I18N_NOOP("Panama" ), I18N_NOOP("Balboa" ), I18N_NOOP("PAB" ) }, |
271 | { "USD" , I18N_NOOP("Panama" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
272 | { "PGK" , I18N_NOOP("Papua New Guinea" ), I18N_NOOP("Kina" ), I18N_NOOP("PGK" ) }, |
273 | { "PYG" , I18N_NOOP("Paraguay" ), I18N_NOOP("Guarani" ), I18N_NOOP("G" ) }, |
274 | { "PEN" , I18N_NOOP("Peru" ), I18N_NOOP("Nuevo Sol" ), I18N_NOOP("PEN" ) }, |
275 | { "PHP" , I18N_NOOP("Philippines" ), I18N_NOOP("Philippine Peso" ), I18N_NOOP("PHP" ) }, |
276 | { "NZD" , I18N_NOOP("Pitcairn" ), I18N_NOOP("New Zealand Dollar" ), I18N_NOOP("NZD" ) }, |
277 | { "PLN" , I18N_NOOP("Poland" ), I18N_NOOP("Zloty" ), I18N_NOOP("zt" ) }, |
278 | { "EUR" , I18N_NOOP("Portugal" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
279 | { "PTE" , I18N_NOOP("Portugal" ), I18N_NOOP("Escudo" ), I18N_NOOP("Esc." ) }, |
280 | { "USD" , I18N_NOOP("Puerto Rico" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
281 | { "QAR" , I18N_NOOP("Qatar" ), I18N_NOOP("Qatari Rial" ), I18N_NOOP("QAR" ) }, |
282 | { "ROL" , I18N_NOOP("Romania" ), I18N_NOOP("Leu" ), I18N_NOOP("LEI" ) }, |
283 | { "RUR" , I18N_NOOP("Russian Federation" ), I18N_NOOP("Russian Ruble" ), I18N_NOOP("RUR" ) }, |
284 | { "RUB" , I18N_NOOP("Russian Federation" ), I18N_NOOP("Russian Ruble" ), I18N_NOOP("RUB" ) }, |
285 | { "RWF" , I18N_NOOP("Rwanda" ), I18N_NOOP("Rwanda Franc" ), I18N_NOOP("RWF" ) }, |
286 | { "SHP" , I18N_NOOP("Saint Helena" ), I18N_NOOP("Saint Helena Pound" ), I18N_NOOP("SHP" ) }, |
287 | { "XCD" , I18N_NOOP("Saint Kitts And Nevis" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
288 | { "XCD" , I18N_NOOP("Saint Lucia" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
289 | { "EUR" , I18N_NOOP("Saint Pierre And Miquelon" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
290 | { "XCD" , I18N_NOOP("Saint Vincent And The Grenadines" ), I18N_NOOP("East Caribbean Dollar" ), I18N_NOOP("XCD" ) }, |
291 | { "WST" , I18N_NOOP("Samoa" ), I18N_NOOP("Tala" ), I18N_NOOP("WST" ) }, |
292 | { "EUR" , I18N_NOOP("San Marino" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
293 | { "STD" , I18N_NOOP("Sao Tome And Principe" ), I18N_NOOP("Dobra" ), I18N_NOOP("STD" ) }, |
294 | { "SAR" , I18N_NOOP("Saudi Arabia" ), I18N_NOOP("Saudi Riyal" ), I18N_NOOP("SAR" ) }, |
295 | { "XOF" , I18N_NOOP("Senegal" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
296 | { "SCR" , I18N_NOOP("Seychelles" ), I18N_NOOP("Seychelles Rupee" ), I18N_NOOP("SCR" ) }, |
297 | { "SLL" , I18N_NOOP("Sierra Leone" ), I18N_NOOP("Leone" ), I18N_NOOP("SLL" ) }, |
298 | { "SGD" , I18N_NOOP("Singapore" ), I18N_NOOP("Singapore Dollar" ), I18N_NOOP("SGD" ) }, |
299 | { "EUR" , I18N_NOOP("Slovakia" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
300 | { "SKK" , I18N_NOOP("Slovakia" ), I18N_NOOP("Slovak Koruna" ), I18N_NOOP("Sk" ) }, |
301 | { "EUR" , I18N_NOOP("Slovenia" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
302 | { "SIT" , I18N_NOOP("Slovenia" ), I18N_NOOP("Tolar" ), I18N_NOOP("SIT" ) }, |
303 | { "SBD" , I18N_NOOP("Solomon Islands" ), I18N_NOOP("Solomon Islands Dollar" ), I18N_NOOP("SBD" ) }, |
304 | { "SOS" , I18N_NOOP("Somalia" ), I18N_NOOP("Somali Shilling" ), I18N_NOOP("SOS" ) }, |
305 | { "ZAR" , I18N_NOOP("South Africa" ), I18N_NOOP("Rand" ), I18N_NOOP("R" ) }, |
306 | { "EUR" , I18N_NOOP("Spain" ), I18N_NOOP("Euro" ), I18N_NOOP("EUR" ) }, |
307 | { "ESP" , I18N_NOOP("Spain" ), I18N_NOOP("Peseta" ), I18N_NOOP("Pts" ) }, |
308 | { "LKR" , I18N_NOOP("Sri Lanka" ), I18N_NOOP("Sri Lanka Rupee" ), I18N_NOOP("LKR" ) }, |
309 | { "SDD" , I18N_NOOP("Sudan" ), I18N_NOOP("Sudanese Dinar" ), I18N_NOOP("SDD" ) }, |
310 | { "SRG" , I18N_NOOP("Suriname" ), I18N_NOOP("Suriname Guilder" ), I18N_NOOP("SRG" ) }, |
311 | { "NOK" , I18N_NOOP("Svalbard And Jan Mayen" ), I18N_NOOP("Norwegian Krone" ), I18N_NOOP("NOK" ) }, |
312 | { "SZL" , I18N_NOOP("Swaziland" ), I18N_NOOP("Lilangeni" ), I18N_NOOP("SZL" ) }, |
313 | { "SEK" , I18N_NOOP("Sweden" ), I18N_NOOP("Swedish Krona" ), I18N_NOOP("kr" ) }, |
314 | { "CHF" , I18N_NOOP("Switzerland" ), I18N_NOOP("Swiss Franc" ), I18N_NOOP("SFr." ) }, |
315 | { "SYP" , I18N_NOOP("Syrian Arab Republic" ), I18N_NOOP("Syrian Pound" ), I18N_NOOP("SYP" ) }, |
316 | { "TWD" , I18N_NOOP("Taiwan, Province Of China" ), I18N_NOOP("New Taiwan Dollar" ), I18N_NOOP("TWD" ) }, |
317 | { "TJS" , I18N_NOOP("Tajikistan" ), I18N_NOOP("Somoni" ), I18N_NOOP("TJS" ) }, |
318 | { "TZS" , I18N_NOOP("Tanzania, United Republic Of" ), I18N_NOOP("Tanzanian Shilling" ), I18N_NOOP("TZS" ) }, |
319 | { "THB" , I18N_NOOP("Thailand" ), I18N_NOOP("Baht" ), I18N_NOOP("THB" ) }, |
320 | { "XOF" , I18N_NOOP("Togo" ), I18N_NOOP("CFA Franc BCEAO" ), I18N_NOOP("XOF" ) }, |
321 | { "NZD" , I18N_NOOP("Tokelau" ), I18N_NOOP("New Zealand Dollar" ), I18N_NOOP("NZD" ) }, |
322 | { "TOP" , I18N_NOOP("Tonga" ), I18N_NOOP("Pa'anga" ), I18N_NOOP("TOP" ) }, |
323 | { "TTD" , I18N_NOOP("Trinidad And Tobago" ), I18N_NOOP("Trinidad and Tobago Dollar" ), I18N_NOOP("TT$" ) }, |
324 | { "TND" , I18N_NOOP("Tunisia" ), I18N_NOOP("Tunisian Dinar" ), I18N_NOOP("TND" ) }, |
325 | { "TRL" , I18N_NOOP("Turkey" ), I18N_NOOP("Turkish Lira" ), I18N_NOOP("TL" ) }, |
326 | { "TMM" , I18N_NOOP("Turkmenistan" ), I18N_NOOP("Manat" ), I18N_NOOP("TMM" ) }, |
327 | { "USD" , I18N_NOOP("Turks And Caicos Islands" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
328 | { "AUD" , I18N_NOOP("Tuvalu" ), I18N_NOOP("Australian Dollar" ), I18N_NOOP("AUD" ) }, |
329 | { "UGX" , I18N_NOOP("Uganda" ), I18N_NOOP("Uganda Shilling" ), I18N_NOOP("UGX" ) }, |
330 | { "UAH" , I18N_NOOP("Ukraine" ), I18N_NOOP("Hryvnia" ), I18N_NOOP("UAH" ) }, |
331 | { "AED" , I18N_NOOP("United Arab Emirates" ), I18N_NOOP("UAE Dirham" ), I18N_NOOP("AED" ) }, |
332 | { "GBP" , I18N_NOOP("United Kingdom" ), I18N_NOOP("Pound Sterling" ), I18N_NOOP("GBP" ) }, |
333 | { "USD" , I18N_NOOP("United States" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
334 | { "USN" , I18N_NOOP("United States" ), I18N_NOOP("US Dollar (Next day)" ), I18N_NOOP("USN" ) }, |
335 | { "USS" , I18N_NOOP("United States" ), I18N_NOOP("US Dollar (Same day)" ), I18N_NOOP("USS" ) }, |
336 | { "UYU" , I18N_NOOP("Uruguay" ), I18N_NOOP("Peso Uruguayo" ), I18N_NOOP("NU$" ) }, |
337 | { "UZS" , I18N_NOOP("Uzbekistan" ), I18N_NOOP("Uzbekistan Sum" ), I18N_NOOP("UZS" ) }, |
338 | { "VUV" , I18N_NOOP("Vanuatu" ), I18N_NOOP("Vatu" ), I18N_NOOP("VUV" ) }, |
339 | { "VEB" , I18N_NOOP("Venezuela" ), I18N_NOOP("Bolivar" ), I18N_NOOP("Bs" ) }, |
340 | { "VND" , I18N_NOOP("Viet Nam" ), I18N_NOOP("Dong" ), I18N_NOOP("VND" ) }, |
341 | { "USD" , I18N_NOOP("Virgin Islands" ), I18N_NOOP("US Dollar" ), I18N_NOOP("USD" ) }, |
342 | { "XPF" , I18N_NOOP("Wallis And Futuna" ), I18N_NOOP("CFP Franc" ), I18N_NOOP("XPF" ) }, |
343 | { "MAD" , I18N_NOOP("Western Sahara" ), I18N_NOOP("Moroccan Dirham" ), I18N_NOOP("MAD" ) }, |
344 | { "YER" , I18N_NOOP("Yemen" ), I18N_NOOP("Yemeni Rial" ), I18N_NOOP("YER" ) }, |
345 | { "YUM" , I18N_NOOP("Yugoslavia" ), I18N_NOOP("Yugoslavian Dinar" ), I18N_NOOP("YUM" ) }, |
346 | { "ZMK" , I18N_NOOP("Zambia" ), I18N_NOOP("Kwacha" ), I18N_NOOP("ZMK" ) }, |
347 | { "ZWD" , I18N_NOOP("Zimbabwe" ), I18N_NOOP("Zimbabwe Dollar" ), I18N_NOOP("ZWD" ) }, |
348 | { 0, 0, 0, 0}, // Last must be empty! |
349 | }; |
350 | |
351 | |
352 | class CurrencyMap |
353 | { |
354 | public: |
355 | CurrencyMap() : m_List(lMoney) {} |
356 | |
357 | // Those return the _untranslated_ strings from the above array |
358 | QString code(int t) const { |
359 | return QString::fromUtf8(m_List[t].code); |
360 | } |
361 | |
362 | QString country(int t) const { |
363 | return QString::fromUtf8(m_List[t].country); |
364 | } |
365 | |
366 | QString name(int t) const { |
367 | return QString::fromUtf8(m_List[t].name); |
368 | } |
369 | |
370 | QString symbol(int t) const { |
371 | return QString::fromUtf8(m_List[t].display); |
372 | } |
373 | |
374 | int index(const QString& code) const { |
375 | int index = 0; |
376 | while (m_List[index].code != 0 && m_List[index].code != code) |
377 | ++index; |
378 | return (m_List[index].code != 0) ? index : 1 /*undef*/; |
379 | } |
380 | |
381 | private: |
382 | const Money * m_List; |
383 | }; |
384 | |
385 | const CurrencyMap gCurrencyMap; |
386 | const Money * gMoneyList(lMoney); |
387 | } |
388 | |
389 | using namespace Currency_LNS; |
390 | |
391 | Currency::Currency(int index) |
392 | : m_index(index) |
393 | , m_code(gCurrencyMap.code(index)) |
394 | { |
395 | } |
396 | |
397 | Currency::Currency(QString const & code, Format format) |
398 | : m_index(1) // unspecified first, searched at the end of this ctor |
399 | , m_code(code) |
400 | { |
401 | if (format == Gnumeric) { |
402 | // I use QChar(c,r) here so that this file can be opened in any encoding... |
403 | if (code.indexOf(QChar(172, 32)) != -1) // Euro sign |
404 | m_code = QChar(172, 32); |
405 | else if (code.indexOf(QChar(163, 0)) != -1) // Pound sign |
406 | m_code = QChar(163, 0); |
407 | else if (code.indexOf(QChar(165, 0)) != -1) // Yen sign |
408 | m_code = QChar(165, 0); |
409 | else if (code[0] == '[' && code[1] == '$') { |
410 | int n = code.indexOf(']'); |
411 | if (n != -1) |
412 | m_code = code.mid(2, n - 2); |
413 | else |
414 | m_index = 0; |
415 | } else if (code.indexOf('$') != -1) |
416 | m_code = '$'; |
417 | } // end gnumeric |
418 | // search the corresponding index |
419 | m_index = gCurrencyMap.index(m_code); |
420 | } |
421 | |
422 | Currency::~Currency() |
423 | { |
424 | } |
425 | |
426 | bool Currency::operator==(Currency const & cur) const |
427 | { |
428 | if (m_index != cur.m_index) |
429 | return false; |
430 | if (m_code != cur.m_code) |
431 | return false; |
432 | return true; |
433 | } |
434 | |
435 | QString Currency::code(Format format) const |
436 | { |
437 | if (format == Gnumeric) { |
438 | if (m_code.length() == 1) // symbol |
439 | return m_code; |
440 | return QString("[$" + m_code + ']'); |
441 | } |
442 | return m_code; |
443 | } |
444 | |
445 | QString Currency::country() const |
446 | { |
447 | return gCurrencyMap.country(m_index); |
448 | } |
449 | |
450 | QString Currency::name() const |
451 | { |
452 | return gCurrencyMap.name(m_index); |
453 | } |
454 | |
455 | QString Currency::symbol() const |
456 | { |
457 | if (m_index == 1) // undefined |
458 | return m_code; |
459 | return gMoneyList[m_index].display; |
460 | } |
461 | |
462 | int Currency::index() const |
463 | { |
464 | return m_index; |
465 | } |
466 | |
467 | QString Currency::chooseString(int type, bool & ok) |
468 | { |
469 | if (!gMoneyList[type].country) { |
470 | ok = false; |
471 | return QString(); |
472 | } |
473 | if (type < 29) { |
474 | QString ret(i18n(gMoneyList[type].name)); |
475 | if (gMoneyList[type].country[0]) { |
476 | ret += " (" + i18n(gMoneyList[type].country) + ')'; |
477 | } |
478 | return ret; |
479 | } else { |
480 | QString ret(i18n(gMoneyList[type].country)); |
481 | if (gMoneyList[type].name[0]) { |
482 | ret += " (" + i18n(gMoneyList[type].name) + ')'; |
483 | } |
484 | return ret; |
485 | } |
486 | } |
487 | |