mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-20 06:53:39 +02:00
- Add Local settings.
- Add Language settings synced back.
This commit is contained in:
@@ -1,23 +1,23 @@
|
||||
module.exports = function ($scope, LanguageService, SettingsService) { //gettextCatalog,
|
||||
module.exports = function ($scope, LanguageService, SettingsService) {
|
||||
// SettingsService.sync($scope, 'Language', {
|
||||
// language: LanguageService.detectedLanguage
|
||||
// })
|
||||
|
||||
//SettingsService.set('')
|
||||
|
||||
|
||||
SettingsService.set('valueCrazy', 35)
|
||||
SettingsService.set('valueCrazyNew', {one: 1, two: 35.3, three: '日本語', four: [1, 2, 3, 4]})
|
||||
|
||||
|
||||
|
||||
|
||||
//console.log('he')
|
||||
//console.log(SettingsService.get('valueCrazy'))
|
||||
|
||||
// $scope.$watch('language', function (newValue) {
|
||||
// gettextCatalog.currentLanguage = newValue
|
||||
// SettingsService.bind($scope, {
|
||||
// key: 'language',
|
||||
// defaultValue: LanguageService.selectedLanguage
|
||||
// })
|
||||
//
|
||||
// $scope.supportedLanguages = LanguageService.supportedLanguages
|
||||
|
||||
LanguageService.getSelectedLanguage().then(function (data) {
|
||||
$scope.language = data
|
||||
console.log('real', data)
|
||||
})
|
||||
|
||||
$scope.$watch('language', function (newValue, oldValue) {
|
||||
if (newValue !== oldValue) {
|
||||
LanguageService.setSelectedLanguage(newValue)
|
||||
}
|
||||
})
|
||||
|
||||
$scope.supportedLanguages = LanguageService.supportedLanguages
|
||||
}
|
||||
|
||||
@@ -1,23 +1,56 @@
|
||||
//var _ = require('lodash')
|
||||
var _ = require('lodash')
|
||||
|
||||
module.exports = function LanguageServiceFactory() {
|
||||
// var LanguageService = {}
|
||||
//
|
||||
// LanguageService.supportedLanguages = [
|
||||
// {code: 'en', name: 'English'},
|
||||
// {code: 'ja', name: '日本語'}
|
||||
// ]
|
||||
//
|
||||
// var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
|
||||
// var browserLanguage = browserLocale.substring(0, 2)
|
||||
// var detectedLanguage = _.some(LanguageService.supportedLanguages, {code: browserLanguage}) ? browserLanguage : 'en'
|
||||
// var defaultLanguage = 'ja'
|
||||
// LanguageService.detectedLanguage = defaultLanguage
|
||||
// LanguageService.selectedLanguage = defaultLanguage
|
||||
//
|
||||
// LanguageService.getSelectedLanguage = function () {
|
||||
// return LanguageService.selectedLanguage = defaultLanguage //WebStorage.get('Language.language') || defaultLanguage
|
||||
// }
|
||||
//
|
||||
// return LanguageService
|
||||
module.exports = function LanguageServiceFactory(SettingsService, $q, gettextCatalog) {
|
||||
var LanguageService = {}
|
||||
|
||||
LanguageService.supportedLanguages = [
|
||||
{code: 'en', name: 'English'},
|
||||
{code: 'ja', name: '日本語'}
|
||||
]
|
||||
|
||||
var browserLocale = navigator.language || navigator.userLanguage || 'en-US'
|
||||
var browserLanguage = browserLocale.substring(0, 2)
|
||||
var detectedLanguage = _.some(LanguageService.supportedLanguages, {code: browserLanguage}) ? browserLanguage : 'en'
|
||||
var defaultLanguage = 'ja'
|
||||
LanguageService.detectedLanguage = defaultLanguage
|
||||
LanguageService.selectedLanguage = null
|
||||
|
||||
// TODO: Can't this be refactored to something like this?
|
||||
// SettingsService.sync(LanguageService.selectedLanguage, 'Language', {
|
||||
// selected: LanguageService.detectedLanguage
|
||||
// })
|
||||
|
||||
LanguageService.getSelectedLanguage = function () {
|
||||
var deferred = $q.defer()
|
||||
if (LanguageService.selectedLanguage) {
|
||||
deferred.resolve(LanguageService.selectedLanguage)
|
||||
} else {
|
||||
SettingsService.get('Language.selected').then(function (data) {
|
||||
if (data) {
|
||||
deferred.resolve(data)
|
||||
} else {
|
||||
LanguageService.setSelectedLanguage(LanguageService.detectedLanguage).then(function () {
|
||||
deferred.resolve(LanguageService.detectedLanguage)
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
return deferred.promise
|
||||
}
|
||||
|
||||
// Initialize gettextCatalog
|
||||
LanguageService.getSelectedLanguage()
|
||||
|
||||
|
||||
LanguageService.setSelectedLanguage = function (lang) {
|
||||
var deferred = $q.defer()
|
||||
LanguageService.selectedLanguage = lang
|
||||
gettextCatalog.currentLanguage = lang
|
||||
SettingsService.set('Language.selected', lang).then(function () {
|
||||
deferred.resolve(lang)
|
||||
})
|
||||
return deferred.promise
|
||||
}
|
||||
|
||||
return LanguageService
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user