NAME
Log::Report::Template::Textdomain - template translation with one domain
INHERITANCE
Log::Report::Template::Textdomain
  is a Log::Report::Domain
SYNOPSIS
my $templater = Log::Report::Template->new(...);
my $domain    = $templater->addTextdomain(%options);
DESCRIPTION
Manage one translation domain for Log::Report::Template.
METHODS
Constructors
- $class->new(%options)
 - 
-Option --Default lang undef lexicon undef only_in_directory undef templater <required> translation_function 'loc'- lang => LANGUAGES
 - 
[1.01] Initial language to translate to. Usually, this language which change for each user connection via translateTo().
 - lexicon => DIRECTORY
 - only_in_directory => DIRECTORY|ARRAY
 - 
The textdomain can only be used in the indicated directories: if found anywhere else, it's an error. When not specified, the function is allowed everywhere.
 - templater => Log::Report::Template-object
 - translation_function => STRING
 - 
The name of the function as used in the template to call for translation. See function(). It must be unique over all text-domains used.
 
 - $class->upgrade($domain, %options)
 - 
Upgrade a base class Log::Report::Domain-object into an Template domain.
This is a bit akward process, needed when one of the code packages uses the same domain as the templating system uses. The generic domain configuration stays intact.
 
Attributes
- $obj->expectedIn($filename)
 - 
Return
truewhen the function name which relates to this domain is allowed to be used for the indicated file. The msgid extractor will warn when there is no match. - $obj->function()
 - 
Returns the name of the function which is used for translations.
 - $obj->lang()
 - 
The language we are going to translate to. Change this with translateTo() for this domain, or better Log::Report::Template::translateTo().
 - $obj->lexicon()
 - 
Directory where the translation tables are kept.
 - $obj->templater()
 - 
The Log::Report::Template object which is using this textdomain.
 
Translating
- $obj->translateTo($lang)
 - 
Set the language to translate to for
$lang, for this domain only. This may be useful when various text domains do not support the same destination languages. But in general, you can best use Log::Report::Template::translateTo(). - $obj->translationFunction()
 - 
This method returns a CODE which is able to handle a call for translation by Template Toolkit.
 
DIAGNOSTICS
- Warning: Missing key '$key' in format '$format', in $use //template
 - Error: extension to domain '$name' already exists
 - 
Cast by upgrade()
 - Error: message does not contain counting alternatives in '$msgid'
 - 
Cast by translationFunction()
 - Error: no counting positional for '$msgid'
 - 
Cast by translationFunction()
 - Error: no counting positional for '$msgid'
 - 
Cast by translationFunction()
 - Error: superfluous positional parameters for '$msgid'
 - 
Cast by translationFunction()
 - Error: superfluous positional parameters for '$msgid'
 - 
Cast by translationFunction()
 
SEE ALSO
This module is part of Log-Report-Template version 1.03, built on September 08, 2025. Website: http://perl.overmeer.net/CPAN/
LICENSE
For contributors see file ChangeLog.
This software is copyright (c) 2017-2025 by Mark Overmeer.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.