diff --git a/resources/lang/de/activities.php b/resources/lang/de/activities.php
new file mode 100644
index 000000000..c2d20b3a6
--- /dev/null
+++ b/resources/lang/de/activities.php
@@ -0,0 +1,40 @@
+ 'Seite erstellt',
+ 'page_create_notification' => 'Seite erfolgreich erstellt',
+ 'page_update' => 'Seite aktualisiert',
+ 'page_update_notification' => 'Seite erfolgreich aktualisiert',
+ 'page_delete' => 'Seite gelöscht',
+ 'page_delete_notification' => 'Seite erfolgreich gelöscht',
+ 'page_restore' => 'Seite wiederhergstellt',
+ 'page_restore_notification' => 'Seite erfolgreich wiederhergstellt',
+ 'page_move' => 'Seite verschoben',
+
+ // Chapters
+ 'chapter_create' => 'Kapitel erstellt',
+ 'chapter_create_notification' => 'Kapitel erfolgreich erstellt',
+ 'chapter_update' => 'Kapitel aktualisiert',
+ 'chapter_update_notification' => 'Kapitel erfolgreich aktualisiert',
+ 'chapter_delete' => 'Kapitel gelöscht',
+ 'chapter_delete_notification' => 'Kapitel erfolgreich gelöscht',
+ 'chapter_move' => 'Kapitel verschoben',
+
+ // Books
+ 'book_create' => 'Buch erstellt',
+ 'book_create_notification' => 'Buch erfolgreich erstellt',
+ 'book_update' => 'Buch aktualisiert',
+ 'book_update_notification' => 'Buch erfolgreich aktualisiert',
+ 'book_delete' => 'Buch gelöscht',
+ 'book_delete_notification' => 'Buch erfolgreich gelöscht',
+ 'book_sort' => 'Buch sortiert',
+ 'book_sort_notification' => 'Buch erfolgreich neu sortiert',
+
+];
diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php
new file mode 100644
index 000000000..c58d9d974
--- /dev/null
+++ b/resources/lang/de/auth.php
@@ -0,0 +1,26 @@
+ 'Dies sind keine gültigen Anmeldedaten.',
+ 'throttle' => 'Zu viele Anmeldeversuche. Bitte versuchen sie es in :seconds Sekunden erneut.',
+
+ /**
+ * Email Confirmation Text
+ */
+ 'email_confirm_subject' => 'Bestätigen sie ihre E-Mail Adresse bei :appName',
+ 'email_confirm_greeting' => 'Danke, dass sie :appName beigetreten sind!',
+ 'email_confirm_text' => 'Bitte bestätigen sie ihre E-Mail Adresse, indem sie auf den Button klicken:',
+ 'email_confirm_action' => 'E-Mail Adresse bestätigen',
+ 'email_confirm_send_error' => 'Bestätigungs-E-Mail benötigt, aber das System konnte die E-Mail nicht versenden. Kontaktieren sie den Administrator, um sicherzustellen, dass das Sytsem korrekt eingerichtet ist.',
+ 'email_confirm_success' => 'Ihre E-Mail Adresse wurde bestätigt!',
+ 'email_confirm_resent' => 'Bestätigungs-E-Mail wurde erneut versendet, bitte überprüfen sie ihren Posteingang.',
+];
diff --git a/resources/lang/de/errors.php b/resources/lang/de/errors.php
new file mode 100644
index 000000000..697952086
--- /dev/null
+++ b/resources/lang/de/errors.php
@@ -0,0 +1,12 @@
+ 'Sie haben keine Berechtigung auf diese Seite zuzugreifen.',
+ 'permissionJson' => 'Sie haben keine Berechtigung die angeforderte Aktion auszuführen.'
+];
diff --git a/resources/lang/de/pagination.php b/resources/lang/de/pagination.php
new file mode 100644
index 000000000..a3bf7c8c8
--- /dev/null
+++ b/resources/lang/de/pagination.php
@@ -0,0 +1,19 @@
+ '« Vorherige',
+ 'next' => 'Nächste »',
+
+];
diff --git a/resources/lang/de/passwords.php b/resources/lang/de/passwords.php
new file mode 100644
index 000000000..f71358055
--- /dev/null
+++ b/resources/lang/de/passwords.php
@@ -0,0 +1,22 @@
+ 'Passörter müssen mindestens sechs Zeichen enthalten und die Wiederholung muss identisch sein.',
+ 'user' => "Wir können keinen Benutzer mit dieser E-Mail Adresse finden.",
+ 'token' => 'Dieser Passwort-Reset-Token ist ungültig.',
+ 'sent' => 'Wir haben ihnen eine E-Mail mit einem Link zum Zurücksetzen des Passworts zugesendet!',
+ 'reset' => 'Ihr Passwort wurde zurückgesetzt!',
+
+];
diff --git a/resources/lang/de/settings.php b/resources/lang/de/settings.php
new file mode 100644
index 000000000..183480faa
--- /dev/null
+++ b/resources/lang/de/settings.php
@@ -0,0 +1,39 @@
+ 'Einstellungen',
+ 'settings_save' => 'Einstellungen speichern',
+
+ 'app_settings' => 'Anwendungseinstellungen',
+ 'app_name' => 'Anwendungsname',
+ 'app_name_desc' => 'Dieser Name wird im Header und E-Mails angezeigt.',
+ 'app_name_header' => 'Anwendungsname im Header anzeigen?',
+ 'app_public_viewing' => 'Öffentliche Ansicht erlauben?',
+ 'app_secure_images' => 'Erh&oml;hte Sicherheit für Bilduploads aktivieren?',
+ 'app_secure_images_desc' => 'Aus Leistungsgründen sind alle Bilder öffentlich sichtbar. Diese Option fügt zufällige, schwer zu eratene, Zeichenketten vor die Bild-URLs hinzu. Stellen sie sicher, dass Verzeichnindexes deaktiviert sind, um einen einfachen Zugrif zu verhindern.',
+ 'app_editor' => 'Seiteneditor',
+ 'app_editor_desc' => 'Wählen sie den Editor aus, der von allen Benutzern genutzt werden soll, um Seiten zu editieren.',
+ 'app_custom_html' => 'Benutzerdefinierter HTML
Inhalt',
+ 'app_custom_html_desc' => 'Jeder Inhalt, der hier hinzugefügt wird, wird am Ende der Sektion jeder Seite eingefügt. Diese kann praktisch sein, um CSS Styles anzupassen oder Analytics Code hinzuzufügen.',
+ 'app_logo' => 'Anwendungslogo',
+ 'app_logo_desc' => 'Dieses Bild sollte 43px hoch sein.
Größere Bilder werden verkleinert.',
+ 'app_primary_color' => 'Primäre Anwendungsfarbe',
+ 'app_primary_color_desc' => 'Dies sollte ein HEX Wert sein.
Leer lassen des Feldes setzt auf die Standard-Anwendungsfarbe zurück.',
+
+ 'reg_settings' => 'Registrierungseinstellungen',
+ 'reg_allow' => 'Registrierung erlauben?',
+ 'reg_default_role' => 'Standard-Benutzerrolle nach Registrierung',
+ 'reg_confirm_email' => 'Bestätigung per E-Mail erforderlich?',
+ 'reg_confirm_email_desc' => 'Falls die Einschränkung für; Domains genutzt wird, ist die Bestätigung per E-Mail zwingend erforderlich und der untenstehende Wert wird ignoriert.',
+ 'reg_confirm_restrict_domain' => 'Registrierung auf bestimmte Domains einschränken',
+ 'reg_confirm_restrict_domain_desc' => 'Fügen sie eine, durch Komma getrennte, Liste von E-Mail Domains hinzu, auf die die Registrierung eingeschränkt werden soll. Benutzern wird eine E-Mail gesendet, um ihre E-Mail Adresse zu bestätigen, bevor sie diese Anwendung nutzen können.
Hinweis: Benutzer können ihre E-Mail Adresse nach erfolgreicher Registrierung ändern.',
+ 'reg_confirm_restrict_domain_placeholder' => 'Keine Einschränkung gesetzt',
+
+];
diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php
new file mode 100644
index 000000000..3a6a1bc15
--- /dev/null
+++ b/resources/lang/de/validation.php
@@ -0,0 +1,108 @@
+ ':attribute muss akzeptiert werden.',
+ 'active_url' => ':attribute ist keine valide URL.',
+ 'after' => ':attribute muss ein Datum nach :date sein.',
+ 'alpha' => ':attribute kann nur Buchstaben enthalten.',
+ 'alpha_dash' => ':attribute kann nur Buchstaben, Zahlen und Bindestriche enthalten.',
+ 'alpha_num' => ':attribute kann nur Buchstaben und Zahlen enthalten.',
+ 'array' => ':attribute muss eine Array sein.',
+ 'before' => ':attribute muss ein Datum vor :date sein.',
+ 'between' => [
+ 'numeric' => ':attribute muss zwischen :min und :max liegen.',
+ 'file' => ':attribute muss zwischen :min und :max Kilobytes groß sein.',
+ 'string' => ':attribute muss zwischen :min und :max Zeichen lang sein.',
+ 'array' => ':attribute muss zwischen :min und :max Elemente enthalten.',
+ ],
+ 'boolean' => ':attribute Feld muss wahr oder falsch sein.',
+ 'confirmed' => ':attribute Bestätigung stimmt nicht überein.',
+ 'date' => ':attribute ist kein valides Datum.',
+ 'date_format' => ':attribute entspricht nicht dem Format :format.',
+ 'different' => ':attribute und :other müssen unterschiedlich sein.',
+ 'digits' => ':attribute muss :digits Stellen haben.',
+ 'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.',
+ 'email' => ':attribute muss eine valide E-Mail Adresse sein.',
+ 'filled' => ':attribute Feld ist erforderlich.',
+ 'exists' => 'Markiertes :attribute ist ungültig.',
+ 'image' => ':attribute muss ein Bild sein.',
+ 'in' => 'Markiertes :attribute ist ungültig.',
+ 'integer' => ':attribute muss eine Zahl sein.',
+ 'ip' => ':attribute muss eine valide IP-Adresse sein.',
+ 'max' => [
+ 'numeric' => ':attribute darf nicht größer als :max sein.',
+ 'file' => ':attribute darf nicht größer als :max Kilobyte sein.',
+ 'string' => ':attribute darf nicht länger als :max Zeichen sein.',
+ 'array' => ':attribute darf nicht mehr als :max Elemente enthalten.',
+ ],
+ 'mimes' => ':attribute muss eine Datei vom Typ: :values sein.',
+ 'min' => [
+ 'numeric' => ':attribute muss mindestens :min. sein',
+ 'file' => ':attribute muss mindestens :min Kilobyte groß sein.',
+ 'string' => ':attribute muss mindestens :min Zeichen lang sein.',
+ 'array' => ':attribute muss mindesten :min Elemente enthalten.',
+ ],
+ 'not_in' => 'Markiertes :attribute ist ungültig.',
+ 'numeric' => ':attribute muss eine Zahl sein.',
+ 'regex' => ':attribute Format ist ungültig.',
+ 'required' => ':attribute Feld ist erforderlich.',
+ 'required_if' => ':attribute Feld ist erforderlich, wenn :other :value ist.',
+ 'required_with' => ':attribute Feld ist erforderlich, wenn :values vorhanden ist.',
+ 'required_with_all' => ':attribute Feld ist erforderlich, wenn :values vorhanden sind.',
+ 'required_without' => ':attribute Feld ist erforderlich, wenn :values nicht vorhanden ist.',
+ 'required_without_all' => ':attribute Feld ist erforderlich, wenn :values nicht vorhanden sind.',
+ 'same' => ':attribute und :other muss übereinstimmen.',
+ 'size' => [
+ 'numeric' => ':attribute muss :size sein.',
+ 'file' => ':attribute muss :size Kilobytes groß sein.',
+ 'string' => ':attribute muss :size Zeichen lang sein.',
+ 'array' => ':attribute muss :size Elemente enthalten.',
+ ],
+ 'string' => ':attribute muss eine Zeichenkette sein.',
+ 'timezone' => ':attribute muss eine valide zeitzone sein.',
+ 'unique' => ':attribute wird bereits verwendet.',
+ 'url' => ':attribute ist kein valides Format.',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Language Lines
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify custom validation messages for attributes using the
+ | convention "attribute.rule" to name lines. This makes it quick to
+ | specify a specific custom language line for a given attribute rule.
+ |
+ */
+
+ 'custom' => [
+ 'attribute-name' => [
+ 'rule-name' => 'custom-message',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Custom Validation Attributes
+ |--------------------------------------------------------------------------
+ |
+ | following language lines are used to swap attribute place-holders
+ | with something more reader friendly such as E-Mail Address instead
+ | of "email". This simply helps us make messages a little cleaner.
+ |
+ */
+
+ 'attributes' => [],
+
+];