Just wanted to share my solution to this issue.
I had the same problem with my site in English as default, trying to translate full text to Spanish.
When using that code like shown above, in the Spanish page (/es) only the text in Spanish was visible (which was fine), but in English, I could see both in English AND in Spanish below on the same page.
Even when in Settings I enabled the “Allow translation of default language” as suggested, I still had the same problem and couldn’t get rid of the Spanish text in the English page.
Trying a couple of things, I came up with the following solution (example from English -as default- to Spanish):
[tp not_in=”es”;tp lang=”en” only=”y”]
text in english
[/tp]
[tp lang=”es” only=”y”]
text in spanish
[/tp]
This has worked perfectly fine for me. I hope it will help someone!