From: Michael Vogt Date: Tue, 6 Jun 2006 17:20:28 +0000 (+0200) Subject: * apt-pkg/indexfile.cc: X-Git-Tag: 0.7.24ubuntu1~245^2~1 X-Git-Url: https://git.saurik.com/apt.git/commitdiff_plain/e0c4f06387ade5761e644b5b96e41284c12da23c * apt-pkg/indexfile.cc: - add special cases for various languages like pt_BR, zh_CN etc --- diff --git a/BUGS b/BUGS index 6bbc6f839..a7b6b1114 100644 --- a/BUGS +++ b/BUGS @@ -6,3 +6,4 @@ DDTP problems: enviroment or Translations apt variable - there needs to be a list of locales (pt, sv, en) that need both language and country code to get the right file + (is in the code in indexfile::LanguageCode(), just a bit ugly diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index 496e68b8b..bb2210bf6 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -113,11 +113,14 @@ string pkgIndexFile::LanguageCode() { string lang = std::setlocale(LC_MESSAGES,NULL); - // FIXME: this needs to be added // we have a mapping of the language codes that contains all the language // codes that need the country code as well // (like pt_BR, pt_PT, sv_SE, zh_*, en_*) - + char *need_full_langcode[] = { "pt","sv","zh","en", NULL }; + for(char **s = need_full_langcode;*s != NULL; s++) + if(lang.find(*s) == 0) + return lang.substr(0,5); + if(lang.size() > 2) return lang.substr(0,2); else