X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/e7e10e47476606e3b2274cf66b1e8ea74b236757..d8a57c1953b876917a9deb098d1ef3d2b093f3dc:/apt-private/private-main.cc?ds=sidebyside diff --git a/apt-private/private-main.cc b/apt-private/private-main.cc index 9eb306834..52f35cfdc 100644 --- a/apt-private/private-main.cc +++ b/apt-private/private-main.cc @@ -3,10 +3,13 @@ #include #include #include +#include #include #include +#include + #include #include #include @@ -14,11 +17,35 @@ #include -void InitLocale() /*{{{*/ +void InitLocale(APT_CMD const binary) /*{{{*/ { - setlocale(LC_ALL,""); - textdomain(PACKAGE); + try { + std::locale::global(std::locale("")); + } catch (...) { + setlocale(LC_ALL, ""); + } + switch(binary) + { + case APT_CMD::APT: + case APT_CMD::APT_CACHE: + case APT_CMD::APT_CDROM: + case APT_CMD::APT_CONFIG: + case APT_CMD::APT_DUMP_SOLVER: + case APT_CMD::APT_HELPER: + case APT_CMD::APT_GET: + case APT_CMD::APT_MARK: + textdomain("apt"); + break; + case APT_CMD::APT_EXTRACTTEMPLATES: + case APT_CMD::APT_FTPARCHIVE: + case APT_CMD::APT_INTERNAL_PLANNER: + case APT_CMD::APT_INTERNAL_SOLVER: + case APT_CMD::APT_SORTPKG: + textdomain("apt-utils"); + break; + } } +void InitLocale() {} /*}}}*/ void InitSignals() /*{{{*/ { @@ -36,11 +63,12 @@ void CheckIfSimulateMode(CommandLine &CmdL) /*{{{*/ strcmp(CmdL.FileList[0], "changelog") != 0))) { if (getuid() != 0 && _config->FindB("APT::Get::Show-User-Simulation-Note",true) == true) - std::cout << _("NOTE: This is only a simulation!\n" - " apt-get needs root privileges for real execution.\n" + // TRANSLATORS: placeholder is a binary name like apt or apt-get + ioprintf(std::cout, _("NOTE: This is only a simulation!\n" + " %s needs root privileges for real execution.\n" " Keep also in mind that locking is deactivated,\n" - " so don't depend on the relevance to the real current situation!" - ) << std::endl; + " so don't depend on the relevance to the real current situation!\n"), + _config->Find("Binary").c_str()); _config->Set("Debug::NoLocking",true); } }