#include <map>
#include "zypp/Locale.h"
+#include "zypp/ZConfig.h"
using std::endl;
Locale Locale::fallback() const
{ return _pimpl->fallback(); }
+
+ ///////////////////////////////////////////////////////////////////
+
Locale Locale::bestMatch( const LocaleSet & avLocales_r, const Locale & requested_r )
{
if ( ! avLocales_r.empty() )
{
- for ( Locale check( requested_r ); check != noCode; check = check.fallback() )
+ for ( Locale check( requested_r == noCode ? ZConfig::instance().defaultTextLocale() : requested_r );
+ check != noCode; check = check.fallback() )
{
if ( avLocales_r.find( check ) != avLocales_r.end() )
return check;
/** Return the best match for \ref Locale \c requested_r within the available \c avLocales_r.
*
- * If neither \c requested_r nor any of it's \ref fallback locales are available,
- * \ref Locale::noCode is returned.
+ * If \c requested_r is nor specified or equals \ref Locale::noCode,
+ * \ref ZConfig::defaultTextLocale is assumed.
+ *
+ * If neither \c requested_r nor any of it's \ref fallback locales
+ * are available, \ref Locale::noCode is returned.
*/
- static Locale bestMatch( const LocaleSet & avLocales_r, const Locale & requested_r );
+ static Locale bestMatch( const LocaleSet & avLocales_r, const Locale & requested_r = Locale() );
private:
/** Pointer to implementation */