# Copyright (c) 1995-2025 Sullivan Beck. All rights reserved.
# This program is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.

########################################################################
########################################################################

=pod

=encoding utf-8

=head1 NAME

Date::Manip::Lang::english - English language support.

=head1 SYNOPSIS

This module contains a list of words and expressions supporting
the language. It is not intended to be used directly (other
Date::Manip modules will load it as needed).

=head1 LANGUAGE EXPRESSIONS

The following is a list of all language words and expressions used
to write times and/or dates.

All strings are case insensitive.

=over 4

=item B<Month names and abbreviations>

When writing out the name of the month, several different variations may
exist including full names and abbreviations.

The following month names may be used:

   January

   February

   March

   April

   May

   June

   July

   August

   September

   October

   November

   December


The following abbreviations may be used:

   Jan
   Jan.

   Feb
   Feb.

   Mar
   Mar.

   Apr
   Apr.

   May
   May.

   Jun
   Jun.

   Jul
   Jul.

   Aug
   Aug.

   Sep
   Sept
   Sep.
   Sept.

   Oct
   Oct.

   Nov
   Nov.

   Dec
   Dec.


=item B<Day names and abbreviations>

When writing out the name of the day, several different variations may
exist including full names and abbreviations.

The following day names may be used:

   Monday

   Tuesday

   Wednesday

   Thursday

   Friday

   Saturday

   Sunday


The following abbreviations may be used:

   Mon
   Mon.

   Tue
   Tues
   Tue.
   Tues.

   Wed
   Wed.

   Thu
   Thur
   Thu.
   Thur.

   Fri
   Fri.

   Sat
   Sat.

   Sun
   Sun.


The following short (1-2 characters) abbreviations may be used:

   M

   T

   W

   Th

   F

   Sa

   S


=item B<Delta field names>

These are the names (and abbreviations) for the fields in a delta.  There are
7 fields: years, months, weeks, days, hours, minutes, seconds.

The names and abbreviations for these fields are:

   years
   y
   yr
   year
   yrs

   months
   m
   mon
   month
   mons

   weeks
   w
   wk
   wks
   week

   days
   d
   day

   hours
   h
   hr
   hrs
   hour

   minutes
   mn
   min
   minute
   mins

   seconds
   s
   sec
   second
   secs


=item B<Morning/afternoon times>

This is a list of expressions use to designate morning or afternoon time
when a time is entered as a 12-hour time rather than a 24-hour time.
For example, in English, the time "17:00" could be specified as "5:00 PM".

Morning and afternoon time may be designated by the following sets of
words:

   AM
   A.M.

   PM
   P.M.


=item B<Each or every>

There are a list of words that specify every occurrence of something.  These
are used in the following phrases:

   EACH Monday
   EVERY Monday
   EVERY month

The following words may be used:

   each
   every


=item B<Next/Previous/Last occurrence>

There are a list of words that may be used to specify the next,
previous, or last occurrence of something.  These words could be used
in the following phrases:

   NEXT week

   LAST Tuesday
   PREVIOUS Tuesday

   LAST day of the month

The following words may be used:

Next occurrence:

   next
   following


Previous occurrence:

   previous
   last


Last occurrence:

   last
   final


=item B<Delta words for going forward/backward in time>

When parsing deltas, there are words that may be used to specify
the the delta will refer to a time in the future or to a time in
the past (relative to some date).  In English, for example, you
might say:

   IN 5 days
   5 days AGO

The following words may be used to specify deltas that refer to
dates in the past or future respectively:

   ago
   past
   in the past
   earlier
   before now
   hence

   in
   later
   future
   in the future
   from now


=item B<Business mode>

This contains two lists of words which can be used to specify a standard
(i.e. non-business) delta or a business delta.

Previously, it was used to tell whether the delta was approximate or exact,
but now this list is not used except to force the delta to be standard.

The following words may be used:

   exactly
   approximately


The following words may be used to specify a business delta:

   business


=item B<Numbers>

Numbers may be spelled out in a variety of ways.  The following sets correspond
to the numbers from 1 to 53:

   1st
   first
   one

   2nd
   second
   two

   3rd
   third
   three

   4th
   fourth
   four

   5th
   fifth
   five

   6th
   sixth
   six

   7th
   seventh
   seven

   8th
   eighth
   eight

   9th
   ninth
   nine

   10th
   tenth
   ten


   11th
   eleventh
   eleven

   12th
   twelfth
   twelve

   13th
   thirteenth
   thirteen

   14th
   fourteenth
   fourteen

   15th
   fifteenth
   fifteen

   16th
   sixteenth
   sixteen

   17th
   seventeenth
   seventeen

   18th
   eighteenth
   eighteen

   19th
   nineteenth
   nineteen

   20th
   twentieth
   twenty


   21st
   twenty-first
   twenty-one

   22nd
   twenty-second
   twenty-two

   23rd
   twenty-third
   twenty-three

   24th
   twenty-fourth
   twenty-four

   25th
   twenty-fifth
   twenty-five

   26th
   twenty-sixth
   twenty-six

   27th
   twenty-seventh
   twenty-seven

   28th
   twenty-eighth
   twenty-eight

   29th
   twenty-ninth
   twenty-nine

   30th
   thirtieth
   thirty


   31st
   thirty-first
   thirty-one

   32nd
   thirty-two
   thirty-second

   33rd
   thirty-three
   thirty-third

   34th
   thirty-four
   thirty-fourth

   35th
   thirty-five
   thirty-fifth

   36th
   thirty-six
   thirty-sixth

   37th
   thirty-seven
   thirty-seventh

   38th
   thirty-eight
   thirty-eighth

   39th
   thirty-nine
   thirty-ninth

   40th
   forty
   fortieth


   41st
   forty-one
   forty-first

   42nd
   forty-two
   forty-second

   43rd
   forty-three
   forty-third

   44th
   forty-four
   forty-fourth

   45th
   forty-five
   forty-fifth

   46th
   forty-six
   forty-sixth

   47th
   forty-seven
   forty-seventh

   48th
   forty-eight
   forty-eighth

   49th
   forty-nine
   forty-ninth

   50th
   fifty
   fiftieth


   51st
   fifty-one
   fifty-first

   52nd
   fifty-two
   fifty-second

   53rd
   fifty-three
   fifty-third


=item B<Ignored words>

In writing out dates in common forms, there are a number of words
that are typically not important.

There is frequently a word that appears in a phrase to designate
that a time is going to be specified next.  In English, you would
use the word AT in the example:

   December 3 at 12:00

The following words may be used:

   at


Another word is used to designate one member of a set.  In English,
you would use the words IN or OF:

   1st day OF December
   1st day IN December

The following words may be used:

   of
   in


Another word is use to specify that something is on a certain date.  In
English, you would use ON:

   ON July 5th

The following words may be used:

   on


=item B<Words that set the date, time, or both>

There are some words that can be used to specify a date, a
time, or both relative to now.

Words that set the date are similar to the English words 'yesterday'
or 'tomorrow'.  These are specified as a delta which is added to the
current time to get a date.  The time is NOT set however, so the delta
is only partially used (it should only include year, month, week, and
day fields).

The following words may be used:

   ereyesterday         -0:0:0:2:0:0:0
   overmorrow           +0:0:0:2:0:0:0
   today                0:0:0:0:0:0:0
   tomorrow             +0:0:0:1:0:0:0
   yesterday            -0:0:0:1:0:0:0


Words that set only the time of day are similar to the English words
'noon' or 'midnight'.

The following words may be used:

   midnight             00:00:00
   noon                 12:00:00


Words that set the entire time and date (relative to the current
time and date) are also available.

In English, the word 'now' is one of these.

The following words may be used:

   now                  0:0:0:0:0:0:0


=item B<Hour/Minute/Second separators>

When specifying the time of day, the most common separator is a colon (:)
which can be used for both separators.

Some languages use different pairs.  For example, French allows you to
specify the time as 13h30:20, so it would use the following pairs:

   : :
   h :

The first column is the hour-minute separator and the second column is
the minute-second separator.  Both are perl regular expressions.  When
creating a new translation, be aware that regular expressions with utf-8
characters may be tricky.  For example, don't include the expression '[x]'
where 'x' is a utf-8 character.

A pair of colons is ALWAYS allowed for all languages.  If a language allows
additional pairs, they are listed here:

   Not defined in this language


=item B<Fractional second separator>

When specifying fractional seconds, the most common way is to use a
decimal point (.).  Some languages may specify a different separator
that might be used.  If this is done, it is a regular expression.

The decimal point is ALWAYS allowed for all languages.  If a language allows
another separator, it is listed here:

   Not defined in this language


=back

=head1 KNOWN BUGS

None known.

=head1 BUGS AND QUESTIONS

Please refer to the L<Date::Manip::Problems> documentation for
information on submitting bug reports or questions to the author.

=head1 SEE ALSO

L<Date::Manip>       - main module documentation

=head1 LICENSE

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

=head1 AUTHOR

Sullivan Beck (sbeck@cpan.org)

=cut
