use Pod::UsageTrans use Locale::gettext; setlocale(LC_MESSAGES,''); textdomain('prog'); my $message_text = "This text precedes the usage message."; my $exit_status = 2; ## The exit status to use my $verbose_level = 0; ## The verbose level to use my $filehandle = \*STDERR; ## The filehandle to write to my $textdomain = 'prog-pod'; ## The gettext domain for the Pod documentation pod2usage($message_text); pod2usage($exit_status); pod2usage( { -message => gettext( $message_text ) , -exitval => $exit_status , -verbose => $verbose_level, -output => $filehandle, -textdomain => $textdomain } ); pod2usage( -msg => $message_text , -exitval => $exit_status , -verbose => $verbose_level, -output => $filehandle, -textdomain => $textdomain );
For documentation on calling pod2usage from your program see Pod::Usage. Pod::UsageTrans additionally supports a "-textdomain" option where you can specify the gettext domain to use. If "-textdomain" isn't set, Pod::UsageTrans will behave exactly like Pod::Usage.
It specifically doesn't support many of the po4a options like charset conversion between the POD input and the msgstr in the .pot file.
Based on Pod::Usage by Brad Appleton <bradapp@enteract.com> which is based on code for Pod::Text::pod2text() written by Tom Christiansen <tchrist@mox.perl.com>
Also based on Locale::Po4a::Pod, Locale::Po4a::Po and Locale::Po4a::TransTractor by Martin Quinson and Denis Barbier.