Ticket #3847: fi_localflavor_unicode.diff

File fi_localflavor_unicode.diff, 35.1 KB (added by Ville Säävuori <Ville@…>, 17 years ago)

A better patch (hopefully). This time with unicode strings.

  • django/contrib/localflavor/fi/fi_municipalities.py

     
     1# -*- coding: utf-8 -*-
     2"""
     3An alphabetical list of Finnish municipalities for use as `choices` in a
     4formfield.
     5
     6This exists in this standalone file so that it's only imported into memory
     7when explicitly needed.
     8"""
     9
     10MUNICIPALITY_CHOICES = (
     11    ('akaa', u"Akaa"),
     12    ('alaharma', u"Alahärmä"),
     13    ('alajarvi', u"Alajärvi"),
     14    ('alastaro', u"Alastaro"),
     15    ('alavieska', u"Alavieska"),
     16    ('alavus', u"Alavus"),
     17    ('anjalankoski', u"Anjalankoski"),
     18    ('artjarvi', u"Artjärvi"),
     19    ('asikkala', u"Asikkala"),
     20    ('askainen', u"Askainen"),
     21    ('askola', u"Askola"),
     22    ('aura', u"Aura"),
     23    ('brando', u"Brändö"),
     24    ('dragsfjard', u"Dragsfjärd"),
     25    ('eckero', u"Eckerö"),
     26    ('elimaki', u"Elimäki"),
     27    ('eno', u"Eno"),
     28    ('enonkoski', u"Enonkoski"),
     29    ('enontekio', u"Enontekiö"),
     30    ('espoo', u"Espoo"),
     31    ('eura', u"Eura"),
     32    ('eurajoki', u"Eurajoki"),
     33    ('evijarvi', u"Evijärvi"),
     34    ('finstrom', u"Finström"),
     35    ('forssa', u"Forssa"),
     36    ('foglo', u"Föglö"),
     37    ('geta', u"Geta"),
     38    ('haapajarvi', u"Haapajärvi"),
     39    ('haapavesi', u"Haapavesi"),
     40    ('hailuoto', u"Hailuoto"),
     41    ('halikko', u"Halikko"),
     42    ('halsua', u"Halsua"),
     43    ('hamina', u"Hamina"),
     44    ('hammarland', u"Hammarland"),
     45    ('hankasalmi', u"Hankasalmi"),
     46    ('hanko', u"Hanko"),
     47    ('harjavalta', u"Harjavalta"),
     48    ('hartola', u"Hartola"),
     49    ('hattula', u"Hattula"),
     50    ('hauho', u"Hauho"),
     51    ('haukipudas', u"Haukipudas"),
     52    ('hausjarvi', u"Hausjärvi"),
     53    ('heinola', u"Heinola"),
     54    ('heinavesi', u"Heinävesi"),
     55    ('helsinki', u"Helsinki"),
     56    ('himanka', u"Himanka"),
     57    ('hirvensalmi', u"Hirvensalmi"),
     58    ('hollola', u"Hollola"),
     59    ('honkajoki', u"Honkajoki"),
     60    ('houtskari', u"Houtskari"),
     61    ('huittinen', u"Huittinen"),
     62    ('humppila', u"Humppila"),
     63    ('hyrynsalmi', u"Hyrynsalmi"),
     64    ('hyvinkaa', u"Hyvinkää"),
     65    ('hameenkoski', u"Hämeenkoski"),
     66    ('hameenkyro', u"Hämeenkyrö"),
     67    ('hameenlinna', u"Hämeenlinna"),
     68    ('ii', u"Ii"),
     69    ('iisalmi', u"Iisalmi"),
     70    ('iitti', u"Iitti"),
     71    ('ikaalinen', u"Ikaalinen"),
     72    ('ilmajoki', u"Ilmajoki"),
     73    ('ilomantsi', u"Ilomantsi"),
     74    ('imatra', u"Imatra"),
     75    ('inari', u"Inari"),
     76    ('inio', u"Iniö"),
     77    ('inkoo', u"Inkoo"),
     78    ('isojoki', u"Isojoki"),
     79    ('isokyro', u"Isokyrö"),
     80    ('jaala', u"Jaala"),
     81    ('jalasjarvi', u"Jalasjärvi"),
     82    ('janakkala', u"Janakkala"),
     83    ('joensuu', u"Joensuu"),
     84    ('jokioinen', u"Jokioinen"),
     85    ('jomala', u"Jomala"),
     86    ('joroinen', u"Joroinen"),
     87    ('joutsa', u"Joutsa"),
     88    ('joutseno', u"Joutseno"),
     89    ('juankoski', u"Juankoski"),
     90    ('jurva', u"Jurva"),
     91    ('juuka', u"Juuka"),
     92    ('juupajoki', u"Juupajoki"),
     93    ('juva', u"Juva"),
     94    ('jyvaskyla', u"Jyväskylä"),
     95    ('jyvaskylan_mlk', u"Jyväskylän maalaiskunta"),
     96    ('jamijarvi', u"Jämijärvi"),
     97    ('jamsa', u"Jämsä"),
     98    ('jamsankoski', u"Jämsänkoski"),
     99    ('jarvenpaa', u"Järvenpää"),
     100    ('kaarina', u"Kaarina"),
     101    ('kaavi', u"Kaavi"),
     102    ('kajaani', u"Kajaani"),
     103    ('kalajoki', u"Kalajoki"),
     104    ('kalvola', u"Kalvola"),
     105    ('kangasala', u"Kangasala"),
     106    ('kangasniemi', u"Kangasniemi"),
     107    ('kankaanpaa', u"Kankaanpää"),
     108    ('kannonkoski', u"Kannonkoski"),
     109    ('kannus', u"Kannus"),
     110    ('karijoki', u"Karijoki"),
     111    ('karjaa', u"Karjaa"),
     112    ('karjalohja', u"Karjalohja"),
     113    ('karkkila', u"Karkkila"),
     114    ('karstula', u"Karstula"),
     115    ('karttula', u"Karttula"),
     116    ('karvia', u"Karvia"),
     117    ('kaskinen', u"Kaskinen"),
     118    ('kauhajoki', u"Kauhajoki"),
     119    ('kauhava', u"Kauhava"),
     120    ('kauniainen', u"Kauniainen"),
     121    ('kaustinen', u"Kaustinen"),
     122    ('keitele', u"Keitele"),
     123    ('kemi', u"Kemi"),
     124    ('kemijarvi', u"Kemijärvi"),
     125    ('keminmaa', u"Keminmaa"),
     126    ('kemio', u"Kemiö"),
     127    ('kempele', u"Kempele"),
     128    ('kerava', u"Kerava"),
     129    ('kerimaki', u"Kerimäki"),
     130    ('kestila', u"Kestilä"),
     131    ('kesalahti', u"Kesälahti"),
     132    ('keuruu', u"Keuruu"),
     133    ('kihnio', u"Kihniö"),
     134    ('kiikala', u"Kiikala"),
     135    ('kiikoinen', u"Kiikoinen"),
     136    ('kiiminki', u"Kiiminki"),
     137    ('kinnula', u"Kinnula"),
     138    ('kirkkonummi', u"Kirkkonummi"),
     139    ('kisko', u"Kisko"),
     140    ('kitee', u"Kitee"),
     141    ('kittila', u"Kittilä"),
     142    ('kiukainen', u"Kiukainen"),
     143    ('kiuruvesi', u"Kiuruvesi"),
     144    ('kivijarvi', u"Kivijärvi"),
     145    ('kokemaki', u"Kokemäki"),
     146    ('kokkola', u"Kokkola"),
     147    ('kolari', u"Kolari"),
     148    ('konnevesi', u"Konnevesi"),
     149    ('kontiolahti', u"Kontiolahti"),
     150    ('korpilahti', u"Korpilahti"),
     151    ('korppoo', u"Korppoo"),
     152    ('korsnas', u"Korsnäs"),
     153    ('kortesjarvi', u"Kortesjärvi"),
     154    ('koskitl', u"KoskiTl"),
     155    ('kotka', u"Kotka"),
     156    ('kouvola', u"Kouvola"),
     157    ('kristiinankaupunki', u"Kristiinankaupunki"),
     158    ('kruunupyy', u"Kruunupyy"),
     159    ('kuhmalahti', u"Kuhmalahti"),
     160    ('kuhmo', u"Kuhmo"),
     161    ('kuhmoinen', u"Kuhmoinen"),
     162    ('kumlinge', u"Kumlinge"),
     163    ('kuopio', u"Kuopio"),
     164    ('kuortane', u"Kuortane"),
     165    ('kurikka', u"Kurikka"),
     166    ('kuru', u"Kuru"),
     167    ('kustavi', u"Kustavi"),
     168    ('kuusamo', u"Kuusamo"),
     169    ('kuusankoski', u"Kuusankoski"),
     170    ('kuusjoki', u"Kuusjoki"),
     171    ('kylmakoski', u"Kylmäkoski"),
     172    ('kyyjarvi', u"Kyyjärvi"),
     173    ('kalvia', u"Kälviä"),
     174    ('karkola', u"Kärkölä"),
     175    ('karsamaki', u"Kärsämäki"),
     176    ('kokar', u"Kökar"),
     177    ('koylio', u"Köyliö"),
     178    ('lahti', u"Lahti"),
     179    ('laihia', u"Laihia"),
     180    ('laitila', u"Laitila"),
     181    ('lammi', u"Lammi"),
     182    ('lapinjarvi', u"Lapinjärvi"),
     183    ('lapinlahti', u"Lapinlahti"),
     184    ('lappajarvi', u"Lappajärvi"),
     185    ('lappeenranta', u"Lappeenranta"),
     186    ('lappi', u"Lappi"),
     187    ('lapua', u"Lapua"),
     188    ('laukaa', u"Laukaa"),
     189    ('lavia', u"Lavia"),
     190    ('lehtimaki', u"Lehtimäki"),
     191    ('leivonmaki', u"Leivonmäki"),
     192    ('lemi', u"Lemi"),
     193    ('lemland', u"Lemland"),
     194    ('lempaala', u"Lempäälä"),
     195    ('lemu', u"Lemu"),
     196    ('leppavirta', u"Leppävirta"),
     197    ('lestijarvi', u"Lestijärvi"),
     198    ('lieksa', u"Lieksa"),
     199    ('lieto', u"Lieto"),
     200    ('liljendal', u"Liljendal"),
     201    ('liminka', u"Liminka"),
     202    ('liperi', u"Liperi"),
     203    ('lohja', u"Lohja"),
     204    ('lohtaja', u"Lohtaja"),
     205    ('loimaa', u"Loimaa"),
     206    ('loppi', u"Loppi"),
     207    ('loviisa', u"Loviisa"),
     208    ('luhanka', u"Luhanka"),
     209    ('lumijoki', u"Lumijoki"),
     210    ('lumparland', u"Lumparland"),
     211    ('luoto', u"Luoto"),
     212    ('luumaki', u"Luumäki"),
     213    ('luvia', u"Luvia"),
     214    ('maalahti', u"Maalahti"),
     215    ('maaninka', u"Maaninka"),
     216    ('maarianhamina', u"Maarianhamina"),
     217    ('marttila', u"Marttila"),
     218    ('masku', u"Masku"),
     219    ('mellila', u"Mellilä"),
     220    ('merijarvi', u"Merijärvi"),
     221    ('merikarvia', u"Merikarvia"),
     222    ('merimasku', u"Merimasku"),
     223    ('miehikkala', u"Miehikkälä"),
     224    ('mikkeli', u"Mikkeli"),
     225    ('mouhijarvi', u"Mouhijärvi"),
     226    ('muhos', u"Muhos"),
     227    ('multia', u"Multia"),
     228    ('muonio', u"Muonio"),
     229    ('mustasaari', u"Mustasaari"),
     230    ('muurame', u"Muurame"),
     231    ('muurla', u"Muurla"),
     232    ('mynamaki', u"Mynämäki"),
     233    ('myrskyla', u"Myrskylä"),
     234    ('mantsala', u"Mäntsälä"),
     235    ('mantta', u"Mänttä"),
     236    ('mantyharju', u"Mäntyharju"),
     237    ('naantali', u"Naantali"),
     238    ('nakkila', u"Nakkila"),
     239    ('nastola', u"Nastola"),
     240    ('nauvo', u"Nauvo"),
     241    ('nilsia', u"Nilsiä"),
     242    ('nivala', u"Nivala"),
     243    ('nokia', u"Nokia"),
     244    ('noormarkku', u"Noormarkku"),
     245    ('nousiainen', u"Nousiainen"),
     246    ('nummi-pusula', u"Nummi-Pusula"),
     247    ('nurmes', u"Nurmes"),
     248    ('nurmijarvi', u"Nurmijärvi"),
     249    ('nurmo', u"Nurmo"),
     250    ('narpio', u"Närpiö"),
     251    ('oravainen', u"Oravainen"),
     252    ('orimattila', u"Orimattila"),
     253    ('oripaa', u"Oripää"),
     254    ('orivesi', u"Orivesi"),
     255    ('oulainen', u"Oulainen"),
     256    ('oulu', u"Oulu"),
     257    ('oulunsalo', u"Oulunsalo"),
     258    ('outokumpu', u"Outokumpu"),
     259    ('padasjoki', u"Padasjoki"),
     260    ('paimio', u"Paimio"),
     261    ('paltamo', u"Paltamo"),
     262    ('parainen', u"Parainen"),
     263    ('parikkala', u"Parikkala"),
     264    ('parkano', u"Parkano"),
     265    ('pedersore', u"Pedersöre"),
     266    ('pelkosenniemi', u"Pelkosenniemi"),
     267    ('pello', u"Pello"),
     268    ('perho', u"Perho"),
     269    ('pernaja', u"Pernaja"),
     270    ('pernio', u"Perniö"),
     271    ('pertteli', u"Pertteli"),
     272    ('pertunmaa', u"Pertunmaa"),
     273    ('petajavesi', u"Petäjävesi"),
     274    ('pieksamaki', u"Pieksämäki"),
     275    ('pielavesi', u"Pielavesi"),
     276    ('pietarsaari', u"Pietarsaari"),
     277    ('pihtipudas', u"Pihtipudas"),
     278    ('piikkio', u"Piikkiö"),
     279    ('piippola', u"Piippola"),
     280    ('pirkkala', u"Pirkkala"),
     281    ('pohja', u"Pohja"),
     282    ('polvijarvi', u"Polvijärvi"),
     283    ('pomarkku', u"Pomarkku"),
     284    ('pori', u"Pori"),
     285    ('pornainen', u"Pornainen"),
     286    ('porvoo', u"Porvoo"),
     287    ('posio', u"Posio"),
     288    ('pudasjarvi', u"Pudasjärvi"),
     289    ('pukkila', u"Pukkila"),
     290    ('pulkkila', u"Pulkkila"),
     291    ('punkaharju', u"Punkaharju"),
     292    ('punkalaidun', u"Punkalaidun"),
     293    ('puolanka', u"Puolanka"),
     294    ('puumala', u"Puumala"),
     295    ('pyhtaa', u"Pyhtää"),
     296    ('pyhajoki', u"Pyhäjoki"),
     297    ('pyhajarvi', u"Pyhäjärvi"),
     298    ('pyhanta', u"Pyhäntä"),
     299    ('pyharanta', u"Pyhäranta"),
     300    ('pyhaselka', u"Pyhäselkä"),
     301    ('pylkonmaki', u"Pylkönmäki"),
     302    ('palkane', u"Pälkäne"),
     303    ('poytya', u"Pöytyä"),
     304    ('raahe', u"Raahe"),
     305    ('raisio', u"Raisio"),
     306    ('rantasalmi', u"Rantasalmi"),
     307    ('rantsila', u"Rantsila"),
     308    ('ranua', u"Ranua"),
     309    ('rauma', u"Rauma"),
     310    ('rautalampi', u"Rautalampi"),
     311    ('rautavaara', u"Rautavaara"),
     312    ('rautjarvi', u"Rautjärvi"),
     313    ('reisjarvi', u"Reisjärvi"),
     314    ('renko', u"Renko"),
     315    ('riihimaki', u"Riihimäki"),
     316    ('ristiina', u"Ristiina"),
     317    ('ristijarvi', u"Ristijärvi"),
     318    ('rovaniemi', u"Rovaniemi"),
     319    ('ruokolahti', u"Ruokolahti"),
     320    ('ruotsinpyhtaa', u"Ruotsinpyhtää"),
     321    ('ruovesi', u"Ruovesi"),
     322    ('rusko', u"Rusko"),
     323    ('rymattyla', u"Rymättylä"),
     324    ('raakkyla', u"Rääkkylä"),
     325    ('saarijarvi', u"Saarijärvi"),
     326    ('salla', u"Salla"),
     327    ('salo', u"Salo"),
     328    ('saltvik', u"Saltvik"),
     329    ('sammatti', u"Sammatti"),
     330    ('sauvo', u"Sauvo"),
     331    ('savitaipale', u"Savitaipale"),
     332    ('savonlinna', u"Savonlinna"),
     333    ('savonranta', u"Savonranta"),
     334    ('savukoski', u"Savukoski"),
     335    ('seinajoki', u"Seinäjoki"),
     336    ('sievi', u"Sievi"),
     337    ('siikainen', u"Siikainen"),
     338    ('siikajoki', u"Siikajoki"),
     339    ('siilinjarvi', u"Siilinjärvi"),
     340    ('simo', u"Simo"),
     341    ('sipoo', u"Sipoo"),
     342    ('siuntio', u"Siuntio"),
     343    ('sodankyla', u"Sodankylä"),
     344    ('soini', u"Soini"),
     345    ('somero', u"Somero"),
     346    ('sonkajarvi', u"Sonkajärvi"),
     347    ('sotkamo', u"Sotkamo"),
     348    ('sottunga', u"Sottunga"),
     349    ('sulkava', u"Sulkava"),
     350    ('sund', u"Sund"),
     351    ('suomenniemi', u"Suomenniemi"),
     352    ('suomusjarvi', u"Suomusjärvi"),
     353    ('suomussalmi', u"Suomussalmi"),
     354    ('suonenjoki', u"Suonenjoki"),
     355    ('sysma', u"Sysmä"),
     356    ('sakyla', u"Säkylä"),
     357    ('sarkisalo', u"Särkisalo"),
     358    ('taipalsaari', u"Taipalsaari"),
     359    ('taivalkoski', u"Taivalkoski"),
     360    ('taivassalo', u"Taivassalo"),
     361    ('tammela', u"Tammela"),
     362    ('tammisaari', u"Tammisaari"),
     363    ('tampere', u"Tampere"),
     364    ('tarvasjoki', u"Tarvasjoki"),
     365    ('tervo', u"Tervo"),
     366    ('tervola', u"Tervola"),
     367    ('teuva', u"Teuva"),
     368    ('tohmajarvi', u"Tohmajärvi"),
     369    ('toholampi', u"Toholampi"),
     370    ('toivakka', u"Toivakka"),
     371    ('tornio', u"Tornio"),
     372    ('turku', u"Turku"),
     373    ('tuulos', u"Tuulos"),
     374    ('tuusniemi', u"Tuusniemi"),
     375    ('tuusula', u"Tuusula"),
     376    ('tyrnava', u"Tyrnävä"),
     377    ('toysa', u"Töysä"),
     378    ('ullava', u"Ullava"),
     379    ('ulvila', u"Ulvila"),
     380    ('urjala', u"Urjala"),
     381    ('utajarvi', u"Utajärvi"),
     382    ('utsjoki', u"Utsjoki"),
     383    ('uurainen', u"Uurainen"),
     384    ('uusikaarlepyy', u"Uusikaarlepyy"),
     385    ('uusikaupunki', u"Uusikaupunki"),
     386    ('vaala', u"Vaala"),
     387    ('vaasa', u"Vaasa"),
     388    ('vahto', u"Vahto"),
     389    ('valkeakoski', u"Valkeakoski"),
     390    ('valkeala', u"Valkeala"),
     391    ('valtimo', u"Valtimo"),
     392    ('vammala', u"Vammala"),
     393    ('vampula', u"Vampula"),
     394    ('vantaa', u"Vantaa"),
     395    ('varkaus', u"Varkaus"),
     396    ('varpaisjarvi', u"Varpaisjärvi"),
     397    ('vehmaa', u"Vehmaa"),
     398    ('velkua', u"Velkua"),
     399    ('vesanto', u"Vesanto"),
     400    ('vesilahti', u"Vesilahti"),
     401    ('veteli', u"Veteli"),
     402    ('vierema', u"Vieremä"),
     403    ('vihanti', u"Vihanti"),
     404    ('vihti', u"Vihti"),
     405    ('viitasaari', u"Viitasaari"),
     406    ('vilppula', u"Vilppula"),
     407    ('vimpeli', u"Vimpeli"),
     408    ('virolahti', u"Virolahti"),
     409    ('virrat', u"Virrat"),
     410    ('vardo', u"Vårdö"),
     411    ('vahakyro', u"Vähäkyrö"),
     412    ('vastanfjard', u"Västanfjärd"),
     413    ('voyri-maksamaa', u"Vöyri-Maksamaa"),
     414    ('yliharma', u"Ylihärmä"),
     415    ('yli-ii', u"Yli-Ii"),
     416    ('ylikiiminki', u"Ylikiiminki"),
     417    ('ylistaro', u"Ylistaro"),
     418    ('ylitornio', u"Ylitornio"),
     419    ('ylivieska', u"Ylivieska"),
     420    ('ylamaa', u"Ylämaa"),
     421    ('ylane', u"Yläne"),
     422    ('ylojarvi', u"Ylöjärvi"),
     423    ('ypaja', u"Ypäjä"),
     424    ('aetsa', u"Äetsä"),
     425    ('ahtari', u"Ähtäri"),
     426    ('aanekoski', u"Äänekoski")
     427)
     428 No newline at end of file
  • django/contrib/localflavor/fi/forms.py

     
     1"""
     2FI-specific Form helpers
     3"""
     4
     5from django.newforms import ValidationError
     6from django.newforms.fields import RegexField, Select
     7from django.utils.translation import gettext
     8
     9class FIZipCodeField(RegexField):
     10    def __init__(self, *args, **kwargs):
     11        super(FIZipCodeField, self).__init__(r'^\d{5}$',
     12            max_length=None, min_length=None,
     13            error_message=gettext(u'Enter a zip code in the format XXXXX.'),
     14            *args, **kwargs)
     15
     16class FIMunicipalitySelect(Select):
     17    """
     18    A Select widget that uses a list of Finnish municipalities as its choices.
     19    """
     20    def __init__(self, attrs=None):
     21        from fi_municipalities import MUNICIPALITY_CHOICES # relative import
     22        super(FIMunicipalitySelect, self).__init__(attrs, choices=MUNICIPALITY_CHOICES)
  • tests/regressiontests/forms/tests.py

     
    38783878<option value="okinawa">Okinawa</option>
    38793879</select>
    38803880
     3881# FIZipCodeField #############################################################
    38813882
     3883FIZipCodeField validates that the data is a valid FI zipcode.
     3884>>> from django.contrib.localflavor.fi.forms import FIZipCodeField
     3885>>> f = FIZipCodeField()
     3886>>> f.clean('20540')
     3887u'20540'
     3888>>> f.clean('20101')
     3889u'20101'
     3890>>> f.clean('20s40')
     3891Traceback (most recent call last):
     3892...
     3893ValidationError: [u'Enter a zip code in the format XXXXX.']
     3894>>> f.clean('205401')
     3895Traceback (most recent call last):
     3896...
     3897ValidationError: [u'Enter a zip code in the format XXXXX.']
     3898>>> f.clean(None)
     3899Traceback (most recent call last):
     3900...
     3901ValidationError: [u'This field is required.']
     3902>>> f.clean('')
     3903Traceback (most recent call last):
     3904...
     3905ValidationError: [u'This field is required.']
     3906
     3907>>> f = FIZipCodeField(required=False)
     3908>>> f.clean('20540')
     3909u'20540'
     3910>>> f.clean('20101')
     3911u'20101'
     3912>>> f.clean('20s40')
     3913Traceback (most recent call last):
     3914...
     3915ValidationError: [u'Enter a zip code in the format XXXXX.']
     3916>>> f.clean('205401')
     3917Traceback (most recent call last):
     3918...
     3919ValidationError: [u'Enter a zip code in the format XXXXX.']
     3920>>> f.clean(None)
     3921u''
     3922>>> f.clean('')
     3923u''
     3924
     3925# FIMunicipalitySelect ###############################################################
     3926
     3927A Select widget that uses a list of Finnish municipalities as its choices.
     3928>>> from django.contrib.localflavor.fi.forms import FIMunicipalitySelect
     3929>>> w = FIMunicipalitySelect()
     3930>>> unicode(w.render('municipalities', 'turku'))
     3931u'<select name="municipalities">\n<option value="akaa">Akaa</option>\n<option value="alaharma">Alah\xe4rm\xe4</option>\n<option value="alajarvi">Alaj\xe4rvi</option>\n<option value="alastaro">Alastaro</option>\n<option value="alavieska">Alavieska</option>\n<option value="alavus">Alavus</option>\n<option value="anjalankoski">Anjalankoski</option>\n<option value="artjarvi">Artj\xe4rvi</option>\n<option value="asikkala">Asikkala</option>\n<option value="askainen">Askainen</option>\n<option value="askola">Askola</option>\n<option value="aura">Aura</option>\n<option value="brando">Br\xe4nd\xf6</option>\n<option value="dragsfjard">Dragsfj\xe4rd</option>\n<option value="eckero">Ecker\xf6</option>\n<option value="elimaki">Elim\xe4ki</option>\n<option value="eno">Eno</option>\n<option value="enonkoski">Enonkoski</option>\n<option value="enontekio">Enonteki\xf6</option>\n<option value="espoo">Espoo</option>\n<option value="eura">Eura</option>\n<option value="eurajoki">Eurajoki</option>\n<option value="evijarvi">Evij\xe4rvi</option>\n<option value="finstrom">Finstr\xf6m</option>\n<option value="forssa">Forssa</option>\n<option value="foglo">F\xf6gl\xf6</option>\n<option value="geta">Geta</option>\n<option value="haapajarvi">Haapaj\xe4rvi</option>\n<option value="haapavesi">Haapavesi</option>\n<option value="hailuoto">Hailuoto</option>\n<option value="halikko">Halikko</option>\n<option value="halsua">Halsua</option>\n<option value="hamina">Hamina</option>\n<option value="hammarland">Hammarland</option>\n<option value="hankasalmi">Hankasalmi</option>\n<option value="hanko">Hanko</option>\n<option value="harjavalta">Harjavalta</option>\n<option value="hartola">Hartola</option>\n<option value="hattula">Hattula</option>\n<option value="hauho">Hauho</option>\n<option value="haukipudas">Haukipudas</option>\n<option value="hausjarvi">Hausj\xe4rvi</option>\n<option value="heinola">Heinola</option>\n<option value="heinavesi">Hein\xe4vesi</option>\n<option value="helsinki">Helsinki</option>\n<option value="himanka">Himanka</option>\n<option value="hirvensalmi">Hirvensalmi</option>\n<option value="hollola">Hollola</option>\n<option value="honkajoki">Honkajoki</option>\n<option value="houtskari">Houtskari</option>\n<option value="huittinen">Huittinen</option>\n<option value="humppila">Humppila</option>\n<option value="hyrynsalmi">Hyrynsalmi</option>\n<option value="hyvinkaa">Hyvink\xe4\xe4</option>\n<option value="hameenkoski">H\xe4meenkoski</option>\n<option value="hameenkyro">H\xe4meenkyr\xf6</option>\n<option value="hameenlinna">H\xe4meenlinna</option>\n<option value="ii">Ii</option>\n<option value="iisalmi">Iisalmi</option>\n<option value="iitti">Iitti</option>\n<option value="ikaalinen">Ikaalinen</option>\n<option value="ilmajoki">Ilmajoki</option>\n<option value="ilomantsi">Ilomantsi</option>\n<option value="imatra">Imatra</option>\n<option value="inari">Inari</option>\n<option value="inio">Ini\xf6</option>\n<option value="inkoo">Inkoo</option>\n<option value="isojoki">Isojoki</option>\n<option value="isokyro">Isokyr\xf6</option>\n<option value="jaala">Jaala</option>\n<option value="jalasjarvi">Jalasj\xe4rvi</option>\n<option value="janakkala">Janakkala</option>\n<option value="joensuu">Joensuu</option>\n<option value="jokioinen">Jokioinen</option>\n<option value="jomala">Jomala</option>\n<option value="joroinen">Joroinen</option>\n<option value="joutsa">Joutsa</option>\n<option value="joutseno">Joutseno</option>\n<option value="juankoski">Juankoski</option>\n<option value="jurva">Jurva</option>\n<option value="juuka">Juuka</option>\n<option value="juupajoki">Juupajoki</option>\n<option value="juva">Juva</option>\n<option value="jyvaskyla">Jyv\xe4skyl\xe4</option>\n<option value="jyvaskylan_mlk">Jyv\xe4skyl\xe4n maalaiskunta</option>\n<option value="jamijarvi">J\xe4mij\xe4rvi</option>\n<option value="jamsa">J\xe4ms\xe4</option>\n<option value="jamsankoski">J\xe4ms\xe4nkoski</option>\n<option value="jarvenpaa">J\xe4rvenp\xe4\xe4</option>\n<option value="kaarina">Kaarina</option>\n<option value="kaavi">Kaavi</option>\n<option value="kajaani">Kajaani</option>\n<option value="kalajoki">Kalajoki</option>\n<option value="kalvola">Kalvola</option>\n<option value="kangasala">Kangasala</option>\n<option value="kangasniemi">Kangasniemi</option>\n<option value="kankaanpaa">Kankaanp\xe4\xe4</option>\n<option value="kannonkoski">Kannonkoski</option>\n<option value="kannus">Kannus</option>\n<option value="karijoki">Karijoki</option>\n<option value="karjaa">Karjaa</option>\n<option value="karjalohja">Karjalohja</option>\n<option value="karkkila">Karkkila</option>\n<option value="karstula">Karstula</option>\n<option value="karttula">Karttula</option>\n<option value="karvia">Karvia</option>\n<option value="kaskinen">Kaskinen</option>\n<option value="kauhajoki">Kauhajoki</option>\n<option value="kauhava">Kauhava</option>\n<option value="kauniainen">Kauniainen</option>\n<option value="kaustinen">Kaustinen</option>\n<option value="keitele">Keitele</option>\n<option value="kemi">Kemi</option>\n<option value="kemijarvi">Kemij\xe4rvi</option>\n<option value="keminmaa">Keminmaa</option>\n<option value="kemio">Kemi\xf6</option>\n<option value="kempele">Kempele</option>\n<option value="kerava">Kerava</option>\n<option value="kerimaki">Kerim\xe4ki</option>\n<option value="kestila">Kestil\xe4</option>\n<option value="kesalahti">Kes\xe4lahti</option>\n<option value="keuruu">Keuruu</option>\n<option value="kihnio">Kihni\xf6</option>\n<option value="kiikala">Kiikala</option>\n<option value="kiikoinen">Kiikoinen</option>\n<option value="kiiminki">Kiiminki</option>\n<option value="kinnula">Kinnula</option>\n<option value="kirkkonummi">Kirkkonummi</option>\n<option value="kisko">Kisko</option>\n<option value="kitee">Kitee</option>\n<option value="kittila">Kittil\xe4</option>\n<option value="kiukainen">Kiukainen</option>\n<option value="kiuruvesi">Kiuruvesi</option>\n<option value="kivijarvi">Kivij\xe4rvi</option>\n<option value="kokemaki">Kokem\xe4ki</option>\n<option value="kokkola">Kokkola</option>\n<option value="kolari">Kolari</option>\n<option value="konnevesi">Konnevesi</option>\n<option value="kontiolahti">Kontiolahti</option>\n<option value="korpilahti">Korpilahti</option>\n<option value="korppoo">Korppoo</option>\n<option value="korsnas">Korsn\xe4s</option>\n<option value="kortesjarvi">Kortesj\xe4rvi</option>\n<option value="koskitl">KoskiTl</option>\n<option value="kotka">Kotka</option>\n<option value="kouvola">Kouvola</option>\n<option value="kristiinankaupunki">Kristiinankaupunki</option>\n<option value="kruunupyy">Kruunupyy</option>\n<option value="kuhmalahti">Kuhmalahti</option>\n<option value="kuhmo">Kuhmo</option>\n<option value="kuhmoinen">Kuhmoinen</option>\n<option value="kumlinge">Kumlinge</option>\n<option value="kuopio">Kuopio</option>\n<option value="kuortane">Kuortane</option>\n<option value="kurikka">Kurikka</option>\n<option value="kuru">Kuru</option>\n<option value="kustavi">Kustavi</option>\n<option value="kuusamo">Kuusamo</option>\n<option value="kuusankoski">Kuusankoski</option>\n<option value="kuusjoki">Kuusjoki</option>\n<option value="kylmakoski">Kylm\xe4koski</option>\n<option value="kyyjarvi">Kyyj\xe4rvi</option>\n<option value="kalvia">K\xe4lvi\xe4</option>\n<option value="karkola">K\xe4rk\xf6l\xe4</option>\n<option value="karsamaki">K\xe4rs\xe4m\xe4ki</option>\n<option value="kokar">K\xf6kar</option>\n<option value="koylio">K\xf6yli\xf6</option>\n<option value="lahti">Lahti</option>\n<option value="laihia">Laihia</option>\n<option value="laitila">Laitila</option>\n<option value="lammi">Lammi</option>\n<option value="lapinjarvi">Lapinj\xe4rvi</option>\n<option value="lapinlahti">Lapinlahti</option>\n<option value="lappajarvi">Lappaj\xe4rvi</option>\n<option value="lappeenranta">Lappeenranta</option>\n<option value="lappi">Lappi</option>\n<option value="lapua">Lapua</option>\n<option value="laukaa">Laukaa</option>\n<option value="lavia">Lavia</option>\n<option value="lehtimaki">Lehtim\xe4ki</option>\n<option value="leivonmaki">Leivonm\xe4ki</option>\n<option value="lemi">Lemi</option>\n<option value="lemland">Lemland</option>\n<option value="lempaala">Lemp\xe4\xe4l\xe4</option>\n<option value="lemu">Lemu</option>\n<option value="leppavirta">Lepp\xe4virta</option>\n<option value="lestijarvi">Lestij\xe4rvi</option>\n<option value="lieksa">Lieksa</option>\n<option value="lieto">Lieto</option>\n<option value="liljendal">Liljendal</option>\n<option value="liminka">Liminka</option>\n<option value="liperi">Liperi</option>\n<option value="lohja">Lohja</option>\n<option value="lohtaja">Lohtaja</option>\n<option value="loimaa">Loimaa</option>\n<option value="loppi">Loppi</option>\n<option value="loviisa">Loviisa</option>\n<option value="luhanka">Luhanka</option>\n<option value="lumijoki">Lumijoki</option>\n<option value="lumparland">Lumparland</option>\n<option value="luoto">Luoto</option>\n<option value="luumaki">Luum\xe4ki</option>\n<option value="luvia">Luvia</option>\n<option value="maalahti">Maalahti</option>\n<option value="maaninka">Maaninka</option>\n<option value="maarianhamina">Maarianhamina</option>\n<option value="marttila">Marttila</option>\n<option value="masku">Masku</option>\n<option value="mellila">Mellil\xe4</option>\n<option value="merijarvi">Merij\xe4rvi</option>\n<option value="merikarvia">Merikarvia</option>\n<option value="merimasku">Merimasku</option>\n<option value="miehikkala">Miehikk\xe4l\xe4</option>\n<option value="mikkeli">Mikkeli</option>\n<option value="mouhijarvi">Mouhij\xe4rvi</option>\n<option value="muhos">Muhos</option>\n<option value="multia">Multia</option>\n<option value="muonio">Muonio</option>\n<option value="mustasaari">Mustasaari</option>\n<option value="muurame">Muurame</option>\n<option value="muurla">Muurla</option>\n<option value="mynamaki">Myn\xe4m\xe4ki</option>\n<option value="myrskyla">Myrskyl\xe4</option>\n<option value="mantsala">M\xe4nts\xe4l\xe4</option>\n<option value="mantta">M\xe4ntt\xe4</option>\n<option value="mantyharju">M\xe4ntyharju</option>\n<option value="naantali">Naantali</option>\n<option value="nakkila">Nakkila</option>\n<option value="nastola">Nastola</option>\n<option value="nauvo">Nauvo</option>\n<option value="nilsia">Nilsi\xe4</option>\n<option value="nivala">Nivala</option>\n<option value="nokia">Nokia</option>\n<option value="noormarkku">Noormarkku</option>\n<option value="nousiainen">Nousiainen</option>\n<option value="nummi-pusula">Nummi-Pusula</option>\n<option value="nurmes">Nurmes</option>\n<option value="nurmijarvi">Nurmij\xe4rvi</option>\n<option value="nurmo">Nurmo</option>\n<option value="narpio">N\xe4rpi\xf6</option>\n<option value="oravainen">Oravainen</option>\n<option value="orimattila">Orimattila</option>\n<option value="oripaa">Orip\xe4\xe4</option>\n<option value="orivesi">Orivesi</option>\n<option value="oulainen">Oulainen</option>\n<option value="oulu">Oulu</option>\n<option value="oulunsalo">Oulunsalo</option>\n<option value="outokumpu">Outokumpu</option>\n<option value="padasjoki">Padasjoki</option>\n<option value="paimio">Paimio</option>\n<option value="paltamo">Paltamo</option>\n<option value="parainen">Parainen</option>\n<option value="parikkala">Parikkala</option>\n<option value="parkano">Parkano</option>\n<option value="pedersore">Peders\xf6re</option>\n<option value="pelkosenniemi">Pelkosenniemi</option>\n<option value="pello">Pello</option>\n<option value="perho">Perho</option>\n<option value="pernaja">Pernaja</option>\n<option value="pernio">Perni\xf6</option>\n<option value="pertteli">Pertteli</option>\n<option value="pertunmaa">Pertunmaa</option>\n<option value="petajavesi">Pet\xe4j\xe4vesi</option>\n<option value="pieksamaki">Pieks\xe4m\xe4ki</option>\n<option value="pielavesi">Pielavesi</option>\n<option value="pietarsaari">Pietarsaari</option>\n<option value="pihtipudas">Pihtipudas</option>\n<option value="piikkio">Piikki\xf6</option>\n<option value="piippola">Piippola</option>\n<option value="pirkkala">Pirkkala</option>\n<option value="pohja">Pohja</option>\n<option value="polvijarvi">Polvij\xe4rvi</option>\n<option value="pomarkku">Pomarkku</option>\n<option value="pori">Pori</option>\n<option value="pornainen">Pornainen</option>\n<option value="porvoo">Porvoo</option>\n<option value="posio">Posio</option>\n<option value="pudasjarvi">Pudasj\xe4rvi</option>\n<option value="pukkila">Pukkila</option>\n<option value="pulkkila">Pulkkila</option>\n<option value="punkaharju">Punkaharju</option>\n<option value="punkalaidun">Punkalaidun</option>\n<option value="puolanka">Puolanka</option>\n<option value="puumala">Puumala</option>\n<option value="pyhtaa">Pyht\xe4\xe4</option>\n<option value="pyhajoki">Pyh\xe4joki</option>\n<option value="pyhajarvi">Pyh\xe4j\xe4rvi</option>\n<option value="pyhanta">Pyh\xe4nt\xe4</option>\n<option value="pyharanta">Pyh\xe4ranta</option>\n<option value="pyhaselka">Pyh\xe4selk\xe4</option>\n<option value="pylkonmaki">Pylk\xf6nm\xe4ki</option>\n<option value="palkane">P\xe4lk\xe4ne</option>\n<option value="poytya">P\xf6yty\xe4</option>\n<option value="raahe">Raahe</option>\n<option value="raisio">Raisio</option>\n<option value="rantasalmi">Rantasalmi</option>\n<option value="rantsila">Rantsila</option>\n<option value="ranua">Ranua</option>\n<option value="rauma">Rauma</option>\n<option value="rautalampi">Rautalampi</option>\n<option value="rautavaara">Rautavaara</option>\n<option value="rautjarvi">Rautj\xe4rvi</option>\n<option value="reisjarvi">Reisj\xe4rvi</option>\n<option value="renko">Renko</option>\n<option value="riihimaki">Riihim\xe4ki</option>\n<option value="ristiina">Ristiina</option>\n<option value="ristijarvi">Ristij\xe4rvi</option>\n<option value="rovaniemi">Rovaniemi</option>\n<option value="ruokolahti">Ruokolahti</option>\n<option value="ruotsinpyhtaa">Ruotsinpyht\xe4\xe4</option>\n<option value="ruovesi">Ruovesi</option>\n<option value="rusko">Rusko</option>\n<option value="rymattyla">Rym\xe4ttyl\xe4</option>\n<option value="raakkyla">R\xe4\xe4kkyl\xe4</option>\n<option value="saarijarvi">Saarij\xe4rvi</option>\n<option value="salla">Salla</option>\n<option value="salo">Salo</option>\n<option value="saltvik">Saltvik</option>\n<option value="sammatti">Sammatti</option>\n<option value="sauvo">Sauvo</option>\n<option value="savitaipale">Savitaipale</option>\n<option value="savonlinna">Savonlinna</option>\n<option value="savonranta">Savonranta</option>\n<option value="savukoski">Savukoski</option>\n<option value="seinajoki">Sein\xe4joki</option>\n<option value="sievi">Sievi</option>\n<option value="siikainen">Siikainen</option>\n<option value="siikajoki">Siikajoki</option>\n<option value="siilinjarvi">Siilinj\xe4rvi</option>\n<option value="simo">Simo</option>\n<option value="sipoo">Sipoo</option>\n<option value="siuntio">Siuntio</option>\n<option value="sodankyla">Sodankyl\xe4</option>\n<option value="soini">Soini</option>\n<option value="somero">Somero</option>\n<option value="sonkajarvi">Sonkaj\xe4rvi</option>\n<option value="sotkamo">Sotkamo</option>\n<option value="sottunga">Sottunga</option>\n<option value="sulkava">Sulkava</option>\n<option value="sund">Sund</option>\n<option value="suomenniemi">Suomenniemi</option>\n<option value="suomusjarvi">Suomusj\xe4rvi</option>\n<option value="suomussalmi">Suomussalmi</option>\n<option value="suonenjoki">Suonenjoki</option>\n<option value="sysma">Sysm\xe4</option>\n<option value="sakyla">S\xe4kyl\xe4</option>\n<option value="sarkisalo">S\xe4rkisalo</option>\n<option value="taipalsaari">Taipalsaari</option>\n<option value="taivalkoski">Taivalkoski</option>\n<option value="taivassalo">Taivassalo</option>\n<option value="tammela">Tammela</option>\n<option value="tammisaari">Tammisaari</option>\n<option value="tampere">Tampere</option>\n<option value="tarvasjoki">Tarvasjoki</option>\n<option value="tervo">Tervo</option>\n<option value="tervola">Tervola</option>\n<option value="teuva">Teuva</option>\n<option value="tohmajarvi">Tohmaj\xe4rvi</option>\n<option value="toholampi">Toholampi</option>\n<option value="toivakka">Toivakka</option>\n<option value="tornio">Tornio</option>\n<option value="turku" selected="selected">Turku</option>\n<option value="tuulos">Tuulos</option>\n<option value="tuusniemi">Tuusniemi</option>\n<option value="tuusula">Tuusula</option>\n<option value="tyrnava">Tyrn\xe4v\xe4</option>\n<option value="toysa">T\xf6ys\xe4</option>\n<option value="ullava">Ullava</option>\n<option value="ulvila">Ulvila</option>\n<option value="urjala">Urjala</option>\n<option value="utajarvi">Utaj\xe4rvi</option>\n<option value="utsjoki">Utsjoki</option>\n<option value="uurainen">Uurainen</option>\n<option value="uusikaarlepyy">Uusikaarlepyy</option>\n<option value="uusikaupunki">Uusikaupunki</option>\n<option value="vaala">Vaala</option>\n<option value="vaasa">Vaasa</option>\n<option value="vahto">Vahto</option>\n<option value="valkeakoski">Valkeakoski</option>\n<option value="valkeala">Valkeala</option>\n<option value="valtimo">Valtimo</option>\n<option value="vammala">Vammala</option>\n<option value="vampula">Vampula</option>\n<option value="vantaa">Vantaa</option>\n<option value="varkaus">Varkaus</option>\n<option value="varpaisjarvi">Varpaisj\xe4rvi</option>\n<option value="vehmaa">Vehmaa</option>\n<option value="velkua">Velkua</option>\n<option value="vesanto">Vesanto</option>\n<option value="vesilahti">Vesilahti</option>\n<option value="veteli">Veteli</option>\n<option value="vierema">Vierem\xe4</option>\n<option value="vihanti">Vihanti</option>\n<option value="vihti">Vihti</option>\n<option value="viitasaari">Viitasaari</option>\n<option value="vilppula">Vilppula</option>\n<option value="vimpeli">Vimpeli</option>\n<option value="virolahti">Virolahti</option>\n<option value="virrat">Virrat</option>\n<option value="vardo">V\xe5rd\xf6</option>\n<option value="vahakyro">V\xe4h\xe4kyr\xf6</option>\n<option value="vastanfjard">V\xe4stanfj\xe4rd</option>\n<option value="voyri-maksamaa">V\xf6yri-Maksamaa</option>\n<option value="yliharma">Ylih\xe4rm\xe4</option>\n<option value="yli-ii">Yli-Ii</option>\n<option value="ylikiiminki">Ylikiiminki</option>\n<option value="ylistaro">Ylistaro</option>\n<option value="ylitornio">Ylitornio</option>\n<option value="ylivieska">Ylivieska</option>\n<option value="ylamaa">Yl\xe4maa</option>\n<option value="ylane">Yl\xe4ne</option>\n<option value="ylojarvi">Yl\xf6j\xe4rvi</option>\n<option value="ypaja">Yp\xe4j\xe4</option>\n<option value="aetsa">\xc4ets\xe4</option>\n<option value="ahtari">\xc4ht\xe4ri</option>\n<option value="aanekoski">\xc4\xe4nekoski</option>\n</select>'
     3932
    38823933#################################
    38833934# Tests of underlying functions #
    38843935#################################
  • AUTHORS

     
    183183    Radek Švarz <http://www.svarz.cz/translate/>
    184184    Swaroop C H <http://www.swaroopch.info>
    185185    Aaron Swartz <http://www.aaronsw.com/>
     186    Ville Säävuori <http://www.unessa.net/>
    186187    Tyson Tate <tyson@fallingbullets.com>
    187188    Tom Tobin
    188189    Joe Topjian <http://joe.terrarum.net/geek/code/python/django/>
Back to Top