/* ==========================================================================
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 '
';
}
// --- 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 '
';
}
// --- 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 '
';
}
/**
* 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 '
';
}
}
/**
* 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 '