Siehe den Button:
Es würde mich nicht überraschen, wenn das Problem in allen Tooltips vorhanden wäre.
Siehe den Button:
Es würde mich nicht überraschen, wenn das Problem in allen Tooltips vorhanden wäre.
Ich bin auf dasselbe Problem gestoßen.
Ein kurzer Blick auf Discourse zeigt, dass escape für die Beschriftung, den Titel und den Inhalt der Schaltfläche verwendet wird.
Was bedeutet escape:
In einem Textkontext scheinen dies alles gültige Zeichen zu sein.
Ich frage mich, ob es hier erforderlich ist?
Ich glaube, HTML, das nicht mit htmlSafe gekennzeichnet ist, wird vom Template escaped? ![]()
Eine Lösung könnte darin bestehen, das programmatische Apostroph durch das tatsächliche französische Apostroph zu ersetzen.
Verwenden Sie: ’
Nicht: '
Dieses Zeichen existiert nicht auf US-QWERTY-Tastaturen und auch nicht auf älteren AZERTY-Tastaturen, aber es existiert auf beiden neuen AFNOR (Association française de normalisation) Standard-Französisch-Tastaturen, entweder neues AZERTY oder BÉPO.
Dies würde nicht das tiefere Problem beheben, dass das programmatische Apostroph nicht korrekt maskiert ist, aber das echte französische Apostroph ist das richtige und sollte von den meisten französischen Sprechern verwendet werden, sobald die Mehrheit von ihnen Standardtastaturen verwendet.
Das alte AZERTY wurde nie von einer offiziellen Stelle standardisiert.
Got same issue on Discourse 3.4.1 …
Ich kann unmöglich alle ' auf der Website ersetzen. Haben Sie Vorschläge?
Ich habe dieses Problem gerade mit benutzerdefiniertem Code behoben, ersetze ' durch ’ in 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);
}
});
Dies sollte jetzt nach diesem Commit behoben sein: FIX: user tips in languages with apostrophes by pmusaraj · Pull Request #34118 · discourse/discourse · GitHub
Danke für den Bericht!
Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr zulässig.