/** * \file frnt_lang.C * This file is part of LyX, the document processor. * Licence details can be found in the file COPYING. * * \author Angus Leeming * * Full author contact details are available in file CREDITS */ #include #include "frnt_lang.h" #include "gettext.h" #include "language.h" #include #include using std::vector; namespace { struct Sorter { bool operator()(frnt::LanguagePair const & lhs, frnt::LanguagePair const & rhs) const { return lhs.first < rhs.first; } }; } // namespace anon namespace frnt { vector const getLanguageData(bool character_dlg) { vector::size_type const size = character_dlg ? languages.size() + 2 : languages.size(); vector langs(size); if (character_dlg) { langs[0].first = _("No change"); langs[0].second = "ignore"; langs[1].first = _("Reset"); langs[1].second = "reset"; } vector::size_type i = character_dlg ? 2 : 0; for (Languages::const_iterator cit = languages.begin(); cit != languages.end(); ++cit) { langs[i].first = _(cit->second.display()); langs[i].second = cit->second.lang(); ++i; } // Don't sort "ignore" and "reset" vector::iterator begin = character_dlg ? langs.begin() + 2 : langs.begin(); std::sort(begin, langs.end(), Sorter()); return langs; } } // namespace frnt