Commit d2b6e21e5ac7d85254523032d771fd8b65515284
1 parent
4dcb9b6e
Exists in
master
and in
29 other branches
ActionItem941: internationalized country selector
Showing
6 changed files
with
310 additions
and
251 deletions
Show diff stats
@@ -0,0 +1,264 @@ | @@ -0,0 +1,264 @@ | ||
1 | +class CountriesHelper | ||
2 | + | ||
3 | + include GetText | ||
4 | + bindtextdomain 'iso_3166' | ||
5 | + | ||
6 | + # a dump of iso_3166.xml from Debian source package iso-codes | ||
7 | + COUNTRIES = [ | ||
8 | + ["Afghanistan", "AF"], | ||
9 | + ["Åland Islands", "AX"], | ||
10 | + ["Albania", "AL"], | ||
11 | + ["Algeria", "DZ"], | ||
12 | + ["American Samoa", "AS"], | ||
13 | + ["Andorra", "AD"], | ||
14 | + ["Angola", "AO"], | ||
15 | + ["Anguilla", "AI"], | ||
16 | + ["Antarctica", "AQ"], | ||
17 | + ["Antigua and Barbuda", "AG"], | ||
18 | + ["Argentina", "AR"], | ||
19 | + ["Armenia", "AM"], | ||
20 | + ["Aruba", "AW"], | ||
21 | + ["Australia", "AU"], | ||
22 | + ["Austria", "AT"], | ||
23 | + ["Azerbaijan", "AZ"], | ||
24 | + ["Bahamas", "BS"], | ||
25 | + ["Bahrain", "BH"], | ||
26 | + ["Bangladesh", "BD"], | ||
27 | + ["Barbados", "BB"], | ||
28 | + ["Belarus", "BY"], | ||
29 | + ["Belgium", "BE"], | ||
30 | + ["Belize", "BZ"], | ||
31 | + ["Benin", "BJ"], | ||
32 | + ["Bermuda", "BM"], | ||
33 | + ["Bhutan", "BT"], | ||
34 | + ["Bolivia", "BO"], | ||
35 | + ["Bosnia and Herzegovina", "BA"], | ||
36 | + ["Botswana", "BW"], | ||
37 | + ["Bouvet Island", "BV"], | ||
38 | + ["Brazil", "BR"], | ||
39 | + ["British Indian Ocean Territory", "IO"], | ||
40 | + ["Brunei Darussalam", "BN"], | ||
41 | + ["Bulgaria", "BG"], | ||
42 | + ["Burkina Faso", "BF"], | ||
43 | + ["Burundi", "BI"], | ||
44 | + ["Cambodia", "KH"], | ||
45 | + ["Cameroon", "CM"], | ||
46 | + ["Canada", "CA"], | ||
47 | + ["Cape Verde", "CV"], | ||
48 | + ["Cayman Islands", "KY"], | ||
49 | + ["Central African Republic", "CF"], | ||
50 | + ["Chad", "TD"], | ||
51 | + ["Chile", "CL"], | ||
52 | + ["China", "CN"], | ||
53 | + ["Christmas Island", "CX"], | ||
54 | + ["Cocos (Keeling) Islands", "CC"], | ||
55 | + ["Colombia", "CO"], | ||
56 | + ["Comoros", "KM"], | ||
57 | + ["Congo", "CG"], | ||
58 | + ["Congo, The Democratic Republic of the", "CD"], | ||
59 | + ["Cook Islands", "CK"], | ||
60 | + ["Costa Rica", "CR"], | ||
61 | + ["Côte d'Ivoire", "CI"], | ||
62 | + ["Croatia", "HR"], | ||
63 | + ["Cuba", "CU"], | ||
64 | + ["Cyprus", "CY"], | ||
65 | + ["Czech Republic", "CZ"], | ||
66 | + ["Denmark", "DK"], | ||
67 | + ["Djibouti", "DJ"], | ||
68 | + ["Dominica", "DM"], | ||
69 | + ["Dominican Republic", "DO"], | ||
70 | + ["Ecuador", "EC"], | ||
71 | + ["Egypt", "EG"], | ||
72 | + ["El Salvador", "SV"], | ||
73 | + ["Equatorial Guinea", "GQ"], | ||
74 | + ["Eritrea", "ER"], | ||
75 | + ["Estonia", "EE"], | ||
76 | + ["Ethiopia", "ET"], | ||
77 | + ["Falkland Islands (Malvinas)", "FK"], | ||
78 | + ["Faroe Islands", "FO"], | ||
79 | + ["Fiji", "FJ"], | ||
80 | + ["Finland", "FI"], | ||
81 | + ["France", "FR"], | ||
82 | + ["French Guiana", "GF"], | ||
83 | + ["French Polynesia", "PF"], | ||
84 | + ["French Southern Territories", "TF"], | ||
85 | + ["Gabon", "GA"], | ||
86 | + ["Gambia", "GM"], | ||
87 | + ["Georgia", "GE"], | ||
88 | + ["Germany", "DE"], | ||
89 | + ["Ghana", "GH"], | ||
90 | + ["Gibraltar", "GI"], | ||
91 | + ["Greece", "GR"], | ||
92 | + ["Greenland", "GL"], | ||
93 | + ["Grenada", "GD"], | ||
94 | + ["Guadeloupe", "GP"], | ||
95 | + ["Guam", "GU"], | ||
96 | + ["Guatemala", "GT"], | ||
97 | + ["Guernsey", "GG"], | ||
98 | + ["Guinea", "GN"], | ||
99 | + ["Guinea-Bissau", "GW"], | ||
100 | + ["Guyana", "GY"], | ||
101 | + ["Haiti", "HT"], | ||
102 | + ["Heard Island and McDonald Islands", "HM"], | ||
103 | + ["Holy See (Vatican City State)", "VA"], | ||
104 | + ["Honduras", "HN"], | ||
105 | + ["Hong Kong", "HK"], | ||
106 | + ["Hungary", "HU"], | ||
107 | + ["Iceland", "IS"], | ||
108 | + ["India", "IN"], | ||
109 | + ["Indonesia", "ID"], | ||
110 | + ["Iran, Islamic Republic of", "IR"], | ||
111 | + ["Iraq", "IQ"], | ||
112 | + ["Ireland", "IE"], | ||
113 | + ["Isle of Man", "IM"], | ||
114 | + ["Israel", "IL"], | ||
115 | + ["Italy", "IT"], | ||
116 | + ["Jamaica", "JM"], | ||
117 | + ["Japan", "JP"], | ||
118 | + ["Jersey", "JE"], | ||
119 | + ["Jordan", "JO"], | ||
120 | + ["Kazakhstan", "KZ"], | ||
121 | + ["Kenya", "KE"], | ||
122 | + ["Kiribati", "KI"], | ||
123 | + ["Korea, Democratic People's Republic of", "KP"], | ||
124 | + ["Korea, Republic of", "KR"], | ||
125 | + ["Kuwait", "KW"], | ||
126 | + ["Kyrgyzstan", "KG"], | ||
127 | + ["Lao People's Democratic Republic", "LA"], | ||
128 | + ["Latvia", "LV"], | ||
129 | + ["Lebanon", "LB"], | ||
130 | + ["Lesotho", "LS"], | ||
131 | + ["Liberia", "LR"], | ||
132 | + ["Libyan Arab Jamahiriya", "LY"], | ||
133 | + ["Liechtenstein", "LI"], | ||
134 | + ["Lithuania", "LT"], | ||
135 | + ["Luxembourg", "LU"], | ||
136 | + ["Macao", "MO"], | ||
137 | + ["Macedonia, Republic of", "MK"], | ||
138 | + ["Madagascar", "MG"], | ||
139 | + ["Malawi", "MW"], | ||
140 | + ["Malaysia", "MY"], | ||
141 | + ["Maldives", "MV"], | ||
142 | + ["Mali", "ML"], | ||
143 | + ["Malta", "MT"], | ||
144 | + ["Marshall Islands", "MH"], | ||
145 | + ["Martinique", "MQ"], | ||
146 | + ["Mauritania", "MR"], | ||
147 | + ["Mauritius", "MU"], | ||
148 | + ["Mayotte", "YT"], | ||
149 | + ["Mexico", "MX"], | ||
150 | + ["Micronesia, Federated States of", "FM"], | ||
151 | + ["Moldova", "MD"], | ||
152 | + ["Monaco", "MC"], | ||
153 | + ["Mongolia", "MN"], | ||
154 | + ["Montenegro", "ME"], | ||
155 | + ["Montserrat", "MS"], | ||
156 | + ["Morocco", "MA"], | ||
157 | + ["Mozambique", "MZ"], | ||
158 | + ["Myanmar", "MM"], | ||
159 | + ["Namibia", "NA"], | ||
160 | + ["Nauru", "NR"], | ||
161 | + ["Nepal", "NP"], | ||
162 | + ["Netherlands", "NL"], | ||
163 | + ["Netherlands Antilles", "AN"], | ||
164 | + ["New Caledonia", "NC"], | ||
165 | + ["New Zealand", "NZ"], | ||
166 | + ["Nicaragua", "NI"], | ||
167 | + ["Niger", "NE"], | ||
168 | + ["Nigeria", "NG"], | ||
169 | + ["Niue", "NU"], | ||
170 | + ["Norfolk Island", "NF"], | ||
171 | + ["Northern Mariana Islands", "MP"], | ||
172 | + ["Norway", "NO"], | ||
173 | + ["Oman", "OM"], | ||
174 | + ["Pakistan", "PK"], | ||
175 | + ["Palau", "PW"], | ||
176 | + ["Palestinian Territory, Occupied", "PS"], | ||
177 | + ["Panama", "PA"], | ||
178 | + ["Papua New Guinea", "PG"], | ||
179 | + ["Paraguay", "PY"], | ||
180 | + ["Peru", "PE"], | ||
181 | + ["Philippines", "PH"], | ||
182 | + ["Pitcairn", "PN"], | ||
183 | + ["Poland", "PL"], | ||
184 | + ["Portugal", "PT"], | ||
185 | + ["Puerto Rico", "PR"], | ||
186 | + ["Qatar", "QA"], | ||
187 | + ["Reunion", "RE"], | ||
188 | + ["Romania", "RO"], | ||
189 | + ["Russian Federation", "RU"], | ||
190 | + ["Rwanda", "RW"], | ||
191 | + ["Saint Barthélemy", "BL"], | ||
192 | + ["Saint Helena", "SH"], | ||
193 | + ["Saint Kitts and Nevis", "KN"], | ||
194 | + ["Saint Lucia", "LC"], | ||
195 | + ["Saint Martin (French part)", "MF"], | ||
196 | + ["Saint Pierre and Miquelon", "PM"], | ||
197 | + ["Saint Vincent and the Grenadines", "VC"], | ||
198 | + ["Samoa", "WS"], | ||
199 | + ["San Marino", "SM"], | ||
200 | + ["Sao Tome and Principe", "ST"], | ||
201 | + ["Saudi Arabia", "SA"], | ||
202 | + ["Senegal", "SN"], | ||
203 | + ["Serbia", "RS"], | ||
204 | + ["Seychelles", "SC"], | ||
205 | + ["Sierra Leone", "SL"], | ||
206 | + ["Singapore", "SG"], | ||
207 | + ["Slovakia", "SK"], | ||
208 | + ["Slovenia", "SI"], | ||
209 | + ["Solomon Islands", "SB"], | ||
210 | + ["Somalia", "SO"], | ||
211 | + ["South Africa", "ZA"], | ||
212 | + ["South Georgia and the South Sandwich Islands", "GS"], | ||
213 | + ["Spain", "ES"], | ||
214 | + ["Sri Lanka", "LK"], | ||
215 | + ["Sudan", "SD"], | ||
216 | + ["Suriname", "SR"], | ||
217 | + ["Svalbard and Jan Mayen", "SJ"], | ||
218 | + ["Swaziland", "SZ"], | ||
219 | + ["Sweden", "SE"], | ||
220 | + ["Switzerland", "CH"], | ||
221 | + ["Syrian Arab Republic", "SY"], | ||
222 | + ["Taiwan", "TW"], | ||
223 | + ["Tajikistan", "TJ"], | ||
224 | + ["Tanzania, United Republic of", "TZ"], | ||
225 | + ["Thailand", "TH"], | ||
226 | + ["Timor-Leste", "TL"], | ||
227 | + ["Togo", "TG"], | ||
228 | + ["Tokelau", "TK"], | ||
229 | + ["Tonga", "TO"], | ||
230 | + ["Trinidad and Tobago", "TT"], | ||
231 | + ["Tunisia", "TN"], | ||
232 | + ["Turkey", "TR"], | ||
233 | + ["Turkmenistan", "TM"], | ||
234 | + ["Turks and Caicos Islands", "TC"], | ||
235 | + ["Tuvalu", "TV"], | ||
236 | + ["Uganda", "UG"], | ||
237 | + ["Ukraine", "UA"], | ||
238 | + ["United Arab Emirates", "AE"], | ||
239 | + ["United Kingdom", "GB"], | ||
240 | + ["United States", "US"], | ||
241 | + ["United States Minor Outlying Islands", "UM"], | ||
242 | + ["Uruguay", "UY"], | ||
243 | + ["Uzbekistan", "UZ"], | ||
244 | + ["Vanuatu", "VU"], | ||
245 | + ["Venezuela", "VE"], | ||
246 | + ["Viet Nam", "VN"], | ||
247 | + ["Virgin Islands, British", "VG"], | ||
248 | + ["Virgin Islands, U.S.", "VI"], | ||
249 | + ["Wallis and Futuna", "WF"], | ||
250 | + ["Western Sahara", "EH"], | ||
251 | + ["Yemen", "YE"], | ||
252 | + ["Zambia", "ZM"], | ||
253 | + ["Zimbabwe", "ZW"] | ||
254 | + ] | ||
255 | + | ||
256 | + def self.countries | ||
257 | + COUNTRIES | ||
258 | + end | ||
259 | + | ||
260 | + def countries | ||
261 | + self.class.countries.map {|item| [gettext(item[0]), item[1] ]}.sort_by { |entry| entry.first.transliterate } | ||
262 | + end | ||
263 | + | ||
264 | +end |
app/helpers/profile_editor_helper.rb
@@ -81,252 +81,6 @@ module ProfileEditorHelper | @@ -81,252 +81,6 @@ module ProfileEditorHelper | ||
81 | N_('Others') | 81 | N_('Others') |
82 | ] | 82 | ] |
83 | 83 | ||
84 | - COUNTRIES = [ | ||
85 | - ("Afeganistão (افغانستان)"), | ||
86 | - ("África do Sul (South Africa)"), | ||
87 | - ("Albânia (Shqipëria)"), | ||
88 | - ("Alemanha (Deutschland)"), | ||
89 | - ("Andorra"), | ||
90 | - ("Angola"), | ||
91 | - ("Anguila (Anguilla)"), | ||
92 | - ("Antártica (Antarctica)"), | ||
93 | - ("Antígua e Barbuda (Antigua and Barbuda)"), | ||
94 | - ("Antilhas Holandesas (Netherlands Antilles)"), | ||
95 | - ("Arábia Saudita (العربية السعودية)"), | ||
96 | - ("Argélia (الجمهورية الجزائرية)"), | ||
97 | - ("Argentina"), | ||
98 | - ("Armênia (Հայաստան)"), | ||
99 | - ("Aruba"), | ||
100 | - ("Austrália (Australia)"), | ||
101 | - ("Áustria (Österreich)"), | ||
102 | - ("Azerbaijão (Azərbaycan)"), | ||
103 | - ("Bahamas"), | ||
104 | - ("Bangladesh (বাংলাদেশ)"), | ||
105 | - ("Barbados"), | ||
106 | - ("Barein (بحرين)"), | ||
107 | - ("Bélgica (België)"), | ||
108 | - ("Belize"), | ||
109 | - ("Benin (Bénin)"), | ||
110 | - ("Bermudas (Bermuda)"), | ||
111 | - ("Bielo-Rússia (Белару́сь)"), | ||
112 | - ("Bolívia (Bolivia)"), | ||
113 | - ("Bósnia-Herzegovina (Bosna i Hercegovina)"), | ||
114 | - ("Botsuana (Botswana)"), | ||
115 | - ("Brasil"), | ||
116 | - ("Brunei (Brunei Darussalam)"), | ||
117 | - ("Bulgária (България)"), | ||
118 | - ("Burkina Fasso (Burkina Faso)"), | ||
119 | - ("Burundi (Uburundi)"), | ||
120 | - ("Butão (འབྲུག་ཡུལ)"), | ||
121 | - ("Cabo Verde"), | ||
122 | - ("Camarões (Cameroun)"), | ||
123 | - ("Camboja (Kampuchea)"), | ||
124 | - ("Canadá (Canada)"), | ||
125 | - ("Catar (قطر)"), | ||
126 | - ("Cazaquistão (Қазақстан)"), | ||
127 | - ("Chade (Tchad)"), | ||
128 | - ("Chile"), | ||
129 | - ("China (中国)"), | ||
130 | - ("Chipre (Κυπρος)"), | ||
131 | - ("Cidade do Vaticano (Città del Vaticano)"), | ||
132 | - ("Cingapura (Singapura)"), | ||
133 | - ("Colômbia (Colombia)"), | ||
134 | - ("Comores"), | ||
135 | - ("Congo"), | ||
136 | - ("Congo, República democrática do (Congo, Democratic Republic of the)"), | ||
137 | - ("Coréia do Norte (조선)"), | ||
138 | - ("Coréia do Sul (한국)"), | ||
139 | - ("Costa do Marfim (Côte d'Ivoire)"), | ||
140 | - ("Costa Rica"), | ||
141 | - ("Croácia (Hrvatska)"), | ||
142 | - ("Cuba"), | ||
143 | - ("Dinamarca (Danmark)"), | ||
144 | - ("Djibuti (Djibouti)"), | ||
145 | - ("Dominica"), | ||
146 | - ("Egito (مصر)"), | ||
147 | - ("El Salvador"), | ||
148 | - ("Emirados Árabes Unidos (الإمارات العربيّة المتّحد)"), | ||
149 | - ("Equador (Ecuador)"), | ||
150 | - ("Eritréia (Ertra)"), | ||
151 | - ("Eslováquia (Slovensko)"), | ||
152 | - ("Eslovênia (Slovenija)"), | ||
153 | - ("Espanha (España)"), | ||
154 | - ("Estados Unidos (United States)"), | ||
155 | - ("Estônia (Eesti)"), | ||
156 | - ("Etiópia (Ityop'iya)"), | ||
157 | - ("Fiji"), | ||
158 | - ("Filipinas (Pilipinas)"), | ||
159 | - ("Finlândia (Suomi)"), | ||
160 | - ("França (France)"), | ||
161 | - ("Gabão (Gabon)"), | ||
162 | - ("Gâmbia (Gambia)"), | ||
163 | - ("Gana (Ghana)"), | ||
164 | - ("Geórgia (საქართველო)"), | ||
165 | - ("Geórgia do Sul e Ilhas Sandwich do Sul (South Georgia and the South Sandwich Islands)"), | ||
166 | - ("Gibraltar"), | ||
167 | - ("Granada (Grenada)"), | ||
168 | - ("Grécia (Eλλας)"), | ||
169 | - ("Groenlândia (Greenland)"), | ||
170 | - ("Guadalupe (Guadeloupe)"), | ||
171 | - ("Guam"), | ||
172 | - ("Guatemala"), | ||
173 | - ("Guernsey"), | ||
174 | - ("Guiana (Guyana)"), | ||
175 | - ("Guiana Francesa (French Guiana)"), | ||
176 | - ("Guiné (Guinée)"), | ||
177 | - ("Guiné-Bissau"), | ||
178 | - ("Guiné Equatorial (Guinea Ecuatorial)"), | ||
179 | - ("Haiti (Haïti)"), | ||
180 | - ("Holanda (Nederland)"), | ||
181 | - ("Honduras"), | ||
182 | - ("Hong Kong"), | ||
183 | - ("Hungria (Magyarország)"), | ||
184 | - ("Iêmen (اليمن)"), | ||
185 | - ("Ilha Aland (Aland Islands)"), | ||
186 | - ("Ilha Bouvet (Bouvet Island)"), | ||
187 | - ("Ilha Christmas (Christmas Island)"), | ||
188 | - ("Ilha de Man (Isle of Man)"), | ||
189 | - ("Ilha Norfolk (Norfolk Island)"), | ||
190 | - ("Ilhas Cayman (Cayman Islands)"), | ||
191 | - ("Ilhas Cocos (Keeling) (Cocos Islands)"), | ||
192 | - ("Ilhas Cook (Cook Islands)"), | ||
193 | - ("Ilhas Falkland (Malvinas) (Falkland Islands)"), | ||
194 | - ("Ilhas Faroé (Faroe Islands)"), | ||
195 | - ("Ilhas Heard e McDonald (Heard Island and McDonald Islands)"), | ||
196 | - ("Ilhas Marianas do Norte (Northern Mariana Islands)"), | ||
197 | - ("Ilhas Marshall (Marshall Islands)"), | ||
198 | - ("Ilhas Maurício (Mauritius)"), | ||
199 | - ("Ilhas Reunião (Reunion)"), | ||
200 | - ("Ilhas Salomão (Solomon Islands)"), | ||
201 | - ("Ilhas Svalbard e Jan Mayen (Svalbard and Jan Mayen)"), | ||
202 | - ("Ilhas Tokelau (Tokelau)"), | ||
203 | - ("Ilhas Turks e Caicos (Turks and Caicos Islands)"), | ||
204 | - ("Ilhas Virgens, Britânicas (Virgin Islands, British)"), | ||
205 | - ("Ilhas Virgens, EUA (Virgin Islands, U.S.)"), | ||
206 | - ("Ilhas Wallis e Futuna (Wallis and Futuna)"), | ||
207 | - ("Índia (India)"), | ||
208 | - ("Indonésia (Indonesia)"), | ||
209 | - ("Irã (ایران)"), | ||
210 | - ("Iraque (العراق)"), | ||
211 | - ("Irlanda (Ireland)"), | ||
212 | - ("Islândia (Ísland)"), | ||
213 | - ("Israel (ישראל)"), | ||
214 | - ("Itália (Italia)"), | ||
215 | - ("Jamaica"), | ||
216 | - ("Japão (日本)"), | ||
217 | - ("Jordânia (الارد)"), | ||
218 | - ("Kiribati"), | ||
219 | - ("Kuwait (الكويت)"), | ||
220 | - ("Laos (ນລາວ)"), | ||
221 | - ("Lesoto (Lesotho)"), | ||
222 | - ("Letônia (Latvija)"), | ||
223 | - ("Líbano (لبنان)"), | ||
224 | - ("Libéria (Liberia)"), | ||
225 | - ("Líbia (ليبية)"), | ||
226 | - ("Liechtenstein"), | ||
227 | - ("Lituânia (Lietuva)"), | ||
228 | - ("Luxemburgo (Lëtzebuerg)"), | ||
229 | - ("Macau (Macao)"), | ||
230 | - ("Macedônia (Македонија)"), | ||
231 | - ("Madagáscar (Madagasikara)"), | ||
232 | - ("Maiote (Mayotte)"), | ||
233 | - ("Malásia (Malaysia)"), | ||
234 | - ("Malavi (Malawi)"), | ||
235 | - ("Maldivas (ގުޖޭއްރާ ޔާއްރިހޫމްޖ)"), | ||
236 | - ("Mali"), | ||
237 | - ("Malta"), | ||
238 | - ("Marrocos (مغرب)"), | ||
239 | - ("Martinica (Martinique)"), | ||
240 | - ("Mauritânia (موريتانية)"), | ||
241 | - ("México"), | ||
242 | - ("Micronésia (Micronesia)"), | ||
243 | - ("Moçambique"), | ||
244 | - ("Moldávia (Moldova)"), | ||
245 | - ("Mônaco (Monaco)"), | ||
246 | - ("Mongólia (Монгол Улс)"), | ||
247 | - ("Montserrat"), | ||
248 | - ("Myanmar (Լեռնային Ղարաբաղ)"), | ||
249 | - ("Namíbia (Namibia)"), | ||
250 | - ("Nauru (Naoero)"), | ||
251 | - ("Nepal (नेपाल)"), | ||
252 | - ("Nicarágua (Nicaragua)"), | ||
253 | - ("Níger (Niger)"), | ||
254 | - ("Nigéria (Nigeria)"), | ||
255 | - ("Niue"), | ||
256 | - ("Noruega (Norge)"), | ||
257 | - ("Nova Caledônia (New Caledonia)"), | ||
258 | - ("Nova Jérsei (Jersey)"), | ||
259 | - ("Nova Zelândia (New Zealand)"), | ||
260 | - ("Omã (عمان)"), | ||
261 | - ("Palau (Belau)"), | ||
262 | - ("Palestina (Palestine)"), | ||
263 | - ("Panamá"), | ||
264 | - ("Papua-Nova Guiné (Papua New Guinea)"), | ||
265 | - ("Paquistão (پاکستان)"), | ||
266 | - ("Paraguai (Paraguay)"), | ||
267 | - ("Peru (Perú)"), | ||
268 | - ("Pitcairn"), | ||
269 | - ("Polinésia Francesa (French Polynesia)"), | ||
270 | - ("Polônia (Polska)"), | ||
271 | - ("Porto Rico (Puerto Rico)"), | ||
272 | - ("Portugal"), | ||
273 | - ("Quênia (Kenya)"), | ||
274 | - ("Quirquistão (Кыргызстан)"), | ||
275 | - ("Reino Unido (United Kingdom)"), | ||
276 | - ("República Centro-Africana (République Centrafricaine)"), | ||
277 | - ("República Dominicana (Dominican Republic)"), | ||
278 | - ("República Tcheca (Česko)"), | ||
279 | - ("Romênia (România)"), | ||
280 | - ("Ruanda (Rwanda)"), | ||
281 | - ("Rússia (Россия)"), | ||
282 | - ("Saara Ocidental (صحراوية)"), | ||
283 | - ("Samoa"), | ||
284 | - ("Samoa Americana (American Samoa)"), | ||
285 | - ("San Marino"), | ||
286 | - ("Santa Helena (Saint Helena)"), | ||
287 | - ("Santa Lúcia (Saint Lucia)"), | ||
288 | - ("São Cristóvão e Névis (Saint Kitts and Nevis)"), | ||
289 | - ("São Pierre e Miquelon (Saint Pierre and Miquelon)"), | ||
290 | - ("São Tomé e Príncipe (São Tomé and Príncipe)"), | ||
291 | - ("São Vincente e Granadinas (Saint Vincent and the Grenadines)"), | ||
292 | - ("Seicheles (Seychelles)"), | ||
293 | - ("Senegal (Sénégal)"), | ||
294 | - ("Serra Leoa (Sierra Leone)"), | ||
295 | - ("Sérvia e Montenegro (Србија и Црна Гора)"), | ||
296 | - ("Síria (سورية)"), | ||
297 | - ("Somália (Soomaaliya)"), | ||
298 | - ("Sri Lanka"), | ||
299 | - ("Suazilândia (Swaziland)"), | ||
300 | - ("Sudão (السودان)"), | ||
301 | - ("Suécia (Sverige)"), | ||
302 | - ("Suíça (Schweiz)"), | ||
303 | - ("Suriname"), | ||
304 | - ("Tailândia (ราชอาณาจักรไทย)"), | ||
305 | - ("Taiwan (台灣)"), | ||
306 | - ("Tajiquistão (Тоҷикистон)"), | ||
307 | - ("Tanzânia (Tanzania)"), | ||
308 | - ("Território Britânico do Oceano Índico (British Indian Ocean Territory)"), | ||
309 | - ("Territórios Franceses do Sul (French Southern Territories)"), | ||
310 | - ("Territórios Insulares dos Estados Unidos (United States minor outlying islands)"), | ||
311 | - ("Timor Leste (Timor-Leste)"), | ||
312 | - ("Togo"), | ||
313 | - ("Tonga"), | ||
314 | - ("Trinidad e Tobago (Trinidad and Tobago)"), | ||
315 | - ("Tunísia (تونس)"), | ||
316 | - ("Turcomenistão (Türkmenistan)"), | ||
317 | - ("Turquia (Türkiye)"), | ||
318 | - ("Tuvalu"), | ||
319 | - ("Ucrânia (Україна)"), | ||
320 | - ("Uganda"), | ||
321 | - ("Uruguai (Uruguay)"), | ||
322 | - ("Uzbequistão (O'zbekiston)"), | ||
323 | - ("Vanuatu"), | ||
324 | - ("Venezuela"), | ||
325 | - ("Vietnã (Việt Nam)"), | ||
326 | - ("Zâmbia (Zambia)"), | ||
327 | - ("Zimbábue (Zimbabwe)") | ||
328 | - ] | ||
329 | - | ||
330 | SCHOOLING = [ | 84 | SCHOOLING = [ |
331 | N_('Post-Doctoral'), | 85 | N_('Post-Doctoral'), |
332 | N_('Ph.D.'), | 86 | N_('Ph.D.'), |
@@ -347,8 +101,12 @@ module ProfileEditorHelper | @@ -347,8 +101,12 @@ module ProfileEditorHelper | ||
347 | labelled_form_field(title, select(object, method, [[_('[Select ...]'), nil]] + ProfileEditorHelper::AREAS_OF_STUDY.map{|s| [gettext(s), s]}, {}, options)) | 101 | labelled_form_field(title, select(object, method, [[_('[Select ...]'), nil]] + ProfileEditorHelper::AREAS_OF_STUDY.map{|s| [gettext(s), s]}, {}, options)) |
348 | end | 102 | end |
349 | 103 | ||
104 | + def country_helper | ||
105 | + @country_helper ||= CountriesHelper.new | ||
106 | + end | ||
107 | + | ||
350 | def select_country(title, object, method, options) | 108 | def select_country(title, object, method, options) |
351 | - labelled_form_field(title, select(object, method, [[_('[Select ...]'), nil]] + ProfileEditorHelper::COUNTRIES.map{|s| [s]}, {}, options)) | 109 | + labelled_form_field(title, select(object, method, [[_('[Select ...]'), nil]] + country_helper.countries, {}, options)) |
352 | end | 110 | end |
353 | 111 | ||
354 | def select_schooling(object, method, options) | 112 | def select_schooling(object, method, options) |
doc/README_FOR_APP.en
@@ -21,10 +21,11 @@ You need to have a Subversion client (svn) installed, as well as: | @@ -21,10 +21,11 @@ You need to have a Subversion client (svn) installed, as well as: | ||
21 | * Ruby Locale: http://rubyforge.org/projects/locale/ | 21 | * Ruby Locale: http://rubyforge.org/projects/locale/ |
22 | * will_paginate: http://github.com/mislav/will_paginate/wikis | 22 | * will_paginate: http://github.com/mislav/will_paginate/wikis |
23 | * contacts: http://github.com/cardmagic/contacts/tree/master | 23 | * contacts: http://github.com/cardmagic/contacts/tree/master |
24 | +* iso-codes: http://pkg-isocodes.alioth.debian.org/ | ||
24 | 25 | ||
25 | There are Debian packages available for all of them but ferret. Try: | 26 | There are Debian packages available for all of them but ferret. Try: |
26 | 27 | ||
27 | - # aptitude install subversion ruby rake libgettext-ruby libmocha-ruby libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby liblocale-ruby libwill-paginate-ruby | 28 | + # aptitude install subversion ruby rake libgettext-ruby libmocha-ruby libsqlite3-ruby rcov librmagick-ruby libredcloth-ruby liblocale-ruby libwill-paginate-ruby iso-codes |
28 | 29 | ||
29 | Ferret shall enter Debian soon (as <tt>libferret-ruby</tt>). until there you have two options: | 30 | Ferret shall enter Debian soon (as <tt>libferret-ruby</tt>). until there you have two options: |
30 | 31 |
lib/noosfero/core_ext/string.rb
1 | class String | 1 | class String |
2 | 2 | ||
3 | TRANSLITERATIONS = { | 3 | TRANSLITERATIONS = { |
4 | - [ 'Á', 'À', 'À', 'Â', 'Ã', 'Ä' ] => 'A', | ||
5 | - [ 'á', 'à', 'à', 'â', 'ã', 'ä', 'ª' ] => 'a', | 4 | + [ 'Á', 'À', 'À', 'Â', 'Ã', 'Ä', 'Å' ] => 'A', |
5 | + [ 'á', 'à', 'à', 'â', 'ã', 'ä', 'å' ,'ª' ] => 'a', | ||
6 | [ 'É', 'È', 'Ê', 'Ë' ] => 'E', | 6 | [ 'É', 'È', 'Ê', 'Ë' ] => 'E', |
7 | [ 'é', 'è', 'ê', 'ë' ] => 'e', | 7 | [ 'é', 'è', 'ê', 'ë' ] => 'e', |
8 | [ 'Í', 'Ì', 'Î', 'Ï' ] => 'I', | 8 | [ 'Í', 'Ì', 'Î', 'Ï' ] => 'I', |
@@ -0,0 +1,36 @@ | @@ -0,0 +1,36 @@ | ||
1 | +require File.dirname(__FILE__) + '/../test_helper' | ||
2 | + | ||
3 | +class CountriesHelperTest < Test::Unit::TestCase | ||
4 | + | ||
5 | + def setup | ||
6 | + @helper = CountriesHelper.new | ||
7 | + end | ||
8 | + attr_reader :helper | ||
9 | + | ||
10 | + should 'provide ISO-3166 list of countries' do | ||
11 | + assert_kind_of Array, CountriesHelper.countries | ||
12 | + | ||
13 | + # test some familiar countries and trust the rest is OK. | ||
14 | + assert CountriesHelper.countries.any? { |entry| entry.first == 'Brazil' } | ||
15 | + assert CountriesHelper.countries.any? { |entry| entry.first == 'France' } | ||
16 | + assert CountriesHelper.countries.any? { |entry| entry.first == 'Switzerland' } | ||
17 | + end | ||
18 | + | ||
19 | + should 'translate country names' do | ||
20 | + CountriesHelper.stubs(:countries).returns([["Brazil", "BR"],["France", "FR"]]) | ||
21 | + helper.expects(:gettext).with("Brazil").returns("Brasil") | ||
22 | + helper.expects(:gettext).with("France").returns("França") | ||
23 | + assert_equal [["Brasil", "BR"], ["França", "FR"]], helper.countries | ||
24 | + end | ||
25 | + | ||
26 | + should 'sort alphabetically by the translated names' do | ||
27 | + CountriesHelper.stubs(:countries).returns([["Brazil", "BR"], ["Argentina", "AR"]]) | ||
28 | + assert_equal [["Argentina", "AR"], ["Brazil", "BR"]], helper.countries | ||
29 | + end | ||
30 | + | ||
31 | + should 'sort respecting utf-8 ordering (or something like that)' do | ||
32 | + CountriesHelper.stubs(:countries).returns([["Brazil", "BR"], ["Åland Islands", "AX"]]) | ||
33 | + assert_equal [["Åland Islands", "AX"], ["Brazil", "BR"]], helper.countries | ||
34 | + end | ||
35 | + | ||
36 | +end |
test/unit/string_core_ext_test.rb
@@ -26,7 +26,7 @@ class StringCoreExtTest < Test::Unit::TestCase | @@ -26,7 +26,7 @@ class StringCoreExtTest < Test::Unit::TestCase | ||
26 | 26 | ||
27 | # tests for String#transliterate | 27 | # tests for String#transliterate |
28 | should 'transliterate' do | 28 | should 'transliterate' do |
29 | - assert_equal 'eeeeEEOOoocaaaiIIiuuyYnN', 'éèëêÊËÖÔöôçäàâîÏÎïûüÿŸñÑ'.transliterate | 29 | + assert_equal 'aaaaaaAAAAAeeeeEEOOoocaaaiIIiuuyYnNcC', 'ªáàäâåÁÀÄÂÅéèëêÊËÖÔöôçäàâîÏÎïûüÿŸñÑçÇ'.transliterate |
30 | end | 30 | end |
31 | 31 | ||
32 | end | 32 | end |