code: /* LanguageTool, a natural language style checker 
   * Copyright (C) 2005 Daniel Naber (http://www.danielnaber.de)
   * 
   * This library is free software; you can redistribute it and/or
   * modify it under the terms of the GNU Lesser General Public
   * License as published by the Free Software Foundation; either
   * version 2.1 of the License, or (at your option) any later version.
   *
   * This library is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   * Lesser General Public License for more details.
   *
   * You should have received a copy of the GNU Lesser General Public
   * License along with this library; if not, write to the Free Software
   * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301
   * USA
   */
  package org.languagetool.rules.de;
  
  import java.util.*;
  import java.util.stream.Collectors;
  import java.util.stream.Stream;
  
  public class LanguageNames {
  
    private static final Set<String> languages = Stream.of(
      "Angelsächsisch",
      "Afrikanisch",
      "Albanisch",
      "Altarabisch",
      "Altchinesisch",
      "Altgriechisch",
      "Althochdeutsch",
      "Altpersisch",
      "Amerikanisch",
      "Arabisch",
      "Armenisch",
      "Bairisch",
      "Baskisch",
      "Bengalisch",
      "Bulgarisch",
      "Chinesisch",
      "Dänisch",
      "Deutsch",
      "Englisch",
      "Estnisch",
      "Finnisch",
      "Französisch",
      "Frühneuhochdeutsch",
      "Germanisch",
      "Georgisch",
      "Griechisch",
      "Hebräisch",
      "Hocharabisch",
      "Hochchinesisch",
      "Hochdeutsch",
      "Holländisch",
      "Indonesisch",
      "Irisch",
      "Isländisch",
      "Italienisch",
      "Japanisch",
      "Jiddisch",
      "Jugoslawisch",
      "Kantonesisch",
      "Katalanisch",
      "Klingonisch",
      "Koreanisch",
      "Kroatisch",
      "Kurdisch",
      "Lateinisch",
      "Lettisch",
      "Litauisch",
      "Luxemburgisch",
      "Mittelhochdeutsch",
      "Mongolisch",
      "Neuhochdeutsch",
      "Niederländisch",
      "Norwegisch",
      "Persisch",
      "Plattdeutsch",
      "Polnisch",
      "Portugiesisch",
      "Rätoromanisch",
      "Rumänisch",
      "Russisch",
      "Sächsisch",
      "Schwäbisch",
      "Schwedisch",
      "Schweizerisch",
      "Serbisch",
      "Serbokroatisch",
      "Slawisch",
      "Slowakisch",
      "Slowenisch",
      "Spanisch",
      "Syrisch",
      "Tamilisch",
      "Tibetisch",
      "Tschechisch",
      "Tschetschenisch",
      "Türkisch",
      "Turkmenisch",
      "Uigurisch",
      "Ukrainisch",
      "Ungarisch",
      "Usbekisch",
      "Vietnamesisch",
      "Walisisch",
      "Weißrussisch"
    ).collect(Collectors.toCollection(HashSet::new));
  
    public static Set<String> get() {
      return languages;
    }
  
    public static String getAsRegex() {
      return String.join("|", languages);
    }
  }
  