Rosetta

 view release on metacpan or  search on metacpan

examples/shell.pl  view on Meta::CPAN

#!perl
use 5.008001;
use utf8;
use strict;
use warnings;

use Rosetta::Shell;

my @cmd_line_args = grep { $_ =~ m/^[a-zA-Z:_]+$/x } @ARGV;
my ($engine_name, @user_lang_prefs) = @cmd_line_args;

$engine_name = $engine_name ? $engine_name : 'Rosetta::Engine::Example';
@user_lang_prefs = 'en'
    if @user_lang_prefs == 0;

Rosetta::Shell::main({ 'engine_name' => $engine_name,
    'user_lang_prefs' => \@user_lang_prefs });

lib/Rosetta/Shell.pm  view on Meta::CPAN


    # State variables used by the Rosetta::Shell module:
    my $translator;
    my $dbms;

###########################################################################

sub main {
    my ($arg_ref) = @_;
    my $engine_name = $arg_ref->{'engine_name'};
    my $user_lang_prefs_ref
        = exists $arg_ref->{'user_lang_prefs'}
          ? $arg_ref->{'user_lang_prefs'} : ['en'];

    $translator = Locale::KeyedText::Translator->new({
        'set_names'    => [
                'Rosetta::Shell::L::',
                'Rosetta::L::',
                'Rosetta::Model::L::',
                'Locale::KeyedText::L::',
                $engine_name . '::L::',
            ],
        'member_names' => $user_lang_prefs_ref,
    });

    _show_message( Locale::KeyedText::Message->new({
        'msg_key' => 'ROS_S_HELLO' }) );

    eval {
        $dbms = Rosetta::Interface::DBMS->new({
            'engine_name' => $engine_name });
    };
    if ($@) {



( run in 0.855 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )