One of your suggested answers is "I have worked on it for five months." I don't think this is right, because in Czech the verb is in present, and this translation is definitely in past tense: (I have worked on it and now it is done). I can live with "I have been working ...." because of the peculiarities of the English language on this issue. What about "I am (already) working ..."?
I am not a grammarian, but from my native AmE perspective, "I have worked on it" does not definitively indicate that the "working" has come to an end, in that way that "I worked on it" would. I don't see any place for "already" in the English translation, because there is nothing in the original that would suggest it should be there. But if there were a place for "already," it would be used as "I HAVE already been working on it" rather than "I AM already working on it." There's nothing wrong with the phrase "I am already working on it"; it just doesn't belong with the following "for five months" part of the sentence.
Please, is this possible in English? "How long are you working on one painting?" - "I am working on it for five months." Or have to be "How long do you work..." - "I work on it for .... " ? Or else? I apologize for maybe a little silly question. I would like to be sure. Thank you.
I am native AmE. The best way to translate this sentence to English is either "I have been working on it for five months" or "I have worked on it for five months," as VladaFu has explained earlier. Because Czech has only present tense, it has to "cover" multiple English tenses.
You can say just "I am working on it now," but you cannot say "I am working on it (for some period of time)." And while you cannot say "I work on it (for some period of time), you can say, for example, "I work on it every Tuesday." Note that the last example does not include "for" indicating a period of time, but it refers instead to a particular (but repeated) point in time.