Ok, as a Google fanboy I need to explain this! Google Translate has an algorithm to recognize -mek/-mak endings and it automatically translates them into 'to' in English. So when I write arabamak (which doesn't exist in Turkish) it says to car.
But as we have the word araba, we also have the root di-. The root of the verb demek is de- and it transforms into di- when it has the consonant y just next to it.
Beklemek - to wait
Bekle- wait (the root)
Bekleyen - those who waits/waited
Demek - to say
De- say (the root)
Diyen - those who says/said
This is just an irregularity of demek. Yemek (to eat) also transforms into yi- when used before the consonant y.
demek = söylemek (interchangeable)
- demek: to say, to name, to mean, etc.
- söylemek: to say, to utter, to tell, to remark, etc.
"demek" is used more informally "söylemek" generally is formal way but can be used informally as well
However, there are situations you cannot use for one another; e.g. "şarkı söylemek" means "to sing a song". You cannot use "şarkı demek" "yalan söylemek" means "to tell a lie". You cannot use "yalan demek" "yemek söylemek" means "to order food". You cannot use "yemek demek" "Yeter demek" means "to say that's enough". You cannot use "yeter söylemek" etc.
I hope this helps.