Use ngettext() to handle plurals properly. Also, split pagination
captions into two strings.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 po/Makefile                         |  6 +++---
 web/lib/translator.inc.php          |  7 +++++++
 web/template/pkg_search_results.php | 10 ++++++++--
 web/template/pkgreq_results.php     | 10 ++++++++--
 4 files changed, 26 insertions(+), 7 deletions(-)

diff --git a/po/Makefile b/po/Makefile
index abe02fb..97e1822 100644
--- a/po/Makefile
+++ b/po/Makefile
@@ -47,9 +47,9 @@ all: ${MOFILES}
 update-pot:
        pkgname=AUR; \
        pkgver=`sed -n 's/.*"AUR_VERSION", "\(.*\)".*/\1/p' 
../web/lib/version.inc.php`; \
-       xgettext --default-domain=aur -L php --keyword=__ --no-location \
-               --add-comments=TRANSLATORS: --package-name="$$pkgname" \
-               --package-version="$$pkgver" \
+       xgettext --default-domain=aur -L php --keyword=__ --keyword=_n:1,2 \
+               --no-location --add-comments=TRANSLATORS: \
+               --package-name="$$pkgname" --package-version="$$pkgver" \
                --msgid-bugs-address='${MSGID_BUGS_ADDRESS}' \
                --directory ../web --files-from POTFILES -o aur.pot
 
diff --git a/web/lib/translator.inc.php b/web/lib/translator.inc.php
index 5117b99..448c41b 100644
--- a/web/lib/translator.inc.php
+++ b/web/lib/translator.inc.php
@@ -70,6 +70,13 @@ function __() {
        return $translated;
 }
 
+function _n($msgid1, $msgid2, $n) {
+       global $l10n;
+
+       $translated = sprintf($l10n->ngettext($msgid1, $msgid2, $n), $n);
+       return htmlspecialchars($translated, ENT_QUOTES);
+}
+
 # set up the visitor's language
 #
 function set_lang() {
diff --git a/web/template/pkg_search_results.php 
b/web/template/pkg_search_results.php
index e47fcb2..75131fc 100644
--- a/web/template/pkg_search_results.php
+++ b/web/template/pkg_search_results.php
@@ -12,7 +12,10 @@ if (!$result): ?>
 <?php else: ?>
        <div id="pkglist-results" class="box">
                <div class="pkglist-stats">
-                       <p><?= __('%d packages found. Page %d of %d.', $total, 
$current, $pages) ?></p>
+                       <p>
+                               <?= _n('%d package found.', '%d packages 
found.', $total) ?>
+                               <?= __('Page %d of %d.', $current, $pages) ?>
+                       </p>
                        <?php if (count($templ_pages) > 1): ?>
                        <p class="pkglist-nav">
                                <?php foreach ($templ_pages as $pagenr => 
$pagestart): ?>
@@ -89,7 +92,10 @@ if (!$result): ?>
                        </table>
 
                        <div class="pkglist-stats">
-                               <p><?= __('%d packages found. Page %d of %d.', 
$total, $current, $pages) ?></p>
+                               <p>
+                                       <?= _n('%d package found.', '%d 
packages found.', $total) ?>
+                                       <?= __('Page %d of %d.', $current, 
$pages) ?>
+                               </p>
                                <?php if (count($templ_pages) > 1): ?>
                                <p class="pkglist-nav">
                                        <?php foreach ($templ_pages as $pagenr 
=> $pagestart): ?>
diff --git a/web/template/pkgreq_results.php b/web/template/pkgreq_results.php
index 261a1f7..2898bd5 100644
--- a/web/template/pkgreq_results.php
+++ b/web/template/pkgreq_results.php
@@ -1,6 +1,9 @@
 <div id="pkglist-results" class="box">
        <div class="pkglist-stats">
-               <p><?= __('%d package requests found. Page %d of %d.', $total, 
$current, $pages) ?></p>
+               <p>
+                       <?= _n('%d package request found.', '%d package 
requests found.', $total) ?>
+                       <?= __('Page %d of %d.', $current, $pages) ?>
+               </p>
                <?php if (count($templ_pages) > 1): ?>
                <p class="pkglist-nav">
                        <?php foreach ($templ_pages as $pagenr => $pagestart): 
?>
@@ -83,7 +86,10 @@
        </table>
 
        <div class="pkglist-stats">
-               <p><?= __('%d package requests found. Page %d of %d.', $total, 
$current, $pages) ?></p>
+               <p>
+                       <?= _n('%d package request found.', '%d package 
requests found.', $total) ?>
+                       <?= __('Page %d of %d.', $current, $pages) ?>
+               </p>
                <?php if (count($templ_pages) > 1): ?>
                <p class="pkglist-nav">
                        <?php foreach ($templ_pages as $pagenr => $pagestart): 
?>
-- 
2.0.1

Reply via email to