Skip to content

Instantly share code, notes, and snippets.

@l0gicgate
Last active April 21, 2016 19:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save l0gicgate/0f8c03e1b75fda2a3eb60743f008472a to your computer and use it in GitHub Desktop.
Save l0gicgate/0f8c03e1b75fda2a3eb60743f008472a to your computer and use it in GitHub Desktop.
{
"menu.item": "Menu Item",
"menu.item1": "Menu Item 1"
}
import React from 'react';
import { defineMessages } from 'react-intl';
import FormattedAnchor from './FormattedAnchor';
const messages = defineMessages({
menuItem: {
id: 'menu.item',
defaultMessage: 'Menu Item',
},
menuItem1: {
id: 'menu.item1',
defaultMessage: 'Menu Item 1',
},
});
class ExampleComponent extends React.Component {
render() {
return (
<div>
<FormattedAnchor msg={messages.menuItem} />
<FormattedAnchor href="some_page.html" msg={messages.menuItem1} target="_blank" />
</div>
);
}
}
export default ExampleComponent;
import React from 'react';
import { injectIntl } from 'react-intl';
const FormattedAnchor = (props) => {
const { formattedMessage } = this.props.intl;
return (
<a
title={formattedMessage(props.msg)}
{...props}
/>
);
};
export default injectIntl(FormattedAnchor);
{
"menu.item": "Item du Menu",
"menu.item1": "Item du Menu 1"
}
import React, { PropTypes } from 'react';
import ExampleComponent from './ExampleComponent';
import { addLocaleData, IntlProvider } from 'react-intl';
import enMessages from './en.json';
import enLocaleData from 'react-intl/locale-data/en';
addLocaleData(enLocaleData);
import frMessages from './fr.json';
import frLocaleData from 'react-intl/locale-data/fr';
addLocaleData(frLocaleData);
export class App extends React.Component {
render() {
return (
<IntlProvider locale="en" messages={enMessages}>
<ExampleComponent />
</IntlProvider>
);
}
}
export default App;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment