LOCALE::PO4A::TRANSTRACTOR.3PM(1) User Contributed Perl Documentation >>> Locale::Po4a::TransTractor - >>>>>>>>> >>>>>(>>>>> >>>)>>>>>>>. >>>> >>> po4a (PO for anything - PO >> >>>> >>>) >>>>>>>> >> >> >>>>>>>>>>>> >>>>>>>>> (> >>> >> >>> >>>>>>>>>>>>>>, >>>>>>>>> >>>>>>>) >>>>>>>>> gettext >>>>> >> >>>>>>>> >> >>>>>> >> >> >>>>>>> >>>>>> >>>>>>>>, >>> >>> >> >>>>>>>>>>>>>. >>> >>>>> >> >>>>>> >>>>>> po4a >>>>>>> >>>> >> >>>>>>> >> >>>>>>>>> >>>>>>>>>, >> >>>>>>>> >>>>>>>>> >>>> >>>> >> >> >>>>>>>, >> >>>>>> >>>>>>>>> > PO >>>> > >>>>>> >>>>>> >> >>>>>> >>>>>>>>> > >>>>>>>> >>>>>>>>>. >>>>>>>>>> >>>>>>, >>> >>>>> >>> >>>> >>>>>>> >>>>>>>>>: - >>>>>>>> >>>> >> >>>>>>>; - PO >>>> >> >>>>>>>>> >>>> >>>>> >> >>>>>>>>. >>> >>>>>, >>> >>>>>>: - >>>>> PO >>>>, >>>> >>>>>>> >>> >>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>>> >> >>>>>>> >>>>>>>>>; - >>>>>>>>> >>>>>>>>, >> >>>>> >>>>>>>>>> >>> > >>>> >> >>>>>, >>> > >>>> >> >>> >>>>>>>>> >>>>>>>> >> >>>>>>>>> >>>>>>>>>> > PO >>>>> >>>> >> >>>>>>> > >>>>>. >>> >>>>>>>> >>>>>>>>> >>>>>: >>>>>> >>>>>>>> --\ /---> >>>>>>> >>>>>>>> \ / (>>>>>>>>) +-> parse() >>>>>>>> -----+ / \ >>>>>> PO --------/ \---> >>>>>>> PO (>>>>>>>>) >>>>>>>> >>>> >> >>> >>>>>> >>>>>>> >> >>>>>>>> parse() >>> >> >>>>> >> >>>>> >> >>>>>> >>> >>>>>: >>>>>>>>> >>>>>>> >>>>>>>>>>, >>>>>>>>>> >>>>>> > >>>>>>>>> >>>>>>>>>> >>>>>>>>>. >>> >> >>>>>>>> >>>>>>>>>>> >>>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>>>> > >>>>>> >>>>>>> >>>>>>>> >>>>>. >>>>>>>>>> >>>>>> >>>>>>>>, >>>> >>>>>>>>>> >>>>>>. >>> >>>>>>>> >>>>>> >>>>>>>> process() >>>>>, >>> >>> >>>>>>>>> >> >>>>>>>>> >>>>>>>> new(), > >> >>>>> >>>>>> >>>>>>> > >>>> >>>>>>>>, >>> >>>>>>>> >>>> >>>>>> >>>> >> >>>>>>>>. docheader() >>> >>>>>>>> >>>>> >>>>>>>> >>>> >> >>>>>>> >> >> >>>> > >>>>>>>> >>>>>>>>, >>>>>>>> >>>>>>>> >>>> >> >>>> >>>>>>>> > >>>>>> >>>>>>. >>>>>>>>>> >>>>>> >>>>>>>>> >>>>>>>>>> > >>>> >>>>>>>, >> po4a(7), > >>>> >>>>> >> >>> >> >>>>> >>> >>>>>>>>. >>>>>>>> >>>>>>> >>>>>> >>>>>>> >>>>> >>>>>> >>>> >>>>>> >> ,,
". >>>> >>>>>>>>>>>>>>, >>>>>>>>>>>>>> >> >> >>>>>>>> >>>>> >>>>>>>>>>, >>. >> >> '
' >>>>>> >>>>>> >>>>>>>> >>>>>>, > >> >> >>> >>>>>> >>>>>> >> >>>>> >>>>>>> >>>>>> >>>>>>. sub parse { my $self = shift; PARAGRAPH: while (1) { my ($paragraph,$pararef)=("",""); my $first=1; my ($line,$lref)=$self->shiftline(); while (defined($line)) { if ($line =~ m/
/ && !$first--; ) { # >>>> >>>> >>> >> >>>>>>
. # >>>>>> >>>>>>> >>>>>> >>>>>> > >>>>, # > >>>>> >>>>>>>>> >>>>> > >>>>> $self->unshiftline($line,$lref); # >>>> >>>> >> >>>>>>>> >>>>>>>>, >>>>>>> >>: # - >>>>>> >>>>>> >>>>>> $paragraph =~ s/^
//s; # - >>>>> > >>>>> >>>>>> >>>>>> (>>>>>>>>>>>) >>> > # >>>>>>> >>>>>> (>>>>>>>>) $self->pushline( "
"
. $self->translate($paragraph,$pararef)
);
next PARAGRAPH;
} else {
# >>>>> >> >>>> >>>>>>
$paragraph .= $line;
$pararef = $lref unless(length($pararef));
}
# >>>>>> >>>>>>>>>>>> >>>>>
($line,$lref)=$self->shiftline();
}
# >>>> >>>>>>>> >>>>>>>>>> >>>>>>? >>>> >>>>>>> >>>>>.
return;
}
}
>>>>>> >>>> >>>
>>>>>>>>>>>>>> >>>>>>>>
>> >>>>>>>>>, >>>>>> >>
>>>>>>>>>> >>>>> >>>>>
>>>>>>>>>, >>>>>>>>>
>>>>> >>>>>>>>> >>>> >>
>>>>>>>>>>> > >>>>>>>>
>>>>>>.
>>>>> >>>>>>>>> >> >>>>>>>
>>>> >>>>>>> >>> >>>>>>
>>>>>>>>>>>
process(%)
>>> >>>>>>>> >>>> >>
>>>>> >>> >>> >> >>>>>>>>
>> >> >>>>> >> po4a
>>>>>>>>>> > >>>>>>
>>>>>>. >>>> >>>>>>>>>
>>>>>> >> >> >>>>>>> >>>
>>>. >>>>>>:
>.
>>>> >>> PO >>>>>>>
>>>>>>>> > po_in_name
>.
>>>> >>> >>>>>>>>>>
>>>>>>>>> >>>>>>>> >
file_in_name
>.
>>>>>>> >>>>>>>>
>.
>>>> > >>>>>>>>> >>>
>>>>>>>> >>>>>>>
>.
>>>>>>> >>>>>>>>>
>>>>>>>> > file_out_name (>>> >>
>>>>>>)
>.
>>>>>>> >>>>>>>>> PO
>>>> > po_out_name (>>> >>
>>>>>>)
>>>>>>>>>, >> >>> >>>>
>>>>>>>> new() (>>
>>>>>>>>>> >>>>>):
file_in_name (@)
>>>>> >>>>> >>>>>>> >>
>>>>> >> >>>>>>> >>
>>>>>>>>> >>>>>>
>>>>>>>>.
file_in_charset ($)
>>>> >>>>>>>>> >>>> >>
>>>>>>> > >>>>>>>
>>>>>>>>> (>>> >>>>
>>>>>>>, >>>>>>>>> >>
UTF-8).
file_out_name ($)
>>> >>>>> > >>>> >>
>>>>>>> >> >>>>>>>
>>>>>>> >>>>>>>>.
file_out_charset ($)
>>>> >>>>>>>>> >>>> >>
>>>>>>> > >>>>>>>>
>>>>>>>>> (>>> >>>>
>>>>>>>, >>>>>>>>> >>
UTF-8).
po_in_name (@)
>>>>> >>>>> >>>>>>> >>
>>>>> >> >>>>>>> >> >>
>>>>>> PO >>>>>>>, >>>
>>>> >>>>>> >>>>>>>>>
>>>>>>>>> >>>> >> >>
>>>>>>>>> >> >>>>>>
>>>>>>>>>.
po_out_name ($)
>>> >>>>> > >>>> >>
>>>>>>> >> >>>>>>>
>>>>>>> PO >>>>, >>>>
>>>>>> >>>>>>>>>
>>>>>>>>> >> >>>>>>>
>>>>>>>>>.
addendum (@)
>>>>> >>>>> >>>>>>> >>
>>>>> >>>>> >> >>
>>>>>> >>>>>>.
addendum_charset ($)
>>>> >>>>>>>>> >>
>>>>>>>.
new(%)
>>>>>> >>>> po4a >>>>>>>>.
>>>>>>>>>> >> >>>>>> (>
>>>> >>>> >> >>>>>>>>>>
>>> >>>>>>>>>):
verbose ($)
>>>>>>>> >>>>>>>>>
>>>>>>>>>>>.
debug ($)
>>>>>>>> >>>>>
>>>>>>>>>> >>>>>>>.
wrapcol ($)
>>>>>> >>> >>>> >>
>>>>>>> >> >> >>>>
>>>>>>>>> >>>>>> >
>>>>>>>> >>>>>>>>>
(>>>>>>>>>>>>>: 76).
>>>>>>>>> >>>>>>>>
>>>>> >> >> >>>>>>
>>>>>> >> >>>>>>>>>.
>>>>>> >>>>>>>> >
>>>>>>> >>>>>> >>
>>>>>>>>>>>> Po->>>>>>>:
porefs, copyright-holder, msgid-bugs-address, package-name,
package-version, wrap-po.
>>>>>>>>>>>> >>>>>>>>>
>>>>>>>>>>
read($$$)
>>>>>> >>>>>>> >> >>>>>>
>>>>>>> >>>>>>>>> >>
>>>> >>>>>>>>>> >>>>
"@{$self->{TT}{doc_in}}".
>>> >>>>>>>> >>>>> >>>
>>>>>>>> >>>>>>>>> >
>>>>> >>>>>>>>>>.
* >>> >>>>> >>>> >> >>>>
>> >>>>>;
* >>> >>>> >> >> >>>>>>>>>
>>> >>> >>>>> >>>> >>
>>>> >>>>>>>>>>>
>>>>>>>>> > PO >>>>>;
* >>>> >>>>>>>>> >>>> >>
>> >>>>>>>>>> >> >>>>>>
>>> >>>>> (>>>>>>>>>>>>>
>> UTF-8)
>>> "@{$self->{TT}{doc_in}}" >>>>
>>>>>>> >> >>>> >>>>>>
>>>>>>>>> >>> >>>
>>>>>>>>> >>
>>>>>>>>>>>> >>>>>>>>>.
* >>>>>> $textline >>>> >>>>
>>>>> >>>>>> >>>>>>>
>>>>>>.
* >>>>>> "$filename:$linenum" >>>>
>>>> >>>>>> >>>>>>>> >
>>>> >>
>>>> "reference" ("linenum" >>>>>> >>
1).
>>>>>> >> >>>, >>>>> >>>,
>> >>> >>> >>>>> >>
>>>>>>>. >>>> >>>>>>>> >>
>>>>>>>>> >>>>>>>
>>>>>>> > >>>>>>>>,
>>>>>>> >> >> >>>>>>>>>>
>>>>>>>> parse().
write($)
>>>>>>> >>>>>>>>>
>>>>>>>> > >>>> >> >>>>>
>>>>>>.
>>> >>>>>> >>>>>>>>>>
>>>>>>>>> >> >>>>>>>> >>:
* "$self->docheader()" >>>> >>>> >>>>>
>>>>>>>> >> >>>>>
>>>>>>>, >
* "@{$self->{TT}{doc_out}}" >>>> > >>>>
>>>> >>>>> >>>>>>
>>>>>>> >>>>>>>>>>
>>>>>>.
>>>>>>>>>>>> PO >>>>>>>>>
readpo($)
>>>>>> >>>>>>> >>>>>
(>>>> >>> >> >>>>>>>>>>
>>> >>>>>>>>) >>>>>>>>>>
>>>>>>> PO. >>>>> >>>>>>>
>> >> >>>>>>>>.
writepo($)
>>>>>>> >>>>>>>>> PO >>>>
> >>>> >>> >>>>>.
stats()
>>>>> >>>> >>>>>>>>>>>
>>>>>>> > >>>> >> >>>>
>>>>>>>>> >>>>>>>.
>>>>>> >> >>>, >>>>> >>>,
>> >>> >>>> >>>>
>>>>>>>>>> >>>>
>>>>>>>> msgfmt --statistic. >>>> >>
>> >>>>>>>>>> > >>>>
>>>>>>>> >>>>>>>> PO
>>>>>, >>> msgfmt >>>>>>>>>>
>>>>>> >>>>>. >> >>
>>>>>>>> >>>> >>>>>>>
>>>>>>>> Locale::Po4a::Po::stats_get function
>>>>>>>>> >> >>>>>> PO
>>>>. >>>>>> >>>>>>>>:
[>>>>>>>> >>>>>>>> po4a >>>>>>>>>...]
($percent,$hit,$queries) = $document->stats();
print ">>>>>>>> >>> >>>>>>> >> $percent\% ($hit >> $queries) >>>>>>>>>.\n";
>>>>>>>>>>>> >>>>>>>>
addendum($)
>>>>>> >>>>>>>>>> po4a(7) >>
>>>> >>>>>>>>>>> > >>>>
>>> >> >>>>>>, > >>>> >>
>>>>>>>>>> >>>>>>> >> >>
>>>>. >> >>>>> >>>>>>>>>
>>>>>>> >> >>>>>>>>>
>>>>>>>>, >>>>>>>>>>>
>>>>>>>>>> >>> >>>>>>>
>>>>> >>>> >>>>>>>> > >>
>> >> ;)
> >>>>>>> >>>>>>, >>>
>>>>>>>> >>>>> >>> >>>>
>>>>>>>> >> >>>>.
>>>>>>> >>>>>>>> >>>> >>
>>>>>>> >> >>>>>>
>>>>>>>>> >>>>>>>
>>>>>>>>> >>>>>,
>>>>>>>>>>>> >>>>>>
>> >>>>>>>>>> >>>>> >
>>>>>>> >>>>>> >> >>>>>>>
>>>>>> >>>>>>>>. >>> >>
>>>> >>>>>> >> shift/unshift > push/pop >
>>>>>> Perl.
* Perl shift >>>>> >>>> >>>>>> >>>> > >>>>>> >> >> >>>>.
* Perl unshift >>>>>> >>>>>> >> >>>>>>> >>>> >>> >>>>.
* Perl pop >>>>> >>>>>>>> >>>>>> >>>> > >>>>>> >> >> >>>>.
* Perl push >>>>>> >>>>>> > >>> >>> >>>>>>>>.
>>>> >>> >> >>>> >>>>>, >>>
>> >>>>> > >>>> >>>>>>. >>
>> >>>>> >>>>>>: >> >>>>
>>> >> >> >>>>>>>> >>>>
>>>>>>, > >> >> >>>>>> >>>
>>> >>>>> shift, >>> >> >>>>>
>>>>>> >> >>>> >>>>>>>>
>>>>>> >> >>>>, >>> >>> >>
>>>> push.
shiftline()
>>> >>>>>>>> >>>>> >>>>
>>>>>> >>>> >>>>> >> >>
>>>>>>> > >>>>
>>>>>>>>>>>> >>>>>>>>>
(>>>>>>>>> >>> >>>) >>
>>>> "@{$self->{TT}{doc_in}}" > >>>>>>
>>> >>>> 2 >>>>>> >>>>.
>>>>>>>>> >>>>
>>>>>>>>>> >>>>>>
"$filename:$linenum".
unshiftline($$)
Unshift->>> >>>>>>>> shift->>>>>
>>>>>> >>>>>>>
>>>>>>>>> > >>>>
>>>>>>>>>>>> >>>>>>>>>
>>>>> >> >>>>>>>
"{$self->{TT}{doc_in}}".
pushline($)
>>>> push >>>> >>>>>> >>
>>>> "{$self->{TT}{doc_out}}".
popline()
>>>> pop >>>>>>>> push->>>>>
>>>>>> >> >>>>> "{$self->{TT}{doc_out}}".
>>>>>>>>>>> >>>>>>>>> >>>
>>>>>>>>>>
>>>>>>>>>> >> >>>>>
>>>>>>>> >>>> >>>>>>>>
>>>>> >>>>>>>>> >>
>>>>>>>>>.
translate($$$)
>>>>>>>> >>>>>>>>>:
- >>>>>> >> >>>>>>>>>
- >>>>>>>>> >>>> >>>>>>>
(>>. >>>>>>>> > >>>>>>>
>>>>>)
- >>> >>>> >>>>>>> (>>.
>>>>>>>>>> >>>> >>>>>>
>>>>>>>>>> >>>>>;
>>>>>>> >> >
Locale::Po4a::Po::gettextization();
>>>>>>>>>> >>>>>> po4a(7),
>>>>>> >> >>>> >>>>>
>>>>>>> >>>>>>>>>>>?)
> >>> >>>>>>>> >>>> >>
>>>> >>>>>>>> >>>>>>>>
>>>>>>>>>>. >>> >>>>>> >>
>> >>>>>>>>>> > >>>. >>
>>>>>>:
$self->translate("string","ref","type",
'wrap' => 1);
wrap
>>>>>>> >>>>>>>> >>>>
>>>>>>>>> >>>>>> >>
>>>>>>>>>>>>> >>
>>>>>> >>>>>>>>> >
>>>>>>> >>>> >>>>>. >>>
>> >>>>>>>>, >>>>>>>>
>>>>>>>>>> >>>>>> >>>
>>>>>>> >>>>>>> >>>
>>>>>>> >>>>>>>>>, >
>>>>>>> >>>>>>.
wrapcol
>>>>>> >>> >>>> >>
>>>>>>> >> >> >>>>>>>
>>>>> (>>>>>>>>>>>>>:
>>>>>>>> wrapcol >>>>>>>>
>>>>> >>>>>>>> TransTractor >>>
76).
>>>>>>>>> >>>>>>>> >>
>> >>>>>>> >>
>>>>>>>>>>>>>.
comment
>>>>>>>> >>>>>>>> >>>>
>> >>>>>> >>>>>>.
>>>>>>:
- >>>> push >>>>>>>,
>>>>>>>>> > >>>> > po_out.
- >>>>> >>>>>> >>>>>>>
(>>> >>> >> >>>>>>>> > po_in)
> >>>>>>>>> >> >>>>>>
>>>>>>> doc_out.
- >>>>>>>> >>>>>>>
>>>>>>>>> >>>> >> >>
>>>>>>>>> >>>>>>>>>>
>>> >>>> >>> >> >>>>>> >
po_out > >>> >>>>>>> >>>>>>>.
>>>>> >>>>>>>>
verbose()
>>>>> >>>>>>>>>>> >> >>
>> >>>>> >>>>>>>>
>>>>>>> TransTractor >>>>>>>>>>
>>>>>> >>>>>>>>
>>>>>>>>>>>.
debug()
>>>>> >>>>>>>>>>> >> >>
>> >>>>>>>> >>>>>>>>
>>>>>>> TransTractor >>>>
>>>>>>>>>> >>>>>>
>>>>>>>>>> >>>>>>>>>>>.
get_in_charset()
>>> >>>>>>>> >>>>> >>>>
>>>>>>>>> >>>> >>
>>>>>>> >>> >>>>>> >>>>
>>>>>>>>>
get_out_charset()
>>> >>>>>>>> >> >> >>>>>
>>>> >>>>>>>>> >>>> >>
>>>>>>> >> >> >>>>>>> >
>>>>>>>> >>>>>>>>>
(>>>>>> >> >>>>>>> >>
>>>>>> >>>>> >>>>>>>>>
>>>>>>>>>>>> > >>>>>>>
>>>>>>>>> > >>>> >>
>>>>>>>>).
>>>>>>>>> >>>>>>> >>>>
>>>>>>>>> >>>>>>> >
>>>>>>>>> >>>>>>. >>>
>>>> >>> >>>>>, >>>>>>>>>
>> >>>> >>>>>>>>>
>>>>>>> PO, > >>> >>>>>> PO
>>> >>>>>>>>>>>>>
>>>>>>>> ,,CHARSET", >>>>>>>
>>>> >>>>>>>>> >>>>>>>
>>>>>>>>>, >>>> >> >> >>
>>>>>> >>>>>>>>..
>>>>>>>> >> >>>>>>>>>
>>>>> >> >>>>> >>>>>>
>>>>>> TransTractor >>>>> >> >> >>
>>>> >>>>>>>>>> >>>>>>>>>
>>>>>>>>> >>>> >>>>>> >>>
>>>>>>, >>> >>> >> debconf
>>>>>>>, >>> .desktop >>>>>>>.
>>>> >> >> >>>>> >>>>>>>,
>>>>>>>>> >> >>>> >>>>>>>
>>>>>> >>>>>>>>>>:
- po_in_name >>>>> >> >>>>> >>>
(>>>>> >> >>>>>
>>>>>>>>>>> >>>>>)
- >>>>>> >>>>>>>> >>>>>>>>
translate >>>> >>>>>> >>>>>
>>>>>
- >>>>>>>> >>>>>>>> pushline_all,
>>>> >> >>>>>>>> pushline >>>>
>>>>>>>> >> >>> >>>>>>,
>>>>>>>>> >>>>>>>>
>>>>>> >> map:
$self->pushline_all({ "Description[".$langcode."]=".
$self->translate($line,$ref,$langcode)
});
>>>>>>>> >> >> >> >>>
>>>>>>> ;)
>>>>>>
>>>> >>>>>>>