This is the configuration that I use to accomplish this scenario:
– 4 lists
– Continents (ContinentID)
– Countries (CountryID, ContinentID)
– Language(LanguageID, CountryID)
Contacts (ContactID, ContinentID<lookup to Continents>, CountryID<Lookup to Countries>, LanguageID<Lookup to Languages>)
I link qListForm to Contacts list, I choose the fields and I use AutoPostback and Parent Field, Parent Filter and Filter Field Name of those lookup fields to filter Countries based on previous selected Continent and Language based on previous selection of the Country.