[Kimchi-devel] [PATCH V3] [Wok 6/7] Multi-Culture support : Modify util to include formatting based on locale

archus at linux.vnet.ibm.com archus at linux.vnet.ibm.com
Tue May 10 20:58:30 UTC 2016


From: Archana Singh <archus at linux.vnet.ibm.com>

1) Modified format method format
as per locale passed
2) Added converters and methods
to format date,time,datetime
as per locale

Signed-off-by: Archana Singh <archus at linux.vnet.ibm.com>
co-authored by: Pooja Kulkarni <pkulkark at linux.vnet.ibm.com>
---
 ui/js/src/wok.utils.js | 46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/ui/js/src/wok.utils.js b/ui/js/src/wok.utils.js
index 214749a..65084c4 100644
--- a/ui/js/src/wok.utils.js
+++ b/ui/js/src/wok.utils.js
@@ -140,6 +140,7 @@ wok.changetoProperUnit = function(numOrg, digits, base) {
             return new Formatted(number, unit);
         }
 
+        var n_locale = settings['locale'] || null;
         var fixed = settings['fixed'];
 
         var unitMapping = unitBaseMapping[base];
@@ -153,11 +154,14 @@ wok.changetoProperUnit = function(numOrg, digits, base) {
 
             var formatted = number / startingValue;
             formatted = fixed ? formatted.toFixed(fixed) : formatted;
-
+            formatted = n_locale ? Number(formatted).toLocaleString(n_locale) : Number(formatted).toLocaleString()
             return new Formatted(formatted, suffix + unit);
         }
 
-        return new Formatted(fixed ? number.toFixed(fixed) : number, unit);
+        formatted = fixed ? number.toFixed(fixed) : number;
+        /* format the formatted number as per settings's locale, if not present format it with default locale. */
+        formatted_locale = n_locale ? Number(formatted).toLocaleString(n_locale) : Number(formatted).toLocaleString()
+        return new Formatted(formatted_locale, unit);
     };
 
     wok.formatMeasurement = format;
@@ -212,3 +216,41 @@ wok.notificationsLoop = function notificationsLoop() {
         }
     );
 }
+
+wok.datetimeLocaleConverter = function datetimeLocaleConverter(datetime_string, locale){
+   var dte = new Date(datetime_string.substr(0,10)+'T'+datetime_string.substr(11));
+   var options = { year: 'numeric', month: 'long', day: 'numeric' };
+   return dte.toLocaleString(locale, options);
+}
+
+
+wok.dateLocaleConverter = function dateLocaleConverter(date_string, locale){
+     var dte = new Date(date_string);
+     var options = { year: 'numeric', month: 'long', day: 'numeric' };
+     return dte.toLocaleDateString(locale, options);
+}
+
+
+wok.timeLocaleConverter = function timeLocaleConverter(time_string, locale){
+     var dte = new Date((new Date(0)).toDateString()+' ' + time_string);
+     return dte.toLocaleTimeString(locale);
+}
+
+
+wok.dateTimeLocaleConverters = {
+       "date-locale-converter": {
+           to: function(date){
+              return wok.dateLocaleConverter(date, wok.lang.get_locale());
+           }
+       },
+       "time-locale-converter": {
+           to: function(time){
+              return wok.timeLocaleConverter(time, wok.lang.get_locale());
+           }
+       },
+       "datetime-locale-converter": {
+            to: function(datetime){
+                return wok.datetimeLocaleConverter(datetime,  wok.lang.get_locale());
+            }
+       }
+ }
-- 
1.8.3.1




More information about the Kimchi-devel mailing list