i18n: add--interactive: mark plural strings
Mark plural strings for translation. Unfold each action case in one entire sentence. Pass new keyword for xgettext to extract. Update test to include new subroutine __n() for plural strings handling. Update documentation to include a description of the new __n() subroutine. Signed-off-by: Vasco Almeida <vascomalmeida@sapo.pt> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
901707babc
commit
c4a85c3b8e
@ -13,7 +13,7 @@ BEGIN {
|
||||
}
|
||||
}
|
||||
|
||||
our @EXPORT = qw(__);
|
||||
our @EXPORT = qw(__ __n);
|
||||
our @EXPORT_OK = @EXPORT;
|
||||
|
||||
sub __bootstrap_locale_messages {
|
||||
@ -44,6 +44,7 @@ BEGIN
|
||||
eval {
|
||||
__bootstrap_locale_messages();
|
||||
*__ = \&Locale::Messages::gettext;
|
||||
*__n = \&Locale::Messages::ngettext;
|
||||
1;
|
||||
} or do {
|
||||
# Tell test.pl that we couldn't load the gettext library.
|
||||
@ -51,6 +52,7 @@ BEGIN
|
||||
|
||||
# Just a fall-through no-op
|
||||
*__ = sub ($) { $_[0] };
|
||||
*__n = sub ($$$) { $_[2] == 1 ? $_[0] : $_[1] };
|
||||
};
|
||||
}
|
||||
|
||||
@ -70,6 +72,8 @@ Git::I18N - Perl interface to Git's Gettext localizations
|
||||
|
||||
printf __("The following error occurred: %s\n"), $error;
|
||||
|
||||
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
|
||||
@ -87,6 +91,10 @@ it.
|
||||
L<Locale::Messages>'s gettext function if all goes well, otherwise our
|
||||
passthrough fallback function.
|
||||
|
||||
=head2 __n($$$)
|
||||
|
||||
L<Locale::Messages>'s ngettext function or passthrough fallback function.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
E<AElig>var ArnfjE<ouml>rE<eth> Bjarmason <avarab@gmail.com>
|
||||
|
Reference in New Issue
Block a user