diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 4e344263d7193cca60fd85ae209de56b19e1ff70..7086311394794195b36616b02be30685be20a7dc 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -24,6 +24,8 @@ import { EssentialsModule } from './components/essentials/essentials.module';
 import { SharedModule } from './components/shared/shared.module';
 import { BrowserModule } from '@angular/platform-browser';
 import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+import { LanguageService } from './components/shared/LanguageService';
+import { MarkdownService, MarkedOptions } from 'ngx-markdown';
 export function dialogClose(dialogResult: any) {
 }
 
@@ -65,6 +67,9 @@ export function dialogClose(dialogResult: any) {
     CommentService,
     ContentService,
     ContentAnswerService,
+    LanguageService,
+    MarkdownService,
+    MarkedOptions,
     UserService,
     {
       provide: MatDialogRef,
diff --git a/src/app/components/creator/creator.module.ts b/src/app/components/creator/creator.module.ts
index a4aad05b72b85320a615c8d2f336cbfcbe539006..002e7c2f904e09b04e6365c37af0ecb396fe87f2 100644
--- a/src/app/components/creator/creator.module.ts
+++ b/src/app/components/creator/creator.module.ts
@@ -10,7 +10,7 @@ import { ContentYesNoCreatorComponent } from './content-yes-no-creator/content-y
 import { HomeCreatorPageComponent } from './home-creator-page/home-creator-page.component';
 import { MarkdownToolbarComponent } from './markdown-toolbar/markdown-toolbar.component';
 import { RoomCreatorPageComponent } from './room-creator-page/room-creator-page.component';
-import { EssentialsModule } from '../essentials/essentials.module';
+import { EssentialsModule, HttpLoaderFactory} from '../essentials/essentials.module';
 import { RoomCreateComponent } from './_dialogs/room-create/room-create.component';
 import { RoomDeleteComponent } from './_dialogs/room-delete/room-delete.component';
 import { RoomEditComponent } from './_dialogs/room-edit/room-edit.component';
@@ -31,7 +31,7 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
     TranslateModule.forChild({
       loader: {
         provide: TranslateLoader,
-        useFactory: (createTranslateLoader),
+        useFactory: (HttpLoaderFactory),
         deps: [HttpClient]
       },
       isolate: true
@@ -63,6 +63,3 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader';
 export class CreatorModule {
 }
 
-export function createTranslateLoader(http: HttpClient) {
-  return new TranslateHttpLoader(http, '../../../assets/i18n/', '.json');
-}
diff --git a/src/app/components/creator/home-creator-page/home-creator-page.component.ts b/src/app/components/creator/home-creator-page/home-creator-page.component.ts
index efbe9e1b44711dc5f38da704acc466d33f5bfe19..a3f2aef64d54034662b943a600582bf728ae99f3 100644
--- a/src/app/components/creator/home-creator-page/home-creator-page.component.ts
+++ b/src/app/components/creator/home-creator-page/home-creator-page.component.ts
@@ -1,7 +1,8 @@
 import { Component, OnInit } from '@angular/core';
 import { MatDialog } from '@angular/material';
 import { RoomCreateComponent } from '../_dialogs/room-create/room-create.component';
-import { TranslateService} from '@ngx-translate/core';
+import { TranslateService } from '@ngx-translate/core';
+import { LanguageService } from '../../shared/LanguageService';
 
 @Component({
   selector: 'app-home-creator-page',
@@ -11,7 +12,9 @@ import { TranslateService} from '@ngx-translate/core';
 
 export class HomeCreatorPageComponent implements OnInit {
   constructor(public dialog: MatDialog,
-              private translateService: TranslateService) {
+              private translateService: TranslateService,
+              protected langService: LanguageService) {
+    langService.langEmitter.subscribe(lang => translateService.use(lang));
   }
 
   ngOnInit() {
diff --git a/src/app/components/shared/header/header.component.ts b/src/app/components/shared/header/header.component.ts
index 9ceca5e8b314e8b56052d060f6c8d700928e5abf..231a71fdc8e1ee3f812d590e659c0d6d706aef1e 100644
--- a/src/app/components/shared/header/header.component.ts
+++ b/src/app/components/shared/header/header.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, EventEmitter, OnInit } from '@angular/core';
 import { AuthenticationService } from '../../../services/http/authentication.service';
 import { NotificationService } from '../../../services/util/notification.service';
 import { Router } from '@angular/router';
@@ -6,6 +6,7 @@ import { User } from '../../../models/user';
 import { UserRole } from '../../../models/user-roles.enum';
 import { Location } from '@angular/common';
 import { TranslateService } from '@ngx-translate/core';
+import { LanguageService } from '../LanguageService';
 
 @Component({
   selector: 'app-header',
@@ -19,7 +20,8 @@ export class HeaderComponent implements OnInit {
               private authenticationService: AuthenticationService,
               private notificationService: NotificationService,
               public router: Router,
-              private translationService: TranslateService) {
+              private translationService: TranslateService,
+              private langService: LanguageService) {
 
     translationService.setDefaultLang(this.translationService.getBrowserLang());
     sessionStorage.setItem('currentLang', this.translationService.getBrowserLang());
@@ -62,6 +64,7 @@ export class HeaderComponent implements OnInit {
   useLanguage(language: string) {
     this.translationService.use(language);
     sessionStorage.setItem('currentLang', this.translationService.currentLang);
+    this.langService.langEmitter.emit(language);
 
   }
 }