Use ngettext() to handle plurals properly. Also, split pagination captions into two strings. Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de> --- 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