cc'in Matthieu since he wrote the patch. On Sat, Nov 19, 2016 at 4:16 AM, Jakub Narębski <jnareb@xxxxxxxxx> wrote: > W dniu 08.11.2016 o 21:12, Karthik Nayak pisze: >> From: Karthik Nayak <karthik.188@xxxxxxxxx> >> >> Introduce setup_ref_filter_porcelain_msg() so that the messages used in >> the atom %(upstream:track) can be translated if needed. This is needed >> as we port branch.c to use ref-filter's printing API's. >> >> Written-by: Matthieu Moy <matthieu.moy@xxxxxxxxxxxxxxx> >> Mentored-by: Christian Couder <christian.couder@xxxxxxxxx> >> Mentored-by: Matthieu Moy <matthieu.moy@xxxxxxxxxxxxxxx> >> Signed-off-by: Karthik Nayak <karthik.188@xxxxxxxxx> >> --- >> ref-filter.c | 28 ++++++++++++++++++++++++---- >> ref-filter.h | 2 ++ >> 2 files changed, 26 insertions(+), 4 deletions(-) >> >> diff --git a/ref-filter.c b/ref-filter.c >> index b47b900..944671a 100644 >> --- a/ref-filter.c >> +++ b/ref-filter.c >> @@ -15,6 +15,26 @@ >> #include "version.h" >> #include "wt-status.h" >> >> +static struct ref_msg { >> + const char *gone; >> + const char *ahead; >> + const char *behind; >> + const char *ahead_behind; >> +} msgs = { >> + "gone", >> + "ahead %d", >> + "behind %d", >> + "ahead %d, behind %d" >> +}; >> + >> +void setup_ref_filter_porcelain_msg(void) >> +{ >> + msgs.gone = _("gone"); >> + msgs.ahead = _("ahead %d"); >> + msgs.behind = _("behind %d"); >> + msgs.ahead_behind = _("ahead %d, behind %d"); >> +} > > Do I understand it correctly that this mechanism is here to avoid > repeated calls into gettext, as those messages would get repeated > over and over; otherwise one would use foo = N_("...") and _(foo), > isn't it? > > I wonder if there is some way to avoid duplication here, but I don't > see anything easy and safe (e.g. against running setup_*() twice). > That is the intention. -- Regards, Karthik Nayak