Translation:He is German but has been living in Saint Petersburg for years.
Your reply made me think of this topic really hard. To sum up perhaps you're right, but I couldn't find it in a dictionary.
The phrase "Не первый год/раз замужем" is indeed an idiom and it means "to be experienced in smth". The thing is, one could omit the word "замужем" and replace it with some other verb. The following phrase looks to me quite useable:
"Я этим не первый год занимаюсь - I've been doing it for a while - I know how to do it"
So I guess today it has really became an idiom out of the older longer version. I repeat, there is no such idiom in the dictionaries, that is perhaps why the doubts exist. It is just too obvious for a native speaker, that we don't consider it to be something out of the ordinary.
Уже не первый год == Jam ne unuan jaron == pli ol unu jaro.
Tio estas la ekzakta traduko de la esprimo.
Sed: for years == multaj jaroj == много лет
"много лет" > "уже не первый год"
La diferenco inter tiuj du esprimoj vere ne estas granda. Eble ĝi estas preskaŭ simila kiel la diferenco inter "ne plu komencanto" kaj "spertulo"
It's not exactly an idiom. We just put it that way sometimes. Here are idioms with similar meaning:
- ... не вчера родился - smbd wasn't born yesterday. Means someone has some experience in a field of knowledge.
- ты как первый раз замужем - you are as if you were married for the first time. Means that someone behaves himself naive.