The difference between geen and niet is the word that follows them. Thus, geen is always followed by a susbstantive: Ik kan geen rijst koken. In turn, niet is always followed by an infinitive verb form: Ik kan rijst niet koken. Both meaning the same, but under different constructions. I hope this clarifies!
No, forgive me, but that's not correct English usage.
In English if you say "I can't cook any rice", the normal usage is that you mean that you are differentiating between cooking some rice to eat for dinner and not cooking any rice to eat for dinner.
If you want to say that you can't cook any kind of rice then the English sentence needs to be expanded as you suggest for the Dutch sentence.... Alternatively if you want to imply you can't cook rice at all, then the English sentence is "I can't cook rice!"
I say this as a native English speaker and keen cook!
Good question. In English, I may not cook rice means that there is a possibility I won't cook rice. I think we'll have Chinese food for dinner tonight, but I may not cook rice. May in the sense of can is a formal use, which is slowly disappearing.and is used when asking permission. The classic place everyone remembers being told about it is asking something like - Can I get a class of water and being told - yes you can, but may you. We'd need a native Dutch speaker to verify it, but I suspect that kan contains both the asking permission and ability to perform meanings.
May not carries a meaning of possibility - I cook rice every day, but I may not do it tonight (think of maybe), or lack of permission (this is going away). I want to cook rice but he won't let me, so I may not). Cannot is ability (which is why the second meaning of may is going away - if you're not allowed to you don't have the ability too. ) I can't cook rice tonight because we don't have any.
I'm aware of that. :)
I was assuming that the sentence was the result of a lack of permission, hence why I submitted "I may not cook rice" as my answer. Although distinctly less common in use these days (as you noted), it is still very much a valid thing to say in English.
I suppose a better question to ask would be, within the provided Dutch sentence, what specifies that the translation must be "cannot" instead of "may not"?
I think I would be much more likely to hear someone complaining that for one reason or another they are unable to cook rice ("It never turns out the way I want it!" - "I can only do this properly with a rice cooker, but mine is broken." - "My family don't like it, so they hardly eat any of it." - "I tried in the microwave some day, but it turned out too crispy. Maybe I should have added water?") than someone complaining that they are not allowed to ("My mother says I am too young to cook rice.").
That said, the Dutch sentence is technically ambiguous and can have the meaning that seems more natural to do. But if you use can in English, the English sentence has exactly the same ambiguity, i.e., it is a perfect translation in this respect.
Your sentence is the appropriate translation for the unambiguous Dutch sentence "Ik moog geen rijst koken".
It is arguably a technically correct translation, but it is at least very misleading. Your English sentence means "There is no rice that I can cook". Dutch and German have the strange quirk that instead of negating a transitive verb we tend to formally negate the object of the verb. I.e., instead of saying "Ik kan niet rijst koken", we tend to say "Ik kan geen rijst koken". Therefore, if we actually want to say "I can cook no rice / There is no rice that I can cook", then we can only use the more explicit "Er is geen rijst, die ik kan koken".
If this was confusing, maybe the following makes it clearer:
Ik kan niet rijst koken. = I cannot cook rice. = Ik kan geen rijst koken. ≠ I can cook no rice. = Er is geen rijst, die ik kan koken. = There is no rice that I can cook.
(Of course the difference between the two meanings is quite subtle in most cases, and this is probably precisely why this quirk developed. In cases when the distinction didn't matter, early speakers of Dutch/German strongly preferred the geen construction and then began to extend it even to cases where it technically didn't fit.)
There are rules ro apply neet, niet and geen in Dutch, but in English we also have rules. When the verb is affirmative, with a negative sense, use I cook no rice; I have no money; he has no book, although the any version is preferred better, both "no" and "any" are adjectives. Examples: I do not cook any rice. I do not have any money, etc.