MKDoc-Core
view release on metacpan or search on metacpan
lib/MKDoc/Core/Language.pm view on Meta::CPAN
return wantarray ? %res : \%res;
}
=head2 $self->code();
Returns the iso code of a given language object, e.g:
my $lang = new MKDoc::Core::Language ('en');
print $lang->code(); # should print 'en'
=cut
sub code
{
my $self = shift;
return $$self;
}
=head2 $self->label();
Returns the label associated with a given language object, e.g:
my $lang = new MKDoc::Core::Language ('en');
print $lang->label(); # should print 'English'
=cut
sub label
{
my $self = shift;
my $code = $self->code;
$::MKD_CORE_LANGUAGES || _mkd_core_languages();
$::MKD_CORE_LANGUAGES->{$code};
}
=head2 $thing->code_list()
Returns a list of ISO codes of all languages, sorted by the Unicode
value of their associated label.
=cut
sub code_list
{
$::MKD_CORE_LANGUAGES || _mkd_core_languages();
$::MKD_CORE_LANGUAGE_CODE_LIST ||= [
sort { $::MKD_CORE_LANGUAGES->{$a} cmp $::MKD_CORE_LANGUAGES->{$b} }
keys %{$::MKD_CORE_LANGUAGES}
];
return @{$::MKD_CORE_LANGUAGE_CODE_LIST};
}
=head2 $self->align();
In order to do proper multilingual HTML formatting, you need to have a
sensible value for the XHTML align="left|right" attribute.
If the language is written left to right, this method returns 'left'.
If the language is written right to left, this method returns 'right'.
=cut
sub align
{
my $self = shift;
my $code = $self->code;
$::MKD_CORE_LANGUAGES_RTL || _mkd_core_languages_rtl();
return $::MKD_CORE_LANGUAGES_RTL->{$code} ? 'right' : 'left';
}
=head2 $self->align_opposite();
In order to do proper multilingual HTML formatting, you need to have a
sensible value for the XHTML align="left|right" attribute.
This method does the exact opposite as $self->align(), i.e.
If the language is written left to right, this method returns 'right'.
If the language is written right to left, this method returns 'left'.
=cut
sub align_opposite
{
my $self = shift;
my $code = $self->code;
$::MKD_CORE_LANGUAGES_RTL || _mkd_core_languages_rtl();
return $::MKD_CORE_LANGUAGES_RTL->{$code} ? 'left' : 'right';
}
=head2 $self->dir()
In order to do proper multilingual HTML formatting, you need to have a
sensible value for the XHTML dir="ltr|rtl" attribute.
If the language is written left to right, this method returns 'ltr'.
If the language is written right to left, this method returns 'rtl'.
=cut
sub dir
{
my $self = shift;
my $code = $self->code;
$::MKD_CORE_LANGUAGES_RTL || _mkd_core_languages_rtl();
return $::MKD_CORE_LANGUAGES_RTL->{$code} ? 'rtl' : 'ltr';
}
sub direction
{
my $self = shift;
return $self->dir (@_);
}
1;
__END__
=head1 AUTHOR
Copyright 2003 - MKDoc Holdings Ltd.
Author: Jean-Michel Hiver
This module is free software and is distributed under the same license as Perl
itself. Use it at your own risk.
=head1 SEE ALSO
L<Petal> TAL for perl
MKDoc: http://www.mkdoc.com/
Help us open-source MKDoc. Join the mkdoc-modules mailing list:
mkdoc-modules@lists.webarch.co.uk
( run in 1.468 second using v1.01-cache-2.11-cpan-39bf76dae61 )