diff --git a/Gruntfile.js b/Gruntfile.js index 9c9e398b5..2cb1d039b 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -112,7 +112,8 @@ module.exports = function(grunt) { 'lib/file-saver/FileSaver.js', 'lib/socket.io-client/socket.io.js', 'lib/sjcl.js', - 'lib/qrcode-decoder-js/lib/qrcode-decoder.min.js' + 'lib/qrcode-decoder-js/lib/qrcode-decoder.min.js', + 'lib/moment/lang/*.js' ], dest: 'lib/vendors.js' }, diff --git a/config.js b/config.js index b99dc7d25..27f77de49 100644 --- a/config.js +++ b/config.js @@ -1,6 +1,5 @@ 'use strict'; var defaultConfig = { - defaultLanguage: 'en', // DEFAULT network (livenet or testnet) networkName: 'livenet', logLevel: 'info', diff --git a/js/controllers/settings.js b/js/controllers/settings.js index f432f0e35..d04a778cb 100644 --- a/js/controllers/settings.js +++ b/js/controllers/settings.js @@ -2,7 +2,6 @@ angular.module('copayApp.controllers').controller('SettingsController', function($scope, $rootScope, $window, $route, $location, notification, configService) { $scope.title = 'Settings'; - $scope.defaultLanguage = config.defaultLanguage || 'en'; $scope.insightLivenet = config.network.livenet.url; $scope.insightTestnet = config.network.testnet.url; $scope.defaultLogLevel = config.logLevel || 'log'; @@ -35,21 +34,6 @@ angular.module('copayApp.controllers').controller('SettingsController', function $scope.selectedStorage = v; }); - $scope.availableLanguages = [{ - name: 'English', - isoCode: 'en', - }, { - name: 'Spanish', - isoCode: 'es', - }]; - - for (var ii in $scope.availableLanguages) { - if ($scope.defaultLanguage === $scope.availableLanguages[ii].isoCode) { - $scope.selectedLanguage = $scope.availableLanguages[ii]; - break; - } - } - for (var ii in $scope.availableLogLevels) { if ($scope.defaultLogLevel === $scope.availableLogLevels[ii].name) { $scope.selectedLogLevel = $scope.availableLogLevels[ii]; @@ -77,7 +61,6 @@ angular.module('copayApp.controllers').controller('SettingsController', function configService.set({ network: insightSettings, - defaultLanguage: $scope.selectedLanguage.isoCode, plugins: plugins, logLevel: $scope.selectedLogLevel.name, EncryptedInsightStorage: _.extend(config.EncryptedInsightStorage, { diff --git a/js/routes.js b/js/routes.js index f8dcf0b9f..75ba6e0b9 100644 --- a/js/routes.js +++ b/js/routes.js @@ -139,9 +139,20 @@ angular $idleProvider.warningDuration(40); // in seconds $keepaliveProvider.interval(30); // in seconds }) - .run(function($rootScope, $location, $idle, gettextCatalog, uriHandler, isCordova) { + .run(function($rootScope, $location, $idle, gettextCatalog, uriHandler, isCordova, amMoment) { - gettextCatalog.currentLanguage = config.defaultLanguage; + var userLang, androidLang; + + if (navigator && navigator.userAgent && (androidLang = navigator.userAgent.match(/android.*\W(\w\w)-(\w\w)\W/i))) { + userLang = androidLang[1]; + } else { + // works for iOS and Android 4.x + userLang = navigator.userLanguage || navigator.language; + } + + userLang = userLang.split('-', 1)[0]; + gettextCatalog.setCurrentLanguage(userLang); + amMoment.changeLanguage(userLang); // Register URI handler, not for mobileApp if (!isCordova) { diff --git a/js/services/configService.js b/js/services/configService.js index b08077898..55dae5068 100644 --- a/js/services/configService.js +++ b/js/services/configService.js @@ -9,9 +9,6 @@ angular.module('copayApp.services').factory('configService', function($timeout, if (opts.logLevel) copay.logger.setLevel(opts.logLevel); - if (opts.defaultLanguage) - gettextCatalog.currentLanguage = opts.defaultLanguage; - // Set current version opts.version = copay.version; diff --git a/views/settings.html b/views/settings.html index 0a4ef13f1..3a2cbaa6a 100644 --- a/views/settings.html +++ b/views/settings.html @@ -57,11 +57,6 @@ More pluggins are welcomed! -
- Language - -
Log level