The official Croatian language, which is taught in schools and used for all official business is called Štokavski. But this is just one of three dialects which you will hear in the country and its neighbours, which also vary with regional sub-dialects.
Below is a breakdown of the dialects and their sub-dialects with an example of one sentence using that specific dialect, and the regions you will most likely hear them spoken.
Čakavski – ikavski (“Ča je lipo vrime učinilo” – Dalmatia region)
Štokavski – ikavski (“Što je lipo vrime napravilo” – Slavonia region)
Čakavski – ekavski (“Ča je lepo vreme udelalo” – Kvarner region)
Štokavski – ekavski (“Što je lepo vreme napravilo” – Serbia, official Serbian) (as well as ex-Serbo-Croatian i.e. official Yugoslavian language)
Kajkavski – ekavski (“Kaj je lepe vreme učinile” – Zagorje region)
Kajkavski – ekavski (“Kaj je lepo vreme učinilo” – Slovenia, official Slovenščina)
Štokavski – ijekavski (“Što je lijepo vrijeme napravilo” – standard Croatian, Hercegovina, Bosnia and Montenegro)
Štokavski with the ijekavski sub-dialect is the official Croatian language.
The three main dialects can be easily defined by the use of the words “ča“, “što” and “kaj” which in English can be mostly interpreted as “what?” as well as “which“, “that” and “something“.
This is my own understanding of the language situation and is not a definitive list as many regions have their own intermixed vocabulary and accents. I welcome any comments and views
NB: the word “šta” which is not dialect or official but is commonly used can be equated with the British English word “wot”.