Sendgrid-nodejs: كيفية استخدام إصدارات القوالب لدعم اللغات المتعددة

تم إنشاؤها على ٢٧ مايو ٢٠١٨  ·  33تعليقات  ·  مصدر: sendgrid/sendgrid-nodejs

image

لذلك يبدو أنه يمكنني إرسال بريد إلكتروني مختلف مكتوب بلغة مختلفة لكل عميل (الترجمة) وفقًا للمستندات ، ولكن كيف يمكنني فعل ذلك بالضبط؟
تقول أنني بحاجة إلى التنشيط والتغيير من خلال واجهة برمجة التطبيقات ، لكنني لم أستطع معرفة كيفية تحقيق ذلك.
أو هل أحتاج إلى استخدام البدائل وإرسال حزم الرسائل من الواجهة الخلفية لدينا؟
سيكون موضع تقدير أي مساعدة!

تفاصيل تقنية:

  • إصدار sendgrid-nodejs: رئيسي (الالتزام الأخير: [13af4a6])
  • إصدار Node.js: 6.12.3
unknown or a waiting for feedback question

التعليق الأكثر فائدة

thinkingserious mega +1 لهذه الميزة - نحتاج أيضًا إلى هذه الميزة ، بالنسبة لنا ، حالة الاستخدام مختلفة بعض الشيء ، نريد تفريغ إنشاء / صيانة القوالب لموظفي التسويق لدينا ، فقط هؤلاء الأشخاص ليسوا مبرمجين ، لذلك نحن بحاجة إلى قوالب WYSIWYG بسيطة لكل لغة. سيكون وجود إصدار واحد منفصل لكل لغة هو الحل لمشكلتنا.

سيكون ما يلي أفضل:

1 - القدرة على تعيين إصدار افتراضي (في حالة عدم تحديد إصدار ، أو توفير إصدار غير صالح ، فإن الإصدار الافتراضي سيحل محلها)
2 - لديك فقط معلمة إضافية في واجهة برمجة تطبيقات POST /mail/send لإضافة إصدار

لدينا نظام أساسي به أكثر من 12 لغة والعد (نعم نحن نحب التحدي) لذلك نحن بحاجة إلى أشخاص تسويق معينين للغات مختلفة ، فهم لا يرمزون إلى قوالب بسيطة. أيضًا ، نخطط للحصول على عدد هائل من المستخدمين ، لذلك أولاً تعيين القالب المطلوب إلى نشط ، ثم إرسال بريد إلكتروني سيؤدي إلى مشاكل التزامن حيث سيتم اختيار قوالب خاطئة.

شكرا جزيلا،

ال 33 كومينتر

مرحبا @ ifndefdeadmau5 ،

هنا وثائق API على هذه الميزة. إليك كيفية استخدام SDK هذا لإجراء استدعاء API.

أتمنى أن يساعد ذلك!

مع أحر تحياتي،

إلمر

شكرا لرجوعك إلي

ما زلت لا أستطيع معرفة كيفية استخدام "تنشيط إصدار قالب معين" في الواقع.
كنت أفكر في سيناريو أن لدي نسختين من النموذج مكتوب بأكثر من لغتين ، ربما الإنجليزية والإسبانية ، أو أيًا كان.

بعد ذلك ، أقوم بإرسال رسالة إلى واجهة برمجة التطبيقات (API) مع إصدارات معينة للقوالب تتطابق مع لغة المستخدم

export function sendSendGridEmail()
{
  sgMail.setApiKey(config.get('sendgrid.API_KEY'));
  sgMail.setSubstitutionWrappers('{{', '}}');
  const msg = {
    to: '[email protected]',
    from: '[email protected]',
    subject: 'Sending with SendGrid is Fun',
    text: 'and easy to do anywhere, even with Node.js',
    html: '<strong>and easy to do anywhere, even with Node.js</strong>',
    templateId: isUserLocaleEnglish ? ENGLISH_TEMPLATE_ID : SPANISH_TEMPLATE_ID, // This line!
    substitutions: {
      name: 'Some One',
      city: 'Denver',
    },
  };
  sgMail.send(msg);
}

لكن المثال أعلاه يتطلب نموذجين منفصلين ، وليس نموذجًا واحدًا لإصدار مختلف. مما قد يؤدي إلى إنشاء قوالب منفصلة ولكن المحتوى مرتبط.
ما الذي افتقده هنا؟ من فضلك نورني.
شكرا لك مرة أخرى ونتطلع إلى الاستماع منك!

مرحبا @ ifndefdeadmau5 ،

يمكن أن يكون لديك إصدارات متعددة لكل قالب. ثم يمكنك استخدام SDK لتنشيط إصدار معين.

أولاً ، يمكنك إنشاء إصدارات متعددة من النموذج الخاص بك. ثم تقوم بتنشيط الإصدار المطلوب قبل إجراء المكالمة أعلاه.

مع أحر تحياتي،

إلمر

صباح الخير @ Thinkingserious ،

شكرًا لك على ردك السريع ولم أتخيل مثل هذا العمل.
الآن أفهم كيفية القيام بذلك ، ولكن هناك سؤال واحد وهو لماذا لا يتم تنشيط جميع إصدارات القوالب في المرة الأولى ، ثم السماح للمستخدم باستخدامها دون عناء تنشيط / إلغاء تنشيط الأشياء؟

ما يقلقني هو ، ماذا لو قام أكثر من مستخدمين باستخدام لغات مختلفة ببعض الإجراءات في نفس الوقت (نفس الشيء تمامًا) ، لذلك يحتاج خادمنا إلى معالجة طلبين في نفس الوقت. ثم ما هو إصدار النموذج الذي سيتم تنشيطه؟

أدناه جزء من رمز الخادم الخاص بنا ، فقط لإعلامك بموقفي

export async function sendSendGridEmail() {
  const locale = 'ko';
  const isEnglishUser = locale === 'en';
  const PASSWORD_RESET_TEMPLATE_ID = '2096abb7-a9f8-413f-96a1-b9df0644b313';

  const { versions } = await getTemplate(PASSWORD_RESET_TEMPLATE_ID);
  const KO_VER = _.find(versions, { name: 'Korean' }).id;
  const EN_VER = _.find(versions, { name: 'English' }).id;

  await activateVersion(PASSWORD_RESET_TEMPLATE_ID, isEnglishUser ? EN_VER : KO_VER);

  sgMail.setSubstitutionWrappers('{{', '}}');
  const msg = {
    to: '[email protected]',
    from: '[email protected]',
    templateId: PASSWORD_RESET_TEMPLATE_ID,
    substitutions: {
      username: 'Test Username',
    },
  };
  sgMail.send(msg);
}

مرحبا @ ifndefdeadmau5 ،

هذا مصدر قلق صحيح.

يبدو أن ما تحتاجه حقًا هو نظام قوالبنا الجديد (التجريبي) . للانضمام إلى الإصدار التجريبي ، يرجى إرسال بريد إلكتروني إلى [email protected].

مع أحر تحياتي،

إلمر

مرحبا thinkingserious ،

طلبت عبر البريد الإلكتروني إلى [email protected]. شكر!

كنت أبحث أيضًا في قوالب المعاملات لمعرفة كيف يمكننا استخدام إصدارات القوالب لرسائل البريد الإلكتروني المختلفة الخاصة بالمنطقة المحلية.
أوافق ، يبدو من الغريب أن تضطر إلى تنشيط إصدار قالب معين قبل استخدامه. هذا ليس أفضل حل لبرنامج المعاملات العالية لدينا. أتوقع أن أكون قادرًا على تحديد الإصدار الذي سيتم استخدامه في طلب POST /mail/send .

هلا @ andyblack19
لا حاجة للإصدار مع القوالب الجديدة التي قدمناها. يجب أن ترى في حسابك خيارًا لنماذج "المعاملات". هناك يمكنك إنشاء قالب واحد يخدم العديد من اللغات. من المحتمل أن ترغب في إلقاء نظرة على المستندات هنا ومثال هنا .

لقد قرأت تلك الصفحة .. ولكن فاتني قسم اللغات المتعددة تمامًا! شكرا لمساعدتك

يبدو أن استخدام قوالب وضع "Design Editor" غير ممكن مع إستراتيجية المقاود المذكورة أعلاه. إذا أراد المرء الحصول على قوالب متعددة لحالات استخدام مختلفة مع لغتين مختلفتين على الأقل ، فهل من المفترض أن تنسخ لصق رمز القالب على كل قالب عند تغيير التخطيط العام؟ لماذا لا توجد طريقة للحصول على تنسيقات عالية المستوى قابلة للمشاركة؟

أيضا، يبدو أن لديك لتوطين موضوع البريد الإلكتروني في جانب الخادم، وليس في محتوى القالب حيث كنت تقوم بالفعل الجسم قالب لكل لغة؟ ليس من المنطقي فصل الموضوع والجسد بهذه الطريقة. أم أنني أغفلت شيئًا؟

مرحبا raine

يبدو أن استخدام قوالب وضع "Design Editor" غير ممكن مع إستراتيجية المقاود المذكورة أعلاه.

أنت تصحح أن التصميم المحدد لقالب اللغة الموجود هنا لم يكن مصممًا للعمل في وضع "محرر التصميم". لا يزال بإمكانك إنشاء شيء مشابه في "محرر التصميم" باستخدام وحدة التعليمات البرمجية.

إذا أراد المرء الحصول على قوالب متعددة لحالات استخدام مختلفة مع لغتين مختلفتين على الأقل ، فهل من المفترض أن تنسخ لصق رمز القالب على كل قالب عند تغيير التخطيط العام؟ لماذا لا توجد طريقة للحصول على تنسيقات عالية المستوى قابلة للمشاركة؟

هذا في الواقع شيء تم طرحه على مهندسينا. ما زلت أوصيك باستخدام زر التعليقات عند تسجيل الدخول إلى حسابك لإعلام مهندسينا بأن هذا مطلوب. كلما زاد عدد الأشخاص الذين يرسلون تعليقات من هذا القبيل ، زاد احتمال أن نرى تحسنًا من هذا القبيل. يعد زر الملاحظات أحد أفضل الطرق للحصول على تعليقات مباشرة لمهندسينا عندما يتعلق الأمر بأي شيء خارج مكتبات الأكواد. أنا شخصياً قدمت تصويتاً لشيء مشابه لما تبحث عنه.

أيضًا ، يبدو أنه يتعين عليك ترجمة موضوع البريد الإلكتروني على جانب الخادم ، بدلاً من محتوى القالب حيث تقوم بالفعل بتعيين نص القالب لكل لغة؟ ليس من المنطقي فصل الموضوع والجسد بهذه الطريقة. أم أنني أغفلت شيئًا؟

أعتقد أنك قد أغفلت شيئًا. أعلم من خلال اختباري الشخصي أن المقاود تعمل في تحديد موضوع القالب. على الرغم من أنني قد لا أفهم صياغتك بشكل صحيح. أعلم أن الموضوع لم يتم تصميمه بشكل مرئي لدعم هذا على الرغم من أنه من الأفضل إنشاء الكود والمحتوى في شيء مثل محرر النصوص ولصقه في حقل الموضوع بعد ذلك. هذا مجال آخر حيث يوصى باستخدام زر الملاحظات. لا تتردد في اقتراح ما تعتقد أنه أفضل طريقة للقيام بذلك.

يرجى تصحيح أي شيء أخطأت فيه وإعطائي مزيدًا من التفاصيل حتى أتمكن من فهمه بشكل أفضل.

كايل

كيف يعالج مثال اللغات المتعددة ترجمة سطر موضوع البريد الإلكتروني؟

تضمين التغريدة

في سطر الموضوع في النموذج ، ستستخدم شيئًا مثل هذا:

{{#if english}}
Hello
{{else if spanish}}
Hola
{{else if french}}
Bonjour
{{/if}}

أنت تستخدم أساسًا نفس البنية الموجودة في محتوى HTML. الرجاء إعلامنا إذا كان لديك المزيد من الأسئلة.

مرحبًا kylearoberts ، هل هناك طريقة للتحقق من القيمة المتغيرة في الشرط؟ لذا بدلاً من التحقق من متغيرات متعددة مثل english أو spanish ، سأفحص فقط ما إذا كان المتغير language يساوي en أو es . لا يحدث هذا فرقًا كبيرًا في القالب نفسه ، ولكنه يحدث في الخلفية حيث يتعين علي ترجمة متغير رمز اللغة إلى متغير مُسمى بشكل خاص في بيانات القالب الديناميكي.

لقد راجعت المقاود لفترة وجيزة ولا يبدو أنها تدعمها افتراضيًا. ولكن ربما يحتوي SendGrid على بعض المساعدين المخصصين.

تضمين التغريدة

شكرا على السؤال العظيم. كما هو الحال الآن ، لن يعمل النظام بهذه الطريقة ، ولكن من المحتمل أن يكون لدينا شيء في وقت لاحق سيسمح بشيء من هذا القبيل. عندما نقوم بإجراء مثل هذا التغيير ، من المحتمل أن نقوم بتحديث مستنداتنا وأمثلة لكيفية استخدام قوالب المعاملات.

مرحبا،
أستخدم حاليًا نظام القوالب الجديد لرسائل البريد الإلكتروني متعددة اللغات. المشكلة الرئيسية هي مجال الموضوع محدود الطول. في الأساس ، يكون محتوى موضوعي كما يلي:

{{#if english}}
مرحبا بلاه بلاه ...
{{else if spanish}}
مرحبا بلاه بلاه ...
{{else if french}}
مرحبا بلاه بلاه ...
{{/إذا}}

لكن هناك بعض المشاكل:

  1. لا يكفي طول حقل الموضوع لأكثر من بضع لغات. اضطررت إلى قطع النص وأسماء المتغيرات فقط للبقاء ضمن الحدود. لكن من الواضح أن هذا لن ينجح إذا اضطررنا إلى إضافة لغة جديدة.
  2. يعرض المحرر حقل سطر واحد لإدخال الموضوع وهو غير مناسب للعمل مع مواضيع القالب.
  3. يسعد حقل موضوع المحرر بقطع النص المدخل من اللصق. سيؤدي هذا إلى حدوث خطأ في النموذج لأن بناء الجملة سيكون خاطئًا بسبب إزالة كود البرمجة النصية للقالب

تضمين التغريدة

لقد واجهت نفس المشكلة مثلك. هذه أيضًا ليست المرة الأولى التي نسمع فيها هذا. نحن نحب تلقي ملاحظات كهذه لأنها تساعدنا في تحسين منتجاتنا. لقد حرصت على إرسال تعليقاتك إلى فريقنا الهندسي ويمكنني أن أخبرك أن هذا أحد المجالات التي يريدون تحسينها. عندما تتاح لهم فرصة العمل على التحسينات ، فمن المحتمل أن يكون هذا أحدهم. شكرا لك مرة أخرى على ردود الفعل.

thinkingserious +1 أحتاج ميزة الترجمة

thinkingserious ضخم +1 لهذه الميزة.
ميزة رائعة حقًا أن تكون قادرًا على التعامل مع جميع لغات البريد الإلكتروني في نفس القالب ولكن كما ذكر سابقًا ، فهي غير قابلة للاستخدام بسبب قيود الموضوع.

thinkingserious mega +1 لهذه الميزة - نحتاج أيضًا إلى هذه الميزة ، بالنسبة لنا ، حالة الاستخدام مختلفة بعض الشيء ، نريد تفريغ إنشاء / صيانة القوالب لموظفي التسويق لدينا ، فقط هؤلاء الأشخاص ليسوا مبرمجين ، لذلك نحن بحاجة إلى قوالب WYSIWYG بسيطة لكل لغة. سيكون وجود إصدار واحد منفصل لكل لغة هو الحل لمشكلتنا.

سيكون ما يلي أفضل:

1 - القدرة على تعيين إصدار افتراضي (في حالة عدم تحديد إصدار ، أو توفير إصدار غير صالح ، فإن الإصدار الافتراضي سيحل محلها)
2 - لديك فقط معلمة إضافية في واجهة برمجة تطبيقات POST /mail/send لإضافة إصدار

لدينا نظام أساسي به أكثر من 12 لغة والعد (نعم نحن نحب التحدي) لذلك نحن بحاجة إلى أشخاص تسويق معينين للغات مختلفة ، فهم لا يرمزون إلى قوالب بسيطة. أيضًا ، نخطط للحصول على عدد هائل من المستخدمين ، لذلك أولاً تعيين القالب المطلوب إلى نشط ، ثم إرسال بريد إلكتروني سيؤدي إلى مشاكل التزامن حيث سيتم اختيار قوالب خاطئة.

شكرا جزيلا،

يا كل من ساهم في هذه القضية!

نحن نجري بعض الأبحاث مع العملاء لمحاولة فهم أفضل السبل التي يمكننا بها حل مشكلة تعريب / ترجمة رسائل البريد الإلكتروني المرسلة باستخدام SendGrid. إذا كان لديك بعض الوقت الذي يمكنك توفيره ، فنحن نحب ملاحظاتك لأننا نفكر في كيفية بناء هذا بشكل صحيح!

إليك رابط التسجيل للحصول على فتحة للتحدث مع نفسي وفريقي حول كيفية تعاملك مع الترجمة والتعريب اليوم: https ://cal Friendly.com/travisterwilligar/sendgrid-research ؟month=

شكرا جزيلا على وقتك!

@ ben-Grid فحصت التقويم فقط ولكن الأوقات لا تعمل بالنسبة لي ، لذا سأقدم ملخصًا قصيرًا لما سيكون رائعًا.

لدينا نظام تجارة إلكترونية به حساب رمل وحساب إنتاج. وعندما نوافق على tempalte ، نقوم بتصديره واستيراده للإنتاج (وهذا أيضًا شيء سيكون ميزة رائعة ، وجود رمل وقوالب إنتاج مع خط أنابيب ترويج)

على أي حال ... لدينا حاليًا لغتان ، لكن المهمة الحالية هي الانتقال إلى 5 لغات. حاليا لدينا 11 قالب. ما نفعله الآن هو {{if lang.en}} مرحبًا {{else}} Hallo {{/ if}} فقط هذا لن يعمل مع 5 لغات (20 لغة في المستقبل القريب) لذلك سنقوم الآن بإنشاء قوالب منفصلة لكل لغة ، وإنشاء 55 نموذجًا بدلاً من 11. (فظيع)

ماذا سيكون عظيما!

الخيار 1:
أضف معلمة "version" إلى واجهة برمجة التطبيقات ، وأرسل الإصدار المقدم إلى. يمكننا الآن على الأقل إرسال نسخة محددة بلغة مكتوبة (يمكن أن تكون الإصدارات نسخة مترجمة من القالب ، أما النسخة الاحتياطية فستكون نشطة)

الخيار 2
أضف معلمات مترجمة إلى قالب. بهذه الطريقة يمكننا استخدام النموذج للغات متعددة من خلال ترجمة المعلمات فقط. عيب هذا النهج هو أن بعض تراكيب الجمل لا تعمل مع كل لغة ، لذلك ربما ترغب في الحصول على مزيد من المرونة

* الخيار 3 وحيد القرن مع الدموع الذهبية *
بشكل أساسي ، يكون لديك علامة تبويب ترجمة لكل وحدة تقوم بإسقاطها. لذلك عندما تقوم بإدراج وحدة مثل هذه
image سيكون لهذه الوحدة لغات متعددة. في الأساس نسخة من الأصل للغات مختلفة. يجب أن تكون قادرًا على تعيين لغة القالب (تعيين جميع الوحدات على لغات معينة بما في ذلك الموضوع والرأس المسبق) ربما وحدات التلوين باللون الأحمر إذا لم يتم ملؤها لتلك الوحدة بعد

فقط سنتان ، أود أن فقم بزيارتي على

reneweteling شكرًا جزيلاً ، هذا مفيد جدًا. نحن نعمل على نموذج أولي من المحتمل أن يكون أقرب إلى الخيارين 2 و 3 من 1. سأرسل إليك رسالة إلكترونية عندما يكون لدينا شيء يستحق الحصول على تعليقات عليه. شكرا مرة أخرى على المدخلات الخاصة بك!

reneweteling أعتقد أن الخيار 1 أو 2

@ ben-Grid و @ a-tonchev شكرًا على كل هذا العمل الشاق! على الرغم من أنه تم تبديل الوظائف بالنسبة لي ، لم يعد هذا مناسبًا بعد الآن. ثابر على العمل الجيد!

أي أخبار عن هذا؟ يعد تحديد طول الموضوع مشكلة بالنسبة لي مع الأخذ في الاعتبار أنني بحاجة إلى ترجمة سطر الموضوع أيضًا وأعتقد أنه مع المحرر الجديد يكون طول الموضوع أصغر ، ويمكن أن يكون لدي حوالي 110 حرفًا في سطر الموضوع.

IMO ، يبدو أن الحل الأكثر قابلية للتطبيق هو إنشاء جانب خادم النص بالكامل ، ثم مجرد إدخاله في القالب كفقرات مقسمة.

إذا كانت الشركة تدعم لغات متعددة ، فسيكون لدى موقعها الإلكتروني بالفعل حل لذلك يجب أن يكون جانب الخادم (لغات التحميل من XML / قاعدة البيانات). في رأيي ، يجب أيضًا تخزين نصوص أي رسائل بريد إلكتروني متعلقة بالمشروع نفسه في ملفات اللغة هذه.

يمكن بعد ذلك سحب الفقرات / النص الضروري من تلك الملفات اعتمادًا على لغة المستخدم ، ثم تمريرها كمتغيرات قالب إلى sendgrid. سيكون Sendgrid مجرد قالب شامل (مثل ، التذييل وما إلى ذلك - مجرد أنماط وصور) وحتى بعض الأنماط يجب الاحتفاظ بها في ملف اللغة نفسه - مثل الكلمات التي يجب أن تكون غامقة وما إلى ذلك.

لذلك سينتهي القالب بالشكل التالي: subject HelloLine welcomeparagraph helpparagraph footerslogan . وهذا كل شيء.

IMO ، يبدو أن الحل الأكثر قابلية للتطبيق هو إنشاء جانب خادم النص بالكامل ، ثم مجرد إدخاله في القالب كفقرات مقسمة.

إذا كانت الشركة تدعم لغات متعددة ، فسيكون لدى موقعها الإلكتروني بالفعل حل لذلك يجب أن يكون جانب الخادم (لغات التحميل من XML / قاعدة البيانات). في رأيي ، يجب أيضًا تخزين نصوص أي رسائل بريد إلكتروني متعلقة بالمشروع نفسه في ملفات اللغة هذه.

يمكن بعد ذلك سحب الفقرات / النص الضروري من تلك الملفات اعتمادًا على لغة المستخدم ، ثم تمريرها كمتغيرات قالب إلى sendgrid. سيكون Sendgrid مجرد قالب شامل (مثل ، التذييل وما إلى ذلك - مجرد أنماط وصور) وحتى بعض الأنماط يجب الاحتفاظ بها في ملف اللغة نفسه - مثل الكلمات التي يجب أن تكون غامقة وما إلى ذلك.

لذلك سينتهي القالب بالشكل التالي: subject HelloLine welcomeparagraph helpparagraph footerslogan . وهذا كل شيء.

هذا ليس قابلاً للإدارة لأنك تحتاج إلى إعادة نشر خدمة البريد لكل تغيير في كتابة النصوص. في بعض الشركات أيضًا ، لا يعد محتوى البريد مسؤولية المطورين ولكن التسويق / مؤلفي النصوص. ستحتاج إلى إعادة نشر واجهة مستخدم أخرى للسماح بتحرير ذلك ، لكننا ندفع لـ Sendgrid حتى مقابل ذلك.

في مشروع واحد ، نستخدم نظام إدارة المحتوى بدون رأس لتحرير وإنشاء قوالب بريد إلكتروني لكل لغة. يقرأ الخادم قوالب الشارب هذه في وقت التشغيل ويقوم بإنشاء نص البريد الإلكتروني لإرساله إلى Sendgrid. يعد تحرير نموذج Sendgrid عديم الفائدة تمامًا ، لذا قررنا المضي قدمًا في ذلك.

cecchisandrone أوافق على أن Sendgrid يمكن أن يكون أجمل. يحتاجون إلى إضافة إدارة لغة مناسبة وجعلها معلمة. ولكن كما قلت ، سوف تحتاج بعض المتغيرات التي نرسلها إليهم إلى أن تكون مترجمة على أي حال ، مثل تنسيقات التاريخ / الوقت على سبيل المثال.

كما ذكر @ corneliu-gavrilovici
بل إنه يستحق الآن. في تحديث حديث ، أصبح طول الموضوع أقصر. نحن نستخدم لغتين فقط في الوقت الحالي وكنا نفعل ذلك بالطريقة أدناه في حقل الموضوع:

{{#if english}}
Hello blah blah...
{{else if french}}
Hello blah blah...
{{/if}}

لا أفهم سبب تحديث هذا المنتج ، وهو منتج كان صالحًا للاستخدام بالنسبة لنا ، ولا يمكن استخدامه بعد الآن بسبب هذا الأمر. أنت تتحدث في وثائقك حول كيفية التعامل مع قالب متعدد اللغات ولكنه غير صالح للاستخدام بشكل صحيح. @ بن الشبكة
https://sendgrid.com/docs/for-developers/sending-email/using-handlebars/#multiple -languages

IMO ، يبدو أن الحل الأكثر قابلية للتطبيق هو إنشاء جانب خادم النص بالكامل ، ثم مجرد إدخاله في القالب كفقرات مقسمة.
...
يمكن بعد ذلك سحب الفقرات / النص الضروري من تلك الملفات اعتمادًا على لغة المستخدم ، ثم تمريرها كمتغيرات قالب إلى sendgrid. سيكون Sendgrid مجرد قالب شامل (مثل ، التذييل وما إلى ذلك - مجرد أنماط وصور) وحتى بعض الأنماط يجب الاحتفاظ بها في ملف اللغة نفسه - مثل الكلمات التي يجب أن تكون غامقة وما إلى ذلك.

لذلك سينتهي القالب بالشكل التالي: subject HelloLine welcomeparagraph helpparagraph footerslogan . وهذا كل شيء.
لقد فعلت ذلك في SalesForce باستخدام JS من جانب الخادم. كائن json موجود في القالب ولكنه يعمل على الخادم أثناء التجميع. إنه مشابه لوجود ميزة توطين حقيقية ولا يعتمد على منشورات التطوير التي لديك في بيئة إلكترونية.
أتطلع إلى رؤية ما توصل إليه فريق SG كما ذكر @ ben-Grid.

+1 ميزة الترجمة. إذا كان لدينا عدة لغات ، فستكون هناك فوضى مع العديد من اللغات الأخرى.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

danielflippance picture danielflippance  ·  4تعليقات

thidasapankaja picture thidasapankaja  ·  4تعليقات

Loriot-n picture Loriot-n  ·  4تعليقات

thinkingserious picture thinkingserious  ·  4تعليقات

nicoasp picture nicoasp  ·  3تعليقات