diff options
Diffstat (limited to 'framework/I18N/core')
-rw-r--r-- | framework/I18N/core/CultureInfo.php | 4 | ||||
-rw-r--r-- | framework/I18N/core/Gettext/MO.php | 2 | ||||
-rw-r--r-- | framework/I18N/core/Gettext/PO.php | 2 | ||||
-rw-r--r-- | framework/I18N/core/Gettext/TGettext.php | 2 | ||||
-rw-r--r-- | framework/I18N/core/MessageCache.php | 4 | ||||
-rw-r--r-- | framework/I18N/core/NumberFormat.php | 66 | ||||
-rw-r--r-- | framework/I18N/core/TCache_Lite.php | 2 | ||||
-rw-r--r-- | framework/I18N/core/data/fr_CA.dat | 2 | ||||
-rw-r--r-- | framework/I18N/core/data/it_IT.dat | 2 |
9 files changed, 32 insertions, 54 deletions
diff --git a/framework/I18N/core/CultureInfo.php b/framework/I18N/core/CultureInfo.php index 799ccdb4..c22ed5c4 100644 --- a/framework/I18N/core/CultureInfo.php +++ b/framework/I18N/core/CultureInfo.php @@ -13,7 +13,7 @@ * {@link http://prado.sourceforge.net/} * * @author Wei Zhuo <weizhuo[at]gmail[dot]com> - * @version $Id$ + * @version $Id: CultureInfo.php 3187 2012-07-12 11:21:01Z ctrlaltca $ * @package System.I18N.core */ @@ -44,7 +44,7 @@ * For example, Australian English is "en_AU". * * @author Xiang Wei Zhuo <weizhuo[at]gmail[dot]com> - * @version $Id$ + * @version $Id: CultureInfo.php 3187 2012-07-12 11:21:01Z ctrlaltca $ * @package System.I18N.core */ class CultureInfo diff --git a/framework/I18N/core/Gettext/MO.php b/framework/I18N/core/Gettext/MO.php index 4b34034e..3e84ef2e 100644 --- a/framework/I18N/core/Gettext/MO.php +++ b/framework/I18N/core/Gettext/MO.php @@ -29,7 +29,7 @@ // | Copyright (c) 2004 Michael Wallner <mike@iworks.at> | // +----------------------------------------------------------------------+ // -// $Id$ +// $Id: MO.php 3187 2012-07-12 11:21:01Z ctrlaltca $ /** * File::Gettext::MO diff --git a/framework/I18N/core/Gettext/PO.php b/framework/I18N/core/Gettext/PO.php index 57028f6d..950a5de3 100644 --- a/framework/I18N/core/Gettext/PO.php +++ b/framework/I18N/core/Gettext/PO.php @@ -28,7 +28,7 @@ // | Copyright (c) 2004 Michael Wallner <mike@iworks.at> | // +----------------------------------------------------------------------+ // -// $Id$ +// $Id: PO.php 3187 2012-07-12 11:21:01Z ctrlaltca $ /** * File::Gettext::PO diff --git a/framework/I18N/core/Gettext/TGettext.php b/framework/I18N/core/Gettext/TGettext.php index 4ca7fadb..abf32392 100644 --- a/framework/I18N/core/Gettext/TGettext.php +++ b/framework/I18N/core/Gettext/TGettext.php @@ -28,7 +28,7 @@ // | Copyright (c) 2004 Michael Wallner <mike@iworks.at> | // +----------------------------------------------------------------------+ // -// $Id$ +// $Id: TGettext.php 3187 2012-07-12 11:21:01Z ctrlaltca $ /** * File::Gettext diff --git a/framework/I18N/core/MessageCache.php b/framework/I18N/core/MessageCache.php index e721a332..3bd21704 100644 --- a/framework/I18N/core/MessageCache.php +++ b/framework/I18N/core/MessageCache.php @@ -2,7 +2,7 @@ /** * Translation table cache. * @author $Author: weizhuo $ - * @version $Id$ + * @version $Id: MessageCache.php 3188 2012-07-12 12:13:23Z ctrlaltca $ * @package System.I18N.core */ @@ -16,7 +16,7 @@ require_once(dirname(__FILE__).'/TCache_Lite.php'); * It can cache each cataloug+variant or just the whole section. * @package System.I18N.core * @author $Author: weizhuo $ - * @version $Id$ + * @version $Id: MessageCache.php 3188 2012-07-12 12:13:23Z ctrlaltca $ */ class MessageCache { diff --git a/framework/I18N/core/NumberFormat.php b/framework/I18N/core/NumberFormat.php index 3c733713..25af6846 100644 --- a/framework/I18N/core/NumberFormat.php +++ b/framework/I18N/core/NumberFormat.php @@ -118,11 +118,9 @@ class NumberFormat $this->setPattern($pattern); if(strtolower($pattern) == 'p') - $number = $number * 100; + $number = $number * 100.0; - $string = (string)$number; - - $decimal = $this->formatDecimal($string); + $decimal = $this->formatDecimal($number); $integer = $this->formatInteger(abs($number)); if(strlen($decimal)>0) @@ -157,17 +155,17 @@ class NumberFormat * @param string the decimal number in string form. * @return string formatted integer string with grouping */ - protected function formatInteger($string) + protected function formatInteger($number) { - $string = (string)$string; - $decimalDigits = $this->formatInfo->DecimalDigits; + $string = (string)intval(round($number,$decimalDigits)); + //if not decimal digits, assume 0 decimal points. - if(is_int($decimalDigits) && $decimalDigits > 0) - $string = (string)round(floatval($string),$decimalDigits); - $dp = strpos($string, '.'); - if(is_int($dp)) - $string = substr($string, 0, $dp); + //if(is_int($decimalDigits) && $decimalDigits > 0) + // $string = (string)round(floatval($string),$decimalDigits); + //$dp = strpos($string, '.'); + //if(is_int($dp)) + // $string = substr($string, 0, $dp); $integer = ''; $digitSize = $this->formatInfo->getDigitSize(); @@ -230,43 +228,23 @@ class NumberFormat * @param string the decimal number in string form. * @return string formatted decimal places. */ - protected function formatDecimal($string) + protected function formatDecimal($number) { - $dp = strpos($string, '.'); - $decimal = ''; - $decimalDigits = $this->formatInfo->DecimalDigits; $decimalSeparator = $this->formatInfo->DecimalSeparator; + $decimal = ''; - //do the correct rounding here - //$string = round(floatval($string), $decimalDigits); - if(is_int($dp)) - { - if($decimalDigits == -1) - { - $decimal = substr($string, $dp+1); - } - else if(is_int($decimalDigits)) - { - $float = round((float)$string, $decimalDigits); - if(strpos((string)$float, '.') === false) - { - $decimal = str_pad($decimal,$decimalDigits,'0'); - } - else - { - $decimal = substr($float, strpos($float,'.')+1); - if(strlen($decimal)<$decimalDigits) - $decimal = str_pad($decimal,$decimalDigits,'0'); - } - } - else - return $decimal; + if ($decimalDigits > 0) { + //do the correct rounding here + $number = round(floatval($number), $decimalDigits); + $decimal = substr((string)$number,strlen((string)intval($number))+1 ); + $decimal = $decimalSeparator.str_pad($decimal,$decimalDigits,'0',STR_PAD_RIGHT); + + } elseif($decimalDigits == -1) { + $decimal = $decimalSeparator.substr((string)$number,strlen((string)intval($number))+1 ); + } elseif($decimalDigits == false) + $decimal = $decimalSeparator.substr((string)$number,strlen((string)intval($number))+1 ); - return $decimalSeparator.$decimal; - } - else if ($decimalDigits > 0) - return $decimalSeparator.str_pad($decimal,$decimalDigits,'0'); return $decimal; } diff --git a/framework/I18N/core/TCache_Lite.php b/framework/I18N/core/TCache_Lite.php index bd4964ad..a0629bd1 100644 --- a/framework/I18N/core/TCache_Lite.php +++ b/framework/I18N/core/TCache_Lite.php @@ -38,7 +38,7 @@ * Mike BENOIT <ipso@snappymail.ca> * * @package System.I18N.core -* @version $Id$ +* @version $Id: TCache_Lite.php 3188 2012-07-12 12:13:23Z ctrlaltca $ * @author Fabien MARTY <fab@php.net> * @copyright 1997-2005 The PHP Group * @license http://www.gnu.org/copyleft/lesser.html GNU LGPL diff --git a/framework/I18N/core/data/fr_CA.dat b/framework/I18N/core/data/fr_CA.dat index 855fe7a6..fb152bf0 100644 --- a/framework/I18N/core/data/fr_CA.dat +++ b/framework/I18N/core/data/fr_CA.dat @@ -1 +1 @@ -a:4:{s:10:"Currencies";a:2:{s:3:"CAD";a:2:{i:0;s:1:"$";i:1;s:15:"dollar canadien";}s:3:"USD";a:2:{i:0;s:4:"$ US";i:1;s:22:"dollar des États-Unis";}}s:14:"NumberPatterns";a:4:{i:0;s:20:"#,##0.###;-#,##0.###";i:1;s:24:"#,##0.00 ¤;(#,##0.00¤)";i:2;s:6:"#,##0%";i:3;s:3:"#E0";}s:7:"Version";a:1:{i:0;s:3:"1.2";}s:8:"calendar";a:1:{s:9:"gregorian";a:3:{s:26:"DateTimeElements:intvector";a:2:{i:0;i:1;i:1;i:4;}s:16:"DateTimePatterns";a:9:{i:0;s:24:"HH' h 'mm' min 'ss' s 'z";i:1;s:10:"HH:mm:ss z";i:2;s:8:"HH:mm:ss";i:3;s:5:"HH:mm";i:4;s:16:"EEEE d MMMM yyyy";i:5;s:11:"d MMMM yyyy";i:6;s:10:"yyyy-MM-dd";i:7;s:8:"yy-MM-dd";i:8;s:7:"{1} {0}";}s:17:"weekend:intvector";a:4:{i:0;i:7;i:1;i:0;i:2;i:1;i:3;i:86400000;}}}}
\ No newline at end of file +a:4:{s:10:"Currencies";a:2:{s:3:"CAD";a:2:{i:0;s:1:"$";i:1;s:15:"dollar canadien";}s:3:"USD";a:2:{i:0;s:4:"$ US";i:1;s:22:"dollar des États-Unis";}}s:14:"NumberPatterns";a:4:{i:0;s:20:"#,##0.###;-#,##0.###";i:1;s:24:"#,##0.00 ¤;(#,##0.00¤)";i:2;s:6:"#,##0%";i:3;s:3:"#E0";}s:7:"Version";a:1:{i:0;s:3:"1.2";}s:8:"calendar";a:1:{s:9:"gregorian";a:3:{s:26:"DateTimeElements:intvector";a:2:{i:0;i:1;i:1;i:4;}s:16:"DateTimePatterns";a:9:{i:0;s:24:"HH' h 'mm' min 'ss' s 'z";i:1;s:10:"HH:mm:ss z";i:2;s:8:"HH:mm:ss";i:3;s:5:"HH:mm";i:4;s:16:"EEEE d MMMM yyyy";i:5;s:11:"d MMMM yyyy";i:6;s:8:"yy-MM-dd";i:7;s:8:"yy-MM-dd";i:8;s:7:"{1} {0}";}s:17:"weekend:intvector";a:4:{i:0;i:7;i:1;i:0;i:2;i:1;i:3;i:86400000;}}}}
\ No newline at end of file diff --git a/framework/I18N/core/data/it_IT.dat b/framework/I18N/core/data/it_IT.dat index 2545451b..738a8455 100644 --- a/framework/I18N/core/data/it_IT.dat +++ b/framework/I18N/core/data/it_IT.dat @@ -1 +1 @@ -a:3:{s:10:"Currencies";a:1:{s:3:"ITL";a:3:{i:0;s:3:"₤";i:1;s:13:"Lira Italiana";i:2;a:3:{i:0;s:18:"¤ #,##0;-¤ #,##0";i:1;s:1:",";i:2;s:1:".";}}}s:7:"Version";a:1:{i:0;s:3:"1.2";}s:8:"calendar";a:1:{s:9:"gregorian";a:1:{s:16:"DateTimePatterns";a:9:{i:0;s:10:"HH:mm:ss z";i:1;s:9:"H:mm:ss z";i:2;s:8:"HH:mm:ss";i:3;s:5:"HH:mm";i:4;s:16:"EEEE d MMMM yyyy";i:5;s:12:"dd MMMM yyyy";i:6;s:9:"dd/MMM/yy";i:7;s:8:"dd/MM/yy";i:8;s:7:"{1} {0}";}}}}
\ No newline at end of file +a:3:{s:10:"Currencies";a:1:{s:3:"ITL";a:3:{i:0;s:3:"₤";i:1;s:13:"Lira Italiana";i:2;a:3:{i:0;s:18:"¤ #,##0;-¤ #,##0";i:1;s:1:",";i:2;s:1:".";}}}s:7:"Version";a:1:{i:0;s:3:"1.2";}s:8:"calendar";a:1:{s:9:"gregorian";a:1:{s:16:"DateTimePatterns";a:9:{i:0;s:10:"HH:mm:ss z";i:1;s:9:"H:mm:ss z";i:2;s:8:"HH:mm:ss";i:3;s:5:"HH:mm";i:4;s:16:"EEEE d MMMM yyyy";i:5;s:12:"dd MMMM yyyy";i:6;s:9:"dd/MMM/yy";i:7;s:10:"dd/MM/yyyy";i:8;s:7:"{1} {0}";}}}}
\ No newline at end of file |