<?php
/**
 * Plugin Name: Coco Beauty Bar I18n
 * Description: Multilingual support (EN, AR, FR) for Coco Beauty Bar.
 */

class CocoI18n {
    private static $instance = null;
    private $lang = 'en';
    private $translations = [
        'en' => [
            'site_title' => 'Coco Beauty Bar',
            'book_now' => 'Book Now',
            'chat_with_us' => 'Chat with Us',
            'home' => 'Home',
            'about' => 'About',
            'services' => 'Services',
            'gallery' => 'Gallery',
            'contact' => 'Contact',
            'hero_title' => 'Where Beauty Meets Elegance',
            'hero_subtitle' => 'Premium hair styling, beauty treatments and care in Casablanca.',
            'ai_assistant' => 'Coco AI Assistant',
            'ai_greeting' => "Hello! I'm Coco, your beauty assistant. How can I help you today?",
            'chat_placeholder' => 'Type a message...',
            'send' => 'Send',
            'close' => 'Close',
            'about_title' => 'About Coco Beauty Bar',
            'about_text' => 'At Coco Beauty Bar, we believe that every woman deserves to feel confident and beautiful. Our team of professional beauty experts uses only high-quality products in a relaxing environment designed to provide you with the ultimate care experience.',
            'services_title' => 'Our Services',
            'service_hair' => 'Hair Styling & Cuts',
            'service_hair_desc' => 'Modern styles and precision cuts tailored to your unique personality.',
            'service_nails' => 'Manicure & Pedicure',
            'service_nails_desc' => 'Pamper your hands and feet with our premium nail care services.',
            'service_facial' => 'Facial Treatments',
            'service_facial_desc' => 'Revitalize your skin with our specialized high-end facial care.',
            'faq_title' => 'Frequently Asked Questions',
            'faq_1_q' => 'Do I need to book in advance?',
            'faq_1_a' => 'Yes, we recommend booking at least 24 hours in advance to ensure availability, especially on weekends.',
            'faq_2_q' => 'What products do you use?',
            'faq_2_a' => 'We use premium, organic-certified products that are gentle on your skin and hair.',
            'faq_3_q' => 'Where are you located?',
            'faq_3_a' => 'We are located in the heart of Casablanca, near the Twin Center.',
            'form_name' => 'Full Name',
            'form_email' => 'Email Address',
            'form_phone' => 'Phone Number',
            'form_service' => 'Service Interested In',
            'form_message' => 'Message',
            'form_submit' => 'Send Booking Request',
            'form_success' => 'Thank you! Your booking request has been sent.',
            'form_error' => 'Sorry, there was an error sending your message.',
            'contact_title' => 'Book Your Beauty Session',
            'contact_subtitle' => 'Fill out the form below and we will confirm your appointment shortly.',
            'visit_us' => 'Visit Us',
            'call_us' => 'Call Us',
            'address' => '123 Luxury Lane, Casablanca, Morocco',
        ],
        'fr' => [
            'site_title' => "Coco Beauty Bar",
            'book_now' => "Réserver",
            'chat_with_us' => "Discutez avec nous",
            'home' => "Accueil",
            'about' => "À Propos",
            'services' => "Services",
            'gallery' => "Galerie",
            'contact' => "Contact",
            'hero_title' => "Où la Beauté Rencontre l'Élégance",
            'hero_subtitle' => "Coiffure premium, soins de beauté et soins à Casablanca.",
            'ai_assistant' => "Assistant IA Coco",
            'ai_greeting' => "Bonjour ! Je suis Coco, votre assistante beauté. Comment puis-je vous aider aujourd'hui ?",
            'chat_placeholder' => "Tapez un message...",
            'send' => "Envoyer",
            'close' => "Fermer",
            'about_title' => "À Propos de Coco Beauty Bar",
            'about_text' => "Chez Coco Beauty Bar, nous croyons que chaque femme mérite de se sentir confiante et belle. Notre équipe d'experts en beauté utilise uniquement des produits de haute qualité dans un environnement relaxant conçu pour vous offrir l'expérience de soin ultime.",
            'services_title' => "Nos Services",
            'service_hair' => "Coiffure & Coupes",
            'service_hair_desc' => "Styles modernes et coupes de précision adaptées à votre personnalité unique.",
            'service_nails' => "Manucure & Pédicure",
            'service_nails_desc' => "Prenez soin de vos mains et de vos pieds avec nos services de soins des ongles haut de gamme.",
            'service_facial' => "Soins du Visage",
            'service_facial_desc' => "Revitalisez votre peau avec nos soins du visage spécialisés haut de gamme.",
            'faq_title' => "Foire Aux Questions",
            'faq_1_q' => "Dois-je réserver à l'avance ?",
            'faq_1_a' => "Oui, nous recommandons de réserver au moins 24 heures à l'avance pour garantir la disponibilité, surtout le week-end.",
            'faq_2_q' => "Quels produits utilisez-vous ?",
            'faq_2_a' => "Nous utilisons des produits de qualité supérieure, certifiés biologiques, doux pour votre peau et vos cheveux.",
            'faq_3_q' => "Où êtes-vous situés ?",
            'faq_3_a' => "Nous sommes situés au cœur de Casablanca, près du Twin Center.",
            'form_name' => "Nom Complet",
            'form_email' => "Adresse Email",
            'form_phone' => "Numéro de Téléphone",
            'form_service' => "Service Intéressé",
            'form_message' => "Message",
            'form_submit' => "Envoyer la Demande de Réservation",
            'form_success' => "Merci ! Votre demande de réservation a été envoyée.",
            'form_error' => "Désolé, une erreur s'est produite lors de l'envoi de votre message.",
            'contact_title' => "Réservez votre séance de beauté",
            'contact_subtitle' => "Remplissez le formulaire ci-dessous et nous confirmerons votre rendez-vous sous peu.",
            'visit_us' => "Rendez-nous visite",
            'call_us' => "Appelez-nous",
            'address' => "123 Luxury Lane, Casablanca, Maroc",
        ],
        'ar' => [
            'site_title' => "كوكو بيوتي بار",
            'book_now' => "احجز الآن",
            'chat_with_us' => "تحدث معنا",
            'home' => "الرئيسية",
            'about' => "من نحن",
            'services' => "خدماتنا",
            'gallery' => "المعرض",
            'contact' => "اتصل بنا",
            'hero_title' => "حيث يلتقي الجمال بالأناقة",
            'hero_subtitle' => "تصفيف شعر متميز، علاجات تجميل وعناية في الدار البيضاء.",
            'ai_assistant' => "مساعد كوكو الذكي",
            'ai_greeting' => "مرحباً! أنا كوكو، مساعدتك للجمال. كيف يمكنني مساعدتك اليوم؟",
            'chat_placeholder' => "اكتب رسالة...",
            'send' => "إرسال",
            'close' => "إغلاق",
            'about_title' => "حول كوكو بيوتي بار",
            'about_text' => "في كوكو بيوتي بار، نؤمن أن كل امرأة تستحق أن تشعر بالثقة والجمال. يستخدم فريقنا من خبراء التجميل المحترفين فقط منتجات عالية الجودة في بيئة مريحة مصممة لتزويدك بتجربة العناية القصوى.",
            'services_title' => "خدماتنا",
            'service_hair' => "تصفيف وقص الشعر",
            'service_hair_desc' => "تصفيفات حديثة وقصات دقيقة مصممة لتناسب شخصيتك الفريدة.",
            'service_nails' => "مانيكير وباديكير",
            'service_nails_desc' => "دللي يديك وقدميك بخدمات العناية بالأظافر المتميزة لدينا.",
            'service_facial' => "علاجات الوجه",
            'service_facial_desc' => "جددي حيوية بشرتك مع عناية الوجه المتخصصة والراقية لدينا.",
            'faq_title' => "الأسئلة الشائعة",
            'faq_1_q' => "هل يجب علي الحجز مسبقاً؟",
            'faq_1_a' => "نعم، ننصح بالحجز قبل 24 ساعة على الأقل لضمان التوفر، خاصة في عطلات نهاية الأسبوع.",
            'faq_2_q' => "ما هي المنتجات التي تستخدمونها؟",
            'faq_2_a' => "نستخدم منتجات فاخرة معتمدة عضوياً ولطيفة على بشرتك وشعرك.",
            'faq_3_q' => "أين تقعون؟",
            'faq_3_a' => "نحن موجودون في قلب الدار البيضاء، بالقرب من التوين سنتر.",
            'form_name' => "الاسم الكامل",
            'form_email' => "البريد الإلكتروني",
            'form_phone' => "رقم الهاتف",
            'form_service' => "الخدمة المطلوبة",
            'form_message' => "الرسالة",
            'form_submit' => "إرسال طلب الحجز",
            'form_success' => "شكراً لك! تم إرسال طلب الحجز الخاص بك.",
            'form_error' => "عذراً، حدث خطأ أثناء إرسال رسالتك.",
            'contact_title' => "احجزي جلستك التجميلية",
            'contact_subtitle' => "املئي النموذج أدناه وسنقوم بتأكيد موعدك قريباً.",
            'visit_us' => "زورينا",
            'call_us' => "اتصلي بنا",
            'address' => "123 لاكشري لين، الدار البيضاء، المغرب",
        ]
    ];

    public static function getInstance() {
        if (self::$instance == null) self::$instance = new CocoI18n();
        return self::$instance;
    }

    private function __construct() {
        if (isset($_GET['lang']) && in_array($_GET['lang'], ['en', 'fr', 'ar'])) {
            setcookie('coco_lang', $_GET['lang'], time() + (86400 * 30), "/");
            $this->lang = $_GET['lang'];
        } elseif (isset($_COOKIE['coco_lang']) && in_array($_COOKIE['coco_lang'], ['en', 'fr', 'ar'])) {
            $this->lang = $_COOKIE['coco_lang'];
        }

        add_action('wp_head', [$this, 'render_styles']);
        add_action('wp_footer', [$this, 'render_switcher']);
        add_filter('language_attributes', [$this, 'filter_lang_attributes']);
        add_shortcode('coco_t', [$this, 'shortcode_t']);
        add_filter('wp_nav_menu_objects', [$this, 'translate_menu_items']);
    }

    public function translate_menu_items($items) {
        foreach ($items as $item) {
            $key = strtolower($item->title);
            if (isset($this->translations[$this->lang][$key])) {
                $item->title = $this->translations[$this->lang][$key];
            }
        }
        return $items;
    }

    public function shortcode_t($atts) {
        $key = $atts['key'] ?? '';
        return $this->t($key);
    }

    public function get_lang() {
        return $this->lang;
    }

    public function t($key) {
        return $this->translations[$this->lang][$key] ?? $key;
    }

    public function filter_lang_attributes($output) {
        if ($this->lang === 'ar') {
            return 'lang="ar" dir="rtl"';
        } elseif ($this->lang === 'fr') {
            return 'lang="fr"';
        }
        return 'lang="en"';
    }

    public function render_styles() {
        if ($this->lang === 'ar') {
            echo '<style>body { direction: rtl; text-align: right; } .whatsapp-float { right: auto; left: 40px; } #coco-chat-container { right: auto; left: 40px; } #coco-chat-window { right: auto; left: 0; }</style>';
        }
    }

    public function render_switcher() {
        ?>
        <div id="coco-lang-switcher" style="position: fixed; top: 20px; right: 20px; z-index: 10001; background: white; padding: 5px 10px; border-radius: 20px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); font-family: 'Montserrat', sans-serif; display: flex; gap: 10px; font-size: 12px; font-weight: 600;">
            <a href="?lang=en" style="color: <?php echo $this->lang === 'en' ? '#D4AF37' : '#4A4A4A'; ?>; text-decoration: none;">EN</a>
            <a href="?lang=fr" style="color: <?php echo $this->lang === 'fr' ? '#D4AF37' : '#4A4A4A'; ?>; text-decoration: none;">FR</a>
            <a href="?lang=ar" style="color: <?php echo $this->lang === 'ar' ? '#D4AF37' : '#4A4A4A'; ?>; text-decoration: none;">AR</a>
        </div>
        <?php
    }
}

function coco_i18n() {
    return CocoI18n::getInstance();
}

// Initialize
coco_i18n();
