NAME
Acme::MetaSyntactic::Locale - Base class for multilingual themes
SYNOPSIS
package Acme::MetaSyntactic::digits;
use Acme::MetaSyntactic::Locale;
our @ISA = ( Acme::MetaSyntactic::Locale );
__PACKAGE__->init();
1;
=head1 NAME
Acme::MetaSyntactic::digits - The numbers theme
=head1 DESCRIPTION
You can count on this module. Almost.
=cut
__DATA__
# default
en
# names en
zero one two three four five six seven eight nine
# names fr
zero un deux trois quatre cinq six sept huit neuf
# names it
zero uno due tre quattro cinque sei sette otto nove
# names yi
nul eyn tsvey dray fir finf zeks zibn akht nayn
DESCRIPTION
Acme::MetaSyntactic::Locale
is the base class for all themes that are meant to return a random excerpt from a predefined list that depends on the language.
The language is selected at construction time from:
the given
lang
orcategory
parameter,the current locale, as given by the environment variables
LANGUAGE
,LANG
or (under Win32) Win32::Locale.the default language for the selected theme.
The language codes should conform to the RFC 3066 and ISO 639 standard.
METHODS
Acme::MetaSyntactic::Locale offers several methods, so that the subclasses are easy to write (see full example in SYNOPSIS):
- new( lang => $lang )
- new( category => $lang )
-
The constructor of a single instance. An instance will not repeat items until the list is exhausted.
The
lang
orcategory
parameter(both are synonymous) should be expressed as a locale category. If none of those parameters is given Acme::MetaSyntactic::Locale will try to find the user locale (with the help of environment variablesLANGUAGE
,LANG
and the moduleWin32::Locale
).POSIX locales are defined as
language[_territory][.codeset][@modifier]
. If the specific territory is not supported,Acme::MetaSyntactic::Locale
will use the language, and if the language isn't supported either, the default is used. - init()
-
init() must be called when the subclass is loaded, so as to read the __DATA__ section and fully initialise it.
- name( $count )
-
Return $count names (default:
1
).Using
0
will return the whole list in list context, and the size of the list in scalar context (according to thelang
parameter passed to the constructor). - lang()
- category()
-
Return the selected language for this instance.
- languages()
- categories()
-
Return the languages supported by the theme.
- theme()
-
Return the theme name.
SEE ALSO
Codes for the Representation of Names of Languages, at http://www.loc.gov/standards/iso639-2/langcodes.html.
RFC 3066, Tags for the Identification of Languages, at http://www.ietf.org/rfc/rfc3066.txt.
Acme::MetaSyntactic, Acme::MetaSyntactic::MultiList.
AUTHOR
Philippe 'BooK' Bruhat, <book@cpan.org>
COPYRIGHT & LICENSE
Copyright 2005-2006 Philippe 'BooK' Bruhat, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.