Acme::MetaSyntactic::Locale - Base class for multilingual themes
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
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.
Acme::MetaSyntactic::Locale
The language is selected at construction time from:
the given lang or category parameter,
lang
category
the current locale, as given by the environment variables LANGUAGE, LANG or (under Win32) Win32::Locale.
LANGUAGE
LANG
the default language for the selected theme.
The language codes should conform to the RFC 3066 and ISO 639 standard.
Acme::MetaSyntactic::Locale offers several methods, so that the subclasses are easy to write (see full example in SYNOPSIS):
The constructor of a single instance. An instance will not repeat items until the list is exhausted.
The lang or category 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 variables LANGUAGE, LANG and the module Win32::Locale).
Win32::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.
language[_territory][.codeset][@modifier]
init() must be called when the subclass is loaded, so as to read the __DATA__ section and fully initialise it.
Return $count names (default: 1).
1
Using 0 will return the whole list in list context, and the size of the list in scalar context (according to the lang parameter passed to the constructor).
0
Return the selected language for this instance.
Return the languages supported by the theme.
Return the theme name.
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.
Philippe 'BooK' Bruhat, <book@cpan.org>
<book@cpan.org>
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.
To install Acme::MetaSyntactic, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Acme::MetaSyntactic
CPAN shell
perl -MCPAN -e shell install Acme::MetaSyntactic
For more information on module installation, please visit the detailed CPAN module installation guide.