The position of 已经 in "have been doing something for some times already" Since 已经 is an adverb I thought I'd always have to put it before the verb like in:


  1) 这对老人已经相爱三十多年了
  
  2) 他已经睡四个小时了


But I found a sentence on my book that say:


  他们恋爱已经一年多了


It should translate to "They have been in love for more than 1 year already", right? Then why 已经 is placed after and not before the verb?
已经 (already) can be placed before or after the verb in both Chinese and English if it is followed by a time period

这对老人(已经相爱)三十多年了 = this old couple have already been in love for more than 30 years 

这对老人相爱(已经三十多年了) = this old couple have been in love for more than 30 years already

他(已经睡了)四个小时了 = he has already been sleeping for four hours

他睡了(已经四个小时了) = he has been sleeping for four hours already

他们(已经恋爱)一年多了 = they have already been in love for over a year

他们恋爱(已经一年多了) = they have been in love for over a year already

If it is not followed by a time period then 已经 (already) must be placed before the verb

Example:

(已经问)了他' (had already asked him)  cannot be changed to '问了他已经'

(已经问了)他一年' (have already asked him for a year) can be changed to 问了他(已经一年)

In short, when there's no time period at the end, the adverb '已经' must be placed before the verb; if there is a time period at the end , then 已经 is functioning as the adverb for the omitted verb '经过' or '有' in 已经(经过/有)一年

They are in fact two different types of Chinese grammar structures

"已经问了他" is a [verb + object] structure with '问了' as the verb and '他' as the object

"问了他已经一年" is a [topic + comment] structure, in which, '问了他' is the topic and '已经一年' is the comment