76 lines
1.9 KiB
Perl
76 lines
1.9 KiB
Perl
# Module of TWiki Enterprise Collaboration Platform, http://TWiki.org/
|
|
#
|
|
# Copyright (C) 1999-2007 TWiki Contributors.
|
|
# All Rights Reserved. TWiki Contributors
|
|
# are listed in the AUTHORS file in the root of this distribution.
|
|
# NOTE: Please extend that file, not this notice.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public License
|
|
# as published by the Free Software Foundation; either version 2
|
|
# of the License, or (at your option) any later version. For
|
|
# more details read LICENSE in the root of this distribution.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
#
|
|
# As per the GPL, removal of this notice is prohibited.
|
|
|
|
# TWiki::I18N::Fallback - a fallback class for when
|
|
# Locale::Maketext isn't available.
|
|
|
|
package TWiki::I18N::Fallback;
|
|
|
|
use base 'TWiki::I18N';
|
|
|
|
sub new {
|
|
my $class = shift;
|
|
my $this = bless({}, $class);;
|
|
return $this;
|
|
}
|
|
|
|
sub maketext {
|
|
my ( $this, $text, @args ) = @_;
|
|
|
|
return '' unless $text;
|
|
|
|
# substitute parameters:
|
|
$text =~ s/\[\_(\d+)\]/$args[$1-1]/ge;
|
|
|
|
# unescape escaped square brackets:
|
|
$text =~ s/~(\[|\])/$1/g;
|
|
|
|
#plurals:
|
|
$text =~ s/\[\*,\_(\d+),([^,]+)(,([^,]+))?\]/_handlePlurals($args[$1-1],$2,$4)/ge;
|
|
|
|
return $text;
|
|
}
|
|
|
|
sub _handlePlurals {
|
|
my ( $number, $singular, $plural ) = @_;
|
|
# bad hack, but Locale::Maketext does it the same way ;)
|
|
return $number . ' ' . (($number == 1) ? $singular : ( $plural ? ($plural) : ($singular . 's') ) );
|
|
}
|
|
|
|
sub language {
|
|
return 'en';
|
|
}
|
|
|
|
sub enabled_languages {
|
|
my $this = shift;
|
|
return $this->{enabled_languages};
|
|
}
|
|
|
|
sub fromSiteCharSet {
|
|
my ( $this, $text ) = @_;
|
|
return $text;
|
|
}
|
|
|
|
sub toSiteCharSet {
|
|
my ( $this, $text ) = @_;
|
|
return $text;
|
|
}
|
|
|
|
1;
|