انظر إلى الزر:
لن أتفاجأ إذا كانت المشكلة موجودة في جميع تلميحات الأدوات.
لقد واجهت نفس المشكلة.
نظرة سريعة على Discourse تظهر أن escape يُستخدم على تسمية الزر والعنوان والمحتوى.
ماذا يعني escape:
في سياق نصي، تبدو هذه كلها أحرف صالحة للاستخدام.
أتساءل، هل هذا مطلوب هنا؟
أعتقد أن HTML غير المميز بـ htmlSafe سيتم الهروب منه بواسطة القالب؟ ![]()
قد يكون الإصلاح هو استبدال علامة الاقتباس البرمجية بعلامة الاقتباس الفرنسية الفعلية.
استخدم: ’
لا تستخدم: '
هذا الرمز غير موجود في لوحات مفاتيح QWERTY الأمريكية ولا يوجد أيضًا في لوحات AZERTY القديمة ولكنه موجود في كلتا لوحتي المفاتيح الفرنسيتين الجديدتين AFNOR (الجمعية الفرنسية للتوحيد القياسي)، سواء كانت AZERTY الجديدة أو BÉPO.
لن يؤدي ذلك إلى إصلاح المشكلة الأعمق المتمثلة في عدم الهروب من علامة الاقتباس البرمجية بشكل صحيح، ولكن علامة الاقتباس الفرنسية الحقيقية هي الصحيحة للاستخدام ويجب أن تكون هي التي يستخدمها معظم المتحدثين بالفرنسية في الكتابة بمجرد أن يكون غالبية منهم على لوحات المفاتيح القياسية.
لم يتم توحيد لوحة مفاتيح AZERTY القديمة فعليًا من قبل أي هيئة رسمية.
واجهت نفس المشكلة في Discourse 3.4.1…
لا يمكنني استبدال كل علامات الاقتباس المفردة (') على الموقع. هل لديك أي اقتراحات؟
لقد قمت للتو بإصلاح هذه المشكلة ببعض التعليمات البرمجية المخصصة، واستبدل ' بـ ’ في I18n.translations
withPluginApi("0.8.18", (api) => {
const locale = I18n.currentLocale();
function replaceSingleQuotes(obj) {
if (typeof obj === 'string') {
// Split the string into HTML tags and non-tag parts
return obj.split(/(<[^>]+>)/g).map(segment => {
// If the segment is an HTML tag, do not replace anything
if (segment.startsWith('<') && segment.endsWith('>')) {
return segment;
} else {
// Replace single quotes only in non-HTML parts
return segment.replace(/'/g, '’');
}
}).join('');
} else if (typeof obj === 'object' && obj !== null) {
// Recursively process object properties
for (const key in obj) {
obj[key] = replaceSingleQuotes(obj[key]);
}
}
return obj;
}
if (I18n.translations[locale].js) {
I18n.translations[locale].js = replaceSingleQuotes(I18n.translations[locale].js);
}
});
تم إصلاح هذا الآن باتباع هذا الالتزام: FIX: user tips in languages with apostrophes by pmusaraj · Pull Request #34118 · discourse/discourse · GitHub
شكرا على التقرير!
تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم يعد يُسمح بالردود الجديدة.