=encoding utf-8

=for stopwords
	YAMASHINA
	Hio
	AnnoCPAN
	CPAN
	RT
	TODO
	ja.utf8
	makelinktext
	parseLang
	textblock

=head1 NAME

Pod::MultiLang - multi languages in Pod


=head1 VERSION

Version 0.12


=head1 SYNOPSIS

  use Pod::MultiLang::Html;
  my $parser = Pod::MultiLang::Html->new(langs=>[qw(ja en)]);
  $parser->parse_from_file($infile,$outfile);

=head1 DESCRIPTION

Pod::MultiLang is a pod extension. 
This module implements JZ<><> interior sequence for write multi 
languages in single pod. 
One languages enclosed by J interior sequence in each paragraph. 
Some heading words are translated automatically. 
Note that JZ<><> is not official interior sequence, 
this is custom one.


New format for LZ<><|/> interior sequence is:


 J<<< ja;
 L<< text | page /"heading J<ja; japanese heading >" >>
 >>>

At section part, English heading is still required.
Because in many hypertext formats, link identifier is 
restricted into ASCII.


Verbatim paragraphs will be joined with one blank line.


=head1 EXAMPLE

(with ja.utf8)


  =head1 NAME
  
  Example - Example document
  J<< ja;Example - サンプル >>

  =head1 SEE ALSO
  
  L<example/somewhere>
  J<<< ja;
  L<< example/somewhere J<ja;どこか> >>
  >>>
  
  =cut

sample output.


 en:NAME
 ja:名前
 en:  Example - Example document
 ja:  例 - サンプル
 en:SEE ALSO
 ja:関連項目
 en:  "somewhere" in example (linkto:example/somewhere)
 ja:  example 内 "どこか" (linkto:example/somewhere)

=begin COMMENT

JZ<><<>>の外をデフォルト言語にして処理.


  content
  J<< xx;content-in-xx >>

とあったときに,


  J<< (default-lang);content >>
  J<< xx;content-in-xx >>

で処理.
でも,


  content

だけなら, 言語指定なしでそのまま


  content

で出力.


=end COMMENT

=head1 TODO

Multi lingual verbatim paragraph is not supported.


=begin COMMENT

 default text.
 
 =begin :block
 
 =for mlpodopt lang ja
 
  japanese verbatim block.

 =for mlpodopt lang fr
 
  un bloc verbatim en francais

 =end :block

=end COMMENT

=head1 UTILITY METHODS

=head2 makelinktext

 $label = $parser->makelinktext($lang,$text,$name,$sec);

if $text is specified, returns $text.
if not, returns by $name and $sec with $lang.


=head2 parseLang

 ($lang,$text) = $parser->parseLang($data);
 
  $parser->parseLang("ja; text"); ==> ('ja', 'text')

=head1 METHODS

=head2 new

create new instance.


=head1 OVERRIDES

This module implements L<Pod::Parser>.


=over 4

=item begin_pod

=item end_pod

=item command

=item textblock

=item verbatim

=back

=head1 AUTHOR

YAMASHINA Hio, C<< <hio at cpan.org> >>


=head1 BUGS

Please report any bugs or feature requests to
C<bug-pod-multilang at rt.cpan.org>, or through the web interface at
L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Pod-MultiLang>.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.


=head1 SUPPORT

You can find documentation for this module with the perldoc command.


    perldoc Pod::MultiLang

You can also look for information at:


=over 4

=item * AnnoCPAN: Annotated CPAN documentation

L<http://annocpan.org/dist/Pod-MultiLang>


=item * CPAN Ratings

L<http://cpanratings.perl.org/d/Pod-MultiLang>


=item * RT: CPAN's request tracker

L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Pod-MultiLang>


=item * Search CPAN

L<http://search.cpan.org/dist/Pod-MultiLang>


=back

=head1 SEE ALSO

L<Pod::Parser>, L<Pod::MultiLang::Html>


=head1 COPYRIGHT & LICENSE

Copyright 2006 YAMASHINA Hio, all rights reserved.


This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.


