phpman > perldoc > Date::Manip::Lang(3pm)

Markdown | JSON | MCP    

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.

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 AT cpan.org)

Date::Manip::Lang(3pm)
NAME DESCRIPTION CURRENT LANGUAGES ADDING A LANGUAGE SEE ALSO LICENSE AUTHOR

Generated by phpman v4.0 Author: Che Dong Under GNU General Public License
2026-06-15 23:43 @216.73.217.83
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top