2023-12-29 16:04:16 +01:00
|
|
|
import { Language } from '@app/core/model/language/language';
|
2020-01-23 17:35:11 +01:00
|
|
|
import { TranslateLoader } from '@ngx-translate/core';
|
|
|
|
import { Observable } from 'rxjs';
|
2023-11-29 14:26:40 +01:00
|
|
|
import { map } from 'rxjs/operators';
|
|
|
|
import { nameof } from 'ts-simple-nameof';
|
2023-12-29 16:04:16 +01:00
|
|
|
import { LanguageHttpService } from './language.http.service';
|
2020-01-23 17:35:11 +01:00
|
|
|
|
2023-11-29 14:26:40 +01:00
|
|
|
export class TranslateServerLoader implements TranslateLoader {
|
2020-01-23 17:35:11 +01:00
|
|
|
|
|
|
|
constructor(
|
2023-11-29 14:26:40 +01:00
|
|
|
private languageHttpService: LanguageHttpService
|
2020-03-26 17:44:12 +01:00
|
|
|
) {
|
|
|
|
|
|
|
|
}
|
2020-01-23 17:35:11 +01:00
|
|
|
getTranslation(lang: string): Observable<any> {
|
2023-11-29 14:26:40 +01:00
|
|
|
return this.languageHttpService.getSingleWithCode(lang, [
|
2024-01-04 17:09:09 +01:00
|
|
|
nameof<Language>(x => x.id),
|
2023-11-29 14:26:40 +01:00
|
|
|
nameof<Language>(x => x.code),
|
|
|
|
nameof<Language>(x => x.payload),
|
|
|
|
]).pipe(map(x => JSON.parse(x.payload)));
|
2020-01-23 17:35:11 +01:00
|
|
|
}
|
|
|
|
}
|