Vedi il pulsante:
Non mi sorprenderei se il problema fosse presente in tutte le descrizioni comandi.
Vedi il pulsante:
Non mi sorprenderei se il problema fosse presente in tutte le descrizioni comandi.
Mi sono imbattuto nello stesso problema.
Una rapida occhiata a Discourse mostra che escape viene utilizzato sull’etichetta del pulsante, sul titolo e sul contenuto.
Cos’è escape:
In un contesto di testo, questi sembrano tutti caratteri validi da utilizzare.
Mi chiedo, è necessario qui?
Credo che l’html non contrassegnato con htmlSafe verrà escapato dal template? ![]()
Una soluzione potrebbe essere sostituire l’apostrofo di programmazione con l’apostrofo francese vero e proprio.
Usa: ’
Non: '
Questo simbolo non esiste sulle tastiere US QWERTY e non esiste nemmeno su quelle AZERTY più vecchie, ma esiste su entrambe le nuove tastiere francesi standard AFNOR (Association française de normalisation), sia nuove AZERTY che BÉPO.
Non risolverebbe il problema più profondo che l’apostrofo programmatico non viene correttamente escapato, ma l’apostrofo francese vero è quello corretto da usare e dovrebbe essere quello che la maggior parte dei parlanti francesi userà nella digitazione una volta che la maggioranza di loro sarà su tastiere standard.
La vecchia AZERTY non è mai stata effettivamente standardizzata da alcun organismo ufficiale.
Ho lo stesso problema su Discourse 3.4.1…
Non posso assolutamente sostituire tutti gli apostrofi sul sito web. Avete suggerimenti?
Ho appena risolto questo problema con del codice personalizzato, sostituisci ' con ’ 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);
}
});
Dovrebbe essere risolto ora in seguito a questo commit: FIX: user tips in languages with apostrophes by pmusaraj · Pull Request #34118 · discourse/discourse · GitHub
Grazie per la segnalazione!
Questo argomento è stato chiuso automaticamente dopo 3 giorni. Non sono più consentite nuove risposte.