To me, the obvious reason for transference is ultimately because of the Norman Conquest. But I wondered if there was any more to it.
Most of the words we associate with modern military ranks (i.e. "sergeant," "captain," "lieutenant," and "major") were derived from French words during the Middle Ages. French was widely spoken in Western Europe due to trade and conquest (e.g. the Normand Conquest and the 100 Years War) and many military men in England, France, and the Low Countries would have been French speakers. Keep in mind that the 12th and 13th century, some "English" nobles could not speak English! The relative military dominance of France and French-speaking nations in Western Europe help dissipate French vocabulary and military practice.
However, at that time ranks like "captain" had far less standardized meanings from their modern ones. A captain could be a low-ranked officer commanding, something a "company" of a few hundred men or a relatively senior commander in charge of a "company" of a few thousand men.
As time progressed, military ranks became more standardized. As unit sizes became broadly standardized during and after the 30 Years' War, ranks came to have a more uniform meaning. By the late 1600s, a captain in the British Army commanded roughly the same number of men as his counterpart in the French army.
The long periods of French military success between 1648 and 1872 further cemented the spread of French doctrines, uniforms, and nomenclature. The United States, for example modeled many of its tactics and uniforms after French army practices.