diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
index 8d3c9cb279967a8210db68623b62a370cae10f97..534e18691f6844376bfdb455849e4200aa7fcfc0 100644
--- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
+++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.html
@@ -27,7 +27,7 @@
             </mat-radio-button>
           </mat-radio-group>
         </mat-card>
-        
+
         <mat-card style="background: none;">
           <mat-slide-toggle [(ngModel)]="considerVotes">
             {{'topic-cloud-dialog.consider-votes' | translate}}
@@ -35,13 +35,18 @@
         </mat-card>
         <div *ngIf="isCreatorOrMod">
           <mat-card style="background: none;">
-            <mat-slide-toggle (change)="showMessage('words-will-be-overwritten', $event.checked)" [(ngModel)]="profanityFilter">
+            <mat-slide-toggle (change)="showMessage('words-will-be-overwritten', $event.checked)"
+              [(ngModel)]="profanityFilter">
               {{'topic-cloud-dialog.profanity' | translate}}
             </mat-slide-toggle>
-            <mat-slide-toggle *ngIf="profanityFilter" (change)="showMessage('only-specific-language-will-be-filtered', $event.checked)" [(ngModel)]="censorLanguageSpecificCheck">
+            <mat-slide-toggle *ngIf="profanityFilter"
+              (change)="showMessage('only-specific-language-will-be-filtered', $event.checked)"
+              [(ngModel)]="censorLanguageSpecificCheck">
               {{'topic-cloud-dialog.language-specific-filter' | translate}}
             </mat-slide-toggle>
-            <mat-slide-toggle *ngIf="profanityFilter" (change)="showMessage('partial-words-will-be-filtered', $event.checked)" [(ngModel)]="censorPartialWordsCheck">
+            <mat-slide-toggle *ngIf="profanityFilter"
+              (change)="showMessage('partial-words-will-be-filtered', $event.checked)"
+              [(ngModel)]="censorPartialWordsCheck">
               {{'topic-cloud-dialog.partial-words-filter' | translate}}
             </mat-slide-toggle>
 
@@ -49,46 +54,75 @@
               <mat-expansion-panel class="color-background" (opened)="focusInput('test-profanity-input')">
                 <mat-expansion-panel-header class="color-background">
                   <mat-panel-title>
-                    {{"topic-cloud-dialog.test-profanity" | translate}}
+                    {{'topic-cloud-dialog.test-profanity' | translate}}
                   </mat-panel-title>
                 </mat-expansion-panel-header>
-                <mat-form-field>
-                  <mat-label>{{"topic-cloud-dialog.word" | translate}}</mat-label>
-                  <input id="test-profanity-input" matInput [ngModel]="testProfanityWord" (ngModelChange)="testProfanity($event)">
-                </mat-form-field>
-                <p class="red testProfanity" *ngIf="wordIsProfanity">{{"topic-cloud-dialog.word-is-profanity" | translate}}</p>
-                <p class="green testProfanity" *ngIf="!wordIsProfanity">{{"topic-cloud-dialog.word-is-not-profanity" | translate}}</p>
+                <p>
+                  <mat-form-field *ngIf="censorLanguageSpecificCheck">
+                    <mat-label>{{'topic-cloud-dialog.language' | translate}}</mat-label>
+                    <mat-select [(value)]="testProfanityLanguage">
+                      <mat-option value="en">English</mat-option>
+                      <mat-option value="de">German</mat-option>
+                      <mat-option value="fr">French</mat-option>
+                      <mat-option value="ar">Arabic</mat-option>
+                      <mat-option value="ru">Russian</mat-option>
+                      <mat-option value="es">Spanish</mat-option>
+                      <mat-option value="it">Italian</mat-option>
+                      <mat-option value="nl">Netherlandish</mat-option>
+                      <mat-option value="tr">Turkish</mat-option>
+                      <mat-option value="pt">Portuguese</mat-option>
+                    </mat-select>
+                  </mat-form-field>
+                </p>
+                <p>
+                  <mat-form-field>
+                    <mat-label>{{'topic-cloud-dialog.word' | translate}}</mat-label>
+                    <input id="test-profanity-input" matInput [(ngModel)]="testProfanityWord">
+                  </mat-form-field>
+                </p>
+                <p>{{'topic-cloud-dialog.preview' | translate}}:</p>
+                <p>{{getFilteredProfanity()}}</p>
 
 
                 <mat-accordion>
                   <mat-expansion-panel class="color-background">
                     <mat-expansion-panel-header class="color-background">
                       <mat-panel-title>
-                        {{"topic-cloud-dialog.words-in-profanity" | translate}}   
+                        {{"topic-cloud-dialog.words-in-profanity" | translate}}
                       </mat-panel-title>
                     </mat-expansion-panel-header>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/en" target="_blank">English</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/en"
+                      target="_blank">English</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/de" target="_blank">German</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/de"
+                      target="_blank">German</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/fr" target="_blank">French</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/fr"
+                      target="_blank">French</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/ar" target="_blank">Arabic</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/ar"
+                      target="_blank">Arabic</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/ru" target="_blank">Russian</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/ru"
+                      target="_blank">Russian</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/es" target="_blank">Spanish</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/es"
+                      target="_blank">Spanish</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/it" target="_blank">Italian</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/it"
+                      target="_blank">Italian</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/nl" target="_blank">Netherlandish</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/nl"
+                      target="_blank">Netherlandish</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/tr" target="_blank">Turkish</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/tr"
+                      target="_blank">Turkish</a>
                     <br>
-                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/pt" target="_blank">Portuguese</a>
+                    <a href="https://raw.githubusercontent.com/LDNOOBW/List-of-Dirty-Naughty-Obscene-and-Otherwise-Bad-Words/master/pt"
+                      target="_blank">Portuguese</a>
                   </mat-expansion-panel>
                 </mat-accordion>
-                
+
               </mat-expansion-panel>
             </mat-accordion>
 
@@ -99,26 +133,26 @@
             </mat-slide-toggle>
           </mat-card>
         </div>
-  
+
         <mat-accordion class="new-profanity-word" multi>
           <div *ngIf="isCreatorOrMod">
-            <mat-expansion-panel class="color-background" (opened)="enterProfanityWord=true; focusInput('bad-word-input')"
-              (closed)="enterProfanityWord = false">
+            <mat-expansion-panel class="color-background"
+              (opened)="enterProfanityWord=true; focusInput('bad-word-input')" (closed)="enterProfanityWord = false">
               <mat-expansion-panel-header class="color-background">
                 <mat-panel-title>
                   {{'topic-cloud-dialog.edit-profanity-list' | translate}}
                 </mat-panel-title>
               </mat-expansion-panel-header>
-  
+
               <mat-form-field>
                 <mat-label>{{'topic-cloud-dialog.enter-word' | translate}}</mat-label>
                 <input matInput id="bad-word-input" [(ngModel)]="newProfanityWord">
               </mat-form-field>
-  
+
               <button mat-stroked-button class="margin-left color-on-background" (click)="addProfanityWord()">
                 {{'topic-cloud-dialog.add-word' | translate}}
               </button>
-  
+
               <mat-list role="list" *ngIf="showProfanityList" class="margin-bottom">
                 <mat-list-item class="color-on-surface" *ngFor="let word of profanitywordlist" role="listitem">{{word}}
                   <button style="margin-left: auto" mat-icon-button class="red"
@@ -127,7 +161,7 @@
                   </button>
                 </mat-list-item>
               </mat-list>
-  
+
               <div>
                 <button mat-raised-button *ngIf="profanitywordlist.length > 0" class="primaryBackground"
                   (click)="showProfanityList=!showProfanityList">
@@ -136,7 +170,7 @@
                 </button>
               </div>
             </mat-expansion-panel>
-  
+
             <mat-expansion-panel class="color-background margin-bottom"
               (opened)="enterBlacklistWord = true; focusInput('blacklist-word-input')"
               (closed)="enterBlacklistWord = false">
@@ -145,12 +179,12 @@
                   {{'topic-cloud-dialog.edit-blacklist-list' | translate}}
                 </mat-panel-title>
               </mat-expansion-panel-header>
-  
+
               <mat-form-field>
                 <mat-label>{{'topic-cloud-dialog.enter-word' | translate}}</mat-label>
                 <input matInput id="blacklist-word-input" [(ngModel)]="newBlacklistWord">
               </mat-form-field>
-  
+
               <button mat-stroked-button class="margin-left color-on-background" (click)="addBlacklistWord()">
                 {{'topic-cloud-dialog.add-word' | translate}}
               </button>
@@ -161,7 +195,7 @@
                   </button>
                 </mat-list-item>
               </mat-list>
-  
+
               <div>
                 <button mat-raised-button class="primaryBackground" *ngIf="blacklist.length > 0"
                   (click)="showBlacklistWordList=!showBlacklistWordList">
@@ -177,19 +211,20 @@
                 Spacy labels
               </mat-panel-title>
             </mat-expansion-panel-header>
-  
+
             <mat-tab-group animationDuration="0ms" mat-stretch-tabs mat-align-tabs="center">
               <mat-tab label="{{'topic-cloud-dialog.german' | translate}}">
                 <mat-selection-list *ngIf="wantedLabels" [(ngModel)]="wantedLabels.de">
-  
+
                   <mat-option class="color-on-surface" (click)="selectAllDE()">
                     <mat-label class="color-on-surface">
                       <mat-icon>playlist_add_check</mat-icon>
                       {{'topic-cloud-dialog.select-all' | translate}}
                     </mat-label>
-                    <mat-checkbox style="vertical-align: middle;float: right;" [checked]="this.wantedLabels.de.length===this.spacyLabels.de.length"></mat-checkbox>
+                    <mat-checkbox style="vertical-align: middle;float: right;"
+                      [checked]="this.wantedLabels.de.length===this.spacyLabels.de.length"></mat-checkbox>
                   </mat-option>
-  
+
                   <mat-list-option [value]="label.tag" class="color-on-surface" *ngFor="let label of spacyLabels.de">
                     {{label.label + " (" + label.tag + ")"}}
                   </mat-list-option>
@@ -197,15 +232,16 @@
               </mat-tab>
               <mat-tab label="{{'topic-cloud-dialog.english' | translate}}">
                 <mat-selection-list *ngIf="wantedLabels" [(ngModel)]="wantedLabels.en">
-  
+
                   <mat-option class="color-on-surface" (click)="selectAllEN()">
                     <mat-label class="color-on-surface">
                       <mat-icon>playlist_add_check</mat-icon>
                       {{'topic-cloud-dialog.select-all' | translate}}
                     </mat-label>
-                    <mat-checkbox style="vertical-align: middle;float: right;" [checked]="this.wantedLabels.en.length===this.spacyLabels.en.length"></mat-checkbox>
+                    <mat-checkbox style="vertical-align: middle;float: right;"
+                      [checked]="this.wantedLabels.en.length===this.spacyLabels.en.length"></mat-checkbox>
                   </mat-option>
-  
+
                   <mat-list-option [value]="label.tag" class="color-on-surface" *ngFor="let label of spacyLabels.en">
                     {{label.label + " (" + label.tag + ")"}}
                   </mat-list-option>
@@ -216,26 +252,27 @@
         </mat-accordion>
       </mat-expansion-panel>
     </mat-accordion>
-  
+
     <div fxLayout="row">
       <mat-label fxLayoutAlign="center center">
         <mat-icon>search</mat-icon>
       </mat-label>
       <div style="margin-left: 10px; margin-top: 6px;">
         <mat-form-field [ngClass]="{'search': searchMode, 'smallerInput': deviceType === 'mobile'}">
-          <input #searchBox class="searchBox" (input)="searchKeyword()" [(ngModel)]="searchedKeyword" matInput type="text"
-            placeholder="{{'topic-cloud-dialog.keyword-search' | translate}}">
+          <input #searchBox class="searchBox" (input)="searchKeyword()" [(ngModel)]="searchedKeyword" matInput
+            type="text" placeholder="{{'topic-cloud-dialog.keyword-search' | translate}}">
           <button *ngIf="searchedKeyword" (click)="searchedKeyword = ''; searchMode = false;" mat-button matSuffix
             mat-icon-button aria-label="topic-cloud-dialog.keyword-search">
             <mat-icon>close</mat-icon>
           </button>
         </mat-form-field>
       </div>
-  
+
       <div fxLayoutAlign="center center" style="margin-left: auto; font-weight: bold;">
         <mat-icon [ngClass]="{'animation-blink': searchMode}" svgIcon="hashtag" class="oldtypo-h2 comment_tag-icon"
           matTooltip="{{'topic-cloud-dialog.keyword-counter' | translate}}"></mat-icon>
-        <p [ngClass]="{'animation-blink': searchMode}" matTooltip="{{'topic-cloud-dialog.keyword-counter' | translate}}">
+        <p [ngClass]="{'animation-blink': searchMode}"
+          matTooltip="{{'topic-cloud-dialog.keyword-counter' | translate}}">
           {{searchMode ? filteredKeywords.length :
           keywords.length}}</p>
       </div>
@@ -245,7 +282,7 @@
         </button>
       </div>
     </div>
-  
+
     <mat-menu #sortMenu>
       <button [ngClass]="{'animation-blink': sortMode==='alphabetic'}" mat-menu-item
         (click)="sortQuestions('alphabetic')">
@@ -257,20 +294,23 @@
         <mat-icon>swap_vert</mat-icon>
         {{'topic-cloud-dialog.sort-count' | translate}}
       </button>
-      <button [ngClass]="{'animation-blink': sortMode==='voteCount'}" mat-menu-item (click)="sortQuestions('voteCount')">
+      <button [ngClass]="{'animation-blink': sortMode==='voteCount'}" mat-menu-item
+        (click)="sortQuestions('voteCount')">
         <mat-icon>swap_vert</mat-icon>
         {{'topic-cloud-dialog.sort-vote' | translate}}
       </button>
     </mat-menu>
-  
-    <mat-card class="color-surface" *ngIf="(keywords.length === 0 || (searchMode && filteredKeywords.length === 0))&&!isLoading">
+
+    <mat-card class="color-surface"
+      *ngIf="(keywords.length === 0 || (searchMode && filteredKeywords.length === 0))&&!isLoading">
       <p class="color-on-surface" fxLayoutAlign="center">
         {{'topic-cloud-dialog.no-keywords-note' | translate}}
       </p>
     </mat-card>
-    
+
     <mat-accordion>
-      <mat-expansion-panel class="color-surface" (opened)="panelOpenState = true" (closed)="panelOpenState = edit = false"
+      <mat-expansion-panel class="color-surface" (opened)="panelOpenState = true"
+        (closed)="panelOpenState = edit = false"
         *ngFor="let keyword of (searchMode ? filteredKeywords : keywords); let i = index" [attr.data-index]="i"
         matTooltip="{{'topic-cloud-dialog.'+(keyword.keywordType === 0?'keyword-from-spacy':'keyword-from-questioner') | translate}}">
         <mat-expansion-panel-header class="color-surface">
@@ -285,10 +325,10 @@
         <div *ngFor="let question of keyword.comments">
           <mat-divider></mat-divider>
           <app-topic-dialog-comment [question]="question.body" [keyword]="keyword.keyword" [maxShowedCharachters]="140"
-                                    [profanityFilter]="profanityFilter" [languageSpecific]="censorLanguageSpecificCheck"
-                                    [partialWords]="censorPartialWordsCheck" [language]="question.language"></app-topic-dialog-comment>
+            [profanityFilter]="profanityFilter" [languageSpecific]="censorLanguageSpecificCheck"
+            [partialWords]="censorPartialWordsCheck" [language]="question.language"></app-topic-dialog-comment>
         </div>
-  
+
         <div *ngIf="isCreatorOrMod">
           <!-- Only visible when not editing -->
           <div *ngIf="!edit" align="end">
@@ -301,7 +341,7 @@
               <mat-icon class="red" matTooltip="{{'topic-cloud-dialog.delete' | translate}}">delete</mat-icon>
             </button>
           </div>
-  
+
           <!-- Only visible when editing -->
           <div *ngIf="edit">
             <mat-divider></mat-divider>
@@ -322,4 +362,4 @@
       </mat-expansion-panel>
     </mat-accordion>
   </div>
-</mat-dialog-content>
+</mat-dialog-content>
\ No newline at end of file
diff --git a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
index 139a53fb79c446f154a6eaaccd94d5318cdd02dc..2cb85515a616ff350d26c6c81b2a328fdba1539e 100644
--- a/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
+++ b/src/app/components/shared/_dialogs/topic-cloud-administration/topic-cloud-administration.component.ts
@@ -60,7 +60,7 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
   private censorPartialWordsCheck: boolean;
   private censorLanguageSpecificCheck: boolean;
   private testProfanityWord: string = undefined;
-  private wordIsProfanity: boolean = undefined;
+  private testProfanityLanguage = 'de';
 
   constructor(
     @Inject(MAT_DIALOG_DATA) public data: Data,
@@ -470,8 +470,12 @@ export class TopicCloudAdministrationComponent implements OnInit, OnDestroy {
     }
   }
 
-  testProfanity(word) {
-    this.wordIsProfanity = this.profanityFilterService.getProfanityList.includes(word.toLowerCase());
+  getFilteredProfanity(): string {
+    if (this.testProfanityWord) {
+      return this.profanityFilterService.filterProfanityWords(this.testProfanityWord, this.censorPartialWordsCheck, this.censorLanguageSpecificCheck, this.testProfanityLanguage);
+    } else {
+      return '';
+    }
   }
 }
 
diff --git a/src/app/services/util/profanity-filter.service.ts b/src/app/services/util/profanity-filter.service.ts
index 9d96d23fcc8828e52ca9371a746181603d6c63f0..45fb8da627c69da48937abd5638e8c067a54cd3c 100644
--- a/src/app/services/util/profanity-filter.service.ts
+++ b/src/app/services/util/profanity-filter.service.ts
@@ -29,6 +29,21 @@ export class ProfanityFilterService {
     return this.getProfanityListFromStorage().concat(this.profanityWords);
   }
 
+  // checkProfanity(word: string, consorPartialWordsCheck: boolean, lang?: string) {
+  //   let profanityWords = [];
+  //   if (lang) {
+  //     profanityWords = BadWords[lang];
+  //   } else {
+  //     profanityWords = this.profanityWords;
+  //   }
+
+  //   if (consorPartialWordsCheck) {
+
+  //   }
+
+  //   return profanityWords.includes(word.toLowerCase());
+  // }
+
   getProfanityListFromStorage() {
     const list = localStorage.getItem(this.profanityKey);
     return list ? JSON.parse(list) : [];