Best way to translate parts of an existing site and retain page aliases What is the least complicated way to translate parts of an existing and quite big site (few hundreds of thousands nodes), without affecting the page aliases?

I am aware of different translation systems and would prefer to use Entity translation. Unfortunately, it seems that both Entity Translation and Content translation don't make it possible to retain a functioning URL structure. E. g. I have this now:


Original text's URL (the same pattern should work after translation): example.com/texto-original


After the translation work, it should have this structure:


Original text's URL (the same pattern should work after translation): example.com/texto-original
Translated text (has language parameter in the URL): example.com/en/translated-text


What I want to achieve:


There's a default language (Spanish in this example) that was used for all of the content so far. Those pages don't have language prefix in the URL (e. g. "es/") at the moment. It should stay that way.
Site should always display everything in Spanish, unless a visitor opens an URL with "en/" prefix.
On the pages that are translated, there should be a link "English", "View this page in English" or something similar.
When a visitor opens such page in English, there should also be a link "Español". If a visitor is on the English page - the interface, blocks and other entities (if translated) should be in English as well.


Sorry if I haven't explained well what I want to achieve, I'll try to explain better if something is not clear.

Thank you for any ideas.
I have found the solution and it's quite easy actually. Here are the steps necessary:


Go to languages settings: admin/config/regional/language
Edit the default language (the one that shouldn't have language prefix).
Remove the code from "Path prefix language code" field.
Go to detection options (admin/config/regional/language/configure) and select "URL" method.


That's it, it should work as I have described in the question.