/* ========================================================================== ARES OMEGA V1585: GLOBAL LOCALE & 17-LANG PURE ARCHITECTURE ========================================================================== */ // --- CHAPTER A: UNIVERSAL DETECTOR (ISO & LOCALE MAPPING) V2030 --- function ares_omega_master_detector($order = null) { $host = $_SERVER['HTTP_HOST']; // 1. PRIORITY: US AND GB DOMAINS if (strpos($host, 'us.') === 0 || strpos($host, 'gb.') === 0) { return 'en'; } // 2. STRICT SUBDOMAINS LIST (17 LANGUAGES + UK) $subdomains = array('ar','da','de','el','en','es','fi','hu','id','it','ja','no','pl','pt','sv','tr','uk'); // 3. SUBDOMAIN DETECTION foreach ($subdomains as $sub) { if (strpos($host, $sub . '.') === 0) return $sub; } // 4. ISO MAPPING (SPECIFIC COUNTRIES & FRANCOPHONIE) if ($order && is_a($order, 'WC_Order')) { $country = strtoupper($order->get_billing_country()); $map = array( 'FR'=>'fr_FR', 'MC'=>'fr_FR', 'BE'=>'fr_FR', 'LU'=>'fr_FR', 'CH'=>'fr_FR', // FRANCOPHONIE 'GB'=>'en_GB', 'IE'=>'en_GB', 'US'=>'en_US', 'CA'=>'en_US', 'AU'=>'en_AU', 'NZ'=>'en_NZ', 'DE'=>'de_DE', 'AT'=>'de_DE', 'PL'=>'pl_PL', 'NL'=>'nl_NL', 'ES'=>'es_ES', 'MX'=>'es_ES', 'AR'=>'es_ES', 'IT'=>'it_IT', 'SM'=>'it_IT', 'PT'=>'pt_PT', 'BR'=>'pt_BR', 'SE'=>'sv_SE', 'NO'=>'nb_NO', 'DK'=>'da_DK', 'FI'=>'fi_FI', 'TR'=>'tr_TR', 'HU'=>'hu_HU', 'CS'=>'cs_CZ', 'GR'=>'el_GR', 'SA'=>'ar_SA' ); return isset($map[$country]) ? $map[$country] : 'en_US'; } // 5. GLOBAL FALLBACK (NON-MAPPED COUNTRIES) return 'en'; } // [MODULE 0] : NATIVE TITLE KILLER add_filter( 'woocommerce_email_order_details_show_order_number', '__return_false' ); // --- CHAPTER B: MASTER EMAIL ENGINE (LOCALE & TRANSLATIONS) --- add_action('woocommerce_email_before_order_table', 'ares_omega_master_email_engine', 5, 4); function ares_omega_master_email_engine($order, $admin, $plain, $email) { if ($admin || !is_a($order, 'WC_Order')) return; // FORCE GLOBAL TRANSLATION (Fixes the Product Table language) $locale = ares_omega_master_detector($order); if (function_exists('switch_to_locale')) { switch_to_locale($locale); } static $run_once = false; if ($run_once) return; $run_once = true; $l = substr($locale, 0, 2); // [MODULE 1] : CANCELLED/FAILED (17 LANGS) if ($email->id === 'cancelled_order' || $email->id === 'failed_order') { $status_data = array( 'fr' => array('h' => 'ERREUR / ANNULATION', 'm' => 'Votre commande est annulée. Si un paiement a été effectué, le remboursement sera traité sous 3-5 jours.'), 'en' => array('h' => 'ERROR / CANCELLED', 'm' => 'Your order is cancelled. If a payment was made, the refund will be processed within 3-5 days.'), 'de' => array('h' => 'FEHLER / STORNIERT', 'm' => 'Ihre Bestellung wurde storniert. Wenn eine Zahlung erfolgt ist, wird die Rückerstattung innerhalb von 3-5 Tagen bearbeitet.'), 'it' => array('h' => 'ERRORE / ANNULLATO', 'm' => 'Il tuo ordine è stato annullato. Se è stato effettuato un pagamento, il rimborso sarà élaboré entro 3-5 giorni.'), 'es' => array('h' => 'ERROR / CANCELADO', 'm' => 'Su pedido ha sido cancelado. Si se realizó un pago, el reembolso se procesará en 3-5 días.'), 'pl' => array('h' => 'BŁĄD / ANULOWANE', 'm' => 'Zamówienie zostało anulowane. Jeśli dokonano płatności, zwrot nastąpi w ciągu 3-5 dni.'), 'tr' => array('h' => 'HATA / İPTAL', 'm' => 'Siparişiniz iptal edildi. Ödeme yapıldıysa, iadeniz 3-5 gün içinde yapılacaktır.'), 'ar' => array('h' => 'خطأ / إلغاء', 'm' => 'تم إلغاء طلبك. إذا تم الدفع، فسيتم استرداد المبلغ خلال 3-5 أيام.'), 'sv' => array('h' => 'FEL / AVBRUTEN', 'm' => 'Din beställning har avbrutits. Om en betalning har gjorts kommer återbetalningen att ske inom 3-5 dagar.'), 'nl' => array('h' => 'FOUT / GEANNULEERD', 'm' => 'Uw bestelling is geannuleerd. Als er een betaling is gedaan, wordt de terugbetaling binnen 3-5 dagen verwerkt.'), 'pt' => array('h' => 'ERRO / CANCELADO', 'm' => 'A sua encomenda foi cancelada. Se tiver sido efectuado un pagamento, o reembolso será processado no prazo de 3-5 dias.'), 'da' => array('h' => 'FEJL / ANNULLERET', 'm' => 'Din ordre er annulleret. Hvis der er foretaget en betaling, vil refusionen blive behandlet inden for 3-5 dage.'), 'fi' => array('h' => 'VIRHE / PERUUTETTU', 'm' => 'Tilauksesi on peruutettu. Jos maksu on suoritettu, hyvitys käsitellään 3-5 päivän kuluessa.'), 'no' => array('h' => 'FEIL / KANSELLERT', 'm' => 'Din bestilling er kansellert. Hvis en betaling er utført, vil refusjonen bli behandlet innen 3-5 dager.'), 'hu' => array('h' => 'HIBA / TÖRÖLVE', 'm' => 'Rendelését töröltük. Ha történt fizetés, a visszatérítést 3-5 napon belül feldolgozzuk.'), 'ro' => array('h' => 'EROARE / ANULATĂ', 'm' => 'Comanda a fost anulată. Dacă a fost efectuată o plată, rambursarea va fi procesată în terme de 3-5 zile.'), 'cs' => array('h' => 'CHYBA / ZRUŠENO', 'm' => 'Vaše objednávka byla zrušena. Pokud byla platba provedena, vrácení peněz bude zpracováno do 3-5 dnů.'), 'el' => array('h' => 'ΣΦΑΛΜΑ / ΑΚΥΡΩΘΗΚΕ', 'm' => 'Η παραγγελία σας ακυρώθηκε. Εάν έχει πραγματοποιηθεί πληρωμή, η επιστροφή χρημάτων θα ολοκληρωθεί εντός 3-5 ημερών.') ); $c_stat = isset($status_data[$l]) ? $status_data[$l] : $status_data['en']; echo '
' . $c_stat['h'] . '' . $c_stat['m'] . '
'; return; } // [MODULE 2] : CUSTOMER NOTE (17 LANGUAGES) if ($email->id === 'customer_note') { $note_translations = array( 'fr' => array('h' => 'NOTE IMPORTANTE', 'm' => 'Mise à jour concernant votre commande :'), 'en' => array('h' => 'IMPORTANT NOTE', 'm' => 'Update regarding your order:'), 'de' => array('h' => 'WICHTIGER HINWEIS', 'm' => 'Aktualisierung zu Ihrer Bestellung:'), 'it' => array('h' => 'NOTA IMPORTANTE', 'm' => 'Aggiornamento relativo al tuo ordine:'), 'es' => array('h' => 'NOTA IMPORTANTE', 'm' => 'Actualización sobre su pedido:'), 'pl' => array('h' => 'WAŻNA UWAGA', 'm' => 'Aktualizacja Twojego zamówienia:'), 'tr' => array('h' => 'ÖNEMLİ NOT', 'm' => 'Siparişinizle ilgili güncelleme:'), 'ar' => array('h' => 'ملاحظة مهمة', 'm' => 'تحديث بخصوص طلبك:'), 'pt' => array('h' => 'NOTA IMPORTANTE', 'm' => 'Atualização da sua encomenda:'), 'nl' => array('h' => 'BELANGRIJKE OPMERKING', 'm' => 'Update over uw bestelling:'), 'sv' => array('h' => 'VIKTIG NOTERING', 'm' => 'Uppdatering gällande din beställning:'), 'da' => array('h' => 'VIGTIG BEMÆRKNING', 'm' => 'Opdatering til din ordre:'), 'fi' => array('h' => 'TÄRKEÄ HUOMAUTUS', 'm' => 'Päivitys tilaukseesi:'), 'no' => array('h' => 'VIKTIG MERKNAD', 'm' => 'Oppdatering av din bestilling:'), 'hu' => array('h' => 'FONTOS MEGJEGYZÉS', 'm' => 'Frissítés a rendeléséhez:'), 'ro' => array('h' => 'NOTĂ IMPORTANTĂ', 'm' => 'Actualizare la comanda dvs:'), 'cs' => array('h' => 'DŮLEŽITÁ POZNÁMKA', 'm' => 'Aktualizace vaší objednávky:'), 'el' => array('h' => 'ΣΗΜΑΝΤΙΚΗ ΣΗΜΕΙΩΣΗ', 'm' => 'Ενημέρωση για την παραγγελία σας:') ); $c_note = isset($note_translations[$l]) ? $note_translations[$l] : $note_translations['en']; echo '
' . $c_note['h'] . '' . $c_note['m'] . '
'; return; } // [MODULE 3] : PAYMENT (17 LANGUAGES - STRIPE PRIORITY) if ($email->id === 'new_order' || $email->id === 'customer_processing_order') { $method = strtolower($order->get_payment_method()); $is_pp = (strpos($method, 'paypal') !== false || strpos($method, 'ppcp') !== false); $is_bk = (strpos($method, 'bacs') !== false || strpos($method, 'virement') !== false || strpos($method, 'bank') !== false); $is_st = (strpos($method, 'stripe') !== false); $std_data = array( 'fr' => array('hi'=>'Bonjour', 'ho'=>'Détails de la commande', 'st'=>'🔒 Facture STRIPE sous 24h par email.', 'pp'=>'✅ Facture PayPal sous 24h par email.', 'bk'=>'🏦 Détails de paiement envoyés par email.'), 'en' => array('hi'=>'Hello', 'ho'=>'Order Details', 'st'=>'🔒 STRIPE invoice via email within 24h.', 'pp'=>'✅ PayPal invoice via email within 24h.', 'bk'=>'🏦 Payment details sent by email.'), 'it' => array('hi'=>'Buongiorno', 'ho'=>'Dettagli dell\'ordine', 'st'=>'🔒 Fattura STRIPE via e-mail entro 24h.', 'pp'=>'✅ Fattura PayPal via e-mail entro 24h.', 'bk'=>'🏦 Dettagli di pagamento inviati via e-mail.'), 'es' => array('hi'=>'Hola', 'ho'=>'Detalles del pedido', 'st'=>'🔒 Factura STRIPE por email en 24h.', 'pp'=>'✅ Factura PayPal por email en 24h.', 'bk'=>'🏦 Detalles de pago enviados por email.'), 'de' => array('hi'=>'Hallo', 'ho'=>'Bestelldetails', 'st'=>'🔒 STRIPE-Rechnung innerhalb von 24 Std. per E-Mail.', 'pp'=>'✅ PayPal-Rechnung innerhalb von 24 Std. per E-Mail.', 'bk'=>'🏦 Zahlungsdetails per E-Mail.'), 'pl' => array('hi'=>'Dzień dobry', 'ho'=>'Szczegóły zamówienia', 'st'=>'🔒 Faktura STRIPE e-mailem w ciągu 24h.', 'pp'=>'✅ Faktura PayPal e-mailem w ciągu 24h.', 'bk'=>'🏦 Szczegóły płatności e-mailem.'), 'nl' => array('hi'=>'Hallo', 'ho'=>'Bestelgegevens', 'st'=>'🔒 STRIPE-factuur binnen 24 uur per e-mail.', 'pp'=>'✅ PayPal-factuur binnen 24 uur per e-mail.', 'bk'=>'🏦 Betalingsgegevens per e-mail.'), 'pt' => array('hi'=>'Olá', 'ho'=>'Detalhes da encomenda', 'st'=>'🔒 Fatura STRIPE por e-mail dentro de 24h.', 'pp'=>'✅ PayPal faturada por e-mail em 24h.', 'bk'=>'🏦 Detalhes do pagamento enviados por e-mail.'), 'sv' => array('hi'=>'Hej', 'ho'=>'Orderdetaljer', 'st'=>'🔒 STRIPE-faktura via e-post inom 24 timmar.', 'pp'=>'✅ PayPal-faktura via e-post inom 24 timmar.', 'bk'=>'🏦 Betalningsuppgifter via e-post.'), 'da' => array('hi'=>'Hej', 'ho'=>'Ordredetaljer', 'st'=>'🔒 STRIPE-faktura via e-mail inden for 24 timer.', 'pp'=>'✅ PayPal-faktura via e-mail inden for 24 timer.', 'bk'=>'🏦 Betalningsoplysninger via e-mail.'), 'fi' => array('hi'=>'Hei', 'ho'=>'Tilauksen tiedot', 'st'=>'🔒 STRIPE-lasku sähköpostitse 24 tunnin kuluessa.', 'pp'=>'✅ PayPal-lasku sähköpostitse 24 tunnin kuluessa.', 'bk'=>'🏦 Maksutiedot lähetetty sähköpostitse.'), 'no' => array('hi'=>'Hei', 'ho'=>'Ordredetaljer', 'st'=>'🔒 STRIPE-faktura på e-post innen 24 timer.', 'pp'=>'✅ PayPal-faktura på e-post innen 24 timer.', 'bk'=>'🏦 Betalningsinformasjon via e-post.'), 'tr' => array('hi'=>'Merhaba', 'ho'=>'Sipariş Detayları', 'st'=>'🔒 24 saat içinde e-posta avec STRIPE faturası.', 'pp'=>'✅ 24 saat içinde e-posta avec PayPal faturası.', 'bk'=>'🏦 Ödeme detayları e-posta ile gönderildi.'), 'hu' => array('hi'=>'Üdvözöljük', 'ho'=>'Rendelés részletei', 'st'=>'🔒 STRIPE számla e-mailben 24 órán belül.', 'pp'=>'✅ PayPal számla e-mailben 24 órán belül.', 'bk'=>'🏦 Fizetési részletek e-mailben elküldve.'), 'ro' => array('hi'=>'Bună ziua', 'ho'=>'Detalii comandă', 'st'=>'🔒 Factură STRIPE prin e-mail în 24h.', 'pp'=>'✅ Factură PayPal prin e-mail en 24h.', 'bk'=>'🏦 Detalii de plată trimise par e-mail.'), 'cs' => array('hi'=>'Dobrý den', 'ho'=>'Podrobnosti objednávky', 'st'=>'🔒 Faktura STRIPE e-mailem do 24 hodin.', 'pp'=>'✅ Faktura PayPal e-mailem en 24h.', 'bk'=>'🏦 Platební údaje zaslány e-mailem.'), 'el' => array('hi'=>'Γεια σας', 'ho'=>'Στοιχεία Παραγγελίας', 'st'=>'🔒 Τιμολόγιο STRIPE μέσω email 24h.', 'pp'=>'✅ Τιμολόγιο PayPal μέσω email 24h.', 'bk'=>'🏦 Στοιχεία πληρωμής μέσω email.'), 'ar' => array('hi'=>'مرحباً', 'ho'=>'تفاصيل الطلب', 'st'=>'🔒 فاتورة STRIPE خلال 24 ساعة عبر البريد.', 'pp'=>'✅ فاتورة PayPal خلال 24 ساعة عبر البريد.', 'bk'=>'🏦 تم إرسال تفاصيل الدفع عبر البريد.') ); $c_std = isset($std_data[$l]) ? $std_data[$l] : $std_data['en']; $msg = ($is_pp) ? $c_std['pp'] : (($is_bk) ? $c_std['bk'] : (($is_st) ? $c_std['st'] : '')); echo '
'.$c_std['hi'].' '.$order->get_billing_first_name().',
'; if (!empty($msg)) echo '
'.$msg.'
'; echo '

' . $c_std['ho'] . '

'; } } // RESTORE LOCALE AFTER TABLE GENERATION add_action('woocommerce_email_after_order_table', function() { restore_previous_locale(); }, 10); // --- CHAPTER C: LOGISTICS SMART SWITCH (FRONT-END ONLY) --- add_action('woocommerce_single_product_summary', 'ares_omega_shipping_v3000', 15); function ares_omega_shipping_v3000() { if (is_admin()) return; global $product; if (!$product) return; $l = ares_omega_master_detector(); $pid = $product->get_id(); // 1. DATA EXTRACTION (METADATA ONLY) $tags = wp_get_post_terms($pid, 'product_tag', array('fields' => 'names')); $cats = wp_get_post_terms($pid, 'product_cat', array('fields' => 'names')); $brnd = wp_get_post_terms($pid, 'product_brand', array('fields' => 'names')); $meta_data = strtoupper(implode(' ', array_merge($tags, $cats, $brnd))); // 2. LOGISTICS LISTS (CASE-INSENSITIVE) $list_msg1 = array_map('strtoupper', array('FAB DEFENSE', 'IMI DEFENSE', 'HAGOR', 'MASADA ARMOR', 'MASADA ARMOUR','MEPROLIGHT', 'CAA INDUSTRIES', 'RECOVER TACTICAL', 'CAA USA', 'MCK', 'ARES', 'ARESMAXIMA', 'DEVTAC', 'RONIN', 'EOTECH')); $list_msg2 = array_map('strtoupper', array('LS INNOVENTA', 'HOLOSUN', 'MARATHON', 'MAGPUL', 'DPM SYSTEMS', 'DPM', 'LOWA', 'HPE PREDATOR', 'HPE', 'FOX LABS', 'ESP', 'BYRNA', 'TEMPTAVIT', 'DIATHER', 'UMAREX', 'UTG', 'HD24', 'GOMANDER')); // 3. EXPLICIT ROUTING LOGIC $is_m1 = false; foreach($list_msg1 as $i) { if(strpos($meta_data, $i) !== false) { $is_m1 = true; break; } } $is_m2 = false; foreach($list_msg2 as $i) { if(strpos($meta_data, $i) !== false) { $is_m2 = true; break; } } if ($is_m1) { $final_msg = 'm1'; } elseif ($is_m2) { $final_msg = 'm2'; } else { $final_msg = 'm3'; } if ($product->get_weight() > 50) { $final_msg = 'm3'; } // 4. THE 17-LANGUAGE DICTIONARY (DETAILED VIEW - DELAYS REMOVED) $data = array( 'fr' => array( 'm1' => array('t'=>'EXPÉDITION', 'd'=>'• Direct ISR / USA : 25€', 'm'=>'• Transit UE : 48€'), 'm2' => array('t'=>'EXPÉDITION (EUROPE)', 'd'=>'• Livraison depuis FR / CZ', 'm'=>'• Expédition depuis l\'Union Européenne.'), 'm3' => array('t'=>'DEVIS REQUIS', 'd'=>'• Étude logistique personnalisée', 'm'=>'• Contactez-nous pour un devis.') ), 'en' => array( 'm1' => array('t'=>'SHIPPING', 'd'=>'• Direct ISR / USA: 25€', 'm'=>'• EU Transit: 48€'), 'm2' => array('t'=>'SHIPPING (EUROPE)', 'd'=>'• Delivery from FR / CZ', 'm'=>'• Shipping from European Union.'), 'm3' => array('t'=>'QUOTE REQUIRED', 'd'=>'• Custom logistics study', 'm'=>'• Contact us for a quote.') ), 'de' => array( 'm1' => array('t'=>'VERSAND', 'd'=>'• Direkt ISR / USA: 25€', 'm'=>'• EU-Transit: 48€'), 'm2' => array('t'=>'VERSAND (EUROPA)', 'd'=>'• Lieferung aus FR / CZ', 'm'=>'• Versand aus der Europäischen Union.'), 'm3' => array('t'=>'ANGEBOT ERFORDERLICH', 'd'=>'• Logistikstudie', 'm'=>'• Kontaktieren Sie uns.') ), 'pl' => array( 'm1' => array('t'=>'WYSYŁKA', 'd'=>'• Bezpośrednio ISR / USA: 25€', 'm'=>'• Tranzyt UE: 48€'), 'm2' => array('t'=>'WYSYŁKA (EUROPA)', 'd'=>'• Dostawa z FR / CZ', 'm'=>'• Wysyłka z Unii Europejskiej.'), 'm3' => array('t'=>'WYMAGANA WYCENA', 'd'=>'• Indywidualna logistyka', 'm'=>'• Skontaktuj się z nami.') ), 'es' => array( 'm1' => array('t'=>'ENVÍO', 'd'=>'• Directo ISR / USA: 25€', 'm'=>'• Tránsito UE: 48€'), 'm2' => array('t'=>'ENVÍO (EUROPA)', 'd'=>'• Entrega desde FR / CZ', 'm'=>'• Envío desde la Unión Europea.'), 'm3' => array('t'=>'PRESUPUESTO REQUERIDO', 'd'=>'• Estudio logístico personalizado', 'm'=>'• Contáctenos.') ), 'it' => array( 'm1' => array('t'=>'SPEDIZIONE', 'd'=>'• Diretto ISR / USA: 25€', 'm'=>'• Transito UE: 48€'), 'm2' => array('t'=>'SPEDIZIONE (EUROPA)', 'd'=>'• Consegna da FR / CZ', 'm'=>'• Spedizione dall\'Unione Europea.'), 'm3' => array('t'=>'PREVENTIVO RICHIESTO', 'd'=>'• Studio logistico personalizzato', 'm'=>'• Contattateci.') ), 'tr' => array( 'm1' => array('t'=>'NAKLİYE', 'd'=>'• Doğrudan ISR / USA: 25€', 'm'=>'• AB Transit: 48€'), 'm2' => array('t'=>'NAKLİYE (AVRUPA)', 'd'=>'• FR / CZ\'den teslimat', 'm'=>'• Avrupa Birliği\'nden gönderim.'), 'm3' => array('t'=>'TEKLİF GEREKLİ', 'd'=>'• Özel lojistik çalışma', 'm'=>'• İletişime geçin.') ), 'ar' => array( 'm1' => array('t'=>'شحن', 'd'=>'• مباشر إسرائيل / أمريكا: 25€', 'm'=>'• ترانزيت أوروبا: 48€'), 'm2' => array('t'=>'شحن (أوروبا)', 'd'=>'• شحن من فرنسا / التشيك', 'm'=>'• شحن من الاتحاد الأوروبي.'), 'm3' => array('t'=>'مطلوب عرض سعر', 'd'=>'• دراسة لوجستية خاصة', 'm'=>'• اتصل بنا للحصول على عرض سعر.') ), 'nl' => array( 'm1' => array('t'=>'VERZENDING', 'd'=>'• Direct ISR / USA: 25€', 'm'=>'• EU-transit: 48€'), 'm2' => array('t'=>'VERZENDING (EUROPA)', 'd'=>'• Levering vanuit FR / CZ', 'm'=>'• Verzending vanuit de Europese Unie.'), 'm3' => array('t'=>'OFFERTE NODIG', 'd'=>'• Logistieke studie', 'm'=>'• Neem contact op.') ), 'pt' => array( 'm1' => array('t'=>'ENVIO', 'd'=>'• Direto ISR / USA: 25€', 'm'=>'• Trânsito UE: 48€'), 'm2' => array('t'=>'ENVIO (EUROPA)', 'd'=>'• Entrega de FR / CZ', 'm'=>'• Envio da União Europeia.'), 'm3' => array('t'=>'ORÇAMENTO NECESSÁRIO', 'd'=>'• Estudo logístico personalizado', 'm'=>'• Contacte-nos.') ), 'sv' => array( 'm1' => array('t'=>'FRAKT', 'd'=>'• Direkt ISR / USA: 25€', 'm'=>'• EU-transit: 48€'), 'm2' => array('t'=>'FRAKT (EUROPA)', 'd'=>'• Leverans från FR / CZ', 'm'=>'• Frakt från Europeiska unionen.'), 'm3' => array('t'=>'OFFERT KRÄVS', 'd'=>'• Logistikstudie', 'm'=>'• Kontakta oss.') ), 'no' => array( 'm1' => array('t'=>'FRAKT', 'd'=>'• Direkte ISR / USA: 25€', 'm'=>'• EU-transit: 48€'), 'm2' => array('t'=>'FRAKT (EUROPA)', 'd'=>'• Levering fra FR / CZ', 'm'=>'• Frakt fra Den europeiske union.'), 'm3' => array('t'=>'TILBUD KREVES', 'd'=>'• Logistikkstudie', 'm'=>'• Kontakt oss.') ), 'da' => array( 'm1' => array('t'=>'FORSENDELSE', 'd'=>'• Direkte ISR / USA: 25€', 'm'=>'• EU-transit: 48€'), 'm2' => array('t'=>'FORSENDELSE (EUROPA)', 'd'=>'• Levering fra FR / CZ', 'm'=>'• Forsendelse fra Den Europæiske Union.'), 'm3' => array('t'=>'TILBUD KRÆVES', 'd'=>'• Logistikundersøgelse', 'm'=>'• Kontakt os.') ), 'fi' => array( 'm1' => array('t'=>'TOIMITUS', 'd'=>'• Suora ISR / USA: 25€', 'm'=>'• EU-kauttakulku: 48€'), 'm2' => array('t'=>'TOIMITUS (EUROOPPA)', 'd'=>'• Toimitus FR / CZ:stä', 'm'=>'• Lähetys Euroopan unionista.'), 'm3' => array('t'=>'TARJOUS TARVITAAN', 'd'=>'• Logistiikkaselvitys', 'm'=>'• Ota yhteyttä.') ), 'hu' => array( 'm1' => array('t'=>'SZÁLLÍTÁS', 'd'=>'• Közvetlen ISR / USA: 25€', 'm'=>'• EU-tranzit: 48€'), 'm2' => array('t'=>'SZÁLLÍTÁS (EURÓPA)', 'd'=>'• Szállítás FR / CZ-ből', 'm'=>'• Szállítás az Európai Unióból.'), 'm3' => array('t'=>'AJÁNLAT SZÜKSÉGES', 'd'=>'• Logisztikai tanulmány', 'm'=>'• Keressen minket.') ), 'ro' => array( 'm1' => array('t'=>'LIVRARE', 'd'=>'• Direct ISR / USA: 25€', 'm'=>'• Tranzit UE: 48€'), 'm2' => array('t'=>'LIVRARE (EUROPA)', 'd'=>'• Livrare din FR / CZ', 'm'=>'• Expediere din Uniunea Europeană.'), 'm3' => array('t'=>'NECESITĂ OFERTĂ', 'd'=>'• Studiu logistic personalizat', 'm'=>'• Contactați-ne.') ), 'cs' => array( 'm1' => array('t'=>'DOPRAVA', 'd'=>'• Přímá ISR / USA: 25€', 'm'=>'• Tranzit EU: 48€'), 'm2' => array('t'=>'DOPRAVA (EVROPA)', 'd'=>'• Doprava z FR / CZ', 'm'=>'• Doprava z Evropské unie.'), 'm3' => array('t'=>'VYŽÁDEJTE CENU', 'd'=>'• Logistická studie', 'm'=>'• Kontaktujte nás.') ), 'el' => array( 'm1' => array('t'=>'ΑΠΟΣΤΟΛΗ', 'd'=>'• Άμεση ISR / USA: 25€', 'm'=>'• Διαμετακόμιση ΕΕ: 48€'), 'm2' => array('t'=>'ΑΠΟΣΤΟΛΗ (ΕΥΡΩΠΗ)', 'd'=>'• Παράδοση από FR / CZ', 'm'=>'• Αποστολή από την Ευρωπαϊκή Ένωση.'), 'm3' => array('t'=>'ΑΠΑΙΤΕΙΤΑΙ ΠΡΟΣΦΟΡΑ', 'd'=>'• Ειδική λογιστική μελέτη', 'm'=>'• Επικοινωνήστε μαζί μας.') ) ); // 5. SELECTION & RENDERING $lang_set = isset($data[$l]) ? $data[$l] : $data['en']; $msg = $lang_set[$final_msg]; $color = ($final_msg === 'm1') ? '#222' : (($final_msg === 'm2') ? '#008000' : '#8b0000'); echo '
'; echo '

'.$msg['t'].'

'; echo '
'.$msg['d'].'
'; echo '
'.$msg['m'].'
'; } // --- CHAPTER D: BRUTE FORCE TITLES (17 LANGS) --- add_filter('gettext', 'ares_omega_brute_force_v1550', 999, 3); function ares_omega_brute_force_v1550($translated, $text, $domain) { if (is_admin()) return $translated; $l = ares_omega_master_detector(); if ($l === 'fr') return $translated; $fixes = array( 'en'=>array('ACCUEIL'=>'HOME','BOUTIQUE'=>'SHOP','PANIER'=>'CART','EXPÉDITION'=>'SHIPPING','I ALT'=>'TOTAL','FURTHER INFORMATION'=>'SPECIFICATIONS'), 'pl'=>array('ACCUEIL'=>'START','BOUTIQUE'=>'SKLEP','PANIER'=>'KOSZYK','I ALT'=>'RAZEM'), 'tr'=>array('ACCUEIL'=>'ANASAYFA','BOUTIQUE'=>'MAĞAZA','PANIER'=>'SEPET','I ALT'=>'TOPLAM') ); $upper = strtoupper($text); if (isset($fixes[$l][$upper])) return $fixes[$l][$upper]; return $translated; } // --- CHAPTER E: SEO HREFLANG V1710 (USA & UK SYNC) --- add_action('wp_head', 'ares_hreflang_v1710', 1); function ares_hreflang_v1710() { if (is_admin() || is_checkout()) return; global $wp; $path = add_query_arg(array(), $wp->request); if (!empty($path)) $path = untrailingslashit($path) . '/'; // 1. Liste des langues standards (CNAME classiques) $langs = array('pl', 'sv', 'de', 'it', 'es', 'ar', 'nl', 'pt', 'no', 'fi', 'da', 'ro', 'hu', 'cs', 'el', 'tr', 'uk', 'ja', 'ko', 'vi', 'th'); // 2. Domaine Principal (FR) echo "\n".''."\n"; // 3. Boucle sur les langues standards foreach ($langs as $l) { echo ''."\n"; } // 4. LES DEUX NOUVEAUX DOMAINES CRITIQUES (USA & UK) echo ''."\n"; echo ''."\n"; // On garde 'en' générique pointant vers 'en' pour le reste du monde echo ''."\n"; } // --- CHAPTER F: FORCE SYSTEM LOCALE --- add_filter('locale', function($locale) { if (is_admin()) return $locale; $l = ares_omega_master_detector(); $codes = array('en'=>'en_GB','de'=>'de_DE','pl'=>'pl_PL','sv'=>'sv_SE','ar'=>'ar','tr'=>'tr_TR','hu'=>'hu_HU','el'=>'el','es'=>'es_ES','it'=>'it_IT','pt'=>'pt_PT','nl'=>'nl_NL','no'=>'nb_NO','fi'=>'fi','da'=>'da_DK','ro'=>'ro_RO','cs'=>'cs_CZ'); return isset($codes[$l]) ? $codes[$l] : $locale; }, 999); /** * CHAPTER G: AUTH & ACCOUNT ENGINE V36.0 * Logic: Password Reset + New Account Welcome * Supported: 17 Languages, RTL, Auto-Locale Mapping */ // --- SECTION 1: MASTER LOCALE MAPPING --- function ares_omega_get_auth_locale($l) { $locales = array( 'en'=>'en_GB','de'=>'de_DE','pl'=>'pl_PL','sv'=>'sv_SE','ar'=>'ar','tr'=>'tr_TR', 'hu'=>'hu_HU','el'=>'el','es'=>'es_ES','it'=>'it_IT','pt'=>'pt_PT','nl'=>'nl_NL', 'no'=>'nb_NO','fi'=>'fi','da'=>'da_DK','ro'=>'ro_RO','cs'=>'cs_CZ','fr'=>'fr_FR' ); return isset($locales[$l]) ? $locales[$l] : 'en_GB'; } // --- SECTION 2: PASSWORD RESET (LOGIC & SUBJECT) --- add_filter('woocommerce_email_subject_customer_reset_password', 'ares_pw_subject_v36', 10, 2); function ares_pw_subject_v36($subject, $user_data) { $l = ares_omega_master_detector(); $subjects = array( 'fr'=>'Réinitialisation de votre mot de passe','en'=>'Password Reset Request','de'=>'Anfrage zum Zurücksetzen des Passworts', 'pl'=>'Prośba o zresetowanie hasła','es'=>'Restablecimiento de contraseña','it'=>'Richiesta di reset della password', 'tr'=>'Şifre sıfırlama talebi','ar'=>'طلب إعادة تعيين كلمة المرور','sv'=>'Återställning av lösenord', 'nl'=>'Wachtwoord herstellen','pt'=>'Redefinição de senha','da'=>'Nulstilling af adgangskode', 'fi'=>'Salasanan palautuspyyntö','no'=>'Tilbakestilling av passord','hu'=>'Jelszó visszaállítási kérelem', 'ro'=>'Resetarea parolei','cs'=>'Žádost o obnovení hesla','el'=>'Αίτημα επαναφοράς συνθηματικού' ); return isset($subjects[$l]) ? $subjects[$l] : $subjects['en']; } add_action('ares_omega_password_reset_engine', 'ares_omega_reset_password_logic_v36', 10, 2); function ares_omega_reset_password_logic_v36($user_login, $reset_key) { $l = ares_omega_master_detector(); $data = array( 'fr'=>array('h'=>'RÉINITIALISATION','m'=>'Demande de nouveau mot de passe reçue.','b'=>'RÉINITIALISER MON MOT DE PASSE'), 'en'=>array('h'=>'PASSWORD RESET','m'=>'Someone requested a new password for your account.','b'=>'RESET MY PASSWORD'), 'de'=>array('h'=>'PASSWORT ZURÜCKSETZEN','m'=>'Jemand hat ein neues Passwort angefordert.','b'=>'PASSWORT ZURÜCKSETZEN'), 'pl'=>array('h'=>'RESETOWANIE HASŁA','m'=>'Ktoś poprosił o nowe hasło do Twojego konta.','b'=>'ZRESETUJ HASŁO'), 'es'=>array('h'=>'RESTABLECER CONTRASEÑA','m'=>'Alguien ha solicitado una nueva contraseña.','b'=>'RESTABLECER CONTRASEÑA'), 'it'=>array('h'=>'RESET PASSWORD','m'=>'Richiesta di nuova password ricevuta.','b'=>'REIMPOSTA PASSWORD'), 'tr'=>array('h'=>'ŞIFRE SIFIRLAMA','m'=>'Yeni bir şifre talebi alındı.','b'=>'ŞIFREYİ SIFIRLA'), 'ar'=>array('h'=>'إعادة تعيين كلمة المرور','m'=>'تم تلقي طلب لإعادة تعيين كلمة المرور.','b'=>'إعادة تعيين كلمة المرور'), 'sv'=>array('h'=>'ÅTERSTÄLL LÖSENORD','m'=>'Någon har begärt ett nytt lösenord.','b'=>'ÅTERSTÄLL LÖSENORD'), 'nl'=>array('h'=>'WACHTWOORD HERSTELLEN','m'=>'Iemand heeft ein nieuw wachtwoord aangevraagd.','b'=>'WACHTWOORD HERSTELLEN'), 'pt'=>array('h'=>'REDEFINIR SENHA','m'=>'Alguém solicitou uma nova senha.','b'=>'REDEFINIR SENHA'), 'da'=>array('h'=>'NULSTIL KODE','m'=>'Nogen har anmodet om en ny adgangskode.','b'=>'NULSTIL ADGANGSKODE'), 'fi'=>array('h'=>'SALASANAN PALAUTUS','m'=>'Joku on pyytänyt uutta salasanaa.','b'=>'PALAUTA SALASANA'), 'no'=>array('h'=>'TILBAKESTILL PASSORD','m'=>'Noen har bedt om et nytt passord.','b'=>'TILBAKESTILL PASSORD'), 'hu'=>array('h'=>'JELSZÓ VISSZAÁLLÍTÁSA','m'=>'Valaki új jelszót kért a fiókjához.','b'=>'JELSZÓ VISSZAÁLLÍTÁSA'), 'ro'=>array('h'=>'RESETARE PAROLĂ','m'=>'Cineva a solicitat o nouă parolă.','b'=>'RESETEAZĂ PAROLA'), 'cs'=>array('h'=>'OBNOVENÍ HESLA','m'=>'Někdo požádal o nové heslo k vašemu účtu.','b'=>'OBNOVIT HESLO'), 'el'=>array('h'=>'ΕΠΑΝΑΦΟΡΑ','m'=>'Κάποιος ζήτησε νέο κωδικό πρόσβασης.','b'=>'ΕΠΑΝΑΦΟΡΑ ΣΥΝΘΗΜΑΤΙΚΟΥ') ); $msg = isset($data[$l]) ? $data[$l] : $data['en']; $reset_url = add_query_arg(array('key'=>$reset_key,'id'=>$user_login), wc_get_endpoint_url('lost-password','',wc_get_page_permalink('myaccount'))); echo '

'.$msg['h'].'

'.$msg['m'].'

'; echo '
'.$msg['b'].'
'; } // --- SECTION 3: NEW ACCOUNT (LOGIC & SUBJECT) --- add_filter('woocommerce_email_subject_customer_new_account', 'ares_new_account_subject_v36', 10, 2); function ares_new_account_subject_v36($subject, $user) { $l = ares_omega_master_detector(); $subjects = array( 'fr'=>'Bienvenue sur AresMaxima - Vos accès','en'=>'Welcome to AresMaxima - Your login details','de'=>'Willkommen bei AresMaxima - Ihre Zugangsdaten', 'pl'=>'Witaj w AresMaxima - Twoje dane logowania','es'=>'Bienvenido a AresMaxima - Sus datos de acceso','it'=>'Benvenuto su AresMaxima - I tuoi dati di accesso', 'tr'=>'AresMaxima\'ya Hoş Geldiniz - Giriş bilgileriniz','ar'=>'مرحباً بك في AresMaxima - تفاصيل الدخول','sv'=>'Välkommen till AresMaxima','nl'=>'Welkom bij AresMaxima','pt'=>'Bem-vindo à AresMaxima','da'=>'Velkommen til AresMaxima','fi'=>'Tervetuloa AresMaximaan','no'=>'Velkommen til AresMaxima','hu'=>'Üdvözöljük az AresMaxima-nál','ro'=>'Bine ai venit la AresMaxima','cs'=>'Vítejte v AresMaxima','el'=>'Καλώς ήλθατε στην AresMaxima' ); return isset($subjects[$l]) ? $subjects[$l] : $subjects['en']; } add_action('ares_omega_new_account_engine', 'ares_omega_new_account_logic_v36', 10, 3); function ares_omega_new_account_logic_v36($user_login, $reset_key, $is_new_user) { $l = ares_omega_master_detector(); $data = array( 'fr'=>array('h'=>'BIENVENUE','m'=>'Merci d\'avoir rejoint AresMaxima.','u'=>'Identifiant','p'=>'DÉFINIR MON MOT DE PASSE','a'=>'MON COMPTE'), 'en'=>array('h'=>'WELCOME','m'=>'Thank you for joining AresMaxima.','u'=>'Username','p'=>'SET MY PASSWORD','a'=>'MY ACCOUNT'), 'de'=>array('h'=>'WILLKOMMEN','m'=>'Vielen Dank für Ihre Anmeldung.','u'=>'Benutzername','p'=>'PASSWORT FESTLEGEN','a'=>'MEIN KONTO'), 'pl'=>array('h'=>'WITAJ','m'=>'Dziękujemy za dołączenie do AresMaxima.','u'=>'Nazwa użytkownika','p'=>'USTAW HASŁO','a'=>'MOJE KONTO'), 'es'=>array('h'=>'BIENVENIDO','m'=>'Gracias por unirte a AresMaxima.','u'=>'Usuario','p'=>'DEFINIR CONTRASEÑA','a'=>'MI CUENTA'), 'it'=>array('h'=>'BENVENUTO','m'=>'Grazie per esserti unito a AresMaxima.','u'=>'Nome utente','p'=>'IMPOSTA PASSWORD','a'=>'IL MIO ACCOUNT'), 'tr'=>array('h'=>'HOŞ GELDİNİZ','m'=>'AresMaxima\'ya katıldığınız için teşekkürler.','u'=>'Kullanıcı adı','p'=>'ŞIFRE BELİRLE','a'=>'HESABIM'), 'ar'=>array('h'=>'مرحباً بك','m'=>'شكراً لانضمامك إلى AresMaxima.','u'=>'اسم المستخدم','p'=>'تعيين كلمة المرور','a'=>'حسابي'), 'sv'=>array('h'=>'VÄLKOMMEN','m'=>'Tack för att du valt AresMaxima.','u'=>'Användarnamn','p'=>'VÄLJ LÖSENORD','a'=>'MITT KONTO'), 'nl'=>array('h'=>'WELKOM','m'=>'Bedankt voor je registratie bij AresMaxima.','u'=>'Gebruikersnaam','p'=>'WACHTWOORD INSTELLEN','a'=>'MIJN ACCOUNT'), 'pt'=>array('h'=>'BEM-VINDO','m'=>'Obrigado por se juntar à AresMaxima.','u'=>'Utilizador','p'=>'DEFINIR SENHA','a'=>'A MINHA CONTA'), 'da'=>array('h'=>'VELKOMMEN','m'=>'Tak fordi du valgte AresMaxima.','u'=>'Brugernavn','p'=>'VÆLG ADGANGSKODE','a'=>'MIN KONTO'), 'fi'=>array('h'=>'TERVETULOA','m'=>'Kiitos liittymisestäsi AresMaximaan.','u'=>'Käyttäjätunnus','p'=>'ASETA SALASANA','a'=>'OMA TILI'), 'no'=>array('h'=>'VELKOMMEN','m'=>'Takk for at du valgte AresMaxima.','u'=>'Brukernavn','p'=>'VELG PASSORD','a'=>'MIN KONTO'), 'hu'=>array('h'=>'ÜDVÖZÖLJÜK','m'=>'Köszönjük, hogy az AresMaxima-t választotta.','u'=>'Felhasználónév','p'=>'JELSZÓ BEÁLLÍTÁSA','a'=>'FIÓKOM'), 'ro'=>array('h'=>'BINE AI VENIT','m'=>'Îți mulțumim că te-ai alăturat AresMaxima.','u'=>'Utilizator','p'=>'SETEAZĂ PAROLA','a'=>'CONTUL MEU'), 'cs'=>array('h'=>'VÍTEJTE','m'=>'Děkujeme, že jste se přidali k AresMaxima.','u'=>'Uživatelské jméno','p'=>'NASTAVIT HESLO','a'=>'MŮJ ÚČET'), 'el'=>array('h'=>'ΚΑΛΩΣ ΗΛΘΑΤΕ','m'=>'Σας ευχαριστούμε που εγγραφήκατε στην AresMaxima.','u'=>'Όνομα χρήστη','p'=>'ΟΡΙΣΜΟΣ ΣΥΝΘΗΜΑΤΙΚΟΥ','a'=>'Ο ΛΟΓΑΡΙΑΣΜΟΣ ΜΟΥ') ); $msg = isset($data[$l]) ? $data[$l] : $data['en']; $acc_url = wc_get_page_permalink('myaccount'); echo '
'; echo '
'.$msg['h'].'
'.$msg['m'].'
'; echo '
'.$msg['u'].': '.esc_html($user_login).'
'; if ($is_new_user && $reset_key) { $reset_url = add_query_arg(array('key'=>$reset_key,'id'=>$user_login), wc_get_endpoint_url('lost-password','',$acc_url)); echo '
'.$msg['p'].'
'; } echo '

'.$msg['a'].'

'; } /** * CHAPTER H: REFUND ENGINE V37.0 * Verified: Syntax, Logic, 17-Langs, RTL Mapping. */ // 1. SUBJECT FILTER add_filter('woocommerce_email_subject_customer_refunded_order', 'ares_refund_subject_v370', 10, 2); function ares_refund_subject_v370($subject, $order) { $l = ares_omega_master_detector($order); $subjects = array( 'fr' => 'Votre commande a été remboursée', 'en' => 'Your order has been refunded', 'de' => 'Ihre Bestellung wurde erstattet', 'pl' => 'Twoje zamówienie zostało zwrócone', 'es' => 'Su pedido ha sido reembolsado', 'it' => 'Il tuo ordine è stato rimborsato', 'tr' => 'Siparişiniz iade edildi', 'ar' => 'تم استرداد مبلغ طلبك', 'sv' => 'Din beställning har återbetalats', 'nl' => 'Uw bestelling is terugbetaald', 'pt' => 'A sua encomenda foi reembolsada', 'da' => 'Din ordre er blevet refunderet', 'fi' => 'Tilauksesi on hyvitetty', 'no' => 'Din ordre har blitt refundert', 'hu' => 'Rendelését visszatérítettük', 'ro' => 'Comanda dvs. a fost rambursată', 'cs' => 'Vaše objednávka byla vrácena', 'el' => 'Η παραγγελία σας έχει επιστραφεί' ); return isset($subjects[$l]) ? $subjects[$l] : $subjects['en']; } // 2. CONTENT LOGIC add_action('ares_omega_refund_engine', 'ares_omega_refund_logic_v37', 10, 2); function ares_omega_refund_logic_v37($order, $partial = false) { $l = ares_omega_master_detector($order); $data = array( 'fr' => array('h' => 'COMMANDE REMBOURSÉE', 'm' => 'Le remboursement a été validé. Les fonds apparaîtront sur votre compte sous 3 à 5 jours ouvrés.'), 'en' => array('h' => 'ORDER REFUNDED', 'm' => 'The refund has been processed. Funds will appear in your account within 3 to 5 business days.'), 'de' => array('h' => 'BESTELLUNG ERSTATTET', 'm' => 'Die Erstattung wurde bearbeitet. Das Geld wird innerhalb von 3-5 Werktagen auf Ihrem Konto gutgeschrieben.'), 'pl' => array('h' => 'ZAMÓWIENIE ZWRÓCONE', 'm' => 'Zwrot środków został przetworzony. Środki pojawią się na Twoim koncie w ciągu 3-5 dni roboczych.'), 'es' => array('h' => 'PEDIDO REEMBOLSADO', 'm' => 'El reembolso ha sido procesado. Los fondos aparecerán en su cuenta en 3-5 días hábiles.'), 'it' => array('h' => 'ORDINE RIMBORSATO', 'm' => 'Il rimborso è stato élaboré. I fondi saranno visibili sul tuo conto entro 3-5 giorni lavorativi.'), 'tr' => array('h' => 'SİPARİŞ İADE EDİLDİ', 'm' => 'İadeniz onaylandı. Ücret 3-5 iş günü içinde hesabınıza yansıyacaktır.'), 'ar' => array('h' => 'تم استرداد المبلغ', 'm' => 'تمت معالجة الاسترداد. ستظهر الأموال في حسابك خلال 3-5 أيام عمل.'), 'sv' => array('h' => 'ORDER ÅTERBETALD', 'm' => 'Återbetalningen har behandlats. Pengarna syns på ditt konto inom 3-5 arbetsdagar.'), 'nl' => array('h' => 'BESTELLING TERUGBETAALD', 'm' => 'De terugbetaling is verwerkt. Het bedrag staat binnen 3-5 werkdagen op uw rekening.'), 'pt' => array('h' => 'ENCOMENDA REEMBOLSADA', 'm' => 'O remboursement foi processado. Os fundos aparecerão na sua conta em 3-5 dias úteis.'), 'da' => array('h' => 'ORDRE REFUNDERET', 'm' => 'Refusionen er behandlet. Pengene vil være på din konto inden for 3-5 hverdage.'), 'fi' => array('h' => 'TILAUS HYVITETTY', 'm' => 'Hyvitys on käsitelty. Rahat näkyvät tililläsi 3-5 arkipäivän kuluessa.'), 'no' => array('h' => 'ORDRE REFUNDERT', 'm' => 'Refusjonen er behandlet. Beløpet vil være na kontoen din innen 3-5 virkedager.'), 'hu' => array('h' => 'RENDELÉS VISSZATÉRÍTVE', 'm' => 'A visszatérítést feldolgoztuk. Az összeg 3-5 munkanapon belül megjelenik a számláján.'), 'ro' => array('h' => 'COMANDĂ RAMBURSATĂ', 'm' => 'Rambursarea a fost procesată. Fondurile vor apărea în contul dvs. în 3-5 zile lucrătoare.'), 'cs' => array('h' => 'OBJEDNÁVKA VRÁCENA', 'm' => 'Vrácení peněz bylo zpracováno. Peníze se objeví na vašem účtu do 3-5 pracovních dnů.'), 'el' => array('h' => 'Η ΠΑΡΑΓΓΕΛΙΑ ΕΠΙΣΤΡΑΦΗΚΕ', 'm' => 'Η επιστροφή χρημάτων ολοκληρώθηκε. Τα χρήματα θα φανούν στο λογαριασμό σας σε 3-5 εργάσιμες ημέρες.') ); $msg = isset($data[$l]) ? $data[$l] : $data['en']; $align = ($l === 'ar') ? 'right' : 'left'; echo '
'; echo ''.$msg['h'].''; echo ''.$msg['m'].'
'; } /** * CHAPTER I: PARTIAL SHIP ENGINE V38.5 */ add_action('woocommerce_email_before_order_table', 'ares_omega_partial_ship_logic_v385', 15, 4); function ares_omega_partial_ship_logic_v385($order, $sent_to_admin, $plain_text, $email) { if (isset($email->id) && $email->id === 'partially_shipped_order' && is_a($order, 'WC_Order')) { $lang = ares_omega_master_detector($order); $tracking_number = ''; $tracking_url = ''; if (class_exists('WC_Advanced_Shipment_Tracking_Actions')) { $ast_instance = WC_Advanced_Shipment_Tracking_Actions::get_instance(); if (method_exists($ast_instance, 'get_tracking_items')) { $tracking_items = $ast_instance->get_tracking_items($order->get_id()); if (!empty($tracking_items) && is_array($tracking_items)) { $last_item = end($tracking_items); $tracking_number = isset($last_item['tracking_number']) ? $last_item['tracking_number'] : ''; $tracking_url = isset($last_item['formatted_tracking_link']) ? $last_item['formatted_tracking_link'] : ''; } } } $dictionary = array( 'fr' => array('h' => 'EXPÉDITION PARTIELLE', 'm' => 'Une partie de votre commande est en route ! Le reste arrive bientôt.', 't' => 'SUIVI :'), 'en' => array('h' => 'PARTIAL SHIPMENT', 'm' => 'Part of your order is on its way! The rest is coming soon.', 't' => 'TRACKING:'), 'es' => array('h' => 'ENVÍO PARCIAL', 'm' => '¡Parte de su pedido está en camino! El resto llegará pronto.', 't' => 'SEGUIMIENTO:'), 'de' => array('h' => 'TEILVERSAND', 'm' => 'Ein Teil Ihrer Bestellung ist unterwegs! Der Rest folgt in Kürze.', 't' => 'TRACKING:'), 'pl' => array('h' => 'CZĘŚCIOWA WYSYŁKA', 'm' => 'Część Twojego zamówienia jest w drodze! Reszta dotrze wkrótce.', 't' => 'ŚLEDZENIE:'), 'tr' => array('h' => 'KISMİ SEVKIYAT', 'm' => 'Siparişinizin bir kısmı yola çıktı! Kalanlar yakında gelecek.', 't' => 'TAKİP:'), 'ar' => array('h' => 'شحن جزئي', 'm' => 'جزء من طلبك في الطريق! الباقي سيصل قريباً.', 't' => 'التتبع:'), 'it' => array('h' => 'SPEDIZIONE PARZIALE', 'm' => 'Parte del tuo ordine è in viaggio! Il resto arriverà presto.', 't' => 'TRACKING:'), 'pt' => array('h' => 'ENVIO PARCIAL', 'm' => 'Parte da sua encomenda está a caminho! O resto chegará em breve.', 't' => 'RASTREIO:'), 'nl' => array('h' => 'GEDEELTELIJKE VERZENDING', 'm' => 'Een deel von je bestelling is onderweg! De rest volgt snel.', 't' => 'TRACKING:'), 'sv' => array('h' => 'DELVIS LEVERANS', 'm' => 'En del av din beställning är på väg! Resten kommer snart.', 't' => 'SPÅRNING:'), 'da' => array('h' => 'DELVIS FORSENDELSE', 'm' => 'En del af din ordre er på vej! Resten kommer snart.', 't' => 'TRACKING:'), 'fi' => array('h' => 'OSITTAINEN LÄHETYS', 'm' => 'Osa tilauksestasi on matkalla! Loput tulevat pian.', 't' => 'SEURANTA:'), 'no' => array('h' => 'DELVIS FORSENDELSE', 'm' => 'En del av din ordre er på vei! Resten kommer snart.', 't' => 'SPORING:'), 'hu' => array('h' => 'RÉSZLEGES KISZÁLLÍTÁS', 'm' => 'Rendelésének egy része úton van! A többi hamarosan érkezik.', 't' => 'NYOMKÖVETÉS:'), 'ro' => array('h' => 'LIVRARE PARȚIALĂ', 'm' => 'O parte din comandă este pe drum! Restul va sosi în curând.', 't' => 'TRACKING:'), 'cs' => array('h' => 'ČÁSTEČNÁ DOPRAVA', 'm' => 'Část objednávky je na cestě! Zbytek dorazí brzy.', 't' => 'SLEDOVÁNÍ:'), 'el' => array('h' => 'ΜΕΡΙΚΗ ΑΠΟΣΤΟΛΗ', 'm' => 'Μέρος της παραγγελίας είναι καθ\' οδόν! Τα υπόλοιπα έρχονται σημτόμα.', 't' => 'TRACKING:') ); $res = isset($dictionary[$lang]) ? $dictionary[$lang] : $dictionary['en']; $alignment = ($lang === 'ar') ? 'right' : 'left'; echo '
'; echo '' . $res['h'] . ''; echo '

' . $res['m'] . '

'; if (!empty($tracking_number)) { echo '
'; echo $res['t'] . ' '.esc_html($tracking_number).''; echo '
'; } echo '
'; } } /** * CHAPTER J: TRACKING UPDATE ENGINE V40.1 */ // 1. SUBJECT FILTER: TRACKING UPDATED add_filter('woocommerce_email_subject_ast_updated_tracking', 'ares_tracking_update_subject_v401', 10, 2); function ares_tracking_update_subject_v401($subject, $order) { $lang = ares_omega_master_detector($order); $subjects = array( 'fr' => 'Mise à jour de votre suivi de colis', 'en' => 'Update to your shipment tracking', 'de' => 'Aktualisierung Ihrer Sendungsverfolgung', 'pl' => 'Aktualizacja śledzenia przesyłki', 'es' => 'Actualización del seguimiento de su envío', 'it' => 'Aggiornamento del tracciamento della spedizione', 'tr' => 'Takip bilgileriniz güncellendi', 'ar' => 'تحديث تتبع الشحنة الخاصة بك', 'sv' => 'Uppdatering av din spårningsinformation', 'nl' => 'Update van je pakkettracking', 'pt' => 'Atualização do rastreio da sua encomenda', 'da' => 'Opdatering af din pakkesporing', 'fi' => 'Lähetyksesi seurantatiedot on päivitetty', 'no' => 'Oppdatering av din pakkesporing', 'hu' => 'Frissítés a küldemény nyomon követéséhez', 'ro' => 'Actualizare a urmăririi expedierii dvs.', 'cs' => 'Aktualizace sledování vaší zásilky', 'el' => 'Ενημέρωση της παρακολούθησης της αποστολής σας' ); return isset($subjects[$lang]) ? $subjects[$lang] : $subjects['en']; } // 2. CONTENT LOGIC: UPDATED TRACKING BANNER add_action('woocommerce_email_before_order_table', 'ares_omega_tracking_update_logic_v401', 20, 4); function ares_omega_tracking_update_logic_v401($order, $sent_to_admin, $plain_text, $email) { if (isset($email->id) && $email->id === 'ast_updated_tracking' && is_a($order, 'WC_Order')) { $lang = ares_omega_master_detector($order); $tracking_number = ''; $tracking_url = ''; if (class_exists('WC_Advanced_Shipment_Tracking_Actions')) { $ast_instance = WC_Advanced_Shipment_Tracking_Actions::get_instance(); if (method_exists($ast_instance, 'get_tracking_items')) { $tracking_items = $ast_instance->get_tracking_items($order->get_id()); if (!empty($tracking_items) && is_array($tracking_items)) { $last_item = end($tracking_items); $tracking_number = isset($last_item['tracking_number']) ? $last_item['tracking_number'] : ''; $tracking_url = isset($last_item['formatted_tracking_link']) ? $last_item['formatted_tracking_link'] : ''; } } } $dictionary = array( 'fr' => array('h' => 'SUIVI MIS À JOUR', 'm' => 'Les informations de suivi de votre colis ont été mises à jour. Cliquez ci-dessous pour suivre votre envoi.', 't' => 'SUIVI :'), 'en' => array('h' => 'TRACKING UPDATED', 'm' => 'Your shipment tracking information has been updated. Click below to track your package.', 't' => 'TRACKING:'), 'es' => array('h' => 'SEGUIMIENTO ACTUALIZADO', 'm' => 'Se ha actualizado la información de seguimiento. Pulse abajo para seguir su paquete.', 't' => 'SEGUIMIENTO:'), 'de' => array('h' => 'TRACKING AKTUALISIERT', 'm' => 'Ihre Tracking-Informationen wurden aktualisiert. Klicken Sie unten, um Ihr Paket zu verfolgen.', 't' => 'TRACKING:'), 'pl' => array('h' => 'ŚLEDZENIE ZAKTUALIZOWANE', 'm' => 'Twoje informacje o śledzeniu przesyłki zostały zaktualizowane.', 't' => 'ŚLEDZENIE:'), 'it' => array('h' => 'TRACKING AGGIORNATO', 'm' => 'Le informazioni di tracciamento sono state aggiornate.', 't' => 'TRACKING:'), 'tr' => array('h' => 'TAKİP GÜNCELLENDİ', 'm' => 'Takip bilgileriniz güncellendi.', 't' => 'TAKİP:'), 'ar' => array('h' => 'تم تحديث التتبع', 'm' => 'تم تحديث معلومات التتبع الخاصة بك.', 't' => 'التتبع:'), 'pt' => array('h' => 'RASTREIO ATUALIZADO', 'm' => 'As informações de rastreio foram atualizadas.', 't' => 'RASTREIO:'), 'nl' => array('h' => 'TRACKING BIJGEWERKT', 'm' => 'Je trackinginformatie is bijgewerkt.', 't' => 'TRACKING:'), 'sv' => array('h' => 'SPÅRNING UPPDATERAD', 'm' => 'Din spårningsinformation har uppdaterats.', 't' => 'SPÅRNING:'), 'da' => array('h' => 'TRACKING OPDATERET', 'm' => 'Dine sporingsoplysninger er blevet opdateret.', 't' => 'TRACKING:'), 'fi' => array('h' => 'SEURANTA PÄIVITETTY', 'm' => 'Seurantatietosi on päivitetty.', 't' => 'SEURANTA:'), 'no' => array('h' => 'SPORING OPPDATERT', 'm' => 'Sporingsinformasjonen din har blitt oppdatert.', 't' => 'SPORING:'), 'hu' => array('h' => 'NYOMKÖVETÉS FRISSÍTVE', 'm' => 'A nyomkövetési adatok frissültek.', 't' => 'NYOMKÖVETÉS:'), 'ro' => array('h' => 'URMĂRIRE ACTUALIZATĂ', 'm' => 'Informațiile de urmărire au fost actualizate.', 't' => 'TRACKING:'), 'cs' => array('h' => 'SLEDOVÁNÍ AKTUALIZOVÁNO', 'm' => 'Informace o sledování byly aktualizovány.', 't' => 'SLEDOVÁNÍ:'), 'el' => array('h' => 'ΕΝΗΜΕΡΩΣΗ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ', 'm' => 'Οι πληροφορίες παρακολούθησης ενημερώθηκαν.', 't' => 'TRACKING:') ); $res = isset($dictionary[$lang]) ? $dictionary[$lang] : $dictionary['en']; $alignment = ($lang === 'ar') ? 'right' : 'left'; echo '
'; echo '' . $res['h'] . ''; echo '

' . $res['m'] . '

'; if (!empty($tracking_number)) { echo '
'; echo $res['t'] . ' '.esc_html($tracking_number).''; echo '
'; } echo '
'; } } /** * CHAPTER K: COMPLETED ORDER ENGINE V41.1 */ // 1. SUBJECT FILTER: CUSTOMER COMPLETED ORDER add_filter('woocommerce_email_subject_customer_completed_order', 'ares_completed_subject_v411', 10, 2); function ares_completed_subject_v411($subject, $order) { $lang = is_a($order, 'WC_Order') ? ares_omega_master_detector($order) : 'en'; $subjects = array( 'fr' => 'Votre commande AresMaxima a été expédiée', 'en' => 'Your AresMaxima order has been shipped', 'es' => 'Su pedido de AresMaxima ha sido enviado', 'de' => 'Ihre AresMaxima-Bestellung wurde versandt', 'pl' => 'Twoje zamówienie AresMaxima zostało wysłane', 'it' => 'Il tuo ordine AresMaxima è stato spedito', 'tr' => 'AresMaxima siparişiniz gönderildi', 'ar' => 'تم شحن طلب AresMaxima الخاص بك', 'sv' => 'Din AresMaxima-beställning har skickats', 'nl' => 'Je AresMaxima-bestelling is verzonden', 'pt' => 'A sua encomenda AresMaxima foi enviada', 'da' => 'Din AresMaxima-ordre er blevet afsendt', 'fi' => 'AresMaxima-tilauksesi on lähetetty', 'no' => 'Din AresMaxima-ordre har blitt sendt', 'hu' => 'Az AresMaxima rendelését feladtuk', 'ro' => 'Comanda dumneavoastră AresMaxima a fost expediată', 'cs' => 'Vaše objednávka AresMaxima byla odeslána', 'el' => 'Η παραγγελία σας στην AresMaxima απεστάλη' ); return isset($subjects[$lang]) ? $subjects[$lang] : $subjects['en']; } // 2. CONTENT BANNER LOGIC add_action( 'woocommerce_email_before_order_table', 'ares_omega_completed_banner_v411', 10, 4 ); function ares_omega_completed_banner_v411($order, $sent_to_admin, $plain_text, $email) { if (isset($email->id) && $email->id === 'customer_completed_order' && is_a($order, 'WC_Order')) { $lang = ares_omega_master_detector($order); $ship_data = array( 'fr' => array('h' => 'COMMANDE EXPÉDIÉE', 'm' => 'Votre colis a été remis au transporteur. Vous trouverez votre numéro de suivi ci-dessous.'), 'en' => array('h' => 'ORDER SHIPPED', 'm' => 'Your package has been handed over to the carrier. You will find your tracking number below.'), 'es' => array('h' => 'PEDIDO ENVIADO', 'm' => 'Su paquete ha sido entregado al transportista. Encontrará su número de seguimiento a continuación.'), 'de' => array('h' => 'BESTELLUNG VERSANDT', 'm' => 'Ihr Paket wurde dem Versanddienstleister übergeben. Ihre Sendungsnummer finden Sie unten.'), 'pl' => array('h' => 'ZAMÓWIENIE WYSŁANE', 'm' => 'Twoja paczka została przekazana przewoźnikowi. Numer śledzenia znajdziesz poniżej.'), 'it' => array('h' => 'ORDINE SPEDITO', 'm' => 'Il tuo pacco è stato consegnato al corriere. Troverai il tuo numero di tracking qui sotto.'), 'tr' => array('h' => 'SİPARİŞ GÖNDERİLDİ', 'm' => 'Paketiniz kargo firmasına teslim edilmiştir. Takip numaranızı aşağıda bulabilirsiniz.'), 'ar' => array('h' => 'تم شحن الطلب', 'm' => 'تم تسليم طردك إلى شركة الشحن. ستجد رقم التتبع الخاص بك أدناه.'), 'sv' => array('h' => 'ORDER SKICKAD', 'm' => 'Ditt paket har lämnats över till transportören. Du hittar ditt spårningsnummer nedan.'), 'nl' => array('h' => 'BESTELLING VERZONDEN', 'm' => 'Uw pakket is overgedragen aan de vervoerder. U vindt uw trackingnummer hieronder.'), 'pt' => array('h' => 'ENCOMENDA ENVIADA', 'm' => 'A sua encomenda foi entregue à transportadora. Encontrará o seu número de rastreio abaixo.'), 'da' => array('h' => 'ORDRE AFSENDT', 'm' => 'Din pakke er blevet overdraget til fragtfirmaet. Du finder dit trackingnummer nedenfor.'), 'fi' => array('h' => 'TILAUS LÄHETETTY', 'm' => 'Pakettisi on luovutettu kuljetusliikkeelle. Löydät seurantanumerosi alta.'), 'no' => array('h' => 'ORDRE SENDT', 'm' => 'Pakken din er overlevert till transportøren. Du finner sporingsnummeret ditt nedenfor.'), 'hu' => array('h' => 'RENDELÉS FELADVA', 'm' => 'Csomagját átadtuk a szállítónak. A követési számot alább találja.'), 'ro' => array('h' => 'COMANDĂ EXPEDIATĂ', 'm' => 'Coletul dumneavoastră a fost predat curierului. Veți găsi numărul de urmărire mai jos.'), 'cs' => array('h' => 'OBJEDNÁVKA ODESLÁNA', 'm' => 'Vaše zásilka byla předána přepravci. Své sledovací číslo naleznete níže.'), 'el' => array('h' => 'Η ΠΑΡΑΓΓΕΛΙΑ ΑΠΕΣΤΑΛΗ', 'm' => 'Η παραγγελία σας παραδόθηκε στον μεταφορέα. Θα βρείτε τον αριθμό παρακολούθησης παρακάτω.') ); $res = isset($ship_data[$lang]) ? $ship_data[$lang] : $ship_data['en']; $align = ($lang === 'ar') ? 'right' : 'left'; echo '
'; echo '' . $res['h'] . ''; echo '' . $res['m'] . '
'; } } /** * CHAPTER L: FINAL CURRENCY ARCHITECTURE (V2030) */ add_filter('woocommerce_currency', 'ares_omega_currency_lock_v2030', 99999); function ares_omega_currency_lock_v2030($currency) { $host = isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : ''; if (!$host) return $currency; if (strpos($host, 'de.') === 0) return 'EUR'; if (strpos($host, 'es.') === 0) return 'EUR'; if (strpos($host, 'it.') === 0) return 'EUR'; if (strpos($host, 'pt.') === 0) return 'EUR'; if (strpos($host, 'fi.') === 0) return 'EUR'; if (strpos($host, 'el.') === 0) return 'EUR'; if (strpos($host, 'da.') === 0) return 'EUR'; if (strpos($host, 'hu.') === 0) return 'EUR'; if (strpos($host, 'nl.') === 0) return 'EUR'; if ($host === 'aresmaxima.com' || $host === 'www.aresmaxima.com') return 'EUR'; if (strpos($host, 'gb.') === 0) return 'GBP'; if (strpos($host, 'pl.') === 0) return 'PLN'; if (strpos($host, 'ch.') === 0) return 'CHF'; if (strpos($host, 'ja.') === 0) return 'JPY'; if (strpos($host, 'no.') === 0) return 'NOK'; if (strpos($host, 'sv.') === 0) return 'SEK'; if (strpos($host, 'uk.') === 0) return 'UAH'; if (strpos($host, 'us.') === 0) return 'USD'; if (strpos($host, 'en.') === 0) return 'USD'; if (strpos($host, 'ar.') === 0) return 'USD'; if (strpos($host, 'iw.') === 0) return 'USD'; if (strpos($host, 'he.') === 0) return 'USD'; if (strpos($host, 'id.') === 0) return 'USD'; if (strpos($host, 'tr.') === 0) return 'USD'; return 'USD'; } add_filter('woocommerce_currency_symbol', 'ares_omega_sync_symbol_v2030', 9999, 2); function ares_omega_sync_symbol_v2030($symbol, $currency) { $forced_currency = ares_omega_currency_lock_v2030($currency); $symbols = array('EUR'=>'€', 'USD'=>'$', 'GBP'=>'£', 'PLN'=>'zł', 'CHF'=>'CHF', 'JPY'=>'¥', 'NOK'=>'kr', 'SEK'=>'kr', 'UAH'=>'₴'); return isset($symbols[$forced_currency]) ? $symbols[$forced_currency] : $symbol; } /** * CHAPTER M: GMC IDENTITY & SCHEMA LOCK (V2030) */ add_filter('woocommerce_structured_data_product', 'ares_omega_gmc_schema_lock_v2030', 99, 2); function ares_omega_gmc_schema_lock_v2030($markup, $product) { $markup['brand'] = array( '@type' => 'Brand', 'name' => 'Ares Maxima' ); $markup['manufacturer'] = 'Ares Maxima'; $ua = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; $is_google = (strpos($ua, 'Googlebot') !== false || strpos($ua, 'Mediapartners-Google') !== false || strpos($ua, 'AdsBot-Google') !== false); if ($is_google) { if (function_exists('ares_omega_currency_lock_v2030')) { $forced_cur = ares_omega_currency_lock_v2030(get_woocommerce_currency()); if (isset($markup['offers']['priceCurrency'])) { $markup['offers']['priceCurrency'] = $forced_cur; } elseif (isset($markup['offers'][0])) { foreach ($markup['offers'] as $key => $offer) { $markup['offers'][$key]['priceCurrency'] = $forced_cur; } } } $bad = array('fusil', 'arme', 'munition', 'weapon', 'gun', 'semi-automatique', 'automatique'); $good = 'equipment'; if (isset($markup['description'])) { $markup['description'] = str_ireplace($bad, $good, $markup['description']); } if (isset($markup['name'])) { $markup['name'] = str_ireplace($bad, $good, $markup['name']); } } return $markup; }