Quite simply, because of the Bible. In most of Christian Europe, Biblical names came to supplant 'indigenous' ones. Of course, these names underwent some changes along the way. James is an interesting one. The Hebrew name Yaʿăqōḇ became Iákōbos, in the Greek translations of the Bible, and eventually Iacobus, in the Latin version. In the Galician and Welsh languages, people didn't tend to use the hard C in this way, so the C became a G and the name became Iago. France was far more Romanised than Wales or Galicia, so the name came there in its Vulgar Latin form, Iacomus. Vulgar Latin was the everyday language of ordinary people, and thus more colloquial and easier to say. The Romans had no letter J, and pronounced the I at the start of a word as Y, but when French people translated Latin texts, they made them fit a bit better into the way they spoke. The I at the start of a word therefore became a J. Over time, the name was contracted (as words are in mostly illiterate societies), until people were just saying 'James'. This isn't to say that none of these Biblical names are still Middle Eastern. Jacob is a prophet of Islam, so Yakub is a common name amongst Arabic-speakers.