diff options
author | Michael Vogt <egon@bottom> | 2006-06-06 19:38:22 +0200 |
---|---|---|
committer | Michael Vogt <egon@bottom> | 2006-06-06 19:38:22 +0200 |
commit | d77f118854b7fcd1552272c97a3ddf02080f94c6 (patch) | |
tree | 53b3260c735b5808f5f2412284c3eb49758172a4 /apt-pkg/indexfile.cc | |
parent | 4f5bd4471049f89c4ce52864e62f54aadf1804d4 (diff) | |
parent | e0c4f06387ade5761e644b5b96e41284c12da23c (diff) |
* fix languages like pt_PT, pt_BR, zh_CN by special casing
Diffstat (limited to 'apt-pkg/indexfile.cc')
-rw-r--r-- | apt-pkg/indexfile.cc | 7 |
1 files changed, 5 insertions, 2 deletions
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 |