+ string const langmap = d->languageMap[lang->code()];
+ bool result = !langmap.empty();
+
+ if (result)
+ return result;
+
+ result = AppleSpeller_hasLanguage(d->speller,lang->code().c_str());
+ if (result) {
+ d->languageMap[lang->code()] = lang->code();
+ } else {
+ result = AppleSpeller_hasLanguage(d->speller,lang->lang().c_str());
+ if (result)
+ d->languageMap[lang->code()] = lang->lang();
+ }
+ return result;