<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">package Git::I18N;
use 5.008;
use strict;
use warnings;
BEGIN {
	require Exporter;
	if ($] &lt; 5.008003) {
		*import = \&amp;Exporter::import;
	} else {
		# Exporter 5.57 which supports this invocation was
		# released with perl 5.8.3
		Exporter-&gt;import('import');
	}
}

our @EXPORT = qw(__);
our @EXPORT_OK = @EXPORT;

sub __bootstrap_locale_messages {
	our $TEXTDOMAIN = 'git';
	our $TEXTDOMAINDIR = $ENV{GIT_TEXTDOMAINDIR} || '/usr/share/locale';

	require POSIX;
	POSIX-&gt;import(qw(setlocale));
	# Non-core prerequisite module
	require Locale::Messages;
	Locale::Messages-&gt;import(qw(:locale_h :libintl_h));

	setlocale(LC_MESSAGES(), '');
	setlocale(LC_CTYPE(), '');
	textdomain($TEXTDOMAIN);
	bindtextdomain($TEXTDOMAIN =&gt; $TEXTDOMAINDIR);

	return;
}

BEGIN
{
	# Used by our test script to see if it should test fallbacks or
	# not.
	our $__HAS_LIBRARY = 1;

	local $@;
	eval {
		__bootstrap_locale_messages();
		*__ = \&amp;Locale::Messages::gettext;
		1;
	} or do {
		# Tell test.pl that we couldn't load the gettext library.
		$Git::I18N::__HAS_LIBRARY = 0;

		# Just a fall-through no-op
		*__ = sub ($) { $_[0] };
	};
}

1;

__END__

=head1 NAME

Git::I18N - Perl interface to Git's Gettext localizations

=head1 SYNOPSIS

	use Git::I18N;

	print __("Welcome to Git!\n");

	printf __("The following error occurred: %s\n"), $error;

=head1 DESCRIPTION

Git's internal Perl interface to gettext via L&lt;Locale::Messages&gt;. If
L&lt;Locale::Messages&gt; can't be loaded (it's not a core module) we
provide stub passthrough fallbacks.

This is a distilled interface to gettext, see C&lt;info '(gettext)Perl'&gt;
for the full interface. This module implements only a small part of
it.

=head1 FUNCTIONS

=head2 __($)

L&lt;Locale::Messages&gt;'s gettext function if all goes well, otherwise our
passthrough fallback function.

=head1 AUTHOR

E&lt;AElig&gt;var ArnfjE&lt;ouml&gt;rE&lt;eth&gt; Bjarmason &lt;avarab@gmail.com&gt;

=head1 COPYRIGHT

Copyright 2010 E&lt;AElig&gt;var ArnfjE&lt;ouml&gt;rE&lt;eth&gt; Bjarmason &lt;avarab@gmail.com&gt;

=cut
</pre></body></html>