diff --git a/README.en.md b/README.en.md
index 7f9c226..1b54375 100644
--- a/README.en.md
+++ b/README.en.md
@@ -109,7 +109,7 @@ The configurations are organized in `data/`:
### Translations
-- `/languages/`: Each language is in its ISO id (`pt-br, en or es`) and can be defined in the `LANGUAGE` environment
+- `/languages/`: Each language is in its ISO id (`pt-br, en, es or de-de`) and can be defined in the `LANGUAGE` environment
### S3 Cache
diff --git a/README.md b/README.md
index 3f9ae6d..3261e8a 100644
--- a/README.md
+++ b/README.md
@@ -109,7 +109,7 @@ As configurações estão organizadas em `data/`:
### Traduções
-- `/languages/`: Cada lingua está em seu ISO id (`pt-br, en ou es`) e pode ser definida no environment `LANGUAGE`
+- `/languages/`: Cada lingua está em seu ISO id (`pt-br, en, es ou de-de`) e pode ser definida no environment `LANGUAGE`
### Cache S3
diff --git a/app/.env.sample b/app/.env.sample
index 8b33b99..a8fb1d2 100644
--- a/app/.env.sample
+++ b/app/.env.sample
@@ -7,10 +7,11 @@ SITE_NAME=Marreta
# Descrição do site usada em meta tags e SEO
SITE_DESCRIPTION="Chapéu de paywall é marreta!"
-# Idioma do site (opções disponíveis: pt-br, en, es)
+# Idioma do site (opções disponíveis: pt-br, en, es, de-de)
# pt-br = Português do Brasil
# en = English
# es = Español
+# de-de = German
LANGUAGE=pt-br
# URL base do site (sem barra no final)
diff --git a/app/languages/de-de.php b/app/languages/de-de.php
new file mode 100644
index 0000000..715ccdb
--- /dev/null
+++ b/app/languages/de-de.php
@@ -0,0 +1,55 @@
+ 'Paywall überwunden',
+ 'url_placeholder' => 'Adresse eingegeben (z.B., https://example.com)',
+ 'analyze_button' => 'Analysiere',
+ 'direct_access' => 'Direkter Zugang:',
+ 'bookmarklet_title' => 'Zu Lesezeichen hinzufügen',
+ 'bookmarklet_description' => 'Ziehe Sie die Schaltfläche unten in Ihre Lesezeichenleiste, um schnell auf {site_name} zuzugreifen:',
+ 'open_in' => 'Öffne {site_name}',
+ 'alternative_services' => 'Alternative Services',
+ 'api_title' => 'REST API',
+ 'api_description' => '{site_name} bietet eine REST-API für die Integration mit anderen Systemen:',
+ 'endpoint' => 'Endpunkt:',
+ 'success_response' => 'Erfolgreiche Rückmeldung:',
+ 'error_response' => 'Fehlerhafte Rückmeldung:',
+ 'open_source_title' => 'Open Source Projekt',
+ 'open_source_description' => 'Das ist ein Open Source Projekt das mit ❤️ erstellt wurde!
Sie können einen Beitrag leisten, Probleme melden oder Vorschläge machen über GitHub.',
+ 'adblocker_warning' => 'Bei Konflikten zwischen {site_name} und Werbeblockern kann ein weißer Bildschirm angezeigt werden. Verwenden Sie den Inkognito-Modus oder deaktivieren Sie die Erweiterung.',
+
+ 'messages' => [
+ 'BLOCKED_DOMAIN' => [
+ 'message' => 'Diese Seite ist nicht erlaubt.',
+ 'type' => 'error'
+ ],
+ 'DNS_FAILURE' => [
+ 'message' => 'DNS für die Domain konnte nicht aufgelöst werden. Bitte überprüfe, ob die URL korrekt ist.',
+ 'type' => 'warning'
+ ],
+ 'HTTP_ERROR' => [
+ 'message' => 'Der Server hat beim Zugriff auf die Seite einen Fehler gemeldet. Bitte versuchen Sie es später noch einmal.',
+ 'type' => 'warning'
+ ],
+ 'CONNECTION_ERROR' => [
+ 'message' => 'Fehler beim Verbinden mit dem Server. Überprüfen Sie Ihre Verbindung und versuchen Sie es erneut.',
+ 'type' => 'warning'
+ ],
+ 'CONTENT_ERROR' => [
+ 'message' => 'Der Inhalt konnte nicht abgerufen werden. Versuchen Sie, Archivdienste zu verwenden.',
+ 'type' => 'warning'
+ ],
+ 'INVALID_URL' => [
+ 'message' => 'Ungültiges URL-Format',
+ 'type' => 'error'
+ ],
+ 'NOT_FOUND' => [
+ 'message' => 'Seite nicht gefunden',
+ 'type' => 'error'
+ ],
+ 'GENERIC_ERROR' => [
+ 'message' => 'Bei der Bearbeitung Ihrer Anfrage ist ein Fehler aufgetreten.',
+ 'type' => 'warning'
+ ]
+ ]
+];
\ No newline at end of file