alibaba / alibaba/lowcode-engine

i18n 字符串中包含复杂的html标签,会导致文案解析失败

Offen
#1,964 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
later
Vorherrschende Sprache
TypeScript
Sterne
15.9k
Forks
2.7k
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

/**
* 用于处理国际化字符串
* @param {*} key 语料标识
* @param {*} values 字符串模版变量
* @param {*} locale 国际化标识,例如 zh-CN、en-US
* @param {*} messages 国际化语言包
*/
export function getI18n(key: string, values = {}, locale = 'zh-CN', messages: Record = {}) {
if (!messages || !messages[locale] || !messages[locale][key]) {
return '';
}
const formater = new IntlMessageFormat(messages[locale][key], locale);
return formater.format(values);
}

上面这个函数在解析
message="You have successfully claimed the coupon. You can visit the console to check the coupon status."
时会失败,导致文案无法显示

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne mit der Funktion getI18n und reproduziere den Fehler mithilfe der bereitgestellten Nachricht, die das komplexe Anchor-Tag enthält. Untersuche anschließend, wie IntlMessageFormat es parst. Als erledigt gilt die Aufgabe, wenn der internationalisierte Text für diese HTML-enthaltende Nachricht erfolgreich gerendert wird, ohne den Coupon-Link oder dessen angezeigten Wortlaut zu verlieren.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
typescript
Bereich
frontend, internationalization
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.