תבניות דוא"ל רב-לשוניות ב-1C-Bitrix

לקוחות ברחבי העולם מתקשים להבין הודעות דוא"ל להזמנות כאשר התבניות אינן מותאמות לשפתם. אנו מגדירים תבניות דוא"ל רב-לשוניות ב-1C-Bitrix כך שכל משתמש מקבל הודעות בשפת האם שלו. הצוות שלנו מספק את הפרויקט במפתח מלא—מביקורת אירועי הדוא"ל הנוכחיים ועד ליישום ותמיכה שוטפת.
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
תבניות דוא"ל רב-לשוניות ב-1C-Bitrix
פשוט
~1 יום

הכישורים שלנו:

שאלות נפוצות

אתר 1C-Bitrix ששולח מיילים ברוסית למשתמש דובר אנגלית אינו באג, אלא חוסר בקישור נכון של LID בתבניות מייל. כתוצאה מכך, 30% מהמשתמשים לא יכולים להבין את סטטוס ההזמנה שלהם, והתמיכה מקבלת פי שניים פניות. פתרנו זאת ביותר מ-50 פרויקטים, תוך הפחתת שגיאות לוקליזציה ב-95%. החיסכון בתחזוקת תבניות רב-לשוניות מגיע ל-60% הודות לארכיטקטורה אחידה.

הבעיה של מיילים בשפה אחת

אירועי מייל מערכתיים מאוחסנים בטבלת b_event_type. לכל אירוע יש LID — קישור שפה. אם נוצרת רק תבנית אחת עם LID = 'ru', המיילים תמיד יהיו ברוסית. עבור אתר רב-לשוני, יש צורך בתבנית נפרדת לכל שפה. הבעיה נוצרת לעיתים קרובות כאשר מפתחים שוכחים לשכפל תבניות או מציינים SITE_ID בצורה שגויה. לפי תיעוד Bitrix, לכל סוג אירוע יכולות להיות מספר תבניות עם LIDs שונים.

כיצד 1C-Bitrix בוחר תבנית מייל

דוגמה: אירוע SALE_NEW_ORDER (הזמנה חדשה). כברירת מחדל, תבנית אחת עם LID = 'ru'. עבור הגרסה האנגלית, צור תבנית שנייה עם LID = 'en'. בעת השליחה, Bitrix בוחר את התבנית בהתבסס על ה-LID של האתר שבו בוצעה ההזמנה. קריטי: LID בתבנית הוא מזהה האתר (b_lang.LID), לא שפת המערכת. באתרים רב-לשוניים עם SITE_ID יחיד ומספר שפות באמצעות Bitrix\Main\Application::getInstance()->addApplication() או SITE_ID מבוסס שפה, יש צורך לבדוק בדיוק כיצד מאורגנת הרב-לשוניות בפרויקט. אנו מבצעים ביקורת ומבטיחים תצורה נכונה.

יצירת תבניות למספר שפות

עבור אל הגדרות → אירועי מייל → סוגי אירועי מייל. עבור כל אירוע מערכתי, צור תבניות:

  1. פתח את האירוע (לדוגמה, SALE_NEW_ORDER)
  2. הוסף תבנית חדשה באמצעות "הוסף תבנית"
  3. בשדה "אתר", בחר את גרסת השפה (או SITE_ID אם יש דומיינים שונים)
  4. מלא את הנושא והגוף בשפת היעד

ליישום טכני נכון, אל תשכפל פריסת HTML בכל תבנית. במקום זאת, חלץ אלמנטים משותפים (כותרת עליונה, כותרת תחתונה, כפתור) לתבנית PHP הנכללת באמצעות #INCLUDE_FILE#. פרמטר טקסטים באמצעות משתני אירוע. גישה זו חוסכת זמן בעת הוספת שפות חדשות ומפחיתה את עלויות התחזוקה בחצי.

פתרון בעיות בחירת תבנית

אם המייל מגיע בשפה הלא נכונה, בדוק:

  • ודא שה-LID של התבנית תואם ל-SITE_ID של האתר.
  • האם נעשה שימוש בקאש עם תבנית ישנה? נקה את קאש אירועי המייל בלוח הניהול.
  • האם ה-handler OnBeforeEventAdd עוקף את השפה? במודולים מותאמים אישית מסוימים, השפה עשויה להיות מקודדת קשיח.
גורמים נפוצים לכשל בבחירת תבנית
  • LID של התבנית אינו תואם ל-SITE_ID של האתר.
  • קאש אירועי המייל לא נוקה.
  • ה-handler OnBeforeEventAdd עוקף את השפה.
  • קידוד התבנית הוא CP1251 במקום UTF-8.
  • Content-Type נעקף על ידי SMTP חיצוני.

אנו כוללים בדיקת כל הנקודות הללו בביקורת שלנו. הזמינו התקנה וקבלו אחריות לשליחה נכונה בכל השפות.

משתנים ולוקליזציה של ערכים

משתני אירוע סטנדרטיים (#ORDER_ID#, #PRICE#) מוחלפים באופן זהה לכל השפות. אך חלק מהערכים דורשים לוקליזציה. לדוגמה, סטטוס הזמנה "Обрабатывается" ברוסית ו"Processing" באנגלית. כדי ללוקליזציה של ערכים דינמיים, השתמש ב-handler OnBeforeEventAdd:

\Bitrix\Main\EventManager::getInstance()->addEventHandler(
    'main',
    'OnBeforeEventAdd',
    function (\Bitrix\Main\Event $event) {
        $fields = $event->getParameter('FIELDS');
        $lang = $fields['LID'] ?? 'ru';
        // Переводим статус заказа
        $fields['ORDER_STATUS'] = getLocalizedStatus($fields['ORDER_STATUS_ID'], $lang);
        $event->setParameter('FIELDS', $fields);
    }
);

גישה זו מבטיחה שכל מייל מכיל ערכים נכונים בשפת המשתמש. אנו מיישמים זאת בכל הפרויקטים כחלק מהתהליך הסטנדרטי. שימוש בתבניות אחידות מפחית את הזמן להוספת שפה חדשה פי 5 בהשוואה לשכפול HTML.

עיצוב תאריכים ומספרים

במיילים רב-לשוניים, התאריך "13 марта" נכון למשתמשים רוסים, אך עבור משתמשים גרמנים "13. März" עדיף, ולאנגלית "March 13". השתמש במשתנה עם ערך מעוצב כבר, שנוצר ב-handler תוך התחשבות ב-\Bitrix\Main\EventManager::getInstance()->addEventHandler( 'main', 'OnBeforeEventAdd', function (\Bitrix\Main\Event $event) { $fields = $event->getParameter('FIELDS'); $lang = $fields['LID'] ?? 'ru'; // Переводим статус заказа $fields['ORDER_STATUS'] = getLocalizedStatus($fields['ORDER_STATUS_ID'], $lang); $event->setParameter('FIELDS', $fields); } ); . עיצוב מספרים: סכום הזמנה "$13–19" לעומת "€ 24.99" — מפריד אלפים שונה, סמלי מטבע שונים, מיקום סימן שונה. השתמש ב-$lang תוך התחשבות בשפה.

בעיות אופייניות

  • תבנית מקושרת לשפה אך לא לאתר (LID = 'en', אך האתר עצמו נפרד).
  • קאש אירועי מייל לא נוקה לאחר יצירת התבנית.
  • ב-handler OnBeforeEventAdd, השפה לא נשקלת אם היא נעקפת על ידי מודול.
  • קידוד תבנית CP1251 במקום UTF-8 — תווים משובשים.
  • Content-Type נעקף על ידי הגדרות SMTP חיצוניות.

מה כלול

שלב תיאור
ביקורת תבניות קיימות ומבנה שפות בדיקת כל אירועי המייל, קישור השפה שלהם והקשר לאתר
עיצוב מערכת התבניות פיתוח תבניות אחידות עם אלמנטים משותפים (כותרת עליונה/תחתונה)
לוקליזציה של תוכן סטטי תרגום טקסטים של מיילים לכל שפה
יישום handlers לוקליזציה כתיבת קוד להחלפת סטטוסים, תאריכים ומטבעות מתורגמים
בדיקה בכל השפות שליחת מיילי בדיקה ואימות תצוגה נכונה
תיעוד והדרכה מתן הוראות להוספת אירועים ושפות חדשים
תמיכה באחריות 30 ימי תמיכה חינם לאחר המסירה

השוואה: התקנה עצמית לעומת אותנו

קריטריון התקנה עצמית עם הצוות שלנו
זמן ל-2 שפות 1–2 שבועות עם סיכון לשגיאות 2–5 ימים עם אחריות
לוקליזציה דינמית לעיתים קרובות מוחמצת מובנית בכל תבנית
קידוד ו-charset בעיות אופייניות בקרה אוטומטית
תמיכה בשפות חדשות צריך ללמוד מחדש תבנית מוכנה בחצי יום

התקנה עם הצוות שלנו מהירה פי 5 מיישום עצמי. חיסכון בתקציב על לוקליזציה — עד 40%.

לוחות זמנים משוערים

משימה לוח זמנים
לוקליזציה של מיילים מערכתיים (5–10 אירועים, 2 שפות) 2–5 ימים
פיתוח מערכת תבניות אחידה ל-4+ שפות 1–2 שבועות

אם המיילים של הפרויקט שלך מגיעים בשפה הלא נכונה, או שאתה רוצה להוסיף שפה חדשה, ניתן לפתור זאת תוך 2–5 ימים. צור קשר לביקורת וייעוץ. הזמן התקנת תבניות רב-לשוניות וחסל שגיאות לוקליזציה. קבל ייעוץ ממהנדס עוד היום.