Is the lieb in this sentence colloquial? Also I thought verbs at the end have to be conjugated to the infinitive form?
You encountered the separable verb liebhaben.
Separable verbs are composed of a prefix, in this case the adverb lieb, and a core, in this case the verb haben. When a separable verb is conjugated, then the prefix is separated from the core and moved to the final position of the clause:
- Ich möchte dich liebhaben. (infinitive)
- Ich hab(e) dich lieb. (conjugated)
Notice that the separated prefix lieb must not be confused with the verb lieben:
- Ich möchte dich lieben.
- Ich liebe dich.
The only verb in your sentence is hab, which would require an apostrophe in writing for omission of e at the end.
lieb is an adverb (see DWDS), just like gern at the same place would be (for which no corresponding verb exists, possibly clarifying something up).
Lieben would mean to cherish in this context. If you replace lieb with lieben then it would mean (directly translated): "I have you cherish". Lieb is the correct form in this sentence, you don't conjugated it.
The meaning of "Ich hab dich lieb" is not "I love you" its more like "I hold you dear".
Well, it's true, that verbs at the end have to be conjugated to the infinitiv form:
Ich werde dich lieben.
I will love you.
But in "Ich hab dich lieb" is only one verb, and this occupies position #2. The word at the end of the sentence is an adverb. There is no correct verbatim translation of this German sentence into English. But if you try a word by word translation, you will get something like this:
I have you dear.
I have you nice.
I have you good.
(Of course the meaning is "I like you".)
"Dear", "nice" and "good" are all valid translations of "lieb", but non of them is a verb. They are all adverbs (in both languages).
The phase "jemanden lieb haben" means "to like someone" but is literally "to have someone dear/nice/good".