To me (native AmE), "It has not rained for three months" means that three months have passed, and there has been no rain during that whole time.
But "It hasn't been raining for three months" would/could be interpreted as it has been continuously raining for some period of time, but not for three months straight.
One of the Czech experts would have to determine whether the original sentence has one or the other meaning, or whether either translation would be correct.
Ok, I got your point, didn't think about the discontinuity argument. Now I'd say that the suggested DL sentence is right and mine is wrong, the czech sentence wouldn't be interpreted in that (my) way. It would be something like "Nepršelo tři měsíce nepřetržitě". The only thing I'm not sure about is, whether those three months happened some time in the past or whether they've ended exactly now (therefore I chose the 'been raining' construction).
BTW my newer suggestion is an ultimate spelling / pronunciation challenge for a non CZ speaker! :-)