react-intl

Stats & Links

Existing edX use

What your code looks like

render() {
const {name, unreadCount} = this.state;

return (
<p>
<FormattedMessage
id="welcome"
defaultMessage={`Hello {name}, you have {unreadCount, number} {unreadCount, plural,
one {message}
other {messages}
}`}
values={{name: <b>{name}</b>, unreadCount}}
/>
</p>
);
}

react-intl Notes

i18next

Stats & Links

Existing edX use

What your code looks like

render() {
const {name, unreadCount} = this.state;

return (
<div>{t('simpleContent')}</div>
<Trans i18nKey="userMessagesUnread" count={unreadCount}>
Hello <strong title={t('nameTitle')}>{{name}}</strong>, you have {{unreadCount}} unread message. <Link to="/msgs">Go to messages</Link>.
</Trans>
);
}

i18next Notes

Facebook

Stats & Links

Existing edX use

What your code looks like

<fbt desc="param example">
Hello, <fbt:param name="name">
{person.getName()}</fbt:param>.
</fbt>

Facebook Notes

Handles dates, numbers, strings, plurals.  Some interesting functionality for pronouns.