svoid dm_sayWithAutoLanguage_splitAtQuotes(S s) { LS parts = nempties(splitAt(s, "\"")); LS languages = replaceNullsWith('en, map dm_detectGermanVsEnglish(parts)); int i = 0; while (i < l(parts)) { int j = i; S lang = languages.get(i); while (j+1 < l(parts) && eq(lang, languages.get(j+1))) ++j; S part = joinWithSpace(subList(parts, i, j+1)); if (containsLetterOrDigit(part)) if (eq(lang, 'de)) dm_sayInGerman(part); else dm_sayInEnglish(part); i = j+1; } }