]> git.saurik.com Git - apt.git/commitdiff
* buildlib/apti18n.h.in, po/makefile:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 15 Feb 2010 12:02:27 +0000 (13:02 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Mon, 15 Feb 2010 12:02:27 +0000 (13:02 +0100)
  - add ngettext support with P_()

buildlib/apti18n.h.in
cmdline/apt-get.cc
debian/changelog
po/makefile

index e7beceb09ee6e6c4a95e863127f985284a3641e6..6928d626c49c7563513c225aef9443718fc8acc2 100644 (file)
 # include <libintl.h>
 # ifdef APT_DOMAIN
 #   define _(x) dgettext(APT_DOMAIN,x)
+#   define P_(msg,plural,n) dngettext(APT_DOMAIN,msg,plural,n)
 # else
 #   define _(x) gettext(x)
+#   define P_(msg,plural,n) ngettext(msg,plural,n)
 # endif
 # define N_(x) x
 #else
@@ -21,5 +23,6 @@
 # define textdomain(a)
 # define bindtextdomain(a, b)
 # define _(x) x
+# define P_(msg,plural,n) (n == 1 ? msg : plural)
 # define N_(x) x
 #endif
index 216383bc68d042a0162dcf77558e5150346fdb83..c8c733716774923a92cf8730f247b865f1f7dfe4 100644 (file)
@@ -1526,10 +1526,9 @@ bool DoAutomaticRemove(CacheFile &Cache)
            // only show stuff in the list that is not yet marked for removal
            if(Cache[Pkg].Delete() == false) 
            {
+              ++autoRemoveCount;
               // we don't need to fill the strings if we don't need them
-              if (smallList == true)
-                 ++autoRemoveCount;
-              else
+              if (smallList == false)
               {
                 autoremovelist += string(Pkg.Name()) + " ";
                 autoremoveversions += string(Cache[Pkg].CandVersion) + "\n";
@@ -1542,9 +1541,12 @@ bool DoAutomaticRemove(CacheFile &Cache)
    if (doAutoRemove == false && (autoremovelist.empty() == false || autoRemoveCount != 0))
    {
       if (smallList == false)
-        ShowList(c1out, _("The following packages were automatically installed and are no longer required:"), autoremovelist, autoremoveversions);
+        ShowList(c1out, P_("The following package is automatically installed and is no longer required:",
+                 "The following packages were automatically installed and are no longer required:",
+                 autoRemoveCount), autoremovelist, autoremoveversions);
       else
-        ioprintf(c1out, _("%lu packages were automatically installed and are no longer required.\n"), autoRemoveCount);
+        ioprintf(c1out, P_("%lu package was automatically installed and is no longer required.\n",
+                 "%lu packages were automatically installed and are no longer required.\n", autoRemoveCount), autoRemoveCount);
       c1out << _("Use 'apt-get autoremove' to remove them.") << std::endl;
    }
    // Now see if we had destroyed anything (if we had done anything)
index 948846a6c87893ea74e31f9c7e82a1ccddf69ef7..f328b11a772d48201fbf98f88ac64af5bfd6420a 100644 (file)
@@ -28,6 +28,8 @@ apt (0.7.26) UNRELEASED; urgency=low
   * apt-pkg/deb/dpkgpm.cc:
     - stdin redirected to /dev/null takes all CPU (Closes: #569488)
       Thanks to Aurelien Jarno for providing (again) a patch!
+  * buildlib/apti18n.h.in, po/makefile:
+    - add ngettext support with P_()
 
   [ Ivan Masár ]
   * Slovak translation update. Closes: #568294
index 07dc51c075f99fe09b7b5c86dcc77cb2bc79406a..9f8b7b22e850780747c089bfb9e6cd9cb400c739 100644 (file)
@@ -37,6 +37,7 @@ $(POTFILES) : $(PO)/%.pot :
        cat $(PO)/domains/$*/*.srclist > $(PO)/POTFILES_$*.in
        $(XGETTEXT) --default-domain=$* --directory=$(BASE) \
          --add-comments --foreign --keyword=_ --keyword=N_ \
+         --keyword=P_:1,2 \
          --files-from=$(PO)/POTFILES_$*.in -o $(PO)/domains/$*/c.pot
        rm -f $(PO)/POTFILES_$*.in
        $(MSGCOMM) --more-than=0 $(PO)/domains/$*/c.pot $(PO)/domains/$*/sh.pot --output=$@