It depends on the readers.
I faced a similar problem when I started my blog. I thought my readers would be mostly from France, but I knew I would also write some articles in English. I decided to have a single blog within a single domain which hosted all the articles, independently of the language.
A few years later, it appeared that:
- Most of my articles were in English; only few remained in French.
- Most of my readers are from the countries outside France, and don't speak French.
If I knew that, I would probably create, as you suggested, a separate domain, either https://en.example.com/ and https://fr.example.com/ or https://example.com/en/ and https://example.com/fr/, each one being used by different audiences.
If, on the other hand, you're writing in languages which are all known by most of your readers (say you're writing in Russian and English and your users are mostly developers from Russia, so every one of them know necessarily both languages), then a single blog makes sense: this way, your users won't have to switch between two sites (most won't, and would stick to one, therefore losing an opportunity to read a part of your articles).
In this case, make sure:
You add proper HTTP headers, especially if the content outside the article itself (the menu, the footer, etc.) is not translated.
You translate the content outside the article itself (the menu, the footer, etc.) to all the supported languages, and you vary it properly based on the headers sent by the browser (and not the geographic location of the user, which is a disgusting practice).
You clearly specify which article is in which language in every internal link, if this is not clear enough from the title itself, as to prevent the readers who might not know one language or another from following a link to an article they won't be able to read anyway.