@ -38,6 +38,7 @@ define([
'angular-animate' ,
'angular-animate' ,
'angular-humanize' ,
'angular-humanize' ,
'angular-route' ,
'angular-route' ,
'mobile-events'
'mobile-events'
] , function ( require , $ , _ , angular , modernizr , moment , services , directives , filters , controllers , languages ) {
] , function ( require , $ , _ , angular , modernizr , moment , services , directives , filters , controllers , languages ) {
@ -65,12 +66,13 @@ define([
var appConfig = { } ;
var appConfig = { } ;
// Implement translation store.
// Implement translation store.
var TranslationData = function ( default _language ) {
var TranslationData = function ( default _language , launcher ) {
// Create data structure.
// Create data structure.
this . data = {
this . data = {
locale _data : { }
locale _data : { }
} ;
} ;
this . lang = this . default _lang = default _language ;
this . lang = this . default _lang = default _language ;
this . getHTTP = launcher . $http . get ;
} ;
} ;
TranslationData . prototype . language = function ( ) {
TranslationData . prototype . language = function ( ) {
// Return language.
// Return language.
@ -97,25 +99,24 @@ define([
} ;
} ;
TranslationData . prototype . load = function ( domain , url ) {
TranslationData . prototype . load = function ( domain , url ) {
var that = this ;
var that = this ;
return $ . ajax ( {
return this . getHTTP ( url ) .
dataType : "json" ,
success ( function ( data ) {
url : url ,
success : function ( data ) {
//console.log("loaded translation data", data);
//console.log("loaded translation data", data);
that . add ( domain , data ) ;
that . add ( domain , data ) ;
} ,
} ) .
error : function ( err , textStatus , errorThrown ) {
error ( function ( data , status ) {
console . warn ( "Failed to load translation data: " + errorThrown ) ;
console . warn ( "Failed to load translation data: " + status ) ;
that . add ( domain , null ) ;
that . add ( domain , null ) ;
}
} ) ;
} ) ;
} ;
} ;
TranslationData . prototype . get = function ( ) {
TranslationData . prototype . get = function ( ) {
return this . data ;
return this . data ;
} ;
} ;
var translationData = new TranslationData ( "en" ) ;
var create = function ( ms ) {
var create = function ( ms , launcher ) {
// Create translation data instance.
var translationData = launcher . translationData = new TranslationData ( "en" , launcher ) ;
var modules = [ 'ui.bootstrap' , 'ngSanitize' , 'ngAnimate' , 'ngHumanize' , 'ngRoute' ] ;
var modules = [ 'ui.bootstrap' , 'ngSanitize' , 'ngAnimate' , 'ngHumanize' , 'ngRoute' ] ;
if ( ms && ms . length ) {
if ( ms && ms . length ) {
@ -183,11 +184,11 @@ define([
// breaking changes to plugins can check on it.
// breaking changes to plugins can check on it.
var apiversion = 1.1 ;
var apiversion = 1.1 ;
var initialize = function ( app ) {
var initialize = function ( app , launcher ) {
var deferred = $ . Deferred ( ) ;
var deferred = launcher . $q . defer ( ) ;
var globalContext = JSON . parse ( $ ( "#globalcontext" ) . text ( ) ) ;
var globalContext = JSON . parse ( document . getElementById ( "globalcontext" ) . innerHTML ) ;
if ( ! globalContext . Cfg . Version ) {
if ( ! globalContext . Cfg . Version ) {
globalContext . Cfg . Version = "unknown" ;
globalContext . Cfg . Version = "unknown" ;
}
}
@ -240,16 +241,19 @@ define([
console . info ( "Selected language: " + lang ) ;
console . info ( "Selected language: " + lang ) ;
// Set language and load default translations.
// Set language and load default translations.
translationData . lang = lang ;
launcher . translationData . lang = lang ;
var d omain = "messages" ;
var translationD omain = "messages" ;
if ( lang === translationData . default _lang ) {
if ( lang === launcher . translationData . default _lang ) {
// No need to load default language as it is built in.
// No need to load default language as it is built in.
translationData . add ( d omain, null ) ;
launcher . translationData . add ( translationD omain, null ) ;
deferred . resolve ( ) ;
deferred . resolve ( ) ;
} else {
} else {
// Load default translation catalog.
// Load default translation catalog.
var url = require . toUrl ( 'translation/' + domain + "-" + lang + '.json' ) ;
var url = require . toUrl ( 'translation/' + translationDomain + "-" + lang + '.json' ) ;
$ . when ( translationData . load ( domain , url ) ) . always ( function ( ) {
launcher . translationData . load ( translationDomain , url ) . then ( function ( ) {
deferred . resolve ( ) ;
} , function ( ) {
// Ignore errors.
deferred . resolve ( ) ;
deferred . resolve ( ) ;
} ) ;
} ) ;
}
}
@ -257,7 +261,7 @@ define([
// Set momemt language.
// Set momemt language.
moment . lang ( lang ) ;
moment . lang ( lang ) ;
return deferred . promise ( ) ;
return deferred . promise ;
} ;
} ;
@ -266,7 +270,6 @@ define([
initialize : initialize ,
initialize : initialize ,
query : urlQuery ,
query : urlQuery ,
config : appConfig ,
config : appConfig ,
translationData : translationData ,
apiversion : apiversion
apiversion : apiversion
} ;
} ;