* Fix compilation warnings:
[ntk/apt.git] / apt-pkg / indexfile.cc
index 496e68b..b385961 100644 (file)
@@ -8,15 +8,12 @@
    ##################################################################### */
                                                                        /*}}}*/
 // Include Files                                                       /*{{{*/
-#ifdef __GNUG__
-#pragma implementation "apt-pkg/indexfile.h"
-#endif
-
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/indexfile.h>
 #include <apt-pkg/error.h>
 
 #include <clocale>
+#include <cstring>
                                                                        /*}}}*/
 
 // Global list of Item supported
@@ -113,11 +110,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