首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调用formatMessage()从.json文件加载消息

如何调用formatMessage()从.json文件加载消息
EN

Stack Overflow用户
提问于 2017-05-17 01:01:28
回答 2查看 2.6K关注 0票数 3

我试图使用标准的formatMessage组件直接在comp /o之外调用<FormattedMessage../> () API。

代码语言:javascript
复制
const locale = 'en';
const messages= defineMessages({
    greeting: {
        id: 'app.greeting',
        message:"some message",
        defaultMessage: 'Hello,all',
        description: 'Greeting to welcome the user to the app',
    }
});
const { intl } = new IntlProvider({locale, messages}).getChildContext();
export function someFunc(key, values) {
   return intl.formatMessage({id:'greeting'});
}

上面是本地定义的静态消息,但是我有一个转换文件,en.json和ja.json全局存储,我想从这里加载消息。如何使用defineMessages来实现这一点,以便当我调用formatMessage()时,我应该能够看到来自resp文件的消息,这取决于所选的区域设置.想法很受欢迎!!谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-17 06:36:05

我不知道.json文件的格式,但是您可以重新格式化它们(如果需要的话),这样它们中的每个键至少都有iddefaultMessage (详细信息),并传递给defineMessages()函数。

代码语言:javascript
复制
import enMessages from 'path/to/en.json'
import jaMessages from 'path/to/ja.json'
const localeMessages = locale === 'en' ? enMessages : jaMessages

const messages= defineMessages(localeMessages);

...
const { intl } = new IntlProvider({locale, messages}).getChildContext();
intl.formatMessage({id:'greeting'});
票数 2
EN

Stack Overflow用户

发布于 2017-07-01 18:20:28

如果使用react-router npm包,则可以将IntlProvider组件(来自react-intl npm包)设置为路由定义中的主要路由。这意味着所有的翻译都作为道具传递给您的组件,也就是说,您可以使用this.props.messages.myMessage访问特定的消息。

代码语言:javascript
复制
import { IntlProvider, addLocaleData } from 'react-intl';
import en from 'react-intl/locale-data/en';

addLocaleData(en);
let locale = 'en-GB';
const messages = require("./i18n/" + locale + ".i18n.json");
const renderRoutes = ({ locale, messages }) => (
    <IntlProvider locale={locale} messages={messages}>
    ...
    </IntlProvider>
);
ReactDom.render((renderRoutes({ locale, messages })), this.container);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44013853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档