X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/3174e150a3c97a471998cfe73a11bd4996da9ab7..fd0339078d81dfb57978e59ef420bb8ae4bb39b1:/apt-pkg/indexfile.cc diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index 496e68b8b..08f71feb0 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -8,15 +8,12 @@ ##################################################################### */ /*}}}*/ // Include Files /*{{{*/ -#ifdef __GNUG__ -#pragma implementation "apt-pkg/indexfile.h" -#endif - #include #include #include #include +#include /*}}}*/ // Global list of Item supported @@ -44,7 +41,6 @@ pkgIndexFile::Type *pkgIndexFile::Type::GetType(const char *Type) return 0; } /*}}}*/ - // IndexFile::ArchiveInfo - Stub /*{{{*/ // --------------------------------------------------------------------- /* */ @@ -113,11 +109,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_*) - + const char *need_full_langcode[] = { "pt","sv","zh","en", NULL }; + for(const 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