Date::Manip::Lang - language support for Date::Manip |
Date::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 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:
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
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.
Every term is defined in the the Date::Manip::Lang::english manpage 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.
the Date::Manip manpage - 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 (sbeck@cpan.org)
Date::Manip::Lang - language support for Date::Manip |