Это часто обусловлено историческми причинами. Для короля William the Conqueror - Вильгельм Завоеватель Для Шекспира Wiiliam - Вильям Шекспир Для современного человека Уильям.
Как исторически сложилось, так и будет правильно.
Ещё пример из этой серии: физик Исаак Newton (правильно НьЮтон, но все мы называем НьютОн, а Ломоносов называл его НевтОн! ) Кто же прав?
Уильям (Вильям, англ. William) — распространённое английское имя. Уменьшительные формы — Билл (англ. Bill), Билли (англ. Billy), Вилли (англ. Willie, Willy), Уилл (англ. Will).
Если нужно буквально, то буква W в английском даёт звук [w], который тверже русского у, но не [в] . Поэтому транслитерация [уильям] правильнее. Но при переводе допускаются упрощения.
Имена вообще не переводят :) если, конечно, не ставят своей задачей именно их перевод (порой это возможно) . Имена при переводе текста подвергают транскрипции и транслитерации...
Смотря, с какого варианта: в английском - как уже написали выше, в немецком - Вильям (Вилли) . Происхождение явно не английское, а старонемецкое (altdeutsch) и дословно означает "тот, кто хочет защитить", то есть "защитник".
речь вообще-то идет не о транскрипции, а о трансфонемизации и транслитерации, я сомневаюсь что много людей говорят /уИл’йам/, тем более, что такое произношение нарушает силлабизм двусложного оригинала /wiljəm/, посему полагаю вполне уместной транслитерацию Вильям