"Két híres állatkert van Magyarországon: egy Budapesten és egy Veszprémben."
Translation:There are two famous zoos in Hungary: one in Budapest and one in Veszprém.
By the way, being from Nyíregyháza I strongly disagree with this sentence. If you ever go to Nyíregyháza or travel through the city while heading to more Eastern parts of Europe, I recommend visiting the Nyíregyháza Zoo (also known as Sóstó Zoo). You won't be disappointed. :)
That's quite inconsistent and unfortunately there are no rules at all. [EDIT: After all, there is a rule, see my comment below] Veszprémben, Győrben, Sopronban, Debrecenben, but Budapesten, Miskolcon, Nyíregyházán, Szegeden. Thankfully, as far as I know, this weirdness only happens with towns in Hungary and in neighbouring countries (where many towns have a Hungarian name too). Towns of other countries always get the inessive.
Also, in the case of Pécs and a few other cities there's even a third, archaic suffix in use: Pécsett. But no need to worry, because Pécsen is correct as well.
A little note about countries, while I'm at it: the default is the inessive here as well, the exceptions are islands (Izlandon, Grönlandon, Fülöp-szigeteken) and Hungary itself (Magyarországon).
One last note: when expressing motion, the places that previously took inessive and superessive will take illative and sublative, respectively. So at least there's some consistency.
I found this
Hungarian cities ending in –j, -m, -n, -ny, -i take the suffixes -ba, -be, -ban, ben, -ból, -ből. All other Hungarian cities (more or less) take -ra, -re, -ról, -ről and -on, -en, -ön
I checked this rule with a few towns and it seems correct, yay! :)
It's worth to read the rest of the article too, it explains very well which suffix to use with cities/countries.
Uhh, it's not, I don't know how I made that mistake. I have a vague memory of wanting to put Grönland -> Grönlandon there (well, it's not an independent country, but it's good enough to be an example). Whatever. I corrected it now, thank you.
Thaiföld has the -n suffix because it ends in -föld ("land").
in Swaziland = Szváziföldön
in the Low Countries = Németalföldön
How about Málta? Is it "Máltára" because it is an island? I wonder...
Yeah, that must be it. Let's see a few islands, without any land or island in their names:
Málta, Korzika, Szardínia, Ciprus, Kréta, Madagaszkár, OK.
But the rule does not stick to:
Kuba, Nagy-Britannia, Japán, etc.
So all we can say is be cautious with the names of islands.