Use an external file but obscure/encrypt it
One good solution (and what I am currently doing in my project) is to write the text in a source file in your game project (if using say Visual Studio, make sure not to copy content) written in your choice of XML/JSON or custom format.
This makes it easy for you to read and edit and in particular easy for any other designers or script writers to read and edit.
When it comes to building your project, you have two options, the first is to convert the text into binaryconvert the text into binary and save the binary filesave the binary file. This would prevent most people being able to read it, you could read it easily back into your project and use the text as you wish in the game.
With just a binary file any slightly technical person could quite easily open and read it as they wish, so you may want to go for a second option. This would be to encrypt the textencrypt the text before saving it as a file. Depending on the method or encryption used only the most hardy hackers can get into and read the file.
The above methods have many benefits, it is readable and editable by non technical people on your team yet on release it is unreadable by the game players. It can be scalable and expandable to add more text to your game without the need to recompile your game (depending how this is done!).