DateTime::Calendar::FrenchRevolutionary::Locale::en -- English localization for the French revolutionary calendar.


  use DateTime::Calendar::FrenchRevolutionary::Locale;
  my $english_locale = DateTime::Calendar::FrenchRevolutionary::Locale->load('en');

  my $english_month_name =$english_locale->month_name($date);


This module provides localization for DateTime::Calendar::FrenchRevolutionary. Usually, its methods will be invoked only from DT::C::FR.

The month names come from Thomas Carlyle's book. Most of the feast names come from Alan Taylor's web site, later checked with Wikipedia and with Jonathan Badger's French Revolutionary Calendar module written in Ruby. The day names are from this module's author.


This module provides the following class methods:

  • new

    Returns an object instance, which is just a convenient value to be stored in a variable.

    Contrary to the widely used Gregorian calendar, there is no need to customize a French Revolutionary calendar locale. Therefore, there are no instance data and no instance methods.

  • month_name ($date)

    Returns an English translation for $date's month, where $date is a DateTime::Calendar::FrenchRevolutionary object.

  • month_abbreviation ($date)

    Returns a 3-letter abbreviation for the English month name.

  • day_name ($date)

    Returns an English translation for the day name.

  • day_abbreviation ($date)

    Returns a 3-letter abbreviation for the English day name.

  • am_pm ($date)

    Returns a code (typically AM or PM) showing whether the datetime is in the morning or the afternoon. Outside the sexagesimal time with a 1..12 hour range, this is not very useful.

  • feast_short ($date)

    Hopefully returns an adequate English translation for the plant, animal or tool that correspond to $date's feast.

    Note: in some cases, the feast French name is left untranslated, while in some other cases, the translation is inadequate. If you are fluent in both French and English, do not hesitate to send corrections to the author.

  • feast_long ($date)

    Same as feast_short, with a "day" suffix, as in the current calendar's "groundhog day" or "Colombus day".

  • feast_caps ($date)

    Same as feast_long with capitalized first letters.

  • on_date ($date)

    Gives a small text about the events which occurred the same month and day as $date between the calendar's epoch (22 Sep 1792) and the day it was rescinded (31 Dec 1805).

    Most of these events come from an anonymous propaganda book published in year VIII (1799--1800). The others are common knowledge available in any French History book or any encyclopedia.

  • full_date_format, long_date_format, medium_date_format, short_date_format

    Class methods, giving four strftime canned formats for dates, without the need to remember all the % specifiers.

  • full_time_format, long_time_format, medium_time_format, short_time_format

    Same thing, strftime canned formats for decimal time.

  • full_datetime_format, long_datetime_format, medium_datetime_format, short_datetime_format

    Same thing, for formats including both the date and the decimal time.

  • default_date_format, default_time_format, default_datetime_format

    Class methods suggesting one each of the date formats, of the time formats and of the datetime formats.

  • default_date_format_length, default_time_format_length

    While default_date_format and default_time_format give the actual default formats, with % and all, these class methods give a one-word description of the default formats: short, medium, long or full.

  • date_formats, time_formats

    These class methods give a hashtable where the key is the length (short, medium, long and full) and the value is the corresponding format, complete with % and specifiers.

  • month_names, month_abbreviations, day_names, day_abbreviations

    Class methods giving the whole array of month or day names or abbrevs, not limited to the date implemented by the invocant.


Support for this module is provided via the email list. See for more details.

Please report any bugs or feature requests to Github at, and create an issue or submit a pull request.

If you have no feedback after a week or so, try to reach me by email at JFORGET at cpan dot org. The notification from Github may have failed to reach me. In your message, please mention the distribution name in the subject, so my spam filter and I will easily dispatch the email to the proper folder.

On the other hand, I may be on vacation or away from Internet for a good reason. Do not be upset if I do not answer immediately. You should write me at a leisurely rythm, about once per month, until I react.

If after about six months or a year, there is still no reaction from me, you can worry and start the CPAN procedure for module adoption. See and


Jean Forget <>

The development of this module is hosted by Les Mongueurs de Perl,



The French Revolution, Thomas Carlyle, Oxford University Press

Calendrier Militaire, anonymous



Copyright (c) 2003, 2004, 2010, 2012, 2014, 2016, 2019, 2021 Jean Forget. All rights reserved. This program is free software. You can distribute, adapt, modify, and otherwise mangle DateTime::Calendar::FrenchRevolutionary under the same terms as perl 5.16.3.

This program is distributed under the same terms as Perl 5.16.3: GNU Public License version 1 or later and Perl Artistic License

You can find the text of the licenses in the LICENSE file or at and

Here is the summary of GPL:

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see or contact the Free Software Foundation, Inc.,