How to show pages other than nodes with the default language prefix Content on our site exists in several languages. The default language is 'en'. Prefixes are shown in URLs, such as http://example.com/en/my/path or http://example.com/nl/my/path.

However, pages like the home page, and various views and custom pages, should not be localized -- they should show on the default language URLs, even if they list nodes in other languages.

The problem we face is that after somebody visits a page in non-default language, e.g. http://example.com/nl/my/path and they then go to the home page, the home page is on http://example.com/nl. This means that our the same non-node pages exist in several copies, each with only a different URL language prefix. Confusing for search engines, confusing for users, and heavy for the server (multiple page caching).

In other words, the home page and other non-nodes should always have the default language prefix, independently from the language of the previously visited page. 
Can this be achieved elegantly (without having to write custom .htaccess redirects)?
Probably the easiest way that I know is to turn off "Determine the language from the URL (Path prefix or domain)." on the languages page at "admin/config/regional/language/configure".
This way there is only 1 url for all content.

I do not know (of an elegant way) to have language prefix for nodes but not other pages.