问题标签 [react-intl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1503 浏览

typescript - 使用 React Intl 和 Typescript 检查消息是否为空

我有一个使用 React Intl 和 TypeScript 的应用程序。

我想显示一个带有一些信息文本的框,并且我希望它在文本实际存在时才显示。

但我做不到

因为如果my.id没有值,React Intl 将回退到消息 id,即my.id.

所以我试图做的是

然而,infoJSX.Element,不是string

有没有办法做这样的事情?

0 投票
2 回答
20464 浏览

javascript - 有没有办法使用 React-Intl 访问当前的语言环境?

我想知道是否有任何方法可以使用 React-Intl 访问当前设置的语言环境?

假设我创建了这个:

在 App 中,我想做这样的事情,以访问我传递给IntlProvider

有没有办法做这样的事情?

谢谢。

0 投票
1 回答
1598 浏览

javascript - react-intl 将反应组件渲染为 formatMessage 中的占位符

我有一个组件,它使用injectIntl-HOC,并返回一条消息

我的语言文件如下所示:

这导致:You're going to be redirected automatically. If nothing happens, please click [object Object]

如果我改用<FormattedMessage id="page.checkout.hint" values={{ link: <b>{intl.formatMessage({ id: 'page.checkout.hint.hyperlink' })}</b> }}>正确渲染。

有人有线索吗?

0 投票
1 回答
1091 浏览

javascript - React-Intl:添加到 IntlMessageFormat 的区域设置数据缺少“pluralRuleFunction”

我最近在我的多页 React 应用程序中使用 React-Intl 进行国际化。

我编写了一个组件“IntlProviderWithLocal”来添加自定义语言环境。

但我得到错误:

Error formatting message: "publish.card.preview" for locale: "zh_CN", using default message as fallback

我在 中设置了一个 BreakPoint react-intl/lib/index.es.js,它显示了var formatter = state.getMessageFormat(message, locale, formats).

formats一个空数组。步进函数getMessageFormat

最后我Locale data added to IntlMessageFormat is missing a pluralRuleFunction for :zh_CNformat = new (src$es5$$.bind.apply(FormatConstructor, [null].concat(args)))();.

此刻,args["预览", "zh_CN", Object]cacheId"["预览","zh_CN",[]]"formatundefined

有没有办法正确添加自定义语言环境数据

0 投票
2 回答
181 浏览

javascript - 使用 intl FormattedTime 无法在反应中将时间显示为字符串

我有这个代码:

这打印为:

我有一种感觉,这与 javascript 的关系比反应更大,但是......为什么它在一种情况下打印为 [object Object] 而在另一种情况下打印为正确的时间?

有没有办法让我的事件字符串具有正确的时间?

0 投票
1 回答
86 浏览

javascript - Is there any way I can get the format of date based on locale?

I'm using Intl library in my javascript code, as below:

But I want something like "dd/mm/yyyy" as response:

0 投票
3 回答
8034 浏览

javascript - react-intl - 访问嵌套消息

我正在尝试在react-intl应用程序中使用包。该应用程序在服务器上呈现,因此我编写了一些代码来确定要使用和提供的语言IntlProvider

文件中提供了翻译messages.js,它们看起来像这样:

我所做的是这样的:

然后,当我使用FormattedMessage组件时,我无法使用如下anotherMessage代码访问嵌套消息():

但是message可以访问。

我犯了错误的任何想法,或者我在整个概念中遗漏了一些东西?

0 投票
3 回答
3855 浏览

reactjs - 如何在 react-intl 中不包含 span 的情况下发送消息

我对 yahoo/react-intl 有疑问,我想以字符串类型制作消息,但是当我使用 FormattedMessage 时,它​​给了我用 span 包裹的消息,这并不酷。我尝试了 formatMessage ,但也没有用。我非常感谢任何帮助或建议这是我的代码:

0 投票
0 回答
105 浏览

intl - react-intl 复合消息

我正在努力找出构建消息的最佳方法,其中一个动态值也需要翻译。

例如,如果我有消息“输入西班牙语...”,我想在我的应用程序支持的所有语言的每个不同组合中使用此消息。

假设只支持 en/es 那么我需要一个可以输出以下组合的函数:

使用 3 种支持的语言,将有 9 种可能的组合等...

我能想到的唯一方法是按如下方式编写消息:

我有一种感觉,这不是最佳方式。或许在某些语言中,“English”这个词的独立形式在“Type in English...”这个短语的上下文中使用时是不一样的。

我想这是一个假设的问题,我对语言的了解还不够,无法知道这是否是一个问题。

上述编写消息的方法是否有效?

0 投票
1 回答
2582 浏览

reactjs - 如何使用 EL 表达式处理/连接 react-intl 消息?

此代码有效:

例如:如果<MessageResource id="T_DUMMY_VALUE_KEY"/>给出字符串患者${this.props.patCount}给出10,那么标签将变成:

患者 (10)

但我的要求是将所有字符串处理放在标签属性中,如下所示:

这不起作用,并给我这样的输出:

[对象对象] (10)

请帮忙。