diff --git a/resources/lang/de/aircraft.php b/resources/lang/de/aircraft.php
new file mode 100644
index 00000000..417f5974
--- /dev/null
+++ b/resources/lang/de/aircraft.php
@@ -0,0 +1,11 @@
+ [
+ 'active' => 'Aktiv',
+ 'stored' => 'Gelagert',
+ 'retired' => 'Außer Dienst',
+ 'scrapped' => 'Verschrottet',
+ 'written' => 'Abgeschrieben',
+ ],
+];
diff --git a/resources/lang/de/airports.php b/resources/lang/de/airports.php
new file mode 100644
index 00000000..2fb65176
--- /dev/null
+++ b/resources/lang/de/airports.php
@@ -0,0 +1,9 @@
+ 'Kennung',
+ 'home' => 'Heimatflughafen',
+ 'current' => 'Aktueller Flughafen',
+ 'departure' => 'Abflughafen',
+ 'arrival' => 'Ankunftflughafen',
+];
diff --git a/resources/lang/de/auth.php b/resources/lang/de/auth.php
new file mode 100644
index 00000000..79f7c2f6
--- /dev/null
+++ b/resources/lang/de/auth.php
@@ -0,0 +1,24 @@
+ 'Die angegebenen Anmeldedaten stimmen nicht mit unseren Daten überein.',
+ 'throttle' => 'Zu viele Anmeldeversuche. Bitte versuche es in :seconds Sekunden erneut.',
+ 'password' => 'Passwort',
+ 'createaccount' => 'Account erstellen',
+ 'forgotpassword' => 'Passwort vergessen',
+ 'fullname' => 'Username',
+ 'emailaddress' => 'E-Mail Addresse',
+ 'fillcaptcha' => 'Fülle das Captcha aus',
+ 'tocaccept' => 'Mit dem Registrieren stimmst du den Regeln der CEFO-VA zu.',
+ 'register' => 'Registrieren',
+ 'registrationpending' => 'Registrierung ausstehend',
+ 'pendingmessage' => 'Deine Registrierung ist noch nicht bestätigt. Bitte prüfe deine E-Mails!',
+ 'registrationsubmitted' => 'Registrierung erfolgreich',
+ 'registrationconfirmation' => 'Registrierungsbestätigung',
+ 'confirmationmessage' => 'Deine Bewerbung wurde eingereicht. Sie muss von einem Mitarbeiter genehmigt werden. Sobald ein Mitarbeiter deine Bewerbung geprüft hat, erhälst du eine Bestätigungs E-Mail.',
+ 'registrationdenied' => 'Registrierung abgelehnt',
+ 'deniedmessage' => 'Deine Registrierung wurde abgelehnt. Bitte kontaktiere einen Administrator.',
+ 'accountsuspended' => 'Account gesperrt',
+ 'suspendedmessage' => 'Dein Konto wurde gesperrt. Bitte kontaktiere einen Administrator.',
+ 'transferhours' => 'Transferstunden',
+];
diff --git a/resources/lang/de/common.php b/resources/lang/de/common.php
new file mode 100644
index 00000000..a417450e
--- /dev/null
+++ b/resources/lang/de/common.php
@@ -0,0 +1,62 @@
+ 'Dashboard',
+ 'administration' => 'Adminübersicht',
+ 'flight' => 'Flug|Flüge',
+ 'livemap' => 'Live Karte',
+ 'pilot' => 'Pilot|Piloten',
+ 'pirep' => 'PIREP|PIREPs',
+ 'newestpilots' => 'Neuste Piloten',
+ 'profile' => 'Profil',
+ 'email' => 'E-Mail',
+ 'pilot_id' => 'Pilotenkennung',
+ 'register' => 'Registieren',
+ 'login' => 'Einloggen',
+ 'logout' => 'Ausloggen',
+ 'timezone' => 'Timezone',
+ 'country' => 'Land',
+ 'download' => 'Download|Downloads',
+ 'from' => 'von',
+ 'to' => 'an',
+ 'state' => 'Standort',
+ 'status' => 'Status',
+ 'departure' => 'Abflug',
+ 'arrival' => 'Ankunft',
+ 'aircraft' => 'Flugzeug',
+ 'airline' => 'Airline',
+ 'subfleet' => 'Teilflotte',
+ 'distance' => 'Distanz',
+ 'fuel' => 'Tank',
+ 'metar' => 'METAR',
+ 'hour' => 'Stunde|Stunden',
+ 'minute' => 'Minute|Minuten',
+ 'note' => 'Notiz|Notizen',
+ 'field' => 'Feld|Felder',
+ 'name' => 'Name',
+ 'value' => 'Wert|Werte',
+ 'remark' => 'Bemerkung|Bemerkungen',
+ 'find' => 'Finden',
+ 'reset' => 'Zurücksetzen',
+ 'submit' => 'Abschicken',
+ 'edit' => 'Bearbeiten',
+ 'close' => 'Schließen',
+ 'whoops' => 'Whoops',
+ 'hello' => 'Hallo',
+ 'regards' => 'Grüße',
+ 'rightsreserved' => 'Alle Rechte vorbehalten',
+ 'active' => 'Aktiv',
+ 'inactive' => 'Inaktiv',
+ 'yes' => 'Ja',
+ 'no' => 'Nein',
+ 'or' => 'oder',
+ 'days' => [
+ 'mon' => 'Montag',
+ 'tues' => 'Dienstag',
+ 'wed' => 'Mittwoch',
+ 'thurs' => 'Donnerstag',
+ 'fri' => 'Freitag',
+ 'sat' => 'Samstag',
+ 'sun' => 'Sonntag',
+ ],
+];
diff --git a/resources/lang/de/dashboard.php b/resources/lang/de/dashboard.php
new file mode 100644
index 00000000..5fe8a828
--- /dev/null
+++ b/resources/lang/de/dashboard.php
@@ -0,0 +1,11 @@
+ 'Gesamte Flugstunden',
+ 'yourbalance' => 'Dein Konto',
+ 'yourlastreport' => 'Dein letzter Bericht',
+ 'noreportsyet' => 'Noch keine Berichte.',
+ 'fileonenow' => 'Bericht ablegen',
+ 'weatherat' => 'Wetter in :ICAO',
+ 'recentreports' => 'Aktuelle Berichte',
+];
diff --git a/resources/lang/de/downloads.php b/resources/lang/de/downloads.php
new file mode 100644
index 00000000..f0de5167
--- /dev/null
+++ b/resources/lang/de/downloads.php
@@ -0,0 +1,5 @@
+ 'Es sind keine Downloads vorhanden!',
+];
diff --git a/resources/lang/de/email.php b/resources/lang/de/email.php
new file mode 100644
index 00000000..0d83351e
--- /dev/null
+++ b/resources/lang/de/email.php
@@ -0,0 +1,6 @@
+ 'Wenn Sie Probleme beim Klicken auf die Schaltfläche ":actiontext" haben, '.
+ ' Kopieren Sie die unten stehende URL und fügen Sie sie in Ihren Webbrowser ein:',
+];
diff --git a/resources/lang/de/errors.php b/resources/lang/de/errors.php
new file mode 100644
index 00000000..068421ae
--- /dev/null
+++ b/resources/lang/de/errors.php
@@ -0,0 +1,18 @@
+ [
+ 'title' => 'Unberechtigter Zugriff',
+ 'message' => 'Nun, das ist peinlich, Sie sind nicht berechtigt, auf diese Funktion zuzugreifen oder sie auszuführen. '.
+ ' Klicken Sie hier, um zurück zur Startseite zu gelangen.',
+ ],
+ 404 => [
+ 'title' => 'Seite nicht gefunden',
+ 'message' => 'Nun, das ist peinlich, die von Ihnen angeforderte Seite existiert nicht.'.
+ ' Klicken Sie hier, um zurück zur Startseite zu gelangen.',
+ ],
+ 503 => [
+ 'title' => 'Interner Fehler',
+ 'message' => 'Ein Fehler ist aufgetreten',
+ ],
+];
diff --git a/resources/lang/de/expenses.php b/resources/lang/de/expenses.php
new file mode 100644
index 00000000..990f1556
--- /dev/null
+++ b/resources/lang/de/expenses.php
@@ -0,0 +1,9 @@
+ [
+ 'flight' => 'Flüge',
+ 'daily' => 'Täglich',
+ 'monthly' => 'Monatlich',
+ ],
+];
diff --git a/resources/lang/de/flights.php b/resources/lang/de/flights.php
new file mode 100644
index 00000000..3c903ee7
--- /dev/null
+++ b/resources/lang/de/flights.php
@@ -0,0 +1,42 @@
+ 'Flugnummer',
+ 'flighttime' => 'Flugzeit',
+ 'flighttype' => 'Flugtyp',
+ 'flighthours' => 'Flugstunden',
+ 'code' => 'Code',
+ 'callsign' => 'Rufzeichen',
+ 'route' => 'Route',
+ 'mybid' => 'Meine Gebote',
+ 'search' => 'Suchen',
+ 'addremovebid' => 'Gebot hinzufügen/entfernen',
+ 'bidremoved' => 'Dein Gebot wurde entfernt.',
+ 'bidadded' => 'Dein Gebot wurde hinzugefügt.',
+ 'dep' => 'Abflug',
+ 'arr' => 'Ankunft',
+ 'level' => 'Level',
+ 'alternateairport' => 'Alternativer Flughafen',
+ 'inbound' => 'Ankommende Flüge',
+ 'outbound' => 'Ausgehende Flüge',
+ 'none' => 'Kein Flug gefunden.',
+ 'departuretime' => 'Abflugzeit',
+ 'arrivaltime' => 'Ankunftszeit',
+ 'type' => [
+ 'pass_scheduled' => 'Passagier - planmäßig',
+ 'cargo_scheduled' => 'Fracht - planmäßig',
+ 'charter_pass_only' => 'Charter - Nur Passagier',
+ 'addtl_cargo_mail' => 'Zusätzliche Fracht/Post',
+ 'special_vip' => 'Spezieller VIP-Flug (FAA/Behörde)',
+ 'pass_addtl' => 'Passagier - Zusätzlich',
+ 'charter_cargo' => 'Charter - Fracht/Post',
+ 'ambulance' => 'Ambulanzflug',
+ 'training_flight' => 'Trainingsflug',
+ 'mail_service' => 'Postdienst',
+ 'charter_special' => 'Charter mit Sonderbehandlung',
+ 'positioning' => 'Positionierung (Fähre/Lieferung/Demo)',
+ 'technical_test' => 'Technischer Test',
+ 'military' => 'Militär',
+ 'technical_stop' => 'Technischer Stopp',
+ ],
+];
diff --git a/resources/lang/de/home.php b/resources/lang/de/home.php
new file mode 100644
index 00000000..0386a06d
--- /dev/null
+++ b/resources/lang/de/home.php
@@ -0,0 +1,8 @@
+ [
+ 'title' => 'Willkommen!',
+ 'message' => 'Willkommen bei :appname',
+ ],
+];
diff --git a/resources/lang/de/installer.php b/resources/lang/de/installer.php
new file mode 100644
index 00000000..91f240c0
--- /dev/null
+++ b/resources/lang/de/installer.php
@@ -0,0 +1,245 @@
+ 'phpVMS Installer',
+ 'next' => 'Nächster Schritt',
+ 'back' => 'Letzter Schritt',
+ 'finish' => 'Installieren',
+ 'forms' => [
+ 'errorTitle' => 'Folgender Fehler ist aufgetreten:',
+ ],
+
+ /*
+ *
+ * Home page translations.
+ *
+ */
+ 'welcome' => [
+ 'templateTitle' => 'Willkommen',
+ 'title' => 'phpVMS Installer',
+ 'message' => 'Installationsassistent.',
+ 'next' => 'Vorraussetzungen prüfen',
+ ],
+
+ /*
+ *
+ * Requirements page translations.
+ *
+ */
+ 'requirements' => [
+ 'templateTitle' => 'Schritt 1 | Server Vorraussetzungen',
+ 'title' => 'Server Vorraussetzungen',
+ 'next' => 'Berechtigungen prüfen',
+ ],
+
+ /*
+ *
+ * Permissions page translations.
+ *
+ */
+ 'permissions' => [
+ 'templateTitle' => 'Schritt 2 | Berechtigungen',
+ 'title' => 'Berechtigungen',
+ 'next' => 'Umgebungsvariablen konfigurieren',
+ ],
+
+ /*
+ *
+ * Environment page translations.
+ *
+ */
+ 'environment' => [
+ 'menu' => [
+ 'templateTitle' => 'Step 3 | Umgebungsvariablen',
+ 'title' => 'Umgebungsvariablen',
+ 'desc' => 'Bitte wähle aus wie Du die .env-Datei konfigurieren möchtest.',
+ 'wizard-button' => 'Einrichtung mit Formularassistent',
+ 'classic-button' => 'Einrichtung mit Texteditor',
+ ],
+ 'wizard' => [
+ 'templateTitle' => 'Step 3 | Umgebungsvariablen | Formularassistent',
+ 'title' => '.env Assistent',
+ 'tabs' => [
+ 'environment' => 'Environment',
+ 'database' => 'Database',
+ 'application' => 'Application',
+ ],
+ 'form' => [
+ 'name_required' => 'Ein Umgebungsname ist erforderlich.',
+ 'app_name_label' => 'App Name',
+ 'app_name_placeholder' => 'App Name',
+ 'app_environment_label' => 'App Environment',
+ 'app_environment_label_local' => 'Lokal',
+ 'app_environment_label_developement' => 'Entwicklung',
+ 'app_environment_label_qa' => 'Qa',
+ 'app_environment_label_production' => 'Produktion',
+ 'app_environment_label_other' => 'Other',
+ 'app_environment_placeholder_other' => 'Geben Sie Ihre Umgebung ein...',
+ 'app_debug_label' => 'App Debug',
+ 'app_debug_label_true' => 'True',
+ 'app_debug_label_false' => 'False',
+ 'app_log_level_label' => 'App Log Level',
+ 'app_log_level_label_debug' => 'debug',
+ 'app_log_level_label_info' => 'info',
+ 'app_log_level_label_notice' => 'notice',
+ 'app_log_level_label_warning' => 'warning',
+ 'app_log_level_label_error' => 'error',
+ 'app_log_level_label_critical' => 'critical',
+ 'app_log_level_label_alert' => 'alert',
+ 'app_log_level_label_emergency' => 'emergency',
+ 'app_url_label' => 'App URL',
+ 'app_url_placeholder' => 'App URL',
+ 'db_connection_label' => 'Datenbankverbindung',
+ 'db_connection_label_mysql' => 'mysql',
+ 'db_connection_label_sqlite' => 'sqlite',
+ 'db_connection_label_pgsql' => 'pgsql',
+ 'db_connection_label_sqlsrv' => 'sqlsrv',
+ 'db_host_label' => 'Database Host',
+ 'db_host_placeholder' => 'Database Host',
+ 'db_port_label' => 'Database Port',
+ 'db_port_placeholder' => 'Database Port',
+ 'db_name_label' => 'Database Name',
+ 'db_name_placeholder' => 'Database Name',
+ 'db_username_label' => 'Database User Name',
+ 'db_username_placeholder' => 'Database User Name',
+ 'db_password_label' => 'Database Passwort',
+ 'db_password_placeholder' => 'Database Passwort',
+
+ 'app_tabs' => [
+ 'more_info' => 'More Info',
+ 'broadcasting_title' => 'Broadcasting, Caching, Session, & Queue',
+ 'broadcasting_label' => 'Broadcast Driver',
+ 'broadcasting_placeholder' => 'Broadcast Driver',
+ 'cache_label' => 'Cache Driver',
+ 'cache_placeholder' => 'Cache Driver',
+ 'session_label' => 'Session Driver',
+ 'session_placeholder' => 'Session Driver',
+ 'queue_label' => 'Queue Driver',
+ 'queue_placeholder' => 'Queue Driver',
+ 'redis_label' => 'Redis Driver',
+ 'redis_host' => 'Redis Host',
+ 'redis_password' => 'Redis Passwort',
+ 'redis_port' => 'Redis Port',
+
+ 'mail_label' => 'Mail',
+ 'mail_driver_label' => 'Mail Driver',
+ 'mail_driver_placeholder' => 'Mail Driver',
+ 'mail_host_label' => 'Mail Host',
+ 'mail_host_placeholder' => 'Mail Host',
+ 'mail_port_label' => 'Mail Port',
+ 'mail_port_placeholder' => 'Mail Port',
+ 'mail_username_label' => 'Mail Username',
+ 'mail_username_placeholder' => 'Mail Username',
+ 'mail_password_label' => 'Mail Passwort',
+ 'mail_password_placeholder' => 'Mail Passwort',
+ 'mail_encryption_label' => 'Mail Encryption',
+ 'mail_encryption_placeholder' => 'Mail Encryption',
+
+ 'pusher_label' => 'Pusher',
+ 'pusher_app_id_label' => 'Pusher App Id',
+ 'pusher_app_id_palceholder' => 'Pusher App Id',
+ 'pusher_app_key_label' => 'Pusher App Key',
+ 'pusher_app_key_palceholder' => 'Pusher App Key',
+ 'pusher_app_secret_label' => 'Pusher App Secret',
+ 'pusher_app_secret_palceholder' => 'Pusher App Secret',
+ ],
+ 'buttons' => [
+ 'setup_database' => 'Datenbank installieren',
+ 'setup_application' => 'Anwendung installieren',
+ 'install' => 'Installieren',
+ ],
+ ],
+ ],
+ 'classic' => [
+ 'templateTitle' => 'Step 3 | Umgebungsvariablen | Text Editor',
+ 'title' => 'Umgebungsvariableneditor',
+ 'save' => '.env speichern',
+ 'back' => 'Formularassistent benutzen',
+ 'install' => 'Speichern und Installieren',
+ ],
+ 'success' => 'Die .env Datei und die Einstellungen wurden gespeichert.',
+ 'errors' => 'Konnte die .env Datei nicht erstellen, bitte erstelle sie Manuell.',
+ ],
+
+ 'install' => 'Installieren',
+
+ /*
+ *
+ * Installed Log translations.
+ *
+ */
+ 'installed' => [
+ 'success_log_message' => 'Laravel Installer wurde erfolgreich installiert am ',
+ ],
+
+ /*
+ *
+ * Final page translations.
+ *
+ */
+ 'final' => [
+ 'title' => 'Installation abgeschlossen',
+ 'templateTitle' => 'Installation abgeschlossen',
+ 'finished' => 'Anwendung wurde erfolgreich installiert.',
+ 'migration' => 'Migration & Seed Konsolenausgabe:',
+ 'console' => 'Anwendungskonsole Ausgabe:',
+ 'log' => 'Installationsprotokolleintrag:',
+ 'env' => 'Finale .env Datei:',
+ 'exit' => 'Klicke hier zum Verlassen',
+ ],
+
+ /*
+ *
+ * Update specific translations
+ *
+ */
+ 'updater' => [
+ /*
+ *
+ * Shared translations.
+ *
+ */
+ 'title' => 'Laravel Updater',
+
+ /*
+ *
+ * Welcome page translations for update feature.
+ *
+ */
+ 'welcome' => [
+ 'title' => 'Willkommen im Updateassistent',
+ 'message' => 'Willkommen im Updateassistent',
+ ],
+
+ /*
+ *
+ * Welcome page translations for update feature.
+ *
+ */
+ 'overview' => [
+ 'title' => 'Übersicht',
+ 'message' => 'Es ist ein Update vorhanden|Es sind :number Updates vorhanden.',
+ 'install_updates' => 'Updates installieren',
+ ],
+
+ /*
+ *
+ * Final page translations.
+ *
+ */
+ 'final' => [
+ 'title' => 'Abgeschlossen',
+ 'finished' => 'Anwendungsdatenbank wurde erfolgreich geupdatet.',
+ 'exit' => 'Klicke hier zum verlassen',
+ ],
+
+ 'log' => [
+ 'success_message' => 'Laravel Installer erfolgreicht UPDATED um ',
+ ],
+ ],
+];
diff --git a/resources/lang/de/pagination.php b/resources/lang/de/pagination.php
new file mode 100644
index 00000000..84ebe892
--- /dev/null
+++ b/resources/lang/de/pagination.php
@@ -0,0 +1,18 @@
+ '« Letzte',
+ 'next' => 'Nächste »',
+
+];
diff --git a/resources/lang/de/passwords.php b/resources/lang/de/passwords.php
new file mode 100644
index 00000000..b518c5ad
--- /dev/null
+++ b/resources/lang/de/passwords.php
@@ -0,0 +1,21 @@
+ 'Passwörter müssen mindestens sechs Zeichen lang sein und mit der Bestätigung übereinstimmen.',
+ 'reset' => 'Dein Passwort wurde zurückgesetzt!',
+ 'sent' => 'Wir haben dir den Link zum Zurücksetzen des Passworts per E-Mail zugeschickt!',
+ 'token' => 'Dieser Token zum Zurücksetzen des Passworts ist ungültig.',
+ 'user' => 'Wir können keinen Benutzer mit dieser E-Mail-Adresse finden.',
+ 'confirm' => 'Passwort bestätigen',
+];
diff --git a/resources/lang/de/pireps.php b/resources/lang/de/pireps.php
new file mode 100644
index 00000000..618787ae
--- /dev/null
+++ b/resources/lang/de/pireps.php
@@ -0,0 +1,70 @@
+ 'Neuer Flugbericht',
+ 'editflightreport' => 'Flugbericht bearbeiten',
+ 'savepirep' => 'PIREP speichern',
+ 'submitpirep' => 'PIREP abschicken',
+ 'fileflightreport' => 'Neuen Bericht speichern',
+ 'filenewpirep' => 'Neuen PIREP speichern',
+ 'newpirep' => 'Neuer PIREP',
+ 'pilotreport' => 'Pilotbericht|Pilotberichte',
+ 'arrived' => 'Angekommen',
+ 'source' => 'Quelle',
+ 'flightlog' => 'Fluglogbuch',
+ 'filedroute' => 'Eingereichte Route',
+ 'filedon' => 'Eingereicht am',
+ 'fare' => 'Flugpreis|Flugpreise',
+ 'class' => 'Klasse',
+ 'count' => 'Anzahl',
+ 'flighttime' => 'Flugzeit',
+ 'flightlevel' => 'Flughöhe',
+ 'fieldsreadonly' => 'Sobald ein PIREP abgeschickt wurde, gehen bestimmte Felder in den Nur-Lese-Modus.',
+ 'flightinformations' => 'Fluginformationen',
+ 'flightident' => 'Flugnummer/Code/Strecke',
+ 'block_fuel' => 'Kraftstoff block',
+ 'fuel_used' => 'Verwendeter Kraftstoff',
+ 'codeoptional' => 'Code (optional)',
+ 'legoptional' => 'Strecke (optional)',
+ 'deparrinformations' => 'Informationen zur Abreise/Ankunft',
+ 'aircraftinformations' => 'Flugzeug Informationen',
+ 'dateflown' => 'Flugdatum',
+ 'deletepirep' => 'PIREP Löschen',
+ 'submitted' => 'Eingereicht',
+ 'source_types' => [
+ 'manual' => 'Manuell',
+ 'acars' => 'ACARS',
+ ],
+ 'state' => [
+ 'accepted' => 'Angenommen',
+ 'pending' => 'Genehmigung ausstehend',
+ 'rejected' => 'Abgelehnt',
+ 'in_progress' => 'In Bearbeitung',
+ 'cancelled' => 'Abgebrochen',
+ 'deleted' => 'Gelöscht',
+ 'draft' => 'Entwurf',
+ ],
+ 'status' => [
+ 'initialized' => 'Erstellt',
+ 'scheduled' => 'Geplant',
+ 'boarding' => 'Boarding',
+ 'ready_start' => 'Bereit zum Start',
+ 'push_tow' => 'Pushback/Schleppen',
+ 'departed' => 'Abgeflogen',
+ 'ready_deice' => 'Bereit zum Enteisen',
+ 'deicing' => 'Enteisung in Arbeit',
+ 'ground_ret' => 'Rückkehr auf Boden',
+ 'taxi' => 'Taxi',
+ 'takeoff' => 'Abheben',
+ 'initial_clb' => 'Im Steigflug',
+ 'enroute' => 'Unterwegs',
+ 'diverted' => 'Umgeleitet',
+ 'approach' => 'Anflug',
+ 'final_appr' => 'Endanflug',
+ 'landing' => 'Landung',
+ 'landed' => 'Gelandet',
+ 'arrived' => 'Angekommen',
+ 'cancelled' => 'Abgebrochen',
+ 'emerg_decent' => 'Notfall dezent',
+ ],
+];
diff --git a/resources/lang/de/profile.php b/resources/lang/de/profile.php
new file mode 100644
index 00000000..ad1e4a3e
--- /dev/null
+++ b/resources/lang/de/profile.php
@@ -0,0 +1,21 @@
+ 'Dieser Avatar wird auf die Größe :Breite x :Höhe Pixel gebracht',
+
+ 'newapikey' => 'Neuer API Key',
+ 'your-profile' => 'Dein Profil',
+ 'your-awards' => 'Deine Auszeichnungen',
+ 'apikey' => 'API Keys',
+ 'apikey-show' => 'Zeige key',
+ 'dontshare' => 'Behalte den für Dich!',
+ 'changepassword' => 'Passwort ändern',
+ 'newpassword' => 'Neues Passwort',
+ 'avatar' => 'Avatar',
+ 'updateprofile' => 'Profil aktualisieren',
+ 'editprofile' => 'Profil bearbeiten',
+ 'edityourprofile' => 'Dein Profil bearbeiten',
+ 'transferhours' => 'Übertragene Stunden',
+ 'opt-in' => 'Opt-In',
+ 'opt-in-descrip' => 'Ja, schließe mich bei nicht-administrativen E-Mails ein',
+];
diff --git a/resources/lang/de/toc.php b/resources/lang/de/toc.php
new file mode 100644
index 00000000..4df87330
--- /dev/null
+++ b/resources/lang/de/toc.php
@@ -0,0 +1,5 @@
+ 'Regeln',
+];
diff --git a/resources/lang/de/user.php b/resources/lang/de/user.php
new file mode 100644
index 00000000..2fb5e848
--- /dev/null
+++ b/resources/lang/de/user.php
@@ -0,0 +1,13 @@
+ 'Standort',
+ 'state' => [
+ 'pending' => 'Ausstehend',
+ 'active' => 'Aktiv',
+ 'rejected' => 'Abgelehnt',
+ 'on_leave' => 'Im Urlaub',
+ 'suspended' => 'Suspendiert',
+ 'deleted' => 'Gelöscht',
+ ],
+];
diff --git a/resources/lang/de/validation.php b/resources/lang/de/validation.php
new file mode 100644
index 00000000..587cfe7e
--- /dev/null
+++ b/resources/lang/de/validation.php
@@ -0,0 +1,119 @@
+ 'The :attribute must be accepted.',
+ 'active_url' => 'The :attribute is not a valid URL.',
+ 'after' => 'The :attribute must be a date after :date.',
+ 'alpha' => 'The :attribute may only contain letters.',
+ 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
+ 'alpha_num' => 'The :attribute may only contain letters and numbers.',
+ 'array' => 'The :attribute must be an array.',
+ 'before' => 'The :attribute must be a date before :date.',
+ 'between' => [
+ 'numeric' => 'The :attribute must be between :min and :max.',
+ 'file' => 'The :attribute must be between :min and :max kilobytes.',
+ 'string' => 'The :attribute must be between :min and :max characters.',
+ 'array' => 'The :attribute must have between :min and :max items.',
+ ],
+ 'boolean' => 'The :attribute field must be true or false.',
+ 'confirmed' => 'The :attribute confirmation does not match.',
+ 'date' => 'The :attribute is not a valid date.',
+ 'date_format' => 'The :attribute does not match the format :format.',
+ 'different' => 'The :attribute and :other must be different.',
+ 'digits' => 'The :attribute must be :digits digits.',
+ 'digits_between' => 'The :attribute must be between :min and :max digits.',
+ 'dimensions' => 'The :attribute has invalid image dimensions.',
+ 'distinct' => 'The :attribute field has a duplicate value.',
+ 'email' => 'The :attribute must be a valid email address.',
+ 'exists' => 'The selected :attribute is invalid.',
+ 'file' => 'The :attribute must be a file.',
+ 'filled' => 'The ":attribute" is required.',
+ 'image' => 'The :attribute must be an image.',
+ 'in' => 'The selected :attribute is invalid.',
+ 'in_array' => 'The :attribute field does not exist in :other.',
+ 'integer' => 'The :attribute must be an integer.',
+ 'ip' => 'The :attribute must be a valid IP address.',
+ 'json' => 'The :attribute must be a valid JSON string.',
+ 'max' => [
+ 'numeric' => 'The :attribute may not be greater than :max.',
+ 'file' => 'The :attribute may not be greater than :max kilobytes.',
+ 'string' => 'The :attribute may not be greater than :max characters.',
+ 'array' => 'The :attribute may not have more than :max items.',
+ ],
+ 'mimes' => 'The :attribute must be a file of type: :values.',
+ 'min' => [
+ 'numeric' => 'The :attribute must be at least :min.',
+ 'file' => 'The :attribute must be at least :min kilobytes.',
+ 'string' => 'The :attribute must be at least :min characters.',
+ 'array' => 'The :attribute must have at least :min items.',
+ ],
+ 'not_in' => 'The selected :attribute is invalid.',
+ 'numeric' => 'The :attribute must be a number.',
+ 'present' => 'The :attribute field must be present.',
+ 'regex' => 'The :attribute format is invalid.',
+ 'required' => 'The ":attribute" field is required.',
+ 'required_if' => 'The :attribute field is required when :other is :value.',
+ 'required_unless' => 'The :attribute field is required unless :other is in :values.',
+ 'required_with' => 'The :attribute field is required when :values is present.',
+ 'required_with_all' => 'The :attribute field is required when :values is present.',
+ 'required_without' => 'The :attribute field is required when :values is not present.',
+ 'required_without_all' => 'The :attribute field is required when none of :values are present.',
+ 'same' => 'The :attribute and :other must match.',
+ 'size' => [
+ 'numeric' => 'The :attribute must be :size.',
+ 'file' => 'The :attribute must be :size kilobytes.',
+ 'string' => 'The :attribute must be :size characters.',
+ 'array' => 'The :attribute must contain :size items.',
+ ],
+ 'string' => 'The :attribute must be a string.',
+ 'timezone' => 'The :attribute must be a valid zone.',
+ 'unique' => 'The :attribute has already been taken.',
+ 'url' => 'The :attribute format is invalid.',
+
+ /*
+ * Custom Validation Language Lines
+ */
+
+ 'custom' => [
+ 'airline_id' => [
+ 'required' => 'Eine Fluggesellschaft ist erforderlich',
+ 'exists' => 'Die Fluggesellschaft gibt es nicht',
+ ],
+ 'aircraft_id' => [
+ 'required' => 'Ein Flugzeug ist erforderlich',
+ 'exists' => 'Das Flugzeug gibt es nicht',
+ ],
+ 'arr_airport_id' => [
+ 'required' => 'Ein Ankunftsflughafen ist erforderlich',
+ ],
+ 'dpt_airport_id' => [
+ 'required' => 'Ein Abflughafen ist erforderlich',
+ ],
+ 'flight_time' => [
+ 'required' => 'Flugzeit, in Minuten, ist erforderlich',
+ 'integer' => 'Flugzeit, in Minuten, ist erforderlich',
+ ],
+ 'planned_flight_time' => [
+ 'required' => 'Flugzeit, in Minuten, ist erforderlich',
+ 'integer' => 'Flugzeit, in Minuten, ist erforderlich',
+ ],
+ 'source_name' => [
+ 'required' => 'PIREP Quelle ist erforderlich',
+ ],
+ 'g-recaptcha-response' => [
+ 'required' => 'Bitte verifiziere, dass du kein Roboter sind.',
+ 'captcha' => 'Captcha-Fehler! Versuche es später noch einmal oder wende dich an den Seiten-Administrator.',
+ ],
+ ],
+
+ /*
+ * Custom Validation Attributes
+ */
+
+ 'attributes' => [],
+
+];
diff --git a/resources/lang/de/widgets.php b/resources/lang/de/widgets.php
new file mode 100644
index 00000000..12fa3b86
--- /dev/null
+++ b/resources/lang/de/widgets.php
@@ -0,0 +1,33 @@
+ [
+ 'news' => 'News',
+ 'nonewsfound' => 'Keine News gefunden',
+ ],
+
+ 'livemap' => [
+ 'groundspeed' => 'Bodengeschwindigkeit',
+ 'altitude' => 'Flughöhe',
+ 'heading' => 'Kurs',
+ 'distance' => 'Entfernung',
+ 'noflights' => 'Es finden keine Flüge statt.',
+ 'gs' => 'GS',
+ ],
+
+ 'weather' => [
+ 'nometar' => 'METAR/TAF Daten konnten nicht abgerufen werden',
+ 'conditions' => 'Bedingungen',
+ 'visibility' => 'Sichtbarkeit',
+ 'humidity' => 'Feuchtigkeit',
+ 'dewpoint' => 'Taupunkt',
+ 'barometer' => 'Barometer',
+ 'clouds' => 'Wolken',
+ 'wind' => 'Wind',
+ 'remarks' => 'Bemerkungen',
+ 'guststo' => 'Windböen bis',
+ 'updated' => 'Aktualisiert',
+ 'hrago' => 'Stunde zuvor|Stunden zuvor',
+ 'minago' => 'Minute zuvor|Minuten zuvor',
+ ],
+];