diff --git a/src/3rdparty/kmessagewidget/kmessagewidget.cpp b/src/3rdparty/kmessagewidget/kmessagewidget.cpp index 70d5941391b5c..2292d19e6d8a2 100644 --- a/src/3rdparty/kmessagewidget/kmessagewidget.cpp +++ b/src/3rdparty/kmessagewidget/kmessagewidget.cpp @@ -44,6 +44,8 @@ class KMessageWidgetPrivate QFrame *content = nullptr; QLabel *iconLabel = nullptr; QLabel *textLabel = nullptr; + QLabel *titleLabel = nullptr; + QLabel *titelIcon = nullptr; QToolButton *closeButton = nullptr; QTimeLine *timeLine = nullptr; QIcon icon; @@ -62,6 +64,9 @@ class KMessageWidgetPrivate void slotTimeLineFinished(); [[nodiscard]] int bestContentHeight() const; + +private: + void applyNMCStylesheets() const; }; void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) @@ -86,11 +91,21 @@ void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) iconLabel->hide(); textLabel = new QLabel(content); - textLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); + textLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + textLabel->setFixedWidth(500); textLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); QObject::connect(textLabel, &QLabel::linkActivated, q, &KMessageWidget::linkActivated); QObject::connect(textLabel, &QLabel::linkHovered, q, &KMessageWidget::linkHovered); + titleLabel = new QLabel(content); + titleLabel->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); + titleLabel->setText(QCoreApplication::translate("", "E2E_ENCRYPTION")); + titleLabel->setStyleSheet("font-size: 13px; font-weight: 600;"); + + titelIcon = new QLabel(content); + titelIcon->setFixedSize(24,24); + titelIcon->setPixmap(QIcon(QLatin1String(":/client/theme/NMCIcons/cloud-security.svg")).pixmap(24,24)); + auto *closeAction = new QAction(q); closeAction->setText(KMessageWidget::tr("&Close")); closeAction->setToolTip(KMessageWidget::tr("Close message")); @@ -99,8 +114,8 @@ void KMessageWidgetPrivate::init(KMessageWidget *q_ptr) QObject::connect(closeAction, &QAction::triggered, q, &KMessageWidget::animatedHide); closeButton = new QToolButton(content); - closeButton->setAutoRaise(true); - closeButton->setDefaultAction(closeAction); + //closeButton->setAutoRaise(true); + //closeButton->setDefaultAction(closeAction); q->setMessageType(KMessageWidget::Information); } @@ -117,28 +132,47 @@ void KMessageWidgetPrivate::createLayout() Q_FOREACH (QAction *action, q->actions()) { auto *button = new QToolButton(content); button->setDefaultAction(action); - button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); + button->setToolButtonStyle(Qt::ToolButtonTextOnly); buttons.append(button); } // AutoRaise reduces visual clutter, but we don't want to turn it on if // there are other buttons, otherwise the close button will look different // from the others. - closeButton->setAutoRaise(buttons.isEmpty()); + //closeButton->setAutoRaise(buttons.isEmpty()); - if (wordWrap) { + //NMC customization, make sure, we always enter the first case + if (true) { auto *layout = new QGridLayout(content); + + layout->setContentsMargins(8,8,0,8); + content->setFixedHeight(84); + + auto *titleLayout = new QHBoxLayout(content); + titleLayout->setSpacing(8); + titleLayout->setContentsMargins(0,0,0,0); + titleLayout->addWidget(titleLabel); + titleLayout->addWidget(titelIcon); + + layout->addLayout(titleLayout, 0, 0, 1, 1, Qt::AlignLeft | Qt::AlignCenter); + // Set alignment to make sure icon does not move down if text wraps - layout->addWidget(iconLabel, 0, 0, 1, 1, Qt::AlignHCenter | Qt::AlignTop); - layout->addWidget(textLabel, 0, 1); + //layout->addWidget(iconLabel, 0, 0, 1, 1, Qt::AlignHCenter | Qt::AlignTop); + layout->addWidget(textLabel, 1, 0); + textLabel->setWordWrap(true); + + QSpacerItem *spacerItem = new QSpacerItem(1, 1, QSizePolicy::Fixed, QSizePolicy::Expanding); + layout->addItem(spacerItem, 2, 0); if (buttons.isEmpty()) { // Use top-vertical alignment like the icon does. - layout->addWidget(closeButton, 0, 2, 1, 1, Qt::AlignHCenter | Qt::AlignTop); + //layout->addWidget(closeButton, 0, 2, 1, 1, Qt::AlignHCenter | Qt::AlignTop); } else { // Use an additional layout in row 1 for the buttons. - auto *buttonLayout = new QHBoxLayout; - buttonLayout->addStretch(); + auto *buttonLayout = new QVBoxLayout; + buttonLayout->setContentsMargins(0,0,0,0); + buttonLayout->setSpacing(4); + //buttonLayout->addStretch(); Q_FOREACH (QToolButton *button, buttons) { // For some reason, calling show() is necessary if wordwrap is true, // otherwise the buttons do not show up. It is not needed if @@ -146,8 +180,9 @@ void KMessageWidgetPrivate::createLayout() button->show(); buttonLayout->addWidget(button); } - buttonLayout->addWidget(closeButton); - layout->addItem(buttonLayout, 1, 0, 1, 2); + //buttonLayout->addWidget(closeButton); + layout->addItem(buttonLayout, 0, 1, 3, 1, Qt::AlignRight); + applyNMCStylesheets(); } } else { auto *layout = new QHBoxLayout(content); @@ -158,7 +193,7 @@ void KMessageWidgetPrivate::createLayout() layout->addWidget(button); } - layout->addWidget(closeButton); + //layout->addWidget(closeButton); }; if (q->isVisible()) { @@ -176,10 +211,10 @@ void KMessageWidgetPrivate::applyStyleSheet() // The following RGB color values come from the "default" scheme in kcolorscheme.cpp switch (messageType) { case KMessageWidget::Positive: - bgBaseColor.setRgb(39, 174, 96); // Window: ForegroundPositive + bgBaseColor.setRgb(204, 250, 225); // Window: ForegroundPositive break; case KMessageWidget::Information: - bgBaseColor.setRgb(61, 174, 233); // Window: ForegroundActive + bgBaseColor.setRgb(211, 215, 249); // Window: ForegroundActive break; case KMessageWidget::Warning: bgBaseColor.setRgb(246, 116, 0); // Window: ForegroundNeutral @@ -188,13 +223,12 @@ void KMessageWidgetPrivate::applyStyleSheet() bgBaseColor.setRgb(218, 68, 83); // Window: ForegroundNegative break; } - const qreal bgBaseColorAlpha = 0.2; + const qreal bgBaseColorAlpha = 1.0; bgBaseColor.setAlphaF(bgBaseColorAlpha); const QPalette palette = QGuiApplication::palette(); const QColor windowColor = palette.window().color(); const QColor textColor = palette.text().color(); - const QColor border = bgBaseColor; // Generate a final background color from overlaying bgBaseColor over windowColor const int newRed = qRound(bgBaseColor.red() * bgBaseColorAlpha) + qRound(windowColor.red() * (1 - bgBaseColorAlpha)); @@ -213,11 +247,13 @@ void KMessageWidgetPrivate::applyStyleSheet() ".QLabel { color: %4; }" ) .arg(bgFinalColor.name()) - .arg(border.name()) + .arg(bgFinalColor.name()) // DefaultFrameWidth returns the size of the external margin + border width. We know our border is 1px, so we subtract this from the frame normal QStyle FrameWidth to get our margin .arg(q->style()->pixelMetric(QStyle::PM_DefaultFrameWidth, nullptr, q) - 1) .arg(textColor.name()) ); + + applyNMCStylesheets(); } void KMessageWidgetPrivate::updateLayout() @@ -271,6 +307,30 @@ int KMessageWidgetPrivate::bestContentHeight() const return height; } +void KMessageWidgetPrivate::applyNMCStylesheets() const +{ + //Set button color and size + if(!buttons.empty()){ + QString stylesheet = QString("QToolButton{width: 180px; height: 32px; border-radius: 4px; font-size: %1px; color: %2; background-color: %3;} QToolButton:hover { background-color: %4;}"); + switch (messageType) { + case KMessageWidget::Positive: + Q_FOREACH (QToolButton *button, buttons) { + button->setStyleSheet(stylesheet.arg("13", "white", "#00b367", "#00a461")); + } + break; + case KMessageWidget::Information: + Q_FOREACH (QToolButton *button, buttons) { + button->setStyleSheet(stylesheet.arg("13", "white", "#216bff", "#0819bd")); + } + break; + case KMessageWidget::Warning: + break; + case KMessageWidget::Error: + break; + } + } +} + //--------------------------------------------------------------------- // KMessageWidget //--------------------------------------------------------------------- @@ -396,7 +456,8 @@ bool KMessageWidget::isCloseButtonVisible() const void KMessageWidget::setCloseButtonVisible(bool show) { - d->closeButton->setVisible(show); + Q_UNUSED(show) + d->closeButton->setVisible(false); updateGeometry(); } diff --git a/src/gui/accountsettings.cpp b/src/gui/accountsettings.cpp index 8f5621704d47b..a8aaba02f4ae6 100644 --- a/src/gui/accountsettings.cpp +++ b/src/gui/accountsettings.cpp @@ -298,7 +298,7 @@ void AccountSettings::slotE2eEncryptionMnemonicReady() _ui->encryptionMessage->setMessageType(KMessageWidget::Positive); _ui->encryptionMessage->setText(tr("End-to-end encryption has been enabled for this account")); - _ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/lock.svg"))); + //_ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/lock.svg"))); _ui->encryptionMessage->show(); } @@ -390,9 +390,7 @@ bool AccountSettings::canEncryptOrDecrypt(const FolderStatusModel::SubFolderInfo if (!_accountState->account()->e2e() || _accountState->account()->e2e()->_mnemonic.isEmpty()) { QMessageBox msgBox; - msgBox.setText(tr("End-to-end encryption is not configured on this device. " - "Once it is configured, you will be able to encrypt this folder.\n" - "Would you like to set up end-to-end encryption?")); + msgBox.setText(QCoreApplication::translate("", "E2E_MNEMONIC_TEXT2")); msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); msgBox.setDefaultButton(QMessageBox::Ok); const auto ret = msgBox.exec(); @@ -1067,10 +1065,9 @@ void AccountSettings::displayMnemonic(const QString &mnemonic) Ui_Dialog ui{}; ui.setupUi(&widget); widget.setWindowTitle(tr("End-to-end encryption mnemonic")); + widget.setWindowFlags(Qt::WindowTitleHint | Qt::WindowCloseButtonHint); ui.label->setText( - tr("To protect your Cryptographic Identity, we encrypt it with a mnemonic of 12 dictionary words. " - "Please note these down and keep them safe. " - "They will be needed to add other devices to your account (like your mobile phone or laptop).")); + QCoreApplication::translate("", "E2E_MNEMONIC_TEXT")); QFont monoFont(QStringLiteral("Monospace")); monoFont.setStyleHint(QFont::TypeWriter); ui.lineEdit->setFont(monoFont); @@ -1094,10 +1091,10 @@ void AccountSettings::disableEncryptionForAccount(const AccountPtr &account) con { QMessageBox dialog; dialog.setWindowTitle(tr("Disable end-to-end encryption")); - dialog.setText(tr("Disable end-to-end encryption for %1?").arg(account->davUser())); - dialog.setInformativeText(tr("Removing end-to-end encryption will remove locally-synced files that are encrypted." - "
" - "Encrypted files will remain on the server.")); + dialog.setText(QCoreApplication::translate("", "E2E_MNEMONIC_TEXT4")); + // dialog.setInformativeText(tr("Removing end-to-end encryption will remove locally-synced files that are encrypted." + // "
" + // "Encrypted files will remain on the server.")); dialog.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); dialog.setDefaultButton(QMessageBox::Ok); dialog.adjustSize(); @@ -1644,11 +1641,7 @@ void AccountSettings::initializeE2eEncryption() connect(_accountState->account()->e2e(), &ClientSideEncryption::initializationFinished, this, [this] { if (!_accountState->account()->e2e()->_publicKey.isNull()) { - _ui->encryptionMessage->setText(tr("End-to-end encryption has been enabled on this account with another device." - "
" - "It can be enabled on this device by entering your mnemonic." - "
" - "This will enable synchronisation of existing encrypted folders.")); + _ui->encryptionMessage->setText(QCoreApplication::translate("", "E2E_ENCRYPTION_START")); } }); _accountState->account()->setE2eEncryptionKeysGenerationAllowed(false); @@ -1704,7 +1697,7 @@ void AccountSettings::initializeE2eEncryptionSettingsMessage() { _ui->encryptionMessage->setMessageType(KMessageWidget::Information); _ui->encryptionMessage->setText(tr("This account supports end-to-end encryption")); - _ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/black/state-info.svg"))); + //_ui->encryptionMessage->setIcon(Theme::createColorAwareIcon(QStringLiteral(":/client/theme/black/state-info.svg"))); _ui->encryptionMessage->hide(); auto *const actionEnableE2e = addActionToEncryptionMessage(tr("Set up encryption"), e2EeUiActionEnableEncryptionId); diff --git a/src/gui/socketapi/socketapi.cpp b/src/gui/socketapi/socketapi.cpp index 38e516c1ee509..87b9f3169a778 100644 --- a/src/gui/socketapi/socketapi.cpp +++ b/src/gui/socketapi/socketapi.cpp @@ -548,8 +548,7 @@ void SocketApi::processEncryptRequest(const QString &localFile) if (!account->e2e() || account->e2e()->_mnemonic.isEmpty()) { const int ret = QMessageBox::critical(nullptr, tr("Failed to encrypt folder at \"%1\"").arg(fileData.folderRelativePath), - tr("The account %1 does not have end-to-end encryption configured. " - "Please configure this in your account settings to enable folder encryption.").arg(account->prettyName())); + QCoreApplication::translate("", "E2E_MNEMONIC_TEXT3").arg(account->prettyName())); Q_UNUSED(ret) return; } diff --git a/src/libsync/clientsideencryption.cpp b/src/libsync/clientsideencryption.cpp index ba34300420a16..a38b3dfb08af8 100644 --- a/src/libsync/clientsideencryption.cpp +++ b/src/libsync/clientsideencryption.cpp @@ -1611,15 +1611,11 @@ void ClientSideEncryption::decryptPrivateKey(const AccountPtr &account, const QB return; } - QString msg = tr("Please enter your end-to-end encryption passphrase:
" - "
" - "Username: %2
" - "Account: %3
") - .arg(Utility::escape(account->credentials()->user()), - Utility::escape(account->displayName())); + QString msg = QCoreApplication::translate("", "E2E_MNEMONIC_PASSPHRASE"); QInputDialog dialog; - dialog.setWindowTitle(tr("Enter E2E passphrase")); + dialog.setWindowTitle(tr("")); + dialog.setWindowFlags(Qt::WindowTitleHint | Qt::WindowCloseButtonHint); dialog.setLabelText(msg); dialog.setTextEchoMode(QLineEdit::Normal); diff --git a/src/libsync/wordlist.cpp b/src/libsync/wordlist.cpp index ee71cd7deb352..a19d584be37e5 100644 --- a/src/libsync/wordlist.cpp +++ b/src/libsync/wordlist.cpp @@ -1,11 +1,12 @@ #include "wordlist.h" #include +#include +#include namespace OCC { namespace WordList { -#include int getRandomNumber(int max) { unsigned char d[8]; @@ -23,2060 +24,2318 @@ int getRandomNumber(int max) { QStringList getRandomWords(int nr) { - QStringList wordList = { - "abandon", - "ability", - "able", - "about", - "above", - "absent", - "absorb", - "abstract", - "absurd", - "abuse", - "access", - "accident", - "account", - "accuse", - "achieve", - "acid", - "acoustic", - "acquire", - "across", - "act", + QStringList wordListDE = { + "aal", + "abend", + "abendrot", + "abenteuer", + "aberglaube", + "abfahrt", + "abfall", + "abtei", + "achse", + "acht", + "achtung", + "achtzig", + "acidum", + "acker", + "ackerbau", + "ackerhof", "action", - "actor", - "actress", - "actual", - "adapt", - "add", - "addict", - "address", - "adjust", - "admit", - "adult", - "advance", - "advice", - "aerobic", - "affair", - "afford", - "afraid", - "again", - "age", - "agent", - "agree", - "ahead", - "aim", - "air", - "airport", - "aisle", - "alarm", - "album", - "alcohol", - "alert", - "alien", - "all", - "alley", - "allow", - "almost", - "alone", - "alpha", - "already", - "also", - "alter", - "always", - "amateur", - "amazing", - "among", - "amount", - "amused", - "analyst", - "anchor", - "ancient", - "anger", - "angle", - "angry", - "animal", - "ankle", - "announce", - "annual", - "another", - "answer", - "antenna", - "antique", - "anxiety", - "any", - "apart", - "apology", - "appear", - "apple", - "approve", + "ada", + "adam", + "adel", + "adenauer", + "ader", + "aderlass", + "adidas", + "adieu", + "adjektiv", + "adolph", + "adonis", + "adria", + "adverb", + "advokat", + "angina", + "angler", + "ansicht", + "antonio", + "antrag", + "antrieb", + "antritt", + "antwort", + "anwalt", + "apache", + "apartheid", + "apartment", + "aperitif", + "apfel", + "apfelmus", + "apfelsine", + "apfeltorte", + "apfelwein", + "aphorismus", + "aphrodite", + "apokalypse", + "apoll", + "apollo", + "apologeten", + "apostel", + "apostroph", + "apostrophs", + "apotheke", + "apparat", "april", - "arch", - "arctic", - "area", + "apropos", + "apsis", + "apulien", + "aquarell", + "aragon", + "arbeit", + "archimedes", + "architekt", + "archiv", + "arden", + "areal", "arena", - "argue", + "arenen", + "argau", + "arge", + "argentinien", + "arglist", + "argonaut", + "argosy", + "argument", + "argus", + "argusaugen", + "argwohn", + "ariane", + "arie", + "aristokrat", + "aristoteles", + "arithmetik", + "arizona", + "arkade", + "arkadenhof", + "arkansas", + "arktisforscher", "arm", - "armed", - "armor", + "armada", + "armagnac", + "armando", + "armaturen", + "armband", + "armee", + "armenien", + "armenier", + "armfluegeln", + "armhaltung", + "armhebel", + "armkettchen", + "armlehnen", + "armreif", + "arms", + "armseligkeit", + "armsessel", + "armstrong", + "armut", "army", - "around", - "arrange", + "arnica", + "arno", "arrest", - "arrive", - "arrow", - "art", - "artefact", - "artist", - "artwork", - "ask", - "aspect", - "assault", - "asset", - "assist", - "assume", - "asthma", - "athlete", + "arroganz", + "arsch", + "arterie", + "arthur", + "arzt", + "asbest", + "asien", + "aspirant", + "astrologe", + "astrologie", + "astronaut", + "astronomie", + "asyl", + "atelier", + "atem", + "atemzug", + "atheist", + "atheisten", + "atheistin", + "athen", + "athene", + "athlet", "atom", - "attack", - "attend", - "attitude", - "attract", - "auction", - "audit", - "august", - "aunt", - "author", + "aubergine", + "auch", + "audienz", + "audienzen", + "audrey", + "auen", + "auerhahn", "auto", - "autumn", - "average", - "avocado", - "avoid", - "awake", - "aware", - "away", - "awesome", - "awful", - "awkward", - "axis", "baby", - "bachelor", - "bacon", - "badge", - "bag", - "balance", - "balcony", + "bach", + "backup", + "backware", + "backwaren", + "bad", + "badetuch", + "bahamas", + "bahn", + "balearen", + "bali", + "balkan", "ball", - "bamboo", - "banana", - "banner", - "bar", - "barely", - "bargain", - "barrel", - "base", - "basic", - "basket", - "battle", - "beach", - "bean", - "beauty", - "because", - "become", - "beef", - "before", - "begin", - "behave", - "behind", - "believe", - "below", - "belt", - "bench", - "benefit", - "best", - "betray", - "better", - "between", - "beyond", - "bicycle", - "bid", - "bike", - "bind", - "biology", - "bird", - "birth", - "bitter", - "black", - "blade", - "blame", - "blanket", - "blast", - "bleak", - "bless", - "blind", - "blood", - "blossom", - "blouse", - "blue", - "blur", - "blush", - "board", - "boat", - "body", - "boil", - "bomb", - "bone", - "bonus", - "book", - "boost", - "border", - "boring", - "borrow", - "boss", - "bottom", - "bounce", - "box", - "boy", - "bracket", - "brain", - "brand", - "brass", - "brave", - "bread", - "breeze", - "brick", - "bridge", + "band", + "bank", + "barbar", + "barbara", + "bargeld", + "baron", + "basketball", + "batterie", + "bau", + "bauernhof", + "bauherr", + "baum", + "bazar", + "bazille", + "bedarf", + "beere", + "beet", + "behauptung", + "beifall", + "beine", + "beischlaf", + "beitrag", + "belfast", + "belgien", + "bengel", + "benzin", + "berg", + "bert", + "berta", + "bier", + "bild", + "billionen", + "billy", + "bindegewebe", + "bindeglied", + "birmingham", + "birne", + "blaubeere", + "blaubeertorte", + "blech", + "blei", + "bleibe", + "blume", + "blut", + "bonsai", + "boa", + "bob", + "bock", + "bombe", + "boot", + "bordell", "brief", - "bright", - "bring", - "brisk", - "broccoli", - "broken", + "bronchitis", "bronze", - "broom", - "brother", - "brown", - "brush", - "bubble", - "buddy", - "budget", - "buffalo", - "build", - "bulb", - "bulk", - "bullet", - "bundle", - "bunker", - "burden", - "burger", - "burst", + "buchkritik", + "buchmacher", + "buckingham", + "budapest", + "buddha", + "bude", + "buch", + "buechse", + "buechsen", + "bueffel", + "buegels", + "buehler", + "buehne", + "bungalow", + "burda", + "bureau", + "burg", + "burgenland", "bus", - "business", - "busy", + "butler", "butter", - "buyer", - "buzz", - "cabbage", - "cabin", - "cable", - "cactus", - "cage", - "cake", - "call", - "calm", - "camera", - "camp", - "can", - "canal", - "cancel", - "candy", - "cannon", - "canoe", - "canvas", - "canyon", - "capable", - "capital", - "captain", - "car", - "carbon", - "card", - "cargo", - "carpet", - "carry", - "cart", - "case", - "cash", - "casino", - "castle", - "casual", - "cat", - "catalog", - "catch", - "category", - "cattle", - "caught", - "cause", - "caution", - "cave", - "ceiling", - "celery", - "cement", - "census", - "century", - "cereal", - "certain", - "chair", - "chalk", - "champion", - "change", - "chaos", - "chapter", - "charge", - "chase", - "chat", - "cheap", - "check", - "cheese", + "buxtehude", + "cafe", + "cafeteria", + "calabrien", + "calamares", + "calcutta", + "carlo", + "carol", + "carola", + "carton", + "charakter", + "chefkoch", "chef", - "cherry", - "chest", - "chicken", - "chief", - "child", - "chimney", - "choice", - "choose", - "chronic", - "chuckle", - "chunk", - "churn", - "cigar", - "cinnamon", - "circle", - "citizen", - "city", - "civil", - "claim", - "clap", - "clarify", - "claw", - "clay", - "clean", - "clerk", - "clever", - "click", - "client", - "cliff", - "climb", - "clinic", - "clip", - "clock", - "clog", - "close", - "cloth", - "cloud", + "chemie", + "cheyenne", + "chiffre", + "chromosom", + "circus", + "citroen", "clown", "club", - "clump", - "cluster", - "clutch", - "coach", - "coast", - "coconut", - "code", - "coffee", - "coil", - "coin", - "collect", - "color", - "column", - "combine", - "come", - "comfort", - "comic", - "common", - "company", - "concert", - "conduct", - "confirm", - "congress", - "connect", - "consider", - "control", - "convince", - "cook", - "cool", - "copper", - "copy", - "coral", - "core", - "corn", - "correct", - "cost", - "cotton", - "couch", - "country", - "couple", - "course", - "cousin", - "cover", - "coyote", - "crack", - "cradle", - "craft", - "cram", - "crane", - "crash", - "crater", - "crawl", - "crazy", - "cream", - "credit", - "creek", - "crew", - "cricket", - "crime", - "crisp", - "critic", - "crop", - "cross", - "crouch", - "crowd", - "crucial", - "cruel", - "cruise", - "crumble", - "crunch", - "crush", - "cry", - "crystal", - "cube", - "culture", - "cup", - "cupboard", - "curious", - "current", - "curtain", - "curve", - "cushion", - "custom", - "cute", - "cycle", - "dad", - "damage", - "damp", - "dance", - "danger", - "daring", - "dash", - "daughter", - "dawn", - "day", - "deal", - "debate", - "debris", - "decade", - "december", - "decide", - "decline", - "decorate", - "decrease", - "deer", - "defense", - "define", - "defy", - "degree", - "delay", - "deliver", - "demand", - "demise", - "denial", - "dentist", - "deny", - "depart", - "depend", - "deposit", - "depth", - "deputy", - "derive", - "describe", - "desert", - "design", - "desk", - "despair", - "destroy", + "clubmaster", + "cocktail", + "comune", + "dach", + "dachbalken", + "dachboden", + "dackel", + "daemon", + "dammbruch", + "dampfbad", + "dante", + "danton", + "datenbank", + "daten", + "daumen", + "daune", + "daunen", + "david", + "deckblatt", + "deckel", + "decoder", + "defizit", + "deich", + "deichbauer", + "dekan", + "dekor", + "dekorateur", + "dekret", + "delikt", + "demokrat", + "demut", + "denkfehler", + "denkmal", + "denkspiel", + "depot", + "destillat", "detail", - "detect", - "develop", - "device", - "devote", - "diagram", - "dial", - "diamond", - "diary", - "dice", + "detektiv", + "detroit", + "dezember", + "dialog", "diesel", - "diet", - "differ", - "digital", - "dignity", + "diesellok", + "dieter", + "diether", + "dietrich", + "digitaluhr", + "diktat", + "diktatur", "dilemma", - "dinner", - "dinosaur", - "direct", - "dirt", - "disagree", - "discover", - "disease", - "dish", - "dismiss", - "disorder", - "display", - "distance", - "divert", - "divide", - "divorce", - "dizzy", - "doctor", - "document", - "dog", - "doll", - "dolphin", - "domain", - "donate", - "donkey", - "donor", - "door", - "dose", - "double", - "dove", - "draft", - "dragon", + "diplomat", + "direkt", + "disco", + "dogma", + "doktor", + "doktorarbeit", + "dokument", + "dolch", + "donald", + "donaudelta", + "doping", + "dorf", + "dorne", + "dosis", + "drache", + "drachenboot", + "dracula", + "draht", + "drahtzaun", "drama", - "drastic", - "draw", - "dream", + "drecksack", + "dreher", + "drehung", + "drehzahl", + "drei", + "dreieck", + "dreiklang", "dress", - "drift", - "drill", - "drink", - "drip", - "drive", - "drop", - "drum", - "dry", - "duck", - "dumb", - "dune", - "during", - "dust", - "dutch", - "duty", - "dwarf", - "dynamic", - "eager", - "eagle", - "early", - "earn", - "earth", - "easily", - "east", - "easy", + "droge", + "drogen", + "drogenbaron", + "dubios", + "dublin", + "duell", + "duft", + "duftnote", + "dumm", + "dunkel", + "dunkelheit", + "durst", + "dynamik", + "dynamit", + "ebenbild", "echo", - "ecology", - "economy", - "edge", - "edit", - "educate", - "effort", - "egg", - "eight", - "either", - "elbow", - "elder", - "electric", - "elegant", - "element", - "elephant", - "elevator", - "elite", - "else", - "embark", - "embody", - "embrace", - "emerge", + "echos", + "ecke", + "eden", + "edens", + "edinburgh", + "edison", + "editieren", + "editor", + "editorial", + "edmund", + "efeu", + "efeus", + "effekt", + "egal", + "ehebruch", + "ehefrau", + "ehezwist", + "ehre", + "eiche", + "eichel", + "eid", + "eidechsen", + "eier", + "eierschale", + "eifel", + "eifer", + "eifersucht", + "eiffelturm", + "eigenheim", + "eigenleben", + "eigensinn", + "eile", + "eilgut", + "eiltempo", + "eimer", + "einband", + "einbau", + "einbruch", + "eingabe", + "einheit", + "einhorn", + "einklang", + "einladung", + "einlagen", + "einsamkeit", + "einsatz", + "einschlag", + "einschuss", + "einzelfall", + "eis", + "eisbaer", + "eisbecher", + "eisberg", + "eisbombe", + "eisdiele", + "eisen", + "eisenbahn", + "ekel", + "elektro", + "elektrik", + "elend", + "elfenbein", + "elsass", + "eltern", + "elternbeirat", + "email", + "emanuel", + "emanuela", + "emanzipation", + "embargo", + "emblem", + "embolie", + "embyro", + "emilia", + "eminenz", + "eminenzen", "emotion", - "employ", - "empower", - "empty", - "enable", - "enact", - "end", - "endless", - "endorse", - "enemy", - "energy", - "enforce", - "engage", - "engine", - "enhance", - "enjoy", - "enlist", - "enough", - "enrich", - "enroll", - "ensure", - "enter", - "entire", - "entry", - "envelope", - "episode", - "equal", - "equip", - "era", - "erase", - "erode", + "ende", + "endrunde", + "endung", + "endungen", + "engel", + "england", + "enkel", + "enkelin", + "entgelt", + "erbgut", + "erdoel", + "erhalt", + "erhaltes", + "erhaltung", + "erich", + "erika", + "eritrea", + "erkaeltung", + "erkenntis", + "ernte", + "eros", "erosion", - "error", - "erupt", - "escape", - "essay", - "essence", - "estate", - "eternal", - "ethics", - "evidence", - "evil", - "evoke", - "evolve", - "exact", - "example", - "excess", - "exchange", - "excite", - "exclude", - "excuse", - "execute", - "exercise", - "exhaust", - "exhibit", - "exile", - "exist", - "exit", - "exotic", - "expand", - "expect", - "expire", - "explain", - "expose", - "express", - "extend", - "extra", - "eye", - "eyebrow", - "fabric", - "face", - "faculty", - "fade", - "faint", - "faith", + "erst", + "erzeugung", + "eskorte", + "essig", + "etat", + "eule", + "exil", + "fabel", + "fabian", + "fabrik", + "fabrikant", + "faden", + "fahne", + "fahrgast", + "fahrer", + "fahrgeld", + "fahrrad", + "falke", "fall", - "false", - "fame", - "family", - "famous", - "fan", - "fancy", - "fantasy", + "fallbeil", + "falle", + "fallobst", + "fallschirm", + "faltboot", + "faltdach", + "fantasie", + "farbe", "farm", - "fashion", - "fat", - "fatal", - "father", - "fatigue", - "fault", - "favorite", - "feature", - "february", - "federal", - "fee", - "feed", - "feel", - "female", - "fence", + "farmer", + "farn", + "faruk", + "fasan", + "fass", + "fassade", + "fatalismus", + "fatalitaet", + "faulenzer", + "faulpelz", + "fauna", + "faust", + "favorit", + "fazit", + "fechter", + "feder", + "federung", + "fegefeuer", + "fehde", + "fehler", + "fehlmenge", + "feier", + "feierabend", + "feiertag", + "feigling", + "feind", + "feinkost", + "felder", + "felge", + "felix", + "fell", + "fenchel", + "fenster", + "fensterbank", + "ferien", + "fernglas", + "fernost", + "fernseher", + "fernsicht", + "fernweh", + "ferrari", + "festakt", + "festakte", "festival", - "fetch", - "fever", - "few", - "fiber", - "fiction", - "field", + "fett", + "feuer", + "feueralarm", + "feuerwerk", + "fiasko", + "fiat", + "fieber", "figure", - "file", + "fiktion", "film", - "filter", - "final", - "find", - "fine", + "filz", + "fimmel", + "finale", + "finanzhai", + "finderlohn", "finger", - "finish", - "fire", - "firm", - "first", - "fiscal", - "fish", - "fit", + "fink", + "firlefanz", + "firma", + "firmament", + "fisch", + "fischerboot", + "fischfang", "fitness", - "fix", - "flag", - "flame", - "flash", - "flat", - "flavor", - "flee", - "flight", - "flip", - "float", - "flock", - "floor", - "flower", - "fluid", - "flush", - "fly", - "foam", - "focus", - "fog", - "foil", - "fold", - "follow", - "food", - "foot", - "force", - "forest", - "forget", - "fork", - "fortune", - "forum", - "forward", + "flagge", + "fleiss", + "fleisch", + "fliege", + "fliegen", + "fliegenpilz", + "fliese", + "flinte", + "flipper", + "flirt", + "flo", + "flop", + "flora", + "florenz", + "florett", + "florida", + "floskel", + "flotte", + "flucht", + "fluchtauto", + "fluchtburg", + "flug", + "flugabwehr", + "flughafen", + "flunder", + "fluss", + "flusspferd", + "flutwelle", + "foen", + "folklore", + "folter", + "folterbank", + "folterknecht", + "forschung", + "forst", + "forstamt", "fossil", - "foster", - "found", - "fox", - "fragile", - "frame", - "frequent", - "fresh", - "friend", - "fringe", - "frog", - "front", - "frost", - "frown", - "frozen", - "fruit", - "fuel", - "fun", - "funny", - "furnace", - "fury", - "future", - "gadget", - "gain", - "galaxy", - "gallery", - "game", - "gap", + "foto", + "fotoapparat", + "foulspiel", + "foyer", + "fracht", + "frack", + "fragment", + "frankfurt", + "franzose", + "fratze", + "frei", + "freibier", + "freiheit", + "freitag", + "freizeit", + "freske", + "freude", + "freund", + "frevel", + "frieden", + "friesland", + "frikadelle", + "friseur", + "frist", + "frohnatur", + "frohsinn", + "frosch", + "frucht", + "fruehjahr", + "frust", + "fuchs", + "fuenf", + "furie", + "fuss", + "gabe", + "galaxie", + "galeere", + "galerie", + "galgen", + "galilei", + "galizien", "garage", - "garbage", - "garden", - "garlic", - "garment", + "garten", + "gartenzwerg", "gas", - "gasp", - "gate", - "gather", - "gauge", - "gaze", - "general", - "genius", - "genre", - "gentle", - "genuine", - "gesture", - "ghost", - "giant", + "gast", + "gasthof", + "gauda", + "gaudi", + "gaul", + "gaukler", + "gaumen", + "gauner", + "gazelle", + "geburtstag", + "gedanke", + "geduld", + "gefaengnis", + "gefecht", + "gehirn", + "geier", + "geist", + "geizhals", + "georg", + "getto", + "gewehr", + "ghetto", "gift", - "giggle", - "ginger", - "giraffe", - "girl", - "give", - "glad", - "glance", - "glare", - "glass", - "glide", - "glimpse", - "globe", - "gloom", - "glory", - "glove", - "glow", - "glue", - "goat", - "goddess", - "gold", - "good", - "goose", + "gina", + "gleis", + "glueck", "gorilla", - "gospel", - "gossip", - "govern", - "gown", - "grab", - "grace", - "grain", - "grant", - "grape", - "grass", - "gravity", - "great", - "green", - "grid", - "grief", - "grit", - "grocery", - "group", - "grow", - "grunt", - "guard", - "guess", - "guide", - "guilt", - "guitar", - "gun", - "gym", - "habit", - "hair", - "half", - "hammer", - "hamster", - "hand", - "happy", - "harbor", - "hard", - "harsh", - "harvest", - "hat", - "have", - "hawk", - "hazard", - "head", - "health", - "heart", - "heavy", - "hedgehog", - "height", - "hello", - "helmet", - "help", - "hen", - "hero", - "hidden", - "high", - "hill", - "hint", - "hip", - "hire", - "history", - "hobby", - "hockey", - "hold", - "hole", - "holiday", - "hollow", - "home", - "honey", - "hood", - "hope", - "horn", - "horror", - "horse", - "hospital", - "host", + "guido", + "gummi", + "gurke", + "gurkensalat", + "gurt", + "guru", + "haar", + "hafen", + "haft", + "haftbefehl", + "halbmond", + "halogen", + "hals", + "handball", + "handbremse", + "handgelenk", + "handtasche", + "hannelore", + "hantel", + "harlekin", + "harmonie", + "haschisch", + "harz", + "hausarrest", + "hausarzt", + "hausschwein", + "haut", + "hawaii", + "heck", + "heckteil", + "hehler", + "heike", + "heimat", + "heino", + "heinrich", + "heinz", + "heirat", + "hektik", + "held", + "helsinki", + "hemd", + "herbert", + "herbst", + "herz", + "heuchler", + "hexen", + "hexerei", + "himalaja", + "himalaya", + "himbeere", + "himmel", + "hindu", + "hintergrund", + "hintern", + "hippie", + "hippodamus", + "hippodrom", + "hirn", + "hitze", + "hobbie", + "hochmut", + "hoftor", + "hoheit", + "hollywood", + "holz", "hotel", - "hour", - "hover", - "hub", - "huge", - "human", - "humble", - "humor", - "hundred", - "hungry", - "hunt", - "hurdle", - "hurry", - "hurt", - "husband", - "hybrid", - "ice", - "icon", - "idea", - "identify", - "idle", - "ignore", - "ill", - "illegal", - "illness", - "image", - "imitate", - "immense", - "immune", - "impact", - "impose", - "improve", - "impulse", - "inch", - "include", - "income", - "increase", + "hubraum", + "huehnerdieb", + "huf", + "hund", + "hygiene", + "hymne", + "hypnose", + "idee", + "ignoranz", + "imbiss", + "immobilie", + "import", "index", - "indicate", - "indoor", - "industry", - "infant", - "inflict", - "inform", - "inhale", - "inherit", - "initial", - "inject", - "injury", - "inmate", - "inner", - "innocent", - "input", - "inquiry", - "insane", - "insect", - "inside", - "inspire", - "install", - "intact", - "interest", - "into", - "invest", - "invite", - "involve", - "iron", - "island", - "isolate", - "issue", - "item", - "ivory", - "jacket", + "indianer", + "indikator", + "induktion", + "industrie", + "infarkt", + "infekt", + "infektion", + "inferno", + "information", + "inka", + "inkasso", + "innovation", + "innsbruck", + "insasse", + "insekt", + "insekten", + "insel", + "inselstaat", + "instanz", + "instinkt", + "institut", + "instrument", + "intelligenz", + "intellekt", + "interesse", + "irak", + "iran", + "irrenhaus", + "irrsinn", + "irrtum", + "italien", + "ivan", + "jacht", + "jachtklub", + "jacke", + "jacob", + "jagd", "jaguar", - "jar", + "jahr", + "jahrbuchs", + "jahre", + "jahrmarkt", + "jahrzehnt", + "japan", "jazz", - "jealous", - "jeans", - "jelly", - "jewel", - "job", - "join", - "joke", - "journey", - "joy", - "judge", - "juice", - "jump", - "jungle", - "junior", - "junk", - "just", - "kangaroo", - "keen", - "keep", - "ketchup", - "key", - "kick", - "kid", - "kidney", + "jazzband", + "joker", + "jongleur", + "jordanien", + "josef", + "jubel", + "jucken", + "judo", + "judoka", + "jugend", + "junge", + "jurist", + "kabarett", + "kabel", + "kabine", + "kabrio", + "kabriolett", + "kabuki", + "kabul", + "kadaver", + "kader", + "kaernten", + "kaese", + "kaffee", + "kafka", + "kairo", + "kaiser", + "kakao", + "kaktee", + "kaktus", + "kalabrien", + "kalauer", + "kalb", + "kali", + "kalk", + "kalkulation", + "kalkutta", + "kalzium", + "kambodscha", + "kamel", + "kamera", + "kamerad", + "kamikaze", + "kamille", + "kamin", + "kanada", + "kanaille", + "kanal", + "kannibale", + "kanzlei", + "kapitol", + "kapitulation", + "kaplan", + "kappe", + "kapsel", + "kapuze", + "karambolage", + "karate", + "karosse", + "karosserie", + "karotte", + "karriere", + "karte", + "kartei", + "kartell", + "kartenspiel", + "Kartoffel", + "kartoffelbrei", + "karton", + "kasino", + "kaskade", + "kasko", + "kasse", + "kassel", + "kastanie", + "kastell", + "katamaran", + "katastrophe", + "katze", + "katzenauge", + "kehle", + "keim", + "kennziffer", + "kent", + "kentucky", + "keramik", + "kerbe", + "kerbel", + "kessel", + "kette", + "ketzer", + "keule", + "kiesgrube", + "killer", + "kilo", + "kilogramm", + "kilometer", + "kilowatt", "kind", - "kingdom", - "kiss", - "kit", - "kitchen", - "kite", - "kitten", - "kiwi", - "knee", - "knife", - "knock", - "know", - "lab", - "label", + "kinder", + "kirchturm", + "kirschbaum", + "kirsche", + "kitzel", + "klamotten", + "klang", + "klar", + "klarheit", + "klarinette", + "klartext", + "klassik", + "klausel", + "klavier", + "klee", + "kleider", + "klima", + "klinik", + "klischee", + "klo", + "klopapier", + "kloster", + "klotz", + "klub", + "knallfrosch", + "kneipe", + "knete", + "knetmasse", + "knick", + "knie", + "kniff", + "knoblauch", + "knochen", + "knopf", + "knopfloch", + "knospe", + "kobalt", + "kobold", + "kobra", + "kochbuch", + "koerper", + "koffein", + "koffer", + "kohle", + "kokain", + "kollege", + "kombi", + "kombination", + "komma", + "kommandant", + "kommando", + "kommentar", + "kommerz", + "kommissar", + "kommode", + "kommune", + "kompetenz", + "komplott", + "kompost", + "konfekt", + "konfetti", + "konflikt", + "kongo", + "konkurs", + "konrad", + "konsens", + "konsulat", + "konvoi", + "kopfball", + "kopie", + "kork", + "kottelet", + "krabbe", + "krach", + "kraehe", + "kraft", + "kraftakt", + "krakau", + "kralle", + "kram", + "krampf", + "kran", + "krankenhaus", + "krebs", + "kredit", + "krefeld", + "kreide", + "kreis", + "krempe", + "krempel", + "kreole", + "kresse", + "kreta", + "kreuz", + "kreuzberg", + "kreuzung", + "krieg", + "krim", + "krimi", + "kriminalbeamte", + "kriminalbeamtin", + "krippe", + "krise", + "krishna", + "kristall", + "kritik", + "kuba", + "kubanerin", + "kuckuck", + "kueche", + "kufe", + "kugel", + "kugellager", + "kultur", + "kumulation", + "kundin", + "kundschaft", + "kunst", + "kurbel", + "kurbelwelle", + "kybernetik", "labor", - "ladder", - "lady", - "lake", - "lamp", - "language", - "laptop", - "large", - "later", - "latin", - "laugh", - "laundry", + "laborant", + "laborleiter", + "labrador", + "labyrinth", + "lachs", + "laderaum", + "ladung", + "lage", + "lager", + "lagune", + "lamborghini", + "lamelle", + "lametta", + "lamm", + "lampe", + "landau", + "landgut", + "landung", + "landzunge", + "langeweile", + "languste", + "lanzarote", + "last", + "lauch", + "lauge", + "laune", + "lautsprecher", "lava", - "law", - "lawn", - "lawsuit", - "layer", - "lazy", - "leader", - "leaf", - "learn", - "leave", - "lecture", - "left", - "leg", - "legal", - "legend", - "leisure", - "lemon", - "lend", - "length", - "lens", + "lavendel", + "lawine", + "layout", + "lazarett", + "legierung", + "legion", + "leguan", + "lehre", + "lehrer", + "leiche", + "leierkasten", + "leim", + "leine", + "leinen", + "leinwand", + "leitern", + "lektion", + "lektorin", + "lemming", + "leonie", + "leonore", "leopard", - "lesson", - "letter", - "level", - "liar", - "liberty", - "library", - "license", - "life", - "lift", - "light", - "like", - "limb", - "limit", - "link", - "lion", - "liquid", - "list", - "little", - "live", - "lizard", - "load", - "loan", - "lobster", - "local", - "lock", - "logic", - "lonely", - "long", - "loop", - "lottery", - "loud", - "lounge", - "love", - "loyal", - "lucky", - "luggage", - "lumber", - "lunar", - "lunch", - "luxury", - "lyrics", - "machine", - "mad", - "magic", - "magnet", - "maid", - "mail", - "main", - "major", - "make", - "mammal", - "man", - "manage", - "mandate", - "mango", - "mansion", - "manual", - "maple", - "marble", - "march", - "margin", + "leopold", + "lerche", + "lermming", + "lettland", + "leuchtturm", + "libanon", + "libelle", + "libyen", + "licht", + "lichtung", + "lid", + "liebe", + "lied", + "lieferung", + "limonade", + "linienbus", + "linsensuppe", + "linz", + "lippe", + "lizenz", + "lorbeer", + "loreley", + "lorenzo", + "luder", + "ludwigshafen", + "luebeck", + "luegner", + "luegnerin", + "luemmel", + "lueneburg", + "luft", + "luftabwehr", + "lugano", + "luke", + "luna", + "luxus", + "macher", + "macht", + "machtwort", + "macke", + "madonna", + "madrid", + "maedchen", + "mafia", + "magazin", + "magnetspule", + "mai", + "mainz", + "mais", + "maiskolben", + "malaria", + "malediven", + "maler", + "mammon", + "mammut", + "mandel", + "mandelbaum", + "manitu", + "manko", + "mann", + "manschette", + "mantel", + "manuela", + "marburg", "marine", - "market", - "marriage", - "mask", - "mass", - "master", - "match", + "marita", + "mark", + "markt", + "marmor", + "marokko", + "marquise", + "marrakesch", + "mars", + "mascarpone", + "masche", + "maschine", + "maschinenbau", "material", - "math", - "matrix", - "matter", - "maximum", - "maze", - "meadow", - "mean", - "measure", - "meat", - "mechanic", - "medal", - "media", - "melody", - "melt", - "member", - "memory", - "mention", - "menu", - "mercy", - "merge", - "merit", - "merry", - "mesh", - "message", - "metal", - "method", - "middle", - "midnight", - "milk", - "million", - "mimic", - "mind", - "minimum", - "minor", - "minute", - "miracle", - "mirror", - "misery", - "miss", - "mistake", - "mix", - "mixed", - "mixture", - "mobile", - "model", - "modify", - "mom", - "moment", - "monitor", - "monkey", - "monster", - "month", - "moon", - "moral", - "more", - "morning", - "mosquito", - "mother", - "motion", + "materie", + "mathematik", + "matratze", + "medikament", + "medizin", + "meer", + "melodie", + "melone", + "mensch", + "mercedes", + "merkmal", + "metall", + "metropole", + "metropolis", + "metzger", + "michelangelo", + "migraene", + "mikado", + "minderheit", + "mineral", + "minus", + "module", + "moebel", + "mondlandung", "motor", - "mountain", - "mouse", - "move", - "movie", - "much", - "muffin", - "mule", - "multiply", - "muscle", + "motorblock", + "muecke", + "muenze", + "muschi", "museum", - "mushroom", - "music", - "must", - "mutual", - "myself", - "mystery", - "myth", - "naive", - "name", - "napkin", - "narrow", - "nasty", - "nation", - "nature", - "near", - "neck", - "need", - "negative", - "neglect", - "neither", - "nephew", - "nerve", - "nest", - "net", - "network", - "neutral", - "never", - "news", - "next", - "nice", - "night", - "noble", - "noise", - "nominee", - "noodle", + "mustang", + "mutation", + "mutti", + "nachbar", + "nachricht", + "nachtleben", + "nadelholz", + "nagasaki", + "nagel", + "nagellack", + "nahrung", + "nairobi", + "nase", + "nasenbein", + "nationalpark", + "natur", + "nazi", + "neapel", + "nebel", + "nebraska", + "nebukadnezar", + "neckar", + "neffe", + "negativ", + "nepal", + "netz", + "netzanschluss", + "neubau", + "neujahrstag", + "neumond", + "neun", + "nickel", + "nie", + "niete", + "nikolaus", + "nikotin", + "nordpol", + "norm", "normal", - "north", - "nose", - "notable", - "note", - "nothing", - "notice", - "novel", - "now", - "nuclear", - "number", - "nurse", - "nut", - "oak", - "obey", - "object", - "oblige", - "obscure", - "observe", - "obtain", - "obvious", - "occur", - "ocean", - "october", - "odor", - "off", - "offer", - "office", - "often", - "oil", - "okay", - "old", - "olive", - "olympic", - "omit", - "once", - "one", - "onion", - "online", - "only", - "open", - "opera", - "opinion", - "oppose", - "option", + "normanne", + "norwegen", + "nostalgie", + "not", + "notar", + "notausgang", + "nudel", + "nudelholz", + "nylon", + "oberst", + "oberteil", + "objekt", + "obligation", + "ofen", + "ofenheizung", + "ohren", + "oktober", + "oldtimer", + "oleg", + "olga", + "oligarch", + "oliven", + "oliver", + "olymp", + "olympia", + "opa", + "opel", + "operette", + "oper", + "opium", + "opiumkrieg", + "optiker", + "opus", "orange", - "orbit", - "orchard", - "order", - "ordinary", - "organ", + "orden", + "ordner", + "ordnung", + "oregon", + "organe", + "organen", + "organleiden", + "orgel", "orient", - "original", - "orphan", - "ostrich", - "other", - "outdoor", - "outer", - "output", - "outside", - "oval", - "oven", - "over", - "own", - "owner", - "oxygen", - "oyster", - "ozone", - "pact", - "paddle", + "orion", + "orkan", + "orlando", + "orleans", + "ornament", + "ortschaft", + "oscar", + "osiris", + "oskar", + "oslo", + "osnabrueck", + "ostern", + "otter", + "otto", + "ouvertuere", + "ovation", + "ozean", + "ozeandampfer", + "ozonschicht", + "paella", + "paganini", "page", - "pair", - "palace", - "palm", - "panda", - "panel", - "panic", - "panther", - "paper", - "parade", - "parent", + "paket", + "palaver", + "palermo", + "palette", + "palisade", + "palladium", + "panzerkreuzer", + "panzer", + "papa", + "papagalli", + "papagallo", + "papagei", + "papierkorb", + "pappe", + "pappeln", + "paradies", + "paraguay", + "parameter", + "parasit", + "pardon", + "parfuem", "park", - "parrot", + "parkallee", + "parkhaus", + "parkplatz", + "parkuhr", + "parkverbot", + "parlament", + "parole", + "paroli", + "partei", "party", - "pass", - "patch", - "path", + "partyraum", + "paruguay", + "parzelle", + "passau", + "passfoto", + "patent", "patient", - "patrol", - "pattern", - "pause", - "pave", - "payment", - "peace", - "peanut", - "pear", - "peasant", - "pelican", - "pen", - "penalty", - "pencil", - "people", - "pepper", - "perfect", - "permit", + "paul", + "paulette", + "paulus", + "pauschal", + "pavian", + "pavillon", + "pazifik", + "pelikan", + "pellkartoffel", + "pelz", + "peng", "person", - "pet", - "phone", + "peru", + "peruecke", + "perversion", + "pest", + "peter", + "petersilie", + "pfadfinder", + "pfalz", + "pfand", + "pfannkuchen", + "pfarrer", + "pfeil", + "pferch", + "pferd", + "pfirsich", + "pflaster", + "pflasters", + "pflegerin", + "pfoertner", + "phaenomen", + "phalanx", + "phantast", + "pharao", + "pharma", + "pharmazie", + "phase", + "phasen", + "philippsburg", + "philosoph", + "philosphie", + "phlegma", + "phon", + "phonetik", "photo", - "phrase", - "physical", - "piano", - "picnic", - "picture", - "piece", - "pig", - "pigeon", - "pill", - "pilot", - "pink", - "pioneer", - "pipe", - "pistol", - "pitch", - "pizza", - "place", - "planet", - "plastic", - "plate", - "play", - "please", - "pledge", - "pluck", - "plug", - "plunge", - "poem", - "poet", - "point", - "polar", - "pole", + "pianist", + "piazza", + "picasso", + "pickelgesicht", + "picknick", + "piemont", + "pietaet", + "pigment", + "pils", + "pingpong", + "pinguin", + "pinie", + "pinsel", + "pinselstrich", + "pinzette", + "pionier", + "pirat", + "piraten", + "pirelli", + "pirmasens", + "piroschka", + "plagiat", + "plagiator", + "plakat", + "plankton", + "planquadrat", + "planzahl", + "plasma", + "plastik", + "plateau", + "platin", + "pluralismus", + "plus", + "plutarch", + "pluto", + "plutonium", + "plymouth", + "pokalsieg", + "pokerspiel", + "pol", + "polareis", + "polarfuchs", + "polaris", "police", - "pond", - "pony", - "pool", - "popular", - "portion", + "polier", + "poliklinik", + "politur", + "polle", + "pollen", + "pomp", + "pompadour", + "pompeij", + "pomps", + "porsche", + "portwein", + "porzellan", "position", - "possible", "post", - "potato", - "pottery", - "poverty", - "powder", - "power", - "practice", - "praise", - "predict", - "prefer", - "prepare", - "present", - "pretty", - "prevent", - "price", - "pride", - "primary", - "print", - "priority", - "prison", - "private", - "prize", + "poster", + "postfach", + "postille", + "postkarte", + "potzblitz", + "praefekt", + "praeparat", + "praxis", + "prellung", + "premier", + "premiere", + "presse", + "priester", "problem", - "process", - "produce", + "produkt", + "produzent", + "profession", + "professor", + "professur", + "profiboxer", + "profil", + "profilneurose", "profit", - "program", - "project", - "promote", - "proof", - "property", - "prosper", - "protect", - "proud", - "provide", - "public", - "pudding", - "pull", - "pulp", - "pulse", - "pumpkin", - "punch", - "pupil", - "puppy", - "purchase", - "purity", - "purpose", - "purse", - "push", - "put", - "puzzle", - "pyramid", - "quality", - "quantum", - "quarter", - "question", - "quick", - "quit", + "prognose", + "programm", + "projekt", + "projektion", + "prokura", + "promille", + "prominenz", + "propeller", + "prophet", + "provision", + "pruefung", + "pruegel", + "puffer", + "punsch", + "pupillen", + "puppe", + "pyjama", + "pyramide", + "qualitaet", + "qualle", + "qualm", + "quartal", + "quasar", + "quatsch", + "quattro", + "quebec", + "quitte", + "quitten", + "quittungen", "quiz", - "quote", - "rabbit", - "raccoon", - "race", - "rack", + "rabe", + "rache", + "racheakt", "radar", - "radio", - "rail", - "rain", - "raise", - "rally", - "ramp", - "ranch", - "random", - "range", - "rapid", - "rare", - "rate", - "rather", - "raven", - "raw", - "razor", - "ready", + "radarschirm", + "radioskop", + "radium", + "raetsel", + "raffinerie", + "raffinesse", + "rahm", + "rahmen", + "rampe", + "rampenlicht", + "rang", + "rasse", + "rastatt", + "raster", + "rastplatz", + "ratte", + "rattengift", + "raudi", + "raumschiff", + "rauschgift", + "ravenna", + "ravensberg", "real", - "reason", - "rebel", - "rebuild", - "recall", - "receive", - "recipe", - "record", - "recycle", - "reduce", - "reflect", - "reform", - "refuse", - "region", - "regret", - "regular", - "reject", - "relax", - "release", - "relief", - "rely", - "remain", - "remember", - "remind", - "remove", - "render", - "renew", - "rent", - "reopen", - "repair", - "repeat", - "replace", - "report", - "require", - "rescue", - "resemble", - "resist", - "resource", - "response", - "result", - "retire", - "retreat", - "return", - "reunion", - "reveal", - "review", - "reward", - "rhythm", - "rib", - "ribbon", - "rice", - "rich", - "ride", - "ridge", - "rifle", - "right", - "rigid", - "ring", - "riot", - "ripple", - "risk", - "ritual", - "rival", - "river", - "road", - "roast", - "robot", - "robust", - "rocket", - "romance", - "roof", - "rookie", - "room", + "reale", + "rebell", + "rechner", + "rechtsform", + "redner", + "reflektion", + "reflex", + "regal", + "regel", + "regenwald", + "regenwurm", + "reinfall", + "reis", + "reise", + "reiz", + "reklame", + "rekrut", + "reparatur", + "reporter", + "reporterin", + "reservat", + "reserve", + "reservebank", + "respekt", + "ressort", + "rettich", + "revolutuion", + "revolver", + "rhythmus", + "riad", + "rialto", + "ribbentrop", + "rind", + "risiko", + "rivale", + "rivalin", + "robbe", + "robert", + "roberta", + "robin", + "roboter", + "rolle", "rose", - "rotate", - "rough", - "round", - "route", - "royal", - "rubber", - "rude", - "rug", - "rule", - "run", - "runway", - "rural", - "sad", - "saddle", - "sadness", - "safe", - "sail", - "salad", - "salmon", + "rund", + "rundfunk", + "russe", + "spiegel", + "saatgut", + "sabotage", + "saboteur", + "sachbuch", + "sack", + "sackgasse", + "saeugling", + "safari", + "safran", + "saftladen", + "saite", "salon", - "salt", - "salute", - "same", - "sample", - "sand", - "satisfy", - "satoshi", - "sauce", - "sausage", - "save", - "say", - "scale", - "scan", - "scare", - "scatter", - "scene", - "scheme", - "school", - "science", - "scissors", - "scorpion", - "scout", - "scrap", - "screen", - "script", - "scrub", - "sea", - "search", - "season", - "seat", - "second", - "secret", - "section", - "security", - "seed", - "seek", - "segment", - "select", - "sell", - "seminar", - "senior", - "sense", - "sentence", - "series", - "service", - "session", - "settle", - "setup", - "seven", - "shadow", - "shaft", - "shallow", - "share", - "shed", - "shell", - "sheriff", - "shield", - "shift", - "shine", - "ship", - "shiver", - "shock", - "shoe", - "shoot", - "shop", - "short", - "shoulder", - "shove", - "shrimp", - "shrug", - "shuffle", - "shy", - "sibling", - "sick", - "side", - "siege", - "sight", - "sign", - "silent", - "silk", - "silly", - "silver", - "similar", - "simple", - "since", - "sing", - "siren", - "sister", - "situate", - "six", - "size", - "skate", - "sketch", - "ski", - "skill", - "skin", - "skirt", - "skull", - "slab", - "slam", - "sleep", - "slender", - "slice", - "slide", - "slight", - "slim", - "slogan", - "slot", - "slow", - "slush", - "small", - "smart", - "smile", - "smoke", - "smooth", - "snack", - "snake", - "snap", - "sniff", - "snow", - "soap", - "soccer", - "social", - "sock", + "saloniki", + "sambia", + "samen", + "samenbank", + "sammlung", + "sanddorn", + "sandsack", + "sanftmut", + "sansibar", + "sardine", + "sarg", + "sarkasmus", + "satan", + "satire", + "sattel", + "schachspiel", + "schach", + "schachtel", + "schaden", + "schafe", + "schandmaul", + "schanghai", + "scharade", + "schatten", + "schatulle", + "schatz", + "schatzamt", + "schaumbad", + "scheck", + "scheidung", + "schein", + "scheintod", + "scheitel", + "schenkel", + "scherbe", + "scherzartikel", + "schick", + "schickeria", + "schicksal", + "schiebedach", + "schiffbau", + "schild", + "schilf", + "schirm", + "schinken", + "schlachtschiff", + "schlamassel", + "schlamm", + "schlampe", + "schlauch", + "schlauchboot", + "schleim", + "schlitzohr", + "schloss", + "schlosser", + "schluckauf", + "schlummer", + "schmerz", + "schmerzen", + "schmuggler", + "schmusekatze", + "schmutz", + "schnake", + "schnaps", + "schnapsglas", + "schnapsidee", + "schneehase", + "schneekette", + "schnee", + "schnitzel", + "schnitzerei", + "schnulze", + "schnurrbart", + "schock", + "schotte", + "schrank", + "schranke", + "schreck", + "schreibpult", + "schritt", + "schrott", + "schuh", + "schulden", + "schuljahr", + "schuss", + "schuster", + "schutz", + "schwager", + "schwalbe", + "schwamm", + "schwan", + "schwinger", + "seebaer", + "seenot", + "segen", + "segler", + "seide", + "seife", + "semester", + "semikolon", + "sender", + "serie", + "sidnay", + "sie", + "sieben", + "sieger", + "siegerin", + "signatur", + "sigrid", + "sigrun", + "silbe", + "silber", + "simbabwe", + "simulant", + "sintflut", + "sinus", + "sinuskurve", + "sirene", + "sizilianer", + "skelett", "soda", - "soft", - "solar", - "soldier", - "solid", - "solution", - "solve", - "someone", - "song", - "soon", - "sorry", - "sort", - "soul", - "sound", - "soup", - "source", - "south", - "space", - "spare", - "spatial", - "spawn", - "speak", - "special", - "speed", - "spell", - "spend", - "sphere", - "spice", - "spider", - "spike", - "spin", - "spirit", - "split", - "spoil", - "sponsor", - "spoon", + "sodawasser", + "sodbrennen", + "sodomie", + "solarzelle", + "sommer", + "sommertag", + "sommerurlaub", + "sommerzeit", + "sonne", + "sonnenfleck", + "sonntag", + "spalt", + "spatel", + "spaten", + "specht", + "spekulation", + "sphinx", + "spiegel", + "spiel", + "spielbeginn", + "spinner", + "spinnrad", + "spion", + "spionin", + "spirale", + "spital", + "spitzmaus", + "spitzname", + "spleen", + "spore", + "sporn", + "sportbund", "sport", - "spot", - "spray", - "spread", - "spring", - "spy", - "square", - "squeeze", - "squirrel", - "stable", + "sportwagen", + "spreu", + "sprichwort", + "sprung", + "staat", + "staatsanwalt", + "staatsbesuch", "stadium", - "staff", - "stage", - "stairs", - "stamp", + "stadt", + "staffel", + "staffelei", + "stamm", + "stammaktie", "stand", - "start", - "state", - "stay", + "standard", + "statut", + "statuten", + "staub", + "stausee", "steak", - "steel", - "stem", - "step", + "steinmetz", "stereo", - "stick", - "still", - "sting", - "stock", - "stomach", - "stone", - "stool", - "story", - "stove", - "strategy", - "street", - "strike", - "strong", - "struggle", - "student", - "stuff", - "stumble", - "style", - "subject", - "submit", - "subway", - "success", - "such", - "sudden", - "suffer", - "sugar", - "suggest", - "suit", - "summer", - "sun", - "sunny", - "sunset", - "super", - "supply", - "supreme", - "sure", - "surface", - "surge", - "surprise", - "surround", - "survey", - "suspect", - "sustain", - "swallow", - "swamp", - "swap", - "swarm", - "swear", - "sweet", - "swift", - "swim", - "swing", - "switch", - "sword", + "sternbild", + "stettin", + "steuer", + "stichflamme", + "stift", + "strahl", + "strasse", + "sturmflut", + "sydney", + "sylt", + "sylvester", + "symbiose", "symbol", "symptom", - "syrup", + "syndikat", "system", - "table", - "tackle", + "szenario", + "taeter", + "tafel", "tag", - "tail", + "tagbau", "talent", - "talk", + "taler", + "talg", + "talgdruese", + "tanger", + "tango", + "tangs", "tank", - "tape", - "target", - "task", + "tankanlage", + "tankwart", + "tante", + "tanzbaer", + "tara", + "tarantel", + "tarif", + "taschendieb", + "tasse", "taste", - "tattoo", + "tatare", + "tartaria", + "tatendrang", + "tatort", + "tatze", + "tau", + "taube", + "taucher", + "tausch", + "tausend", "taxi", - "teach", + "taxifahrer", "team", - "tell", - "ten", - "tenant", - "tennis", - "tent", - "term", - "test", + "teamarbeit", + "technics", + "technikerin", + "teddybaer", + "teekanne", + "teenager", + "teheran", + "teich", + "teil", + "teilchen", + "teilnahme", + "teint", + "telefon", + "temperatur", + "teneriffa", + "tenor", + "teppich", + "termin", + "terminal", + "terrine", + "terror", + "texas", "text", - "thank", - "that", - "theme", - "then", - "theory", - "there", - "they", - "thing", - "this", - "thought", - "three", - "thrive", - "throw", - "thumb", - "thunder", + "thailand", + "theater", + "theke", + "thema", + "thematik", + "theo", + "theodor", + "theologe", + "theorie", + "therapeut", + "therapie", + "theresa", + "therese", + "thermalbad", + "thesaurus", + "these", + "thomas", + "thriller", + "thunfisch", + "thymian", + "tibet", + "tick", "ticket", - "tide", - "tiger", - "tilt", - "timber", - "time", - "tiny", - "tip", - "tired", - "tissue", - "title", - "toast", - "tobacco", - "today", - "toddler", - "toe", - "together", - "toilet", - "token", - "tomato", - "tomorrow", - "tone", - "tongue", - "tonight", - "tool", - "tooth", - "top", - "topic", - "topple", - "torch", - "tornado", - "tortoise", - "toss", + "tiegel", + "tier", + "tierarzt", + "tilsiter", + "tinte", + "tintenfass", + "tintenfisch", + "tintenfleck", + "tippzettel", + "tips", + "tirol", + "tischler", + "titan", + "titanic", + "titel", + "titelbild", + "tivoli", + "toaster", + "tobak", + "tobsucht", + "todfeind", + "tofu", + "toilette", + "tokio", + "toleranz", + "tollwut", + "tolpatsch", + "tomaten", + "tonlage", + "tonleiter", + "tonnage", + "tonne", + "tonspur", + "tor", + "torchance", + "torpedo", + "torpedoboot", + "torraum", + "tortur", "total", + "toulouse", + "tour", + "tourenrad", "tourist", - "toward", - "tower", - "town", - "toy", - "track", - "trade", - "traffic", - "tragic", - "train", + "tournee", + "toyota", + "trab", + "trabant", + "tracht", + "tradition", + "trafalgar", + "tragbahre", + "tragik", + "trainer", + "trakt", + "traktor", + "tramper", + "trance", "transfer", - "trap", - "trash", - "travel", - "tray", - "treat", - "tree", + "transport", + "trapez", + "tratte", + "trauer", + "traum", + "trauma", + "traumberuf", + "treffen", + "treffer", + "treiber", + "treibhaus", + "treibsand", + "treibstoff", "trend", - "trial", - "tribe", + "trennung", + "trennwand", + "treppe", + "tresen", + "tresor", + "treue", + "treueid", + "treuhand", + "tribun", "trick", - "trigger", - "trim", - "trip", - "trophy", - "trouble", - "truck", - "true", - "truly", - "trumpet", - "trust", - "truth", - "try", - "tube", - "tuition", - "tumble", - "tuna", + "trickfilm", + "triebwerk", + "triest", + "trikot", + "trilogie", + "trinkgeld", + "tripolis", + "tritt", + "triumpf", + "triumph", + "troja", + "trojaner", + "trommelfell", + "trommler", + "trompeter", + "tropen", + "trottel", + "trubel", + "truhe", + "truppe", + "tschernobyl", + "tuberkulose", + "tuebingen", + "tuemmler", + "tuer", + "tuerkei", + "tuete", + "tugend", + "tulpe", + "tumult", + "tundra", + "tunesien", + "tunichtgut", "tunnel", - "turkey", - "turn", - "turtle", - "twelve", - "twenty", - "twice", - "twin", - "twist", - "two", + "turban", + "turbine", + "turbo", + "turm", + "turner", + "turnerin", + "turnier", + "tusch", + "tycoon", + "typ", "type", - "typical", - "ugly", - "umbrella", - "unable", - "unaware", - "uncle", - "uncover", - "under", - "undo", - "unfair", - "unfold", - "unhappy", + "typografie", + "tyrann", + "tyrannei", + "ufo", + "uebung", + "ufer", + "uganda", + "uhrwerk", + "uhrzeit", + "uhu", + "ukraine", + "umfrage", + "umkehr", + "umkreis", + "umleitung", + "umschau", + "umschrift", + "umschweif", + "umweg", + "umzug", + "unfall", + "unfug", + "ungarn", + "ungeduld", + "ungeheuer", + "unhold", "uniform", - "unique", - "unit", - "universe", - "unknown", - "unlock", - "until", - "unusual", - "unveil", - "update", - "upgrade", - "uphold", - "upon", - "upper", - "upset", - "urban", - "urge", - "usage", - "use", - "used", - "useful", - "useless", - "usual", - "utility", - "vacant", - "vacuum", - "vague", - "valid", - "valley", - "valve", - "van", - "vanish", - "vapor", - "various", - "vast", - "vault", - "vehicle", - "velvet", - "vendor", - "venture", - "venue", + "unikum", + "universal", + "universum", + "unterholz", + "unterleib", + "unternehmer", + "unterricht", + "untertan", + "unterteil", + "unzucht", + "uran", + "urkunde", + "urlaub", + "urmensch", + "urne", + "ursache", + "urteil", + "urwald", + "urwelt", + "urzeit", + "utopie", + "utrecht", + "vagabund", + "vampir", + "vandale", + "vanille", + "variation", + "vasall", + "vater", + "vatikan", + "vehemenz", + "vehikel", + "veilchen", + "vene", + "venedig", + "venezuela", + "ventilator", + "ventil", + "venus", + "verachtung", + "veranda", "verb", - "verify", - "version", - "very", - "vessel", + "verband", + "verbleib", + "verblendung", + "verbot", + "verbrecher", + "verbund", + "verdienst", + "verdun", + "verehrer", + "verein", + "verfall", + "verfasser", + "vergleich", + "verhalten", + "verhandlung", + "verkehr", + "verlag", + "verlust", + "verona", + "verputz", + "verrat", + "verse", + "vertrag", + "verwalter", + "verwalterin", + "verzehr", + "verzicht", + "verzug", "veteran", - "viable", - "vibrant", - "vicious", - "victory", + "veto", + "vetorecht", + "viadukt", + "vibration", + "victor", "video", - "view", - "village", - "vintage", - "violin", - "virtual", - "virus", + "vieh", + "viertel", + "vignette", + "viktoria", + "viktualie", + "villa", + "viola", + "violine", + "viper", + "viren", + "virginia", "visa", - "visit", - "visual", - "vital", - "vivid", - "vocal", - "voice", - "void", - "volcano", - "volume", - "vote", - "voyage", - "wage", - "wagon", - "wait", - "walk", + "visage", + "visier", + "vision", + "visum", + "vitamin", + "vitrine", + "vogel", + "vogt", + "vokabel", + "vokal", + "volk", + "volleyball", + "vollmond", + "volt", + "voltaire", + "vorbild", + "votum", + "voyeur", + "vulkan", + "wachs", + "wachtstum", + "wade", + "waehrung", + "waffe", + "waffel", + "wagemut", + "waggon", + "waise", + "wal", + "wald", "wall", - "walnut", - "want", - "warfare", - "warm", - "warrior", - "wash", - "wasp", - "waste", - "water", - "wave", - "way", - "wealth", - "weapon", - "wear", - "weasel", - "weather", - "web", - "wedding", - "weekend", - "weird", - "welcome", - "west", - "wet", - "whale", - "what", - "wheat", - "wheel", - "when", - "where", - "whip", - "whisper", - "wide", - "width", - "wife", - "wild", - "will", - "win", - "window", - "wine", - "wing", - "wink", - "winner", + "wallach", + "walter", + "walther", + "wand", + "wanne", + "warze", + "wassermann", + "weber", + "wecker", + "wehmut", + "weib", + "weinblatt", + "weizen", + "welle", + "welpe", + "welt", + "weltall", + "werbung", + "werft", + "werk", + "werkstoff", + "werktag", + "wermut", + "wert", + "wertung", + "werwolf", + "wesen", + "weser", + "wespe", + "wespennest", + "weste", + "westfalen", + "westwind", + "wette", + "wetter", + "whisky", + "wicht", + "wichtig", + "wickel", + "widder", + "widmung", + "wiedergabe", + "wiesel", + "wiener", + "wildwest", + "wille", + "willi", + "willy", + "wimpel", + "wimper", + "wind", + "windbeutel", + "windhose", + "windhund", + "winkel", "winter", - "wire", - "wisdom", - "wise", - "wish", - "witness", + "winterthur", + "wippe", + "wirbelwind", + "wirkung", + "wirrwarr", + "wirt", + "wirtshaus", + "wischer", + "witterung", + "witwe", + "witz", + "wladimir", + "woche", + "woelbung", "wolf", - "woman", - "wonder", - "wood", - "wool", - "word", - "work", - "world", - "worry", - "worth", - "wrap", - "wreck", - "wrestle", - "wrist", - "write", - "wrong", - "yard", - "year", - "yellow", - "you", - "young", - "youth", + "wohnsitz", + "wohnung", + "wolfgang", + "wolfram", + "wolfsburg", + "wolfshund", + "wolke", + "wolga", + "wolle", + "wollust", + "worms", + "wort", + "wrack", + "wucher", + "wucht", + "wunde", + "wunder", + "wurf", + "wurm", + "wurzel", + "wut", + "xerox", + "xerxes", + "xylograph", + "yacht", + "yangtse", + "yen", + "yeti", + "yoga", + "yokohama", + "yuppie", + "zack", + "zaehler", + "zahl", + "zahn", + "zahnarzt", + "zahnaerztin", + "zahnersatz", + "zahnfleisch", + "zahngold", + "zahnluecke", + "zahnpaste", + "zahnpflege", + "zahnrad", + "zahnschmelz", + "zange", + "zapfenstreich", + "zar", + "zarathustra", + "zauber", + "zauberei", + "zaum", + "zaun", + "zaunkoenig", "zebra", + "zeche", + "zeh", + "zehner", + "zeichen", + "zeichnung", + "zeigefinger", + "zeiger", + "zeile", + "zeit", + "zeitalter", + "zeitbombe", + "zeitung", + "zeitgeist", + "zelle", + "zellkern", + "zeltdach", + "zelt", + "zement", + "zensur", + "zentner", + "zentral", + "zentrum", + "zeppelin", + "zepter", + "zeremonie", + "zerfall", "zero", + "zettel", + "zeuge", + "zeugin", + "zeus", + "zicke", + "ziege", + "ziegel", + "ziffer", + "zigarette", + "zigarillo", + "zigarre", + "zigeuner", + "zigeunerin", + "zikade", + "zimmer", + "zimmermann", + "zimt", + "zinne", + "zinnsoldat", + "zins", + "zirkel", + "zisterne", + "zitadelle", + "zitat", + "zivilist", + "zoll", + "zombie", "zone", - "zoo" + "zoo", + "zopf", + "zorro", + "zucht", + "zucker", + "zuegel", + "zugabe", + "zukunft", + "zunge", + "zuruf", + "zustand", + "zuzug", + "zwang", + "zweifel", + "zwerg", + "zwerchfell", + "zwilling", + "zwinger", + "zwist", + "zyanid", + "zyankali", + "zyklon", + "zyklop", + "zyklus", + "zylinder", + "zyniker", + "zypern", + "zypresse", + "zyste" }; QStringList randomWords; while(randomWords.size() != nr) { - QString currWord = wordList.at(getRandomNumber(wordList.size())); + + auto currWord = wordListDE.at(getRandomNumber(wordListDE.size())); + if (!randomWords.contains(currWord)) { randomWords.append(currWord); }