Further improvements.
authorJan Schneider <jan@horde.org>
Wed, 12 May 2010 15:29:49 +0000 (16:29 +0100)
committerJan Schneider <jan@horde.org>
Wed, 12 May 2010 16:52:45 +0000 (18:52 +0200)
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Grabber.php
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Ordinal.php
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Pointer.php
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Repeater.php
framework/Date_Parser/lib/Horde/Date/Parser/Locale/Pt/Separator.php

index de4012a..bb790a5 100644 (file)
@@ -5,9 +5,11 @@ class Horde_Date_Parser_Locale_Pt_Grabber extends Horde_Date_Parser_Locale_Base_
         * Regex tokens
         */
         public $scanner = array(
-            '/(passado|(u|ú)ltimo)\w?/' => 'last',
-            '/est(e|a)\w?/' => 'this',
-            '/pr(o|ó)ximo\w?/' => 'next',
+
+            '/\b(passado|(u|ú)ltimo)\b/' => 'last',
+            '/\best(e|a)\b/' => 'this',
+            '/\bpr(o|ó)ximo\b/' => 'next',
+
         );
 
 }
index 8887edb..c053e70 100644 (file)
@@ -1,7 +1,12 @@
 <?php
 class Horde_Date_Parser_Locale_Pt_Ordinal extends Horde_Date_Parser_Locale_Base_Ordinal
 {
+
+/*
     public $ordinalRegex = '/^(\d*)(\.|\xBA|\xAA)$/';
     public $ordinalDayRegex = '/^(\d*)(\.|\xBA|\xAA)$/';
+*/
+    public $ordinalRegex = '/\b(\d*)(\.|\xBA|\xAA)?\b/';
+    public $ordinalDayRegex = '/\b(\d*)(\.|\xBA|\xAA)?\b/';
 
 }
index 2211137..ea93dae 100644 (file)
@@ -3,8 +3,9 @@ class Horde_Date_Parser_Locale_Pt_Pointer extends Horde_Date_Parser_Locale_Base_
 {
     public $scanner = array(
         '/\bantes\b/' => 'past',
-        '/\b(depois|ap(o|ó)s)?\b/' => 'future',
-        '/\bdentro?\b/' => 'future',
+        '/\b(depois|ap(o|ó)s)\b/' => 'future',
+        /* '/\bdentro\b/' => 'future',   */
+        '/\b(dentro(\sde)?|daqui\sa)\b/' => 'future',
      );
 }
 
index 95ef121..f49a9da 100644 (file)
@@ -2,48 +2,50 @@
 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',
+        '/\bjan(\.|eiro)?\b/' => 'january',
+        '/\bfev(\.|ereiro)?\b/' => 'february',
+        '/\bmar(\.|((c|\x87)o))?\b/' => 'march',
+        '/\babr(\.|(il))?\b/' => 'april',
+        '/\bmai(\.|o)?\b/' => 'may',
+        '/\bjun(\.|ho)?\b/' => 'june',
+        '/\bjul(\.|ho)?\b/' => 'july',
+        '/\bago(\.|sto)?\b/' => 'august',
+        '/\bset(\.|embro)?\b/' => 'september',
+        '/\bout(\.|ubro)?\b/' => 'october',
+        '/\bnov(\.|embro)?\b/' => 'november',
+        '/\bdez(\.|embro)?\b/' => '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',
+        '/\bse(g(d?(unda?(\s|-)feira))?)?\b/' => 'monday',
+        '/\bte(r([c|\x87]a?(\s|-)feira)?)?\b/' => 'tuesday',
+        '/\bqu(a(rta?(\s|-)feira)?)?\b/' => 'wednesday',
+        '/\bqu(i(nta?(\s|-)feira)?)?\b/' => 'thursday',
+        '/\bse(x(ta?(\s|-)feira)?)?\b/' => 'friday',
+        '/\bs[a|\xe1](b(ado)?)?\b/' => 'saturday',
+        '/\bdo(m(ingo)?)?\b/' => 'sunday',
     );
 
     public $dayPortionScanner = array(
-        '/^manh(a|ã)?$/' => 'morning',
-        '/^tarde?$/' => 'afternoon',
-        '/^(fim\s(d(e|a)\s)?tarde)?$/' => 'evening',
-        '/^noite?$/' => 'night',
+        '/\b(\d*)\s?ams?\b/' => 'am',
+        '/\b(\d*)\s?pms?\b/' => 'pm',
+        '/\bmanh(a|\xe3)\b/' => 'morning',
+        '/\btarde\b/' => 'afternoon',
+        '/\b(fim\s(d(e|a)\s)tarde)\b/' => 'evening',
+        '/\bnoite\b/' => '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',
+        '/\bano(s)?\b/' => 'year',
+        '/\b(esta(c|\x87)(a|\xe3)o|(e|\xe9)poca)\b/' => 'season',
+        '/\bm(e|\xea)s\b/' => 'month',
+        '/\bquinzena\b/' => 'fortnight',
+        '/\bsemana(s)?\b/' => 'week',
+        '/\b(fds|fim(\s|(\s|-)de(\s|-))semana)?\b/' => 'weekend',
+        '/\bdia(s)?\b/' => 'day',
+        '/\bhora(s)?\b/' => 'hour',
+        '/\bminuto(s)?\b/' => 'minute',
+        '/\bsegundo(s)?\b/' => 'second',
     );
 
 }
index 986633f..bacc1af 100644 (file)
@@ -3,11 +3,12 @@ class Horde_Date_Parser_Locale_Pt_Separator extends Horde_Date_Parser_Locale_Bas
 {
 
     public $atScanner = array(
-            '/^(em|@)$/' => 'at',
-            );
+            '/\b(em|@)\b/' => 'at',
+        );
 
     public $inScanner = array(
-            '/^no$/' => 'in',
-            );
+            '/\bno\b/' => 'in',
+
+        );
 
 }