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
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 )
-
The constructor of a single instance. An instance will not repeat items until the list is exhausted.
If no
lang
parameter is given, Acme::MetaSyntactic::Locale will try to find the user locale (with the help of environment variablesLANGUAGE
,LANG
and Win32::Locale).$lang
is a two-letter (or three (or more)) language code (taken from the official lists of RFC 3066 and ISO 369 standards). If the list is not available in the requested language, 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()
-
Return the selected language for this instance.
- languages()
-
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.
AUTHOR
Philippe 'BooK' Bruhat, <book@cpan.org>
COPYRIGHT & LICENSE
Copyright 2005 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.