English (other than American English) has a clear differentiation between the two words. Both are about translocating something. In "bring" the something of somebody is moved to where the speaker is currently situated. "Take" is used to translocate something or somebody to a place that the speaker is not currently at.
You cannot “bring” your books to school if you are currently at home. You can only take them to school. Most of the time one can get the meaning from the context of the sentence but it can get very confusing when the other party is on the telephone and you do not know their location.
Why does American English not differentiate and when did it lose the differentiation?
Best Answer
Take and bring in the sense of translocation do not have an exact, complementary usage bound by the location of the speaker as proposed by the question. Oxford Dictionaries defines this sense of bring simply as “Take or go with (someone or something) to a place”. Merriam-Webster defines the location binding of take as “to another place”, whereas bring is bound “toward the place from which the action is being regarded”.
The location binding of bring is not necessarily defined relative to where the speaker is currently situated. For example, in a telephone conversation, since the speaker and the hearer are not in the same location, to bring could be to the speaker's location, or it could be to another location contextually relevant to the conversation—“the place from which the action is being regarded”. You can say “bring your books to school” whether you are at school or at home, because you don’t have to actually be at school to regard an action from there. In context, you are simply imagining the action happening from the perspective of school.
Others agree. John Lawler parallels come and go with bring and take:
The Grammarist notes about hypothetical situations