Provided by: libzonemaster-perl_4.6.1-1_all
NAME
Zonemaster::Engine::Translator - translation support for Zonemaster
SYNOPSIS
Zonemaster::Engine::Translator->initialize({ locale => 'sv_SE.UTF-8' }); my $trans = Zonemaster::Engine::Translator->instance; say $trans->to_string($entry); This is a singleton class. The instance of this class requires exclusive control over $ENV{LC_MESSAGES} and the program's underlying LC_MESSAGES. At times it resets gettext's textdomain. On construction it unsets $ENV{LC_ALL} and from then on it must remain unset. On systems that support $ENV{LANGUAGE}, this variable overrides the locale() attribute unless the locale() attribute is set to "C".
ATTRIBUTES
locale The locale used for localized messages. say $translator->locale(); if ( !$translator->locale( 'sv_SE.UTF-8' ) ) { say "failed to update locale"; } The value of this attribute is mirrored in $ENV{LC_MESSAGES}. When writing to this attribute, a request is made to update the program's underlying LC_MESSAGES. If this request fails, the attribute value remains unchanged and an empty list is returned. As a side effect when successfully updating this attribute gettext's textdomain is reset. data A reference to a hash with translation data. This is unlikely to be useful to end- users.
METHODS
initialize(%args) Provide initial values for the single instance of this class. Zonemaster::Engine::Translator->initialize( locale => 'sv_SE.UTF-8' ); This method must be called at most once and before the first call to instance(). instance() Returns the single instance of this class. my $translator = Zonemaster::Engine::Translator->instance; If initialize() has not been called prior to the first call to instance(), it is the same as if initialize() had been called without arguments. new(%args) Use of this method is deprecated. See MooseX::Singleton-new|MooseX::Singleton/"Singleton->new">. locale If no initial value is provided to the constructor, one is determined by calling setlocale( LC_MESSAGES, "" ). 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. test_case_description Returns the translated test case description for a given test case ID. BUILD Internal method that's only mentioned here to placate Pod::Coverage.