alibaba / alibaba/lowcode-engine
i18n 字符串中包含复杂的html标签,会导致文案解析失败
- 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