<?php

namespace Database\Seeders;

use App\Models\Translation;
use Illuminate\Database\Seeder;

class ErrorTranslationSeeder extends Seeder
{
    public function run(): void
    {
        $translations = [
            // Deutsch
            ['key' => 'errors.back_home', 'locale' => 'de', 'value' => 'Zur Startseite'],
            ['key' => 'errors.go_back', 'locale' => 'de', 'value' => 'Zurück'],

            ['key' => 'errors.400.title', 'locale' => 'de', 'value' => 'Ungültige Anfrage'],
            ['key' => 'errors.400.message', 'locale' => 'de', 'value' => 'Die Anfrage konnte nicht verarbeitet werden. Bitte überprüfe deine Eingaben und versuche es erneut.'],

            ['key' => 'errors.401.title', 'locale' => 'de', 'value' => 'Nicht autorisiert'],
            ['key' => 'errors.401.message', 'locale' => 'de', 'value' => 'Du musst angemeldet sein, um auf diese Seite zugreifen zu können.'],

            ['key' => 'errors.403.title', 'locale' => 'de', 'value' => 'Zugriff verweigert'],
            ['key' => 'errors.403.message', 'locale' => 'de', 'value' => 'Du hast keine Berechtigung, auf diese Seite zuzugreifen.'],

            ['key' => 'errors.404.title', 'locale' => 'de', 'value' => 'Seite nicht gefunden'],
            ['key' => 'errors.404.message', 'locale' => 'de', 'value' => 'Die angeforderte Seite existiert nicht oder wurde verschoben.'],

            ['key' => 'errors.500.title', 'locale' => 'de', 'value' => 'Interner Serverfehler'],
            ['key' => 'errors.500.message', 'locale' => 'de', 'value' => 'Etwas ist schiefgelaufen. Wir arbeiten daran, das Problem zu beheben.'],

            ['key' => 'errors.501.title', 'locale' => 'de', 'value' => 'Nicht implementiert'],
            ['key' => 'errors.501.message', 'locale' => 'de', 'value' => 'Diese Funktion ist derzeit nicht verfügbar.'],

            ['key' => 'errors.502.title', 'locale' => 'de', 'value' => 'Bad Gateway'],
            ['key' => 'errors.502.message', 'locale' => 'de', 'value' => 'Der Server hat eine ungültige Antwort erhalten. Bitte versuche es in wenigen Minuten erneut.'],

            // English
            ['key' => 'errors.back_home', 'locale' => 'en', 'value' => 'Back to Home'],
            ['key' => 'errors.go_back', 'locale' => 'en', 'value' => 'Go Back'],

            ['key' => 'errors.400.title', 'locale' => 'en', 'value' => 'Bad Request'],
            ['key' => 'errors.400.message', 'locale' => 'en', 'value' => 'The request could not be processed. Please check your input and try again.'],

            ['key' => 'errors.401.title', 'locale' => 'en', 'value' => 'Unauthorized'],
            ['key' => 'errors.401.message', 'locale' => 'en', 'value' => 'You must be logged in to access this page.'],

            ['key' => 'errors.403.title', 'locale' => 'en', 'value' => 'Forbidden'],
            ['key' => 'errors.403.message', 'locale' => 'en', 'value' => 'You do not have permission to access this page.'],

            ['key' => 'errors.404.title', 'locale' => 'en', 'value' => 'Page Not Found'],
            ['key' => 'errors.404.message', 'locale' => 'en', 'value' => 'The page you are looking for does not exist or has been moved.'],

            ['key' => 'errors.500.title', 'locale' => 'en', 'value' => 'Internal Server Error'],
            ['key' => 'errors.500.message', 'locale' => 'en', 'value' => 'Something went wrong. We are working to fix the issue.'],

            ['key' => 'errors.501.title', 'locale' => 'en', 'value' => 'Not Implemented'],
            ['key' => 'errors.501.message', 'locale' => 'en', 'value' => 'This feature is currently not available.'],

            ['key' => 'errors.502.title', 'locale' => 'en', 'value' => 'Bad Gateway'],
            ['key' => 'errors.502.message', 'locale' => 'en', 'value' => 'The server received an invalid response. Please try again in a few minutes.'],
        ];

        foreach ($translations as $t) {
            Translation::updateOrCreate(
                ['key' => $t['key'], 'locale' => $t['locale']],
                ['value' => $t['value']]
            );
        }
    }
}
