How do I lacalize game for different languages?

Do I have to make different string variables with each language that are setting text on language select?
Or is there a tool that simplifies that?

So in the editor, go to Window->Localisation Dashboard. Here you can Gather Text from your game and tell it to only gather from certain blueprints/code files and folders.

One way is to use string tables and when you add create a text component or set text anywhere, you can use the string table entry to fill in the text (Click the arrow next to somewhere you set text to see the options). FText variables are automatically set to be localised, so when you do a gather of text these will all appear to.