Provided by: libtranslate0_0.99-0ubuntu9_amd64 bug

NAME

       services.xml - libtranslate generic service definitions

DESCRIPTION

       The  services.xml  file  contains  translation  service  definitions  for the libtranslate
       generic module.

       The generic module provides an abstract framework  for  supporting  web-based  translation
       services.

       When the generic module is initialized, it reads service definitions from the services.xml
       files located in /usr/share/libtranslate and ~/.libtranslate, creates the services defined
       in these files, and makes them available to libtranslate.

       The  services.xml  file must be encoded in UTF-8, and conform to the services.xml Document
       Type Definition, located in /usr/share/libtranslate/services.dtd.

ELEMENTS

   services
       Description
              The services element is  the  root  of  the  document,  and  may  contains  service
              definitions and language mappings.

       Children
              These elements may occur zero or more times in services: custom-language, service.

   custom-language
       Description
              The custom-language element maps a RFC 3066 language tag to a language name.

              Note

              Some  RFC  3066 tag to name mappings are built into libtranslate and do not need to
              be added (see  the  Built-In  RFC  3066  Tag  to  Name  Mappings  appendix  in  the
              libtranslate Reference Manual).

       Attributes

              tag (required)
                     The RFC 3066 language tag.

              name (required)
                     The language human-readable name.

       Parents
              This element contains custom-language: services.

   service
       Description
              The service element defines a translation service.

       Attributes

              name (required)
                     The service symbolic name, encoded in ASCII.

              nick (implied, default: name)
                     The service human-readable name.

              max-chunk-len (optional, default: 1000)
                     The maximum length of an input chunk, in characters (0 means unlimited).

       Parents
              This element contains service: services.

       Children
              This element may occur zero or more times in service: group.

   group
       Description
              The  group  element  defines  a  translation  group  (a  group  represents a set of
              languages and translation methods).

       Parents
              This element contains group: service.

       Children
              These elements may occur zero or more times in group: language, http-header.

              These  elements  may  occur  zero  or  one   time   in   group:   text-translation,
              web-page-translation.

   language
       Description
              The language element adds a language to the list of languages supported by a group.

       Attributes

              tag (required)
                     The RFC 3066 language tag.

              service-tag (implied, default: tag)
                     The  language service-specific tag. This tag is not exposed to libtranslate,
                     but is available as from and to variables (see Variable Substitution).

              to (optional, default: none)
                     A comma-separated list of RFC  3066  language  tags  this  language  can  be
                     translated  into.  The  special list element * means "every language of this
                     group but this one".

       Parents
              This element contains language: group.

   http-header
       Description
              The http-header element adds a HTTP header to the list of headers that are set when
              a HTTP request is issued.

              If  the  http-header element occurs inside a group element, the header is added for
              text and web page translations.

              If it occurs inside a text-translation or web-page-translation element, the  header
              is only added for a text or web page translation, respectively.

       Attributes

              name (required)
                     The HTTP header name.

              value (required)
                     The HTTP header value.

       Parents
              These elements contain http-header: group, text-translation, web-page-translation.

   text-translation
       Description
              The presence of the text-translation element specifies that the group can translate
              text.

       Attributes

              url (required)
                     The URL to use for translating text. Variable substitution is  performed  on
                     the URL (see Variable Substitution).

              post (optional, default: none)
                     If  this  attribute  is  present,  a  HTTP POST request is issued (using the
                     attribute value as post data). Otherwise, a  HTTP  GET  request  is  issued.
                     Variable   substitution   is  performed  on  the  post  data  (see  Variable
                     Substitution).

       Parents
              This element contains text-translation: group.

       Children
              These element may occur  zero  or  more  times  in  text-translation:  http-header,
              pre-marker, error-marker.

              This element may occur zero or one time in text-translation: post-marker.

   pre-marker
       Description
              The  pre-marker element is used to extract the translated text from the response to
              a text translation request.

              For each pre-marker element, the parser locates text in  the  server  response.  If
              text  is  found,  the  parser  moves  to the character following text. If it is not
              found, the translation fails. The translated text starts at the character following
              the  last  pre-marker  match. If no pre-marker element is specified, the translated
              text starts at the first character of the server response.

       Attributes

              text (required)
                     The text to match.

       Parents
              This element contains pre-marker: text-translation.

   post-marker
       Description
              The post-marker element is used to extract the translated text from the response to
              a text translation request.

              If  text  can  be  located  in the server response, the translated text ends at the
              character preceding text. Otherwise,  the  translation  fails.  If  no  post-marker
              element  is specified, the translated text ends at the last character of the server
              response.

       Attributes

              text (required)
                     The text to match.

       Parents
              This element contains post-marker: text-translation.

   error-marker
       Description
              The error-marker element is used to check if a text translation error has occurred.

              If one or more error-marker elements are specified and the text of any of them  can
              be located anywhere in the server response, the translation fails.

       Attributes

              text (required)
                     The text to match.

       Parents
              This element contains error-marker: text-translation.

   web-page-translation
       Description
              The  presence  of  the  web-page-translation  element  specifies that the group can
              translate a web page.

              If no http-header element is specified and if post is not  specified,  the  generic
              module does not need to connect to the server. In this case, url is returned as the
              URL of the translated web page. Otherwise,  the  generic  module  connects  to  the
              server,  issues a HTTP GET or POST request, saves the response to a local file, and
              returns a file:// URL pointing to that file.

       Attributes

              url (required)
                     The URL to  use  for  translating  a  web  page.  Variable  substitution  is
                     performed on the URL (see Variable Substitution).

              post (optional, default: none)
                     If  this  attribute  is  present,  a  HTTP POST request is issued (using the
                     attribute value as post data). Otherwise, a HTTP GET request is  issued  (or
                     no  request  at  all,  see above). Variable substitution is performed on the
                     post data (see Variable Substitution).

       Parents
              This element contains web-page-translation: group.

       Children
              This element may occur zero or more times in web-page-translation: http-header.

VARIABLE SUBSTITUTION

       Variable substitution is performed at translation time on the url and post  attributes  of
       the text-translation and web-page-translation elements.

       A variable has the syntax ${varname[:modifiers]}.

       varname may be any of the following variables:

       text (text-translation only)
              The text to translate.

       url (web-page-translation only)
              The URL of the web page to translate.

       from   The source language service tag.

       to     The destination language service tag.

       time   The  number  of  seconds  since  0  hours,  0  minutes, 0 seconds, January 1, 1970,
              Coordinated Universal Time.

       modifiers is a comma-separated list  of  modifiers.  Each  modifier  is  applied  (in  the
       specified order) on the contents of the variable. A modifier has the syntax name[=value].

       name may be any of the following modifiers:

       escape Escapes the unsafe characters in the variable using URI percent notation.

       charset
              Converts  the variable from UTF-8 (the libtranslate character set) to the character
              set value.

FILES

       /usr/share/libtranslate/services.xml

       The system-wide service definitions.

       ~/.libtranslate/services.xml

       The user service definitions.

       /usr/share/libtranslate/services.dtd

       The services.xml Document Type Definition.

SEE ALSO

       The libtranslate Reference Manual

AUTHOR

       Jean-Yves Lefort.