---
name: "Log::Report::Translator"
section: "3pm"
platform: "linux"
package: "perl-log-report"
version: "1.46-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Report::Translator"
---

# Log::Report::Translator(3pm)

base implementation for translating messages

## NAME

Log::Report::Translator - base implementation for translating messages

## INHERITANCE

```
 Log::Report::Translator is extended by
   Log::Report::Translator::Gettext
   Log::Report::Translator::POT
```

## SYNOPSIS

```
  # internal infrastructure
  my $msg = Log::Report::Message->new(_msgid => "Hello World\n");
  print Log::Report::Translator->new(...)->translate($msg);
  # normal use
  textdomain 'my-domain',
    translator => Log::Report::Translator->new;  # default
  print __"Hello World\n";
```

## DESCRIPTION

A module (or distribution) has a certain way of translating messages, usually `"gettext"`.  The translator is based on some `"textdomain"` for the message, which can be specified as option per text element, but usually is package scoped.

This base class does not translate at all: it will use the MSGID (and MSGID\_PLURAL if available).  It's a nice fallback if the language packs are not installed.

## METHODS

### Constructors

- $class-\>**new**(%options)

  ### Attributes

### Translating

- $obj-\>**load**($domain, $locale)

  Load the translation information in the text `$domain` for the indicated `$locale`. Multiple calls to **load()** should not cost significant performance: the data must be cached.

- $obj-\>**translate**( $message, \[$language, $ctxt\] )

  Returns the translation of the `$message`, a Log::Report::Message object, based on the current locale.

  Translators are permitted to peek into the internal HASH of the message object, for performance reasons.

## SEE ALSO

This module is part of Log-Report version 1.46, built on June 16, 2026. Website: *http://perl.overmeer.net/CPAN/*

## LICENSE

For contributors see file ChangeLog.

This software is copyright (c) 2007-2026 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.
