Rich Text
Sie können Markup in Zeichenfolgen einbetten, z. B:
import { defineMessages } from '@jutro/locale';
export default defineMessages({
boldItalics: {
id: 'appName.component.id.boldAndItalics',
defaultMessage:
'This text is <b>bolded</b>, and this text is <i>italicized</i>.',
},
});
Wenn Sie die Zeichenfolge dann tatsächlich verwenden, müssen Sie einen Übersetzerkontext verwenden und das Markup im zweiten Argument verarbeiten, etwa so:
import { useTranslator } from '@jutro/locale';
const translator = useTranslator();
translator(messages.boldItalics, {
b: (chunks) => <b>{chunks}</b>,
i: (chunks) => <i>{chunks}</i>,
});
Output:
This text is bolded, and this text is italicized.
Hinweis: Die Tags in der Zeichenfolge des Quelltextes sind willkürlich. Sie können allem in dem Übersetzungskontext zugeordnet werden.
Ähnlich verhält es sich mit einer Zeichenfolge wie dieser:
linkedText: {
id: 'appName.component.id.linkedText',
defaultMessage: 'View our privacy policy <a>here</a>'
}
Der Link kann wie folgt behandelt werden:
translator(
messages.linkedText,
{a: chunks => <a href="/privacyPolicy">{chunks}</a>}
)
Beachten Sie, dass in diesem Szenario die gesamte Zeichenfolge übersetzbar ist – die URL des Links jedoch nicht. (für den Fall, dass man sprachsensitive Links hat)