dwww Home | Manual pages | Find package

Date::Manip::Lang(3pm)User Contributed Perl DocumentatioDate::Manip::Lang(3pm)

NAME
       Date::Manip::Lang - language support for Date::Manip

DESCRIPTION
       Date::Manip supports a number of different languages when parsing
       dates, and more can be added.

CURRENT LANGUAGES
       Currently, the following languages are supported by Date::Manip.  The
       version of Date::Manip where they were added is included (so you can
       see the minimum version of Date::Manip needed to parse each).

       The language can be chosen by setting the Language config variable to
       the name of the language or any of the aliases included in the table.

       All names and aliases are case insensitive.

          Language     Version  Aliases

          English      default  en, en_us

          Catalan      5.43     ca
          Danish       5.41     da
          Dutch        5.32     Nederlands, nl
          Finnish      6.31     fi, fi_fi
          French       5.02     fr, fr_fr
          German       5.31     de, de_de
          Italian      5.35     it, it_it
          Norwegian    6.21     nb, nb_no
          Polish       5.32     pl, pl_pl
          Portuguese   5.34     pt, pt_pt
          Romanian     5.35     ro, ro_ro
          Russian      5.41     ru, ru_ru
          Spanish      5.33     es, es_es
          Swedish      5.05     sv
          Turkish      5.41     tr, tr_tr

ADDING A LANGUAGE
       Adding a language is easily done (if you're fluent in both English and
       the other language).  If you want to add a new language, do the
       following:

       Language name
           When you submit the new language, I'll need the name of the
           language (of course) and any common locale names that might be
           useful for people to select the language.

           For example, if you were creating a Spanish translation (which is
           not necessary since it already exists), I would need the following
           list:

              spanish es es_es

       Copy the english module
           Copy the english.pm file (which is in lib/Date/Manip/Lang in the
           Date::Manip distribution) to the new language (i.e. spanish.pm in
           this example).

       Set some variables in the new module
           The new module (spanish.pm) will need a few simple modifications.
           Change the package name from 'english' to 'spanish'.

           Fix the @Encodings lines.  Most languages can be written in more
           than one encoding.  The first encoding in the list should be utf-8
           and the last should be perl.  Include any other encodings that
           should be supported as well.

           Set the $YearAdded and $LangName appropriately.

       Translate the language terms
           The data section of the module is fairly straightforward to
           translate.

           Every term is defined in the Date::Manip::Lang::english document
           (or in any of the other language module documents), so please refer
           to it to find out what each element means.  Then replace the
           English version with the new translation.

           There are some requirements:

           1) Every element should be defined (except for the sephm and sepms
           elements which are optional).

           2) The module must be written using UTF-8 characters if the
           language includes any non-ASCII characters.

           3) Each element includes a list of values (different variations of
           the element).  In most cases, the order of the values for each
           element is not important since they are just used to create a
           regular expression for parsing dates, but a few of them are also
           used to determine printable values using the
           "Date::Manip::Date::printf" method (or the "UnixDate" function).
           These elements are:

              Element       printf directive

              ampm          %p
              day_abb       %a
              day_char      %v
              day_name      %A
              month_abb     %b
              month_name    %B
              nth           %E

           For each of these, the value that should be printed out must be the
           first value in the list.

           4) When possible, if a language includes characters that are
           essentially ASCII characters with a punctuation mark, please
           include a variation of the value which is just ASCII with the
           punctuation removed.  For example, the spanish name for Saturday in
           ASCII would be written sabado, but in reality, the first 'a' has an
           accent over it. This word should appear twice... first in full
           UTF-8 encoding, and second as all ASCII. If the language (Russian
           for example) has no ASCII equivalent, just include the UTF-8
           representation.

       Feel free to contact me if you have any questions.

LANGUAGE SPECIFIC RULES
       In the language file, there is one special value named _special_rules.
       This is a hash of special parsing rules that will be applied for this
       language.

       Currently the following rules are available:

       remove_trailing_period
           If this is set, trailing periods will be removed.

           For example, in German, default output of the date command includes
           a day of month with a trailing period.  For example:

              Mo 3. Jan 11:00:00 EST 2022

           If this rule is set, periods followed by whitespace (or an end of
           string) are stripped.

       remove_parens
           This will strip parentheses () from a string.

       strip_word
           This is a list of words that will be stripped from a string.  Each
           word must be bracketed by the start/end of the string or
           whitespace.

SEE ALSO
       Date::Manip        - main module documentation

LICENSE
       This script is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

AUTHOR
       Sullivan Beck (sbeck@cpan.org)

perl v5.36.0                      2023-03-05            Date::Manip::Lang(3pm)

Generated by dwww version 1.15 on Wed Jun 26 05:16:52 CEST 2024.