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 |