NAME
Rosetta::Engine::Generic::L::en - Localization of Rosetta::Engine::Generic for English
DEPENDENCIES
Perl Version: 5.006
Standard Modules: none
Nonstandard Modules: This module has no enforced dependencies, but it is designed to be used by Locale::KeyedText when that module localizes error messages generated by Rosetta::Engine::Generic module.
COPYRIGHT AND LICENSE
This file is part of the Rosetta::Extensions collection of Rosetta feature reference implementations.
Rosetta::Extensions is Copyright (c) 1999-2004, Darren R. Duncan. All rights reserved. Address comments, suggestions, and bug reports to perl@DarrenDuncan.net, or visit "http://www.DarrenDuncan.net" for more information.
Rosetta::Extensions is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License (GPL) version 2 as published by the Free Software Foundation (http://www.fsf.org/). You should have received a copy of the GPL as part of the Rosetta::Extensions distribution, in the file named "LICENSE"; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Linking Rosetta::Extensions statically or dynamically with other modules is making a combined work based on Rosetta::Extensions. Thus, the terms and conditions of the GPL cover the whole combination. As a special exception, the copyright holders of Rosetta::Extensions give you permission to link Rosetta::Extensions with independent modules, regardless of the license terms of these independent modules, and to copy and distribute the resulting combined work under terms of your choice, provided that every copy of the combined work is accompanied by a complete copy of the source code of Rosetta::Extensions (the version of Rosetta::Extensions used to produce the combined work), being distributed under the terms of the GPL plus this exception. An independent module is a module which is not derived from or based on Rosetta::Extensions, and which is fully useable when not linked to Rosetta::Extensions in any form.
Any versions of Rosetta::Extensions that you modify and distribute must carry prominent notices stating that you changed the files and the date of any changes, in addition to preserving this original copyright notice and other credits. Rosetta::Extensions 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.
While it is by no means required, the copyright holders of Rosetta::Extensions would appreciate being informed any time you create a modified version of Rosetta::Extensions that you are willing to distribute, because that is a practical way of suggesting improvements to the standard version.
SYNOPSIS
use Locale::KeyedText;
use Rosetta;
# do work ...
my $translator = Locale::KeyedText->new_translator( ['Rosetta::Engine::Generic::L::',
'Rosetta::L::', 'SQL::Routine::L::'], ['en'] );
# do work ...
eval {
# do work with Rosetta, which may throw an exception ...
};
if( my $error_message_object = $@ ) {
# examine object here if you want and programmatically recover...
# or otherwise do the next few lines...
my $error_user_text = $translator->translate_message( $error_message_object );
# display $error_user_text to user by some appropriate means
}
# continue working, which may involve using Rosetta some more ...
DESCRIPTION
The Rosetta::Engine::Generic::L::en Perl 5 module contains localization data for the Rosetta::Engine::Generic module. It complements the Rosetta::L::en module, which should interpret most messages that Generic throws; Generic::L just contains extra or overridden messages specific to Generic. It is designed to be interpreted by Locale::KeyedText.
This class is optional and you can still use Rosetta::Engine::Generic effectively without it, especially if you plan to either show users different error messages than this class defines, or not show them anything because you are "handling it".
SYNTAX
This class does not export any functions or methods, so you need to call them using object notation. This means using Class->function() for functions and $object->method() for methods. If you are inheriting this class for your own modules, then that often means something like $self->method().
FUNCTIONS
get_text_by_key( MSG_KEY )
my $user_text_template = Rosetta::L::en->get_text_by_key( 'foo' );
This function takes a Message Key string in MSG_KEY and returns the associated user text template string, if there is one, or undef if not.
SEE ALSO
perl(1), Locale::KeyedText, Rosetta::Engine::Generic.