NAME

Zonemaster::Engine::Translator - translation support for Zonemaster

SYNOPSIS

my $trans = Zonemaster::Engine::Translator->new({ locale => 'sv_SE.UTF-8' });
say $trans->to_string($entry);

A side effect of constructing an object of this class is that the program's underlying locale for message catalogs (a.k.a. LC_MESSAGES) is updated.

It does not make sense to create more than one object of this class because of the globally stateful nature of the locale attribute.

ATTRIBUTES

locale

The locale that should be used to find translation data. If not explicitly provided, defaults to (in order) the contents of the environment variable LANG, LC_ALL, LC_MESSAGES or, if none of them are set, to en_US.UTF-8.

Updating this attribute also causes an analogous update of the program's underlying LC_MESSAGES.

data

A reference to a hash with translation data. This is unlikely to be useful to end-users.

METHODS

to_string($entry)

Takes a Zonemaster::Engine::Logger::Entry object as its argument and returns a translated string with the timestamp, level, message and arguments in the entry.

translate_tag

Takes a Zonemaster::Engine::Logger::Entry object as its argument and returns a translation of its tag and arguments.

BUILD

Internal method that's only mentioned here to placate Pod::Coverage.