Date::Manip::Lang(3) User Contributed Perl Documentation Date::Manip::Lang(3)NAMEDate::Manip::Lang - language support for Date::Manip
Date::Manip supports a number of different languages when parsing
dates, and more can be added.
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
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
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
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
Translate all of the data (after the __DATA__ line).
The data section of the module (which is written in YAML) 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
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
Element printf directive
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
Feel free to contact me if you have any questions.
Date::Manip - main module documentation
This script is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
Sullivan Beck (email@example.com)
perl v5.16.3 2014-04-30 Date::Manip::Lang(3)