My sample data is <% $data %>
LC_ALL is <% $eall %>
LC_MESSAGES is <% $emessages %>
LANG is <% $elang %>
LANGUAGE is <% $elanguage %>
<%init> use Locale::Messages qw (:locale_h :libintl_h nl_putenv bind_textdomain_filter select_package gettext); use POSIX qw (setlocale); use Encode; select_package("gettext_pp"); my $language = 'de_DE'; my $locale_prefix = '/usr/local/share/locale'; my $loc = "${language}.UTF-8"; setlocale('LC_MESSAGES', $loc); setlocale('LC_TIME', $loc); setlocale('LC_ALL', $loc); Locale::Messages::nl_putenv("LC_MESSAGES=$loc"); Locale::Messages::nl_putenv("LC_TIME=$loc"); Locale::Messages::nl_putenv("LC_ALL=$loc"); Locale::Messages::nl_putenv("LANG=$loc"); Locale::Messages::nl_putenv("LANGUAGE=$loc"); my $eall = $ENV{'LC_ALL'}; my $emessages = $ENV{'LC_MESSAGES'}; my $elang = $ENV{'LANG'}; my $elanguage = $ENV{'LANGUAGE'}; Locale::Messages::textdomain("openxpki"); Locale::Messages::bindtextdomain("openxpki", $locale_prefix); Locale::Messages::bind_textdomain_codeset("openxpki", "UTF-8"); ## This line fails with Apache-2.x on FreeBSD my $data = gettext("I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_INFO_TITLE"); ## The next line is an example of suggested workaround ##$data = `export LANG=ru_RU.UTF-8 && export LANGUAGE=ru_RU.UTF-8 && /usr/local/bin/gettext -d openxpki I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_INFO_TITLE`; Encode::_utf8_on($data); %init>