Provided by: libzonemaster-perl_4.7.3-1_all bug

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($entry)
           Takes a Zonemaster::Engine::Logger::Entry object as its argument and returns a translation of its tag
           and arguments.

       test_case_description($testcase)
           Takes a string (test case ID) and returns the translated test case description.

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