From 25dfadbe853a48a53365a899e05606e7521a4e0a Mon Sep 17 00:00:00 2001 From: xavier Date: Fri, 11 May 2012 10:08:36 +0000 Subject: [PATCH] Improved the mechanism that chooses the best translation from a names list. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@1801 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/nameslist.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/sources/nameslist.cpp b/sources/nameslist.cpp index ac7354a82..99bc7c977 100644 --- a/sources/nameslist.cpp +++ b/sources/nameslist.cpp @@ -190,13 +190,15 @@ bool NamesList::operator==(const NamesList &nl) const { } /** - Retourne le nom approprie en fonction de la langue du systeme - Par ordre de preference, on prendra : - - le nom dans la langue du systeme - - le nom en anglais - - le nom du dossier - @param fallback_name Le nom a retourner si aucun nom approprie n'est trouve - @return Le nom approprie en fonction de la langue du systeme + Return the adequate name regarding the current system locale. + By order of preference, this function chooses: + - the name in the system language + - the English name + - the provided fallback name if non-empty + - the first language encountered in the list + - an empty string + @param fallback_name name to be returned when no adequate name has been found + @return The adequate name regarding the current system locale. */ QString NamesList::name(const QString &fallback_name) const { // recupere les deux premiers caracteres de la locale en cours du systeme @@ -206,8 +208,10 @@ QString NamesList::name(const QString &fallback_name) const { returned_name = hash_names[system_language]; } else if (!hash_names["en"].isEmpty()) { returned_name = hash_names["en"]; - } else { + } else if (!fallback_name.isEmpty()) { returned_name = fallback_name; + } else if (hash_names.count()) { + returned_name = hash_names.value(hash_names.keys().first()); } return(returned_name); }