File: gettext.pm

package info (click to toggle)
haci 0.98c-2.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,240 kB
  • sloc: perl: 23,790; javascript: 1,817; sh: 225; makefile: 8
file content (40 lines) | stat: -rw-r--r-- 820 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package HaCi::GUI::gettext;

use warnings;
use strict;

use Locale::gettext;
use POSIX qw/setlocale LC_ALL/;
use Encode;

require Exporter;
our @ISA        = qw(Exporter);
our @EXPORT_OK  = qw(
	initLocale _gettext
);

our $conf; *conf	= \$HaCi::Conf::conf;

sub _gettext {
	my $msgid	= shift;

	unless (defined $conf->{var}->{GETTEXT}) {
		my $locale	= (defined $HaCi::HaCi::session) ? $HaCi::HaCi::session->param('locale') : 'C';
		&initLocale($locale);
	}

	return encode('UTF-8', $conf->{var}->{GETTEXT}->get($msgid));
}

sub initLocale {
		my $locale	= shift || 'C';

		setlocale(LC_ALL, $locale);
		$conf->{var}->{GETTEXT}	= Locale::gettext->domain_raw('HaCi');
		$conf->{var}->{GETTEXT}->dir($conf->{static}->{path}->{localepath});
		$conf->{var}->{GETTEXT}->codeset('utf-8-strict');
}

1;

# vim:ts=2:sw=2:sws=2