Spec-Zone .ru
спецификации, руководства, описания, API
Spec-Zone .ru
спецификации, руководства, описания, API
Библиотека разработчика Mac Разработчик
Поиск

 

Эта страница руководства для  версии 10.9 Mac OS X

Если Вы выполняете различную версию  Mac OS X, просматриваете документацию локально:

Читать страницы руководства

Страницы руководства предназначаются как справочник для людей, уже понимающих технологию.

  • Чтобы изучить, как руководство организовано или узнать о синтаксисе команды, прочитайте страницу руководства для страниц справочника (5).

  • Для получения дополнительной информации об этой технологии, ищите другую документацию в Библиотеке Разработчика Apple.

  • Для получения общей информации о записи сценариев оболочки, считайте Shell, Пишущий сценарий Учебника для начинающих.



Locale::Maketext::Extract::Plugin::Base(3)Contributed Perl Documentation::Maketext::Extract::Plugin::Base(3)



NAME
       Locale::Maketext::Extract::Plugin::Base - Base module for format parser plugins

SYNOPSIS
           package My::Parser::Plugin;
           use base qw(Locale::Maketext::Extract::Plugin::Base);

           sub file_types {
               return [qw( ext ext2 )]
           }

           sub extract {
               my $self = shift;
               local $_ = shift;

               my $line = 1;

               while (my $found = $self->routine_to_extract_strings) {
                   $self->add_entry($str,[$filename,$line,$vars])
               }

               return;
           }

DESCRIPTION
       All format parser plugins in Locale::Maketext::Extract inherit from
       Locale::Maketext::Extract::Plugin::Base.

       If you want to write your own custom parser plugin, you will need to inherit from this module, and
       provide "file_types()" and "extract()" methods, as shown above.

METHODS
       new()
               $plugin = My::Parser->new(
                   @file_types         # Optionally specify a list of recognised file types
               )

       add_entry()
               $plugin->add_entry($str,$line,$vars)

       "entries()"
               $entries = $plugin->entries;

       "clear()"
               $plugin->clear

           Clears all stored entries.

       file_types()
               @default_file_types = $plugin->file_types

           Returns a list of recognised file types that your module knows how to parse.

           Each file type can be one of:

              A plain string

                  'pl'  => base filename is matched against qr/\.pl$/
                  '*'   => all files are accepted

              A regex

                  qr/\.tt2?\./ => base filename is matched against this regex

              A codref

                   sub {}  => this codref is called as $coderef->($base_filename,$path_to_file)
                              It should return true or false

       extract()
               $plugin->extract($filecontents);

           extract() is the method that will be called to process the contents of the current file.

           When it finds a string that should be extracted, it should call

              $self->add_entry($string,$line,$vars])

           where $vars refers to any arguments that are being passed to the localise function. For instance:

              l("You found [quant,_1,file,files]",files_found)

                string: "You found [quant,_1,file,files]"
                vars  : (files_found)

           IMPORTANT: a single plugin instance is used for all files, so if you plan on storing state
           information in the $plugin object, this should be cleared out at the beginning of "extract()"

       known_file_type()
               if ($plugin->known_file_type($filename_with_path)) {
                   ....
               }

           Determines whether the current file should be handled by this parser, based either on the list of
           file_types specified when this object was created, or the default file_types specified in the
           module.

SEE ALSO
       xgettext.pl
           for extracting translatable strings from common template systems and perl source files.

       Locale::Maketext::Lexicon
       Locale::Maketext::Extract::Plugin::Perl
       Locale::Maketext::Extract::Plugin::PPI
       Locale::Maketext::Extract::Plugin::TT2
       Locale::Maketext::Extract::Plugin::YAML
       Locale::Maketext::Extract::Plugin::FormFu
       Locale::Maketext::Extract::Plugin::Mason
       Locale::Maketext::Extract::Plugin::TextTemplate
       Locale::Maketext::Extract::Plugin::Generic

AUTHORS
       Clinton Gormley [DRTECH] <clinton@traveljury.com>

COPYRIGHT
       Copyright 2002-2008 by Audrey Tang <cpan@audreyt.org>.

       This software is released under the MIT license cited below.

   The "MIT" License
       Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
       associated documentation files (the "Software"), to deal in the Software without restriction,
       including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
       and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
       subject to the following conditions:

       The above copyright notice and this permission notice shall be included in all copies or substantial
       portions of the Software.

       THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
       LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
       IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
       LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
       WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.



perl v5.16.2                                     2011-03-02       Locale::Maketext::Extract::Plugin::Base(3)

Сообщение о проблемах

Способ сообщить о проблеме с этой страницей руководства зависит от типа проблемы:

Ошибки содержания
Ошибки отчета в содержании этой документации к проекту Perl. (См. perlbug (1) для инструкций представления.)
Отчеты об ошибках
Сообщите об ошибках в функциональности описанного инструмента или API к Apple через Генератор отчетов Ошибки и к проекту Perl, использующему perlbug (1).
Форматирование проблем
Отчет, форматирующий ошибки в интерактивной версии этих страниц со ссылками на отзыв ниже.