Lingua::String - Class to contain a string in many different languages
Version 0.04
Hold many strings in one object, thereby encapsulating internationalized text.
use Lingua::String;
my $str = Lingua::String->new();
$str->fr('Bonjour Tout le Monde');
$str->en('Hello, World');
$ENV{'LANG'} = 'en_GB';
print "$str\n"; # Prints Hello, World
$ENV{'LANG'} = 'fr_FR';
print "$str\n"; # Prints Bonjour Tout le Monde
$ENV{'LANG'} = 'de_DE';
print "$str\n"; # Prints nothing
my $string = Lingua::String->new('hello'); # Initialises the 'current' language
Create a Lingua::String object.
use Lingua::String;
my $str = Lingua::String->new({ 'en' => 'Here', 'fr' => 'Ici' });
Sets a string in a language.
$str->set({ string => 'House', lang => 'en' });
Autoload will do this for you as
$str->en('House');
Returns the string in the language requested in the parameter. If that parameter is not given, the system language is used.
my $string = Lingua::String->new(en => 'boat', fr => 'bateau');
print $string->as_string(), "\n";
print $string->as_string('fr'), "\n";
print $string->as_string({ lang => 'en' }), "\n";
Turns the encapsulated strings into HTML entities
my $string = Lingua::String->new(en => 'study', fr => 'étude')->encode();
print $string->fr(), "\n"; # Prints étude
Nigel Horne, <njh at bandsman.co.uk>
There's no decode() (yet) so you'll have to be extra careful to avoid double encoding.
You can find documentation for this module with the perldoc command.
perldoc Lingua::String
You can also look for information at:
-
MetaCPAN
-
RT: CPAN's request tracker
-
CPANTS
-
CPAN Testers' Matrix
-
CPAN Testers Dependencies
Copyright 2021-2024 Nigel Horne.
This program is released under the following licence: GPL2 for personal use on a single computer. All other users (for example Commercial, Charity, Educational, Government) must apply in writing for a licence for use from Nigel Horne at `<njh at nigelhorne.com>`.