-
- for (support::FileNameList::const_iterator it = data_files.begin();
- it != data_files.end(); ++it) {
- LYXERR(Debug::FILES, "found thesaurus data file: " << it->onlyFileName());
- if (contains(it->onlyFileName(), to_ascii(lang))) {
- data = it->absFilename();
+ }
+ if (idx.empty()) {
+ // try with a more general dictionary
+ docstring shortcode;
+ if (contains(lang, '_')) {
+ split(lang, shortcode, '_');
+ LYXERR(Debug::FILES, "Did not find thesaurus for LANG code "
+ << lang << ". Trying with " << shortcode);
+ return getThesaurus(path, shortcode);
+ }
+ else if (contains(lang, '-')) {
+ split(lang, shortcode, '-');
+ LYXERR(Debug::FILES, "Did not find thesaurus for LANG code "
+ << lang << ". Trying with " << shortcode);
+ return getThesaurus(path, shortcode);
+ }
+ return make_pair(string(), string());
+ }
+ for (support::FileNameList::const_iterator it = data_files.begin(); it != data_files.end(); ++it) {
+ if (contains(it->onlyFileName(), basename)) {
+ data = it->absFileName();