مرحبًا،
هذا الموضوع مستند إلى نقاش نُشر على 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
هل يمكن لأحد تأكيد ما إذا كانت هذه لا تزال مشكلة معروفة، وما إذا كان هناك إصلاح أحدث أو موضوع ذو صلة بها؟
شكرًا!
