diff options
author | Otavio Salvador <otavio@debian.org> | 2005-03-23 21:01:54 +0000 |
---|---|---|
committer | Otavio Salvador <otavio@debian.org> | 2005-03-23 21:01:54 +0000 |
commit | a52f938bcf7f31d348c6ce1d462a8ce14a38b8cc (patch) | |
tree | b287d522de4385886df155edb56d8b92fb69e440 /apt-pkg/indexfile.cc | |
parent | 92c3292594a26f8ba248300dc91d8c855f008e13 (diff) |
Port DDTP to APT 0.6 branch
Diffstat (limited to 'apt-pkg/indexfile.cc')
-rw-r--r-- | apt-pkg/indexfile.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/apt-pkg/indexfile.cc b/apt-pkg/indexfile.cc index 49665161d..7aafe3c31 100644 --- a/apt-pkg/indexfile.cc +++ b/apt-pkg/indexfile.cc @@ -12,8 +12,11 @@ #pragma implementation "apt-pkg/indexfile.h" #endif +#include <apt-pkg/configuration.h> #include <apt-pkg/indexfile.h> #include <apt-pkg/error.h> + +#include <clocale> /*}}}*/ // Global list of Item supported @@ -67,3 +70,43 @@ string pkgIndexFile::SourceInfo(pkgSrcRecords::Parser const &Record, return string(); } /*}}}*/ +// IndexFile::UseTranslation - Check if will use Translation /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool pkgIndexFile::UseTranslation() +{ + const string Translation = _config->Find("APT::Acquire::Translation"); + + if (Translation.compare("none") != 0) + return CheckLanguageCode(LanguageCode().c_str()); + else + return false; +} + /*}}}*/ +// IndexFile::CheckLanguageCode - Check the Language Code /*{{{*/ +// --------------------------------------------------------------------- +/* */ +bool pkgIndexFile::CheckLanguageCode(const char *Lang) +{ + if (strlen(Lang) == 2 || (strlen(Lang) == 5 && Lang[2] == '_')) + return true; + + if (strcmp(Lang,"C") != 0) + _error->Warning("Wrong language code %s", Lang); + + return false; +} + /*}}}*/ +// IndexFile::LanguageCode - Return the Language Code /*{{{*/ +// --------------------------------------------------------------------- +/* */ +string pkgIndexFile::LanguageCode() +{ + const string Translation = _config->Find("APT::Acquire::Translation"); + + if (Translation.compare("environment") == 0) + return std::setlocale(LC_ALL,NULL); + else + return Translation; +} + /*}}}*/ |