Add Portugues date parser.
authorJan Schneider <jan@horde.org>
Mon, 10 May 2010 14:04:56 +0000 (15:04 +0100)
committerJan Schneider <jan@horde.org>
Mon, 10 May 2010 14:27:00 +0000 (16:27 +0200)
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Grabber.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Ordinal.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Pointer.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Repeater.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Scalar.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Separator.php [new file with mode: 0644]
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Timezone.php [new file with mode: 0644]

diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt.php
new file mode 100644 (file)
index 0000000..737fddb
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+/**
+ *  */
+class Horde_Date_Parser_Locale_Pt extends Horde_Date_Parser_Locale_Base
+{
+}
+
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Grabber.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Grabber.php
new file mode 100644 (file)
index 0000000..de4012a
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Grabber extends Horde_Date_Parser_Locale_Base_Grabber
+{
+        /**
+        * Regex tokens
+        */
+        public $scanner = array(
+            '/(passado|(u|ú)ltimo)\w?/' => 'last',
+            '/est(e|a)\w?/' => 'this',
+            '/pr(o|ó)ximo\w?/' => 'next',
+        );
+
+}
+
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Ordinal.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Ordinal.php
new file mode 100644 (file)
index 0000000..0c9cde6
--- /dev/null
@@ -0,0 +1,7 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Ordinal extends Horde_Date_Parser_Locale_Base_Ordinal
+{
+    public $ordinalRegex = '/^(\d*)\.$/';
+    public $ordinalDayRegex = '/^(\d*)\.$/';
+
+}
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Pointer.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Pointer.php
new file mode 100644 (file)
index 0000000..ca76072
--- /dev/null
@@ -0,0 +1,10 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Pointer extends Horde_Date_Parser_Locale_Base_Pointer
+{
+    public $scanner = array(
+        '/\antes\b/' => 'past',
+        '/\(depois|ap(o|ó)s)?\b/' => 'future',
+        '/\dentro?\b/' => 'future',
+     );
+}
+
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Repeater.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Repeater.php
new file mode 100644 (file)
index 0000000..3c5fa95
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Repeater extends Horde_Date_Parser_Locale_Base_Repeater
+{
+    public $monthNameScanner = array(
+        '/^jan\.?(eiro)?$/' => 'january',
+        '/^fev\.?(ereiro)?$/' => 'february',
+        '/^mar\.?((c|ç)o)?$/' => 'march',
+        '/^abr\.?(il)?$/' => 'april',
+        '/^mai\.?o?$/' => 'may',
+        '/^jun\.?(ho)?$/' => 'june',
+        '/^jul\.?(ho)?$/' => 'july',
+        '/^ago\.?(sto)?$/' => 'august',
+        '/^set\.?(embro)?$/' => 'september',
+        '/^out\.?(ubro)?$/' => 'october',
+        '/^nov\.?(embro)?$/' => 'november',
+        '/^dez\.?(embro)?$/' => 'december',
+    );
+
+    public $dayNameScanner = array(
+        '/^se(g(d?(unda?(\s|-)feira))?)?$/' => 'monday',
+        '/^te(r([c|ç]a?(\s|-)feira)?)?$/' => 'tuesday',
+        '/^qu(a(rta?(\s|-)feira)?)?$/' => 'wednesday',
+        '/^qu(i(nta?(\s|-)feira)?)?$/' => 'thursday',
+        '/^se(x(ta?(\s|-)feira)?)?$/' => 'friday',
+        '/^s[a|á](b(ado)?)?$/' => 'saturday',
+        '/^do(m(ingo)?)?$/' => 'sunday',
+    );
+
+    public $dayPortionScanner = array(
+        '/^manh(a|ã)?$/' => 'morning',
+        '/^tarde?$/' => 'afternoon',
+        '/^(fim (d(e|a) )?tarde)?$/' => 'evening',
+        '/^noite?$/' => 'night',
+    );
+
+    public $unitScanner = array(
+        '/^(ano(s)?)?$/' => 'year',
+        '/^(esta(c|ç)(a|ã)o?!época)$/' => 'season',
+        '/^m(e|ê)s?$/' => 'month',
+        '/^quinzena?$/' => 'fortnight',
+        '/^semana?s?$/' => 'week',
+        '/^(fds|fim(\s|(\s|-)de(\s|-))semana)?$/' => 'weekend',
+        '/^dia?s?$/' => 'day',
+        '/^hora?s?$/' => 'hour',
+        '/^minuto?s?$/' => 'minute',
+        '/^segundo?s?$/' => 'second',
+    );
+
+}
+
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Scalar.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Scalar.php
new file mode 100644 (file)
index 0000000..7d69428
--- /dev/null
@@ -0,0 +1,4 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Scalar extends Horde_Date_Parser_Locale_Base_Scalar
+{
+}
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Separator.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Separator.php
new file mode 100644 (file)
index 0000000..986633f
--- /dev/null
@@ -0,0 +1,13 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Separator extends Horde_Date_Parser_Locale_Base_Separator
+{
+
+    public $atScanner = array(
+            '/^(em|@)$/' => 'at',
+            );
+
+    public $inScanner = array(
+            '/^no$/' => 'in',
+            );
+
+}
diff --git a/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Timezone.php b/framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Timezone.php
new file mode 100644 (file)
index 0000000..32d28a6
--- /dev/null
@@ -0,0 +1,9 @@
+<?php
+class Horde_Date_Parser_Locale_Pt_Timezone extends Horde_Date_Parser_Locale_Base_Timezone
+{
+
+    public $scanner = array(
+        '/((e(s|d)t|c(s|d)t|m(s|d)t|p(s|d)t)|((gmt)?\s*(\+|\-)\s*\d\d\d\d?)|gmt|utc)/i' => 'tz',
+    );
+
+}