The classic reference of this topic is Serre's Algebraic Groups and Class Fields.  However, many parts of this books use Weil's language, which I find quite hard to follow.  Is there another reference to the topic, using a more modern language (schemes etc.)?