تواريخ التعليقات المضمنة لا تزال غير موضعية

مرحبًا،

هذا الموضوع مستند إلى نقاش نُشر على ask.discourse.com، حيث لاحظنا ما يبدو أنه نفس المشكلة المذكورة في موضوع ميتا الأقدم:

Embed: dates are not localized

نحن نستخدم إعدادات تعليقات Discourse المضمنة الافتراضية كما هو موثق هنا، دون أي تخصيص خاص لمخرجات التضمين:

Embed Discourse comments on another website via Javascript

جربت طريقة fullApp الجديدة، وقد أظهرت تواريخًا فنلندية، لكنني أفضل النهج الأقدم هنا لهذا الموقع.

ما نراه

واجهة مستخدم التعليقات المضمنة محلية بشكل صحيح، لكن نص تاريخ المنشور لا يزال يُعرض باللغة الإنجليزية.

على سبيل المثال، قد نرى في التضمين:

April 2025

ويحتوي تلميح الأداة/العنوان على تاريخ/وقت باللغة الإنجليزية مثل:

April 9, 2025, 3.31pm

السلوك المتوقع

يجب أن تتبع تواريخ التعليقات المضمنة إعدادات الموقع أو المستخدم المحلي بدلاً من الظهور دائمًا باللغة الإنجليزية.

في حالتنا، نتوقع تنسيقًا محليًا فنلنديًا للتواريخ في التضمين الافتراضي.

حل مؤقت غير نظيف

بمساعدة Claude، قمت بتنفيذ حل مؤقت غير نظيف باستخدام مكون مخصص وأضفت كود JavaScript إلى قسم embedded_header - كان لدي بالفعل بعض تنسيقات CSS بناءً على ما إذا كانت الفئة عادية (discourse-upotus) أو داكنة (discourse-upotus-tumma).

<script type="text/javascript">
const selector = '.discourse-upotus a.post-date, .discourse-upotus-tumma a.post-date';

document.querySelectorAll(selector).forEach(el => {
  const title = el.getAttribute('title');
  if (!title) return;

  const match = title.match(/(\w+) (\d+), (\d{4}),\s*([\d]+)\.([\d]+)(am|pm)/i);
  if (!match) return;

  const [, month, day, year, hours, minutes, ampm] = match;
  const date = new Date(`${month} ${day}, ${year}`);
  if (isNaN(date)) return;

  let h = parseInt(hours);
  if (ampm.toLowerCase() === 'pm' && h !== 12) h += 12;
  if (ampm.toLowerCase() === 'am' && h === 12) h = 0;
  date.setHours(h, parseInt(minutes));

  const pvm = date.toLocaleDateString('fi-FI', { day: 'numeric', month: 'long', year: 'numeric' });
  const klo = date.toLocaleTimeString('fi-FI', { hour: '2-digit', minute: '2-digit' });

  el.textContent = pvm;
  el.setAttribute('title', `${pvm} klo ${klo}`);
});
</script>

ملاحظات

  • تحدث هذه المشكلة مع التضمين القياسي/الافتراضي
  • لم يتم إضافة أي منطق مخصص لتنسيق التواريخ في الأصل
  • نحن نشير تحديدًا إلى مخرجات التواريخ داخل إطار التضمين المضمن للتعليقات
  • نستخدم أحدث إصدار من Discourse

هل يمكن لأحد تأكيد ما إذا كانت هذه لا تزال مشكلة معروفة، وما إذا كان هناك إصلاح أحدث أو موضوع ذو صلة بها؟

شكرًا!

إعجاب واحد (1)