Vulcan/packages/vulcan-i18n/lib/modules/message.js

18 lines
545 B
JavaScript
Raw Normal View History

2017-06-01 11:49:32 +09:00
import React, { Component } from 'react';
import { intlShape } from './shape';
2017-06-01 11:49:32 +09:00
2018-06-10 12:15:18 +09:00
const FormattedMessage = ({ id, values, defaultMessage = '', html = false, className = '' }, { intl }) => {
const message = intl.formatMessage({ id, defaultMessage }, values);
2018-06-10 12:15:18 +09:00
const cssClass = `i18n-message ${className}`;
return html ?
2018-06-10 12:15:18 +09:00
<span className={cssClass} dangerouslySetInnerHTML={{__html: message}}/> :
<span className={cssClass}>{message}</span>;
};
2017-06-01 11:49:32 +09:00
FormattedMessage.contextTypes = {
intl: intlShape
};
2018-01-25 15:03:03 -06:00
export default FormattedMessage;