I have been studying the difference between the present perfect continuous and the present perfect. I have read different opinions about these sentences:
She has been teaching English for two years
She has taught English for two years
According to some native speakers both are correct, but I also read that "She has taught English for two years" is unnatural and the present perfect continuous is a better option.
The same about "study;" I have read that the first is more natural:
She has been studying English for two years
She has studied English for two years
Should I consider both options as correct and use what most native speakers think is correct, which is either the present perfect continuous or the present perfect with "study" and "teach"? Is this the difference between BrE and AmE?