In my django settings.py file, I have six active languages:

```
LANGUAGES = (
('de', gettext_noop('German')),
('en', gettext_noop('English')),
('es', gettext_noop('Spanish')),
('fr', gettext_noop('French')),
('nl', gettext_noop('Dutch')),
('pt', gettext_noop('Portuguese')),
)

```

These pages work great when using i18n patterns:

```
 http://exmaple.com/de/main
 http://exmaple.com/nl/main
 etc...

```

However, if you search my site in Google, you'll see multiple pages for language prefixes. Some for languages that I don't support. Some of which don't even exist:

```
http://examble.com/ch/main
http://exmaple.com/zz/main
etc..

```

I'm not sure why these pages are getting indexed. They aren't in my sitemap. However, Django does serve them as pages.

Question, what is the best way to modify i18n\_patterns so that it only allows valid, active languages as defined in settings.py? I would like all other 2 char prefixes to 404.