You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by st...@apache.org on 2013/01/29 18:35:00 UTC

svn commit: r1440015 - in /lucene/dev/branches/branch_4x: ./ solr/ solr/CHANGES.txt solr/webapp/ solr/webapp/web/js/scripts/app.js

Author: steffkes
Date: Tue Jan 29 17:35:00 2013
New Revision: 1440015

URL: http://svn.apache.org/viewvc?rev=1440015&view=rev
Log:
SOLR-4364: Admin UI - Locale based number formatting (merge r1440014)

Modified:
    lucene/dev/branches/branch_4x/   (props changed)
    lucene/dev/branches/branch_4x/solr/   (props changed)
    lucene/dev/branches/branch_4x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_4x/solr/webapp/   (props changed)
    lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/app.js

Modified: lucene/dev/branches/branch_4x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/CHANGES.txt?rev=1440015&r1=1440014&r2=1440015&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_4x/solr/CHANGES.txt Tue Jan 29 17:35:00 2013
@@ -93,6 +93,8 @@ Optimizations
 * SOLR-4284: Admin UI - make core list scrollable separate from the rest of
   the UI (steffkes)
 
+* SOLR-4364: Admin UI - Locale based number formatting (steffkes)
+
 Other Changes
 ----------------------
 

Modified: lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/app.js
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/app.js?rev=1440015&r1=1440014&r2=1440015&view=diff
==============================================================================
--- lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/app.js (original)
+++ lucene/dev/branches/branch_4x/solr/webapp/web/js/scripts/app.js Tue Jan 29 17:35:00 2013
@@ -175,6 +175,12 @@ var solr_admin = function( app_config )
 
   this.core_regex_base = '^#\\/([\\w\\d-\\.]+)';
 
+  browser = {
+    locale : null,
+    language : null,
+    country : null
+  };
+
   show_global_error = function( error )
   {
     var main = $( '#main' );
@@ -294,6 +300,24 @@ var solr_admin = function( app_config )
 
   this.run = function()
   {
+    var navigator_language = navigator.userLanguage || navigator.language;
+    var language_match = navigator_language.match( /^(\w{2})([-_](\w{2}))?$/ );
+    if( language_match )
+    {
+      if( language_match[1] )
+      {
+        browser.language = language_match[1].toLowerCase();
+      }
+      if( language_match[3] )
+      {
+        browser.country = language_match[3].toUpperCase();
+      }
+      if( language_match[1] && language_match[3] )
+      {
+        browser.locale = browser.language + '_' + browser.country
+      }
+    }
+
     $.ajax
     (
       {
@@ -536,7 +560,23 @@ var solr_admin = function( app_config )
 
   this.format_number = function format_number( number )
   {
-    return ( number || 0 ).toString().replace( /\B(?=(\d{3})+(?!\d))/g, ' ' );
+    var sep = {
+      'de_CH' : '\'',
+      'de' : '.',
+      'en' : ',',
+      'es' : '.',
+      'it' : '.',
+      'ja' : ',',
+      'sv' : ' ',
+      'tr' : '.',
+      '_' : '' // fallback
+    };
+
+    return ( number || 0 ).toString().replace
+    (
+      /\B(?=(\d{3})+(?!\d))/g,
+      sep[ browser.locale ] || sep[ browser.language ] || sep['_']
+    );
   };
 
 };