Localizer::Resource - Interface to manipulate Localizer


    use Localizer::Resource;
    use Localizer::Style::Gettext;
    use Config::Properties;

    my $ja = Localizer::Resource->new(
        dictionary => +{ Config::Properties->new(
            file => ''
        )->properties },
        format => Localizer::Style::Gettext->new(),
        functions => {
            dubbil => sub { return $_[0] * 2 },
    say $ja->maketext("Hi, %1.", "John");        # => こんにちは、John。
    say $ja->maketext("Double: %dubbil(%1)", 7); # => 2倍: 14

Example of contents of, like so;

    Hi,\ %1.=こんにちは、%1。
    Double\:\ %dubbil(%1)=2倍:\ %dubbil(%1)


Localizer is the yet another framework for localization. It is more simple than past localization framework.

This module is the interface to manipulate Localizer.


  • Localizer::Resource->new(%args | \%args)

    Constructor. It makes Localizer client with %args.


        my $de = Localizer::Resource->new(
            dictionary => {
                'Hello, World!' => 'Hello, Welt!'
            format => Localizer::Style::Gettext->new(),
            functions => {
                dubbil => sub { return $_[0] * 2 },
            precompile => 0,
    dictionary: Hash Reference

    Dictionary data to localize.

    format: Instance of Style Class

    Format of dictionary. Now this module supports Localizer::Style::Gettext (Gettext style) and Localizer::Style::Maketext (Maketext style). Default value is Localizer::Style::Gettext.

    functions: Hash Reference

    Register functions to call by dictionary. Please see also Localizer::Style::Gettext and Localizer::Style::Maketext.

    precompile: Scalar Value

    It precompiles dictionary data if this value is true. Default value is 1 (means always precompile).

  • $localizer->maketext($key);

    Localize by dictionary data with key. If you give nonexistent key to this method, it returns undef.


Locale::Maketext, Locale::Maketext::Lexicon


Copyright (C) Tokuhiro Matsuno.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.