i18n: add--interactive: mark patch prompt for translation

Mark prompt message assembled in place for translation, unfolding each
use case for each entry in the %patch_modes hash table.

Previously, this script relied on whether $patch_mode was set to run the
command patch_update_cmd() or show status and loop the main loop. Now,
it uses $cmd to indicate we must run patch_update_cmd() and $patch_mode
is used to tell which flavor of the %patch_modes are we on.  This is
introduced in order to be able to mark and unfold the message prompt
knowing in which context we are.

The tracking of context was done previously by point %patch_mode_flavour
hash table to the correct entry of %patch_modes, focusing only on value
of %patch_modes. Now, we are also interested in the key ('staged',
'stash', 'checkout_head', ...).

Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Vasco Almeida
2016-12-14 11:54:30 -01:00
committed by Junio C Hamano
parent c4a85c3b8e
commit 0539d5e6d5
4 changed files with 61 additions and 11 deletions

View File

@ -13,7 +13,7 @@ BEGIN {
}
}
our @EXPORT = qw(__ __n);
our @EXPORT = qw(__ __n N__);
our @EXPORT_OK = @EXPORT;
sub __bootstrap_locale_messages {
@ -54,6 +54,8 @@ BEGIN
*__ = sub ($) { $_[0] };
*__n = sub ($$$) { $_[2] == 1 ? $_[0] : $_[1] };
};
sub N__($) { return shift; }
}
1;
@ -74,6 +76,7 @@ Git::I18N - Perl interface to Git's Gettext localizations
printf __n("commited %d file\n", "commited %d files\n", $files), $files;
=head1 DESCRIPTION
Git's internal Perl interface to gettext via L<Locale::Messages>. If
@ -95,6 +98,12 @@ passthrough fallback function.
L<Locale::Messages>'s ngettext function or passthrough fallback function.
=head2 N__($)
No-operation that only returns its argument. Use this if you want xgettext to
extract the text to the pot template but do not want to trigger retrival of the
translation at run time.
=head1 AUTHOR
E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason <avarab@gmail.com>