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
This commit is contained in:
xavier
2012-05-11 10:08:36 +00:00
parent a7d4c44c36
commit 25dfadbe85

View File

@@ -190,13 +190,15 @@ bool NamesList::operator==(const NamesList &nl) const {
} }
/** /**
Retourne le nom approprie en fonction de la langue du systeme Return the adequate name regarding the current system locale.
Par ordre de preference, on prendra : By order of preference, this function chooses:
- le nom dans la langue du systeme - the name in the system language
- le nom en anglais - the English name
- le nom du dossier - the provided fallback name if non-empty
@param fallback_name Le nom a retourner si aucun nom approprie n'est trouve - the first language encountered in the list
@return Le nom approprie en fonction de la langue du systeme - 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 { QString NamesList::name(const QString &fallback_name) const {
// recupere les deux premiers caracteres de la locale en cours du systeme // 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]; returned_name = hash_names[system_language];
} else if (!hash_names["en"].isEmpty()) { } else if (!hash_names["en"].isEmpty()) {
returned_name = hash_names["en"]; returned_name = hash_names["en"];
} else { } else if (!fallback_name.isEmpty()) {
returned_name = fallback_name; returned_name = fallback_name;
} else if (hash_names.count()) {
returned_name = hash_names.value(hash_names.keys().first());
} }
return(returned_name); return(returned_name);
} }