Changeset 4873 for trunk/gsdl/bin/script


Ignore:
Timestamp:
2003-07-03T15:59:04+12:00 (21 years ago)
Author:
mdewsnip
Message:

Further work on standardising option descriptions. Specifically, in preparation for translating the option descriptions into other languages, all the option description strings have been moved in a "resource bundle" file (modelled on a Java resource bundle). (This also has the advantage of reducing the number of duplicate descriptions). The option descriptions in the plugins, classifiers, mkcol.pl, import.pl and buildcol.pl have been replaced with keys into this resource bundle (perllib/strings.rb). When translating the strings in this file into a new language, the new resource bundle should be named strings_<language-code>.rb (where <language-code> is a combination of language and country, eg. 'fr_FR' for the version of French spoken in France).

To support these changes, the PrintUsage module (perllib/printusage.pm) has new code for reading resource bundles and displaying the correct strings. Also, pluginfo.pl, classinfo.pl, mkcol.pl, import.pl and buildcol.pl have a new option (-language) for specifying the language code to display option descriptions in.

If a resource bundle for the specified language code does not exist, a generic resource bundle is used (strings.rb). This currently contains the English text descriptions. However, for users who always use Greenstone in another language, it would be easier to rename the standard file to strings_en_US.rb and rename the resource bundle of their desired language to strings.rb. This would mean they would not have to constantly specify their language with the -language option, since the default resource bundle will suit them.

Currently, the encoding names (in encodings.pm) are not part of this scheme. These are displayed as part of BasPlug's input_encoding option. It is debatable whether these names would be worth translating into other languages.

Parse errors in plugins and classifiers currently cause them to display the usage information using the default resource bundle. It is likely that BasPlug will soon have an option added to specify the language for the usage information in this case. (Note that this does not include using pluginfo.pl or classinfo.pl to display usage information - these have a -language option).

Location:
trunk/gsdl/bin/script
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/gsdl/bin/script/buildcol.pl

    r4776 r4873  
    4646my $mode_list =
    4747    [ { 'name' => "all",
    48         'desc' => "Do everything." },
     48        'desc' => "{buildcol.mode.all}" },
    4949      { 'name' => "compress_text",
    50         'desc' => "Just compress the text." },
     50        'desc' => "{buildcol.mode.compress_text}" },
    5151      { 'name' => "build_index",
    52         'desc' => "Just index the text." },
     52        'desc' => "{buildcol.mode.build_index}" },
    5353      { 'name' => "infodb",
    54         'desc' => "Just build the metadata database." } ];
     54        'desc' => "{buildcol.mode.infodb}" } ];
    5555
    5656my $arguments =
    5757    [ { 'name' => "archivedir",
    58     'desc' => "Where the archives live.",
     58    'desc' => "{buildcol.archivedir}",
    5959    'type' => "string",
    6060    'reqd' => "no" },
    6161      { 'name' => "verbosity",
    62     'desc' => "0=none, 3=lots",
     62    'desc' => "{buildcol.verbosity}",
    6363    'type' => "int",
    6464    'deft' => "2",
    6565    'reqd' => "no" },
    6666      { 'name' => "builddir",
    67     'desc' => "Where to put the built indexes.",
    68     'type' => "string",
    69     'reqd' => "no" },
    70       { 'name' => "cachedir",
    71     'desc' => "?",
    72     'type' => "string",
    73     'reqd' => "no" },
     67    'desc' => "{buildcol.builddir}",
     68    'type' => "string",
     69    'reqd' => "no" },
     70#     { 'name' => "cachedir",
     71#   'desc' => "{buildcol.cachedir}",
     72#   'type' => "string",
     73#   'reqd' => "no" },
    7474      { 'name' => "maxdocs",
    75     'desc' => "Maximum number of documents to build.",
     75    'desc' => "{buildcol.maxdocs}",
    7676    'type' => "int",
    7777    'reqd' => "no" },
    7878      { 'name' => "debug",
    79     'desc' => "Print output to STDOUT.",
     79    'desc' => "{buildcol.debug}",
    8080    'type' => "flag",
    8181    'reqd' => "no" },
    8282      { 'name' => "mode",
    83     'desc' => "The parts of the building process to carry out.",
     83    'desc' => "{buildcol.mode}",
    8484    'type' => "enum",
    8585    'list' => $mode_list,
     
    8787    'reqd' => "no" },
    8888      { 'name' => "index",
    89     'desc' => "Index to build (will build all in config file if not set).",
     89    'desc' => "{buildcol.index}",
    9090    'type' => "string",
    9191    'reqd' => "no" },
    9292      { 'name' => "keepold",
    93     'desc' => "Will not destroy the current contents of the building directory.",
     93    'desc' => "{buildcol.keepold}",
    9494    'type' => "flag",
    9595    'reqd' => "no" },
    96       { 'name' => "no_text",             
    97     'desc' => "Don't store compressed text. This option is useful for minimizing the size of the built indexes if you intend always to display the original documents at run time (i.e. you won't be able to retrieve the compressed text version).",
     96      { 'name' => "no_text",
     97    'desc' => "{buildcol.no_text}",
    9898    'type' => "flag",
    9999    'reqd' => "no" },
    100100      { 'name' => "allclassifications",
    101     'desc' => "Don't remove empty classifications.",
     101    'desc' => "{buildcol.allclassifications}",
    102102    'type' => "flag",
    103103    'reqd' => "no" },
    104104      { 'name' => "create_images",
    105     'desc' => "Attempt to create default images for new collection. This relies on the Gimp being installed along with relevant perl modules to allow scripting from perl.",
     105    'desc' => "{buildcol.create_images}",
    106106    'type' => "flag",
    107107    'reqd' => "no" },
    108108      { 'name' => "collectdir",
    109     'desc' => "Collection directory.",
     109    'desc' => "{buildcol.collectdir}",
    110110    'type' => "string",
    111111    'deft' => &util::filename_cat ($ENV{'GSDLHOME'}, "collect"),
    112112    'reqd' => "no" },
    113113      { 'name' => "out",
    114     'desc' => "Filename or handle to print output status to.",
     114    'desc' => "{buildcol.out}",
    115115    'type' => "string",
    116116    'deft' => "STDERR",
    117117    'reqd' => "no" },
    118118      { 'name' => "no_strip_html",
    119     'desc' => "Do not strip the html tags from the indexed text (only used for mgpp collections).",
     119    'desc' => "{buildcol.no_strip_html}",
    120120    'type' => "flag",
    121121    'reqd' => "no" },
    122122      { 'name' => "faillog",
    123     'desc' => "Fail log filename. This log receives the filenames of any files which fail to be processed.",
     123    'desc' => "{buildcol.faillog}",
    124124    'type' => "string",
    125125    'deft' => &util::filename_cat("<collectdir>", "colname", "etc", "fail.log"),
     126    'reqd' => "no" },
     127      { 'name' => "language",
     128    'desc' => "{scripts.language}",
     129    'type' => "string",
    126130    'reqd' => "no" } ];
    127131
     
    133137sub print_xml_usage
    134138{
     139    local $language = shift(@_);
     140
    135141    &PrintUsage::print_xml_header();
    136142
     
    140146    print STDERR "  <Arguments>\n";
    141147    if (defined($options->{'args'})) {
    142     &PrintUsage::print_options_xml($options->{'args'});
     148    &PrintUsage::print_options_xml($language, $options->{'args'});
    143149    }
    144150    print STDERR "  </Arguments>\n";
     
    149155sub print_txt_usage
    150156{
     157    local $language = shift(@_);
     158
    151159    local $programname = $options->{'name'};
    152160    local $programargs = $options->{'args'};
     
    169177
    170178    # Display the program options
    171     &PrintUsage::print_options_txt($programargs, $optiondescoffset);
     179    &PrintUsage::print_options_txt($language, $programargs, $optiondescoffset);
    172180    }
    173181}
     
    222230    $debug, $mode, $indexname, $keepold, $allclassifications,
    223231    $create_images, $collectdir, $out, $buildtype, $textindex,
    224     $no_strip_html, $no_text, $faillog);
     232    $no_strip_html, $no_text, $faillog, $language);
    225233
    226234    # ***** 11-04-03 - John Thompson *****
     
    231239    # later (after we check the collect.cfg file)
    232240    if (!parsargv::parse(\@ARGV,
     241             'language/.*/', \$language,
    233242             'verbosity/\d+/', \$verbosity,
    234243             'archivedir/.*/', \$archivedir,
    235              'cachedir/.*/', \$cachedir,
     244             'cachedir/.*/', \$cachedir,  # UNDOCUMENTED
    236245             'builddir/.*/', \$builddir,
    237246             'maxdocs/^\-?\d+/', \$maxdocs,
     
    248257             'faillog/.*/', \$faillog,
    249258             q^xml^, \$xml)) {
    250     &print_txt_usage();
     259    &print_txt_usage($language);
    251260    die "\n";
    252261    }
    253262
    254263    if ($xml) {
    255         &print_xml_usage();
     264        &print_xml_usage($language);
    256265    die "\n";
    257266    }
     
    268277    # get and check the collection
    269278    if (($collection = &util::use_collection(@ARGV, $collectdir)) eq "") {
    270     &print_txt_usage();
     279    &print_txt_usage($language);
    271280    die "\n";
    272281    }
  • trunk/gsdl/bin/script/classinfo.pl

    r4779 r4873  
    4242    print STDERR "\n";
    4343    print STDERR "classinfo.pl: Prints information about a classifier.\n\n";
    44     print STDERR "  usage: $0 [options] classifier\n\n";
    45     print STDERR "  options:\n";
    46     print STDERR "   -collect collection-name  Giving a collection name will make\n";
    47     print STDERR "         classinfo.pl look in collect/collection-name/perllib/classify\n";
    48     print STDERR "         first. If it doesn't find it there it will look in the general\n";
    49     print STDERR "         perllib/classify directory.\n\n";
    50     print STDERR "   -xml                      Produces the information in an xml form, without\n";
    51     print STDERR "                             'pretty' comments but with much more detail.\n";
     44    print STDERR " usage: $0 [options] classifier\n\n";
     45    print STDERR " options:\n";
     46    print STDERR "  -collect collection-name  Giving a collection name will make classinfo.pl\n";
     47    print STDERR "                            look in collect/collection-name/perllib/classify\n";
     48    print STDERR "                            first. If the classifier is not found there it will\n";
     49    print STDERR "                            look in the general perllib/classify directory.\n\n";
     50    print STDERR "  -xml                      Produces the information in an xml form, without\n";
     51    print STDERR "                            'pretty' comments but with much more detail.\n\n";
     52    print STDERR "  -language language-code   Language to display plugin options in (eg. 'en_US'\n";
     53    print STDERR "                            specifies American English). Requires translations\n";
     54    print STDERR "                            of the option descriptions to exist in the\n";
     55    print STDERR "                            perllib/strings_language-code.rb file.\n";
    5256}
    5357
     
    5761    my $collect = "";
    5862    my $xml = 0;
     63    my $language = "";  # Will display in the default language if not set
    5964
    6065    # Parse command line
    61     if (!parsargv::parse(\@ARGV, q^collect/.*/^, \$collect, q^xml^, \$xml ))
     66    if (!parsargv::parse(\@ARGV,
     67             q^collect/.*/^, \$collect,
     68             q^xml^, \$xml,
     69             q^language/.*/^, \$language))
    6270    {
    6371    &print_usage();
     
    8492
    8593    if ($xml) {
    86         $classobj->print_xml_usage();
     94        $classobj->print_xml_usage($language);
    8795    }
    8896    else {
     
    101109    print STDERR "General options are inherited from parent classes of the classifer.\n\n";
    102110
    103     $classobj->print_txt_usage();
     111    $classobj->print_txt_usage($language);
    104112    }
    105113}
  • trunk/gsdl/bin/script/import.pl

    r4776 r4873  
    5050my $oidtype_list =
    5151    [ { 'name' => "hash",
    52         'desc' => "Hashes the contents of the file. Document identifier will be the same every time the collection is imported." },
     52        'desc' => "{import.OIDtype.hash}" },
    5353      { 'name' => "incremental",
    54         'desc' => "A simple document count that is significantly faster than \"hash\". It is not guaranteed to always assign the same identifier to a given document though and does not allow further documents to be added to existing xml archives." } ];
     54        'desc' => "{import.OIDtype.incremental}" } ];
    5555
    5656my $arguments =
    5757    [ { 'name' => "archivedir",
    58     'desc' => "Where the converted material ends up.",
     58    'desc' => "{import.achivedir}",
    5959    'type' => "string",
    6060    'reqd' => "no" },
    6161      { 'name' => "collectdir",
    62     'desc' => "Collection directory.",
     62    'desc' => "{import.collectdir}",
    6363    'type' => "string",
    6464    'deft' => &util::filename_cat ($ENV{'GSDLHOME'}, "collect"),
    6565    'reqd' => "no" },
    6666      { 'name' => "debug",
    67     'desc' => "Print imported text to STDOUT.",
     67    'desc' => "{import.debug}",
    6868    'type' => "flag",
    6969    'reqd' => "no" },
    7070      { 'name' => "faillog",
    71     'desc' => "Fail log filename. This log receives the filenames of any files which fail to be processed.",
     71    'desc' => "{import.faillog}",
    7272    'type' => "string",
    7373    'deft' => &util::filename_cat("<collectdir>", "colname", "etc", "fail.log"),
    7474    'reqd' => "no" },
    7575      { 'name' => "groupsize",
    76     'desc' => "Number of import documents to group into one XML file.",
     76    'desc' => "{import.groupsize}",
    7777    'type' => "int",
    7878    'deft' => "1",
    7979    'reqd' => "no" },
    8080      { 'name' => "gzip",
    81     'desc' => "Use gzip to compress resulting xml documents (don't forget to include ZIPPlug in your plugin list when building from compressed documents).",
     81    'desc' => "{import.gzip}",
    8282    'type' => "flag",
    8383    'reqd' => "no" },
    8484      { 'name' => "importdir",
    85     'desc' => "Where the original material lives.",
     85    'desc' => "{import.importdir}",
    8686    'type' => "string",
    8787    'reqd' => "no" },
    8888      { 'name' => "keepold",
    89     'desc' => "Will not destroy the current contents of the archives directory (the default).",
     89    'desc' => "{import.keepold}",
    9090    'type' => "flag",
    9191    'reqd' => "no" },
    9292      { 'name' => "maxdocs",
    93     'desc' => "Maximum number of documents to import.",
     93    'desc' => "{import.maxdocs}",
    9494    'type' => "int",
    9595    'reqd' => "no" },
    9696      { 'name' => "OIDtype",
    97     'desc' => "The method to use when generating unique identifiers for each document.",
     97    'desc' => "{import.OIDtype}",
    9898    'type' => "enum",
    9999    'list' => $oidtype_list,
     
    101101    'reqd' => "no" },
    102102      { 'name' => "out",
    103     'desc' => "Filename or handle to print output status to.",
     103    'desc' => "{import.out}",
    104104    'type' => "string",
    105105    'deft' => "STDERR",
    106106    'reqd' => "no" },
    107107      { 'name' => "removeold",
    108     'desc' => "Will remove the old contents of the archives directory -- use with care.",
     108    'desc' => "{import.removeold}",
    109109    'type' => "flag",
    110110    'reqd' => "no" },
    111111      { 'name' => "sortmeta",
    112     'desc' => "Sort documents alphabetically by metadata for building. This will be disabled if groupsize > 1.",
     112    'desc' => "{import.sortmeta}",
    113113    'type' => "string",
    114114    'reqd' => "no" },
    115115      { 'name' => "statsfile",
    116     'desc' => "Filename or handle to print import statistics to.",
     116    'desc' => "{import.statsfile}",
    117117    'type' => "string",
    118118    'deft' => "STDERR",
    119119    'reqd' => "no" },
    120120      { 'name' => "verbosity",
    121     'desc' => "0=none, 3=lots",
     121    'desc' => "{import.verbosity}",
    122122    'type' => "int",
    123123    'deft' => "2",
     124    'reqd' => "no" },
     125      { 'name' => "language",
     126    'desc' => "{scripts.language}",
     127    'type' => "string",
    124128    'reqd' => "no" } ];
    125129
     
    131135sub print_xml_usage
    132136{
     137    local $language = shift(@_);
     138
    133139    &PrintUsage::print_xml_header();
    134140
     
    138144    print STDERR "  <Arguments>\n";
    139145    if (defined($options->{'args'})) {
    140     &PrintUsage::print_options_xml($options->{'args'});
     146    &PrintUsage::print_options_xml($language, $options->{'args'});
    141147    }
    142148    print STDERR "  </Arguments>\n";
     
    147153sub print_txt_usage
    148154{
     155    local $language = shift(@_);
     156
    149157    local $programname = $options->{'name'};
    150158    local $programargs = $options->{'args'};
     
    167175
    168176    # Display the program options
    169     &PrintUsage::print_options_txt($programargs, $optiondescoffset);
     177    &PrintUsage::print_options_txt($language, $programargs, $optiondescoffset);
    170178    }
    171179}
     
    224232    $maxdocs, $collection, $configfilename, $collectcfg,
    225233    $pluginfo, $sortmeta, $archive_info_filename, $statsfile,
    226     $archive_info, $processor, $out, $faillog, $collectdir);
     234    $archive_info, $processor, $out, $faillog, $collectdir, $language);
    227235
    228236    # ***** 11-04-03 - John Thompson *****
     
    233241    # later (after we check the collect.cfg file)
    234242    if (!parsargv::parse(\@ARGV,
     243             'language/.*/', \$language,
    235244             'verbosity/\d+/', \$verbosity,
    236245             'importdir/.*/', \$importdir,
     
    249258             'faillog/.*/', \$faillog,
    250259             q^xml^, \$xml)) {
    251     &print_txt_usage();
     260    &print_txt_usage($language);
    252261    die "\n";
    253262    }
    254263
    255264    if ($xml) {
    256         &print_xml_usage();
     265        &print_xml_usage($language);
    257266    die "\n";
    258267    }
     
    271280    # get and check the collection name
    272281    if (($collection = &util::use_collection(@ARGV, $collectdir)) eq "") {
    273     &print_txt_usage();
     282    &print_txt_usage($language);
    274283    die "\n";
    275284    }
  • trunk/gsdl/bin/script/mkcol.pl

    r4776 r4873  
    4646my $arguments =
    4747    [ { 'name' => "creator",
    48     'desc' => "The collection creator's e-mail address.",
     48    'desc' => "{mkcol.creator}",
    4949    'type' => "string",
    5050    'reqd' => "yes" },
    5151      { 'name' => "optionfile",
    52     'desc' => "Get options from file, useful on systems where long command lines may cause problems.",
     52    'desc' => "{mkcol.optionfile}",
    5353    'type' => "string",
    5454    'reqd' => "no" },
    5555      { 'name' => "maintainer",
    56     'desc' => "The collection maintainer's email address (if different from the creator).",
     56    'desc' => "{mkcol.maintainer}",
    5757    'type' => "string",
    5858    'reqd' => "no" },
    5959      { 'name' => "collectdir",
    60     'desc' => "Directory where new collection will be created.",
     60    'desc' => "{mkcol.collectdir}",
    6161    'type' => "string",
    6262    'deft' => &util::filename_cat ($ENV{'GSDLHOME'}, "collect"),
    6363    'reqd' => "no" },
    6464      { 'name' => "public",
    65     'desc' => "If this collection has anonymous access (true/false).",
     65    'desc' => "{mkcol.public}",
    6666    'type' => "string",
    6767    'deft' => "true",
    6868    'reqd' => "no" },
    6969      { 'name' => "title",
    70     'desc' => "The title of the collection.",
     70    'desc' => "{mkcol.title}",
    7171    'type' => "string",
    7272    'reqd' => "no" },
    7373      { 'name' => "about",
    74     'desc' => "The about text for the collection.",
     74    'desc' => "{mkcol.about}",
    7575    'type' => "string",
    7676    'reqd' => "no" },
    7777      { 'name' => "plugin",
    78     'desc' => "Perl plugin module to use (there may be multiple plugin entries).",
     78    'desc' => "{mkcol.plugin}",
    7979    'type' => "string",
    8080    'reqd' => "no" },
    8181      { 'name' => "quiet",
    82     'desc' => "Operate quietly.",
     82    'desc' => "{mkcol.quiet}",
    8383    'type' => "flag",
     84    'reqd' => "no" },
     85      { 'name' => "language",
     86    'desc' => "{scripts.language}",
     87    'type' => "string",
    8488    'reqd' => "no" } ];
    8589
     
    9195sub print_xml_usage
    9296{
     97    local $language = shift(@_);
     98
    9399    &PrintUsage::print_xml_header();
    94100
     
    98104    print STDERR "  <Arguments>\n";
    99105    if (defined($options->{'args'})) {
    100     &PrintUsage::print_options_xml($options->{'args'});
     106    &PrintUsage::print_options_xml($language, $options->{'args'});
    101107    }
    102108    print STDERR "  </Arguments>\n";
     
    107113sub print_txt_usage
    108114{
     115    local $language = shift(@_);
     116
    109117    local $programname = $options->{'name'};
    110118    local $programargs = $options->{'args'};
     
    127135
    128136    # Display the program options
    129     &PrintUsage::print_options_txt($programargs, $optiondescoffset);
     137    &PrintUsage::print_options_txt($language, $programargs, $optiondescoffset);
    130138    }
    131139}
     
    221229    my ($argref) = @_;
    222230    if (!&parsargv::parse($argref,
     231              'language/.*/', \$language,
    223232              'optionfile/.*/', \$optionfile,
    224233              'collectdir/.*/', \$collectdir,
     
    232241              q^xml^, \$xml
    233242              )) {
    234     &print_txt_usage();
     243    &print_txt_usage($language);
    235244    die "\n";
    236245    }
     
    242251
    243252    if ($xml) {
    244     &print_xml_usage();
     253    &print_xml_usage($language);
    245254    die "\n";
    246255    }
     
    255264    close OPTIONS;
    256265    &parse_args ($options);
    257 
    258266    }
    259267
     
    268276    if (!defined($collection)) {
    269277    print STDOUT "ERROR: no collection name was specified\n";
    270     &print_txt_usage();
     278    &print_txt_usage($language);
    271279    die "\n";
    272280    }
  • trunk/gsdl/bin/script/pluginfo.pl

    r4779 r4873  
    4444    print STDERR "\n";
    4545    print STDERR "pluginfo.pl: Prints information about a plugin.\n\n";
    46     print STDERR "  usage: $0 [options] plugin\n\n";
    47     print STDERR "  options:\n";
    48     print STDERR "   -collect collection-name  Giving a collection name will make pluginfo.pl\n";
    49     print STDERR "                             look in collect/collection-name/perllib/plugins\n";
    50     print STDERR "                             for plugin first. If it doesn't find it there\n";
    51     print STDERR "                             it will look in the general perllib/plugins\n";
    52     print STDERR "                             directory\n";
    53     print STDERR "   -xml                      Produces the information in an xml form, without\n";
    54     print STDERR "                             'pretty' comments but with much more detail.\n";
     46    print STDERR " usage: $0 [options] plugin\n\n";
     47    print STDERR " options:\n";
     48    print STDERR "  -collect collection-name  Giving a collection name will make pluginfo.pl\n";
     49    print STDERR "                            look in collect/collection-name/perllib/plugins\n";
     50    print STDERR "                            first. If the plugin is not found there it will\n";
     51    print STDERR "                            look in the general perllib/plugins directory.\n\n";
     52    print STDERR "  -xml                      Produces the information in an xml form, without\n";
     53    print STDERR "                            'pretty' comments but with much more detail.\n\n";
     54    print STDERR "  -language language-code   Language to display plugin options in (eg. 'en_US'\n";
     55    print STDERR "                            specifies American English). Requires translations\n";
     56    print STDERR "                            of the option descriptions to exist in the\n";
     57    print STDERR "                            perllib/strings_language-code.rb file.\n";
    5558}
    5659
     
    6164    my $collect = "";
    6265    my $xml = 0;
     66    my $language = "";  # Will display in the default language if not set
    6367
    64     if (!parsargv::parse(\@ARGV, q^collect/.*/^, \$collect, q^xml^, \$xml ))
     68    if (!parsargv::parse(\@ARGV,
     69             q^collect/.*/^, \$collect,
     70             q^xml^, \$xml,
     71             q^language/.*/^, \$language))
    6572    {
    6673    &print_usage();
     
    8289
    8390    my $pluginfo = &plugin::load_plugins ([[$plugin]]);
    84      
    8591    my $plugobj = shift @$pluginfo;
    8692
    87     if ($xml) { 
    88         $plugobj->print_xml_usage();
     93    if ($xml) {
     94        $plugobj->print_xml_usage($language);
    8995    }
    9096    else {
    91     my $pluginfo = &plugin::load_plugins ([[$plugin]]);
    92 
    93     my $plugobj = shift @$pluginfo;
    94 
    9597    print STDERR "\n$plugin info:\n\n";
    9698
     
    105107    print STDERR "General options are inherited from parent classes of the plugin.\n\n";
    106108
    107     $plugobj->print_txt_usage();
     109    $plugobj->print_txt_usage($language);
    108110
    109111#   print STDERR " The default process_exp for $plugin is: ";
Note: See TracChangeset for help on using the changeset viewer.