1) Translate the existing strings in the .pot file inside the languages folder and store this as a .po file with the proper language code.
(example for Germany: de_DE.po)
2) Compile the corresponsing .mo file (this is a binary file, whilst the .po file is human readable with any text editor).
3) Copy both .mo and .po into the languages folder. No sub-folders required.
4) With the next page refresh, your translations will immediately work.
Why I say 95% — There are a few strings that are not part of the .pot file. Thus, they cannot be translated.
So far, I found these ones in the sidebar:
a) The text inside the search field as well as the caption of the search button
b) The headline of the Archive widget
I switched to the WP templates. There, a) is translated, but b) is also not.
I would expect that the theme is fetching the generic strings from the WP core. This does not work for the search.
I’ll try to debug a bit further.