[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Make gettext extract a msgid correctly

From: Kobayashi Noritada <nori1_at_dolphin.c.u-tokyo.ac.jp>
Date: 2007-03-26 13:26:57 CEST

Hi,

From: Kobayashi Noritada
Subject: [PATCH] Make gettext extract a msgid correctly (Re: [l10n] the msgid is not a valid C format string)
Date: Sun, 25 Mar 2007 01:12:24 +0900 (JST)

> > After the merge of the sparse-directories branch into trunk,
> > a following warning appears with gettext:
> >
> > nori1[23:12]% LC_ALL=C make locale-gnu-po-update PO=ja
> > cd /home/nori1/svnwc/subversion-trunk && XGETTEXT="/home/nori1/bin/xgettext" MSGMERGE="/home/nori1/bin/msgmerge" \
> > tools/po/po-update.sh ja
> > Building subversion.pot...
> > ./libsvn_repos/reporter.c:218: warning: Although being used in a format string position, the msgid is not a valid C format string. Reason: The string ends in the middle of a directive.
> > Updating ja.po...
> > ............................................................................................................................................................ done.
> > ............................................................................................................................................................ done.
> >
> >
> > ... which is due to code like this:
> >
> > return svn_error_createf(SVN_ERR_REPOS_BAD_REVISION_REPORT, NULL,
> > _("Invalid depth (%"
> > APR_UINT64_T_FMT
> > ") for path '%s'"),
> > num, (*pi)->path);
> >
> >
> > ... and results in a ill-formatted msgid like this:
> >
> > msgid "Invalid depth (%"

I've made my patch more compact, removed a garbage '""' which was
accidentally inserted, and made the log more descriptive. Could you
please find it for translators?

[[[
Eliminate a warning from gettext and enable extracting correct msgids
for translators.

* subversion/libsvn_repos/reporter.c
  (read_path_info): Make a format string for a message extractable and
  translatable by separating its preprocessing-needing part off.
]]]

Thanks,

-nori

Index: subversion/libsvn_repos/reporter.c
===================================================================
--- subversion/libsvn_repos/reporter.c (revision 24140)
+++ subversion/libsvn_repos/reporter.c (working copy)
@@ -215,10 +215,9 @@
              default and should never be sent. */
         default:
           return svn_error_createf(SVN_ERR_REPOS_BAD_REVISION_REPORT, NULL,
- _("Invalid depth (%"
- APR_UINT64_T_FMT
- ") for path '%s'"),
- num, (*pi)->path);
+ _("Invalid depth (%s) for path '%s'"),
+ apr_psprintf(pool, "%" APR_UINT64_T_FMT,
+ num), (*pi)->path);
         }
     }
   else

  • application/pgp-signature attachment: stored
Received on Mon Mar 26 13:47:26 2007

This is an archived mail posted to the Subversion Dev mailing list.