Why not adopt me?
NAME
Bot::Cobalt::Lang - Bot::Cobalt language set loader
SYNOPSIS
use Bot::Cobalt::Lang;
## Load 'english.yml' from language dir:
my $english = Bot::Cobalt::Lang->new(
lang => 'english',
lang_dir => $path_to_lang_dir,
);
## Access loaded RPL hash:
my $str = $english->rpls->{$rpl};
## Fall back to core set:
my $language = Bot::Cobalt::Lang->new(
use_core => 1,
lang => $language,
lang_dir => $lang_dir,
);
## Use an absolute path:
my $language = Bot::Cobalt::Lang->new(
lang => "mylangset",
absolute_path => $path_to_my_lang_yaml,
);
## Load only the core (built-in) set:
my $coreset = Bot::Cobalt::Lang->new(
lang => 'coreset',
use_core_only => 1,
);
DESCRIPTION
Bot::Cobalt::Lang provides language set loading facilities to Bot::Cobalt and extensions.
This is primarily used by Bot::Cobalt::Core to feed the core lang() hash.
new() requires a 'lang' option and either a 'lang_dir' or 'absolute_path' -- if an absolute path is not specified, the named 'lang' is (attempted to be) loaded from the specified 'lang_dir' with an extension of ".yml".
The 'use_core' option will load the built-in language set. 'use_core_only' will not attempt to load anything except the built-in set.
If the load fails, an exception is thrown.
rpls
The rpls attribute accesses the loaded RPL List::Objects::WithUtils::Hash:
my $this_str = $language->rpls->get($rpl) // "Missing RPL $rpl";
spec
The spec attribute returns the SPEC: definition for the loaded language set.
AUTHOR
Jon Portnoy <avenj@cobaltirc.org>