@@ -91,13 +91,6 @@ const makeObservable = <T>(value: T | Observable<T>): Observable<T> => {
91
91
export class TranslateService {
92
92
private loadingTranslations ! : Observable < InterpolatableTranslationObject > ;
93
93
private pending = false ;
94
- private _onTranslationChange : EventEmitter < TranslationChangeEvent > = new EventEmitter < TranslationChangeEvent > ( ) ;
95
- private _onLangChange : EventEmitter < LangChangeEvent > = new EventEmitter < LangChangeEvent > ( ) ;
96
- private _onDefaultLangChange : EventEmitter < DefaultLangChangeEvent > = new EventEmitter < DefaultLangChangeEvent > ( ) ;
97
- private _defaultLang ! : string ;
98
- private _currentLang ! : string ;
99
- private _langs : string [ ] = [ ] ;
100
- private _translations : Record < string , InterpolatableTranslationObject > = { } ;
101
94
private _translationRequests : Record < string , Observable < TranslationObject > > = { } ;
102
95
private lastUseLanguage : string | null = null ;
103
96
@@ -109,7 +102,7 @@ export class TranslateService {
109
102
* });
110
103
*/
111
104
get onTranslationChange ( ) : EventEmitter < TranslationChangeEvent > {
112
- return this . isolate ? this . _onTranslationChange : this . store . onTranslationChange ;
105
+ return this . store . onTranslationChange ;
113
106
}
114
107
115
108
/**
@@ -119,7 +112,7 @@ export class TranslateService {
119
112
* });
120
113
*/
121
114
get onLangChange ( ) : EventEmitter < LangChangeEvent > {
122
- return this . isolate ? this . _onLangChange : this . store . onLangChange ;
115
+ return this . store . onLangChange ;
123
116
}
124
117
125
118
/**
@@ -129,67 +122,51 @@ export class TranslateService {
129
122
* });
130
123
*/
131
124
get onDefaultLangChange ( ) {
132
- return this . isolate ? this . _onDefaultLangChange : this . store . onDefaultLangChange ;
125
+ return this . store . onDefaultLangChange ;
133
126
}
134
127
135
128
/**
136
129
* The default lang to fallback when translations are missing on the current lang
137
130
*/
138
131
get defaultLang ( ) : string {
139
- return this . isolate ? this . _defaultLang : this . store . defaultLang ;
132
+ return this . store . defaultLang ;
140
133
}
141
134
142
135
set defaultLang ( defaultLang : string ) {
143
- if ( this . isolate ) {
144
- this . _defaultLang = defaultLang ;
145
- } else {
146
- this . store . defaultLang = defaultLang ;
147
- }
136
+ this . store . defaultLang = defaultLang ;
148
137
}
149
138
150
139
/**
151
140
* The lang currently used
152
141
*/
153
142
get currentLang ( ) : string {
154
- return this . isolate ? this . _currentLang : this . store . currentLang ;
143
+ return this . store . currentLang ;
155
144
}
156
145
157
146
set currentLang ( currentLang : string ) {
158
- if ( this . isolate ) {
159
- this . _currentLang = currentLang ;
160
- } else {
161
- this . store . currentLang = currentLang ;
162
- }
147
+ this . store . currentLang = currentLang ;
163
148
}
164
149
165
150
/**
166
151
* an array of langs
167
152
*/
168
153
get langs ( ) : string [ ] {
169
- return this . isolate ? this . _langs : this . store . langs ;
154
+ return this . store . langs ;
170
155
}
171
156
172
157
set langs ( langs : string [ ] ) {
173
- if ( this . isolate ) {
174
- this . _langs = langs ;
175
- } else {
176
- this . store . langs = langs ;
177
- }
158
+ this . store . langs = langs ;
178
159
}
179
160
180
161
/**
181
162
* a list of translations per lang
182
163
*/
183
164
get translations ( ) : Record < string , InterpolatableTranslationObject > {
184
- return this . isolate ? this . _translations : this . store . translations ;
165
+ return this . store . translations ;
185
166
}
186
167
187
168
set translations ( translations : Record < string , InterpolatableTranslationObject > ) {
188
- if ( this . isolate ) {
189
- this . _translations = translations ;
190
- } else {
191
- this . store . translations = translations ;
192
- }
169
+ this . store . translations = translations ;
193
170
}
194
171
195
172
/**
@@ -210,10 +187,16 @@ export class TranslateService {
210
187
public parser : TranslateParser ,
211
188
public missingTranslationHandler : MissingTranslationHandler ,
212
189
@Inject ( USE_DEFAULT_LANG ) private useDefaultLang = true ,
213
- @Inject ( ISOALTE_TRANSLATE_SERVICE ) private isolate = false ,
190
+ @Inject ( ISOALTE_TRANSLATE_SERVICE ) isolate = false ,
214
191
@Inject ( USE_EXTEND ) private extend = false ,
215
- @Inject ( DEFAULT_LANGUAGE ) defaultLanguage : string ) {
216
- /** set the default language from configuration */
192
+ @Inject ( DEFAULT_LANGUAGE ) defaultLanguage : string
193
+ )
194
+ {
195
+ if ( isolate )
196
+ {
197
+ this . store = new TranslateStore ( ) ;
198
+ }
199
+
217
200
if ( defaultLanguage ) {
218
201
this . setDefaultLang ( defaultLanguage ) ;
219
202
}
@@ -361,7 +344,7 @@ export class TranslateService {
361
344
this . loadingTranslations
362
345
. subscribe ( {
363
346
next : ( res : InterpolatableTranslationObject ) => {
364
- this . translations [ lang ] = this . extend && this . translations [ lang ] ? { ...res , ...this . translations [ lang ] } : res ;
347
+ this . translations [ lang ] = ( this . extend && this . translations [ lang ] ) ? { ...res , ...this . translations [ lang ] } : res ;
365
348
this . updateLangs ( ) ;
366
349
this . pending = false ;
367
350
} ,
0 commit comments