问题标签 [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.
typescript - 使用 React Intl 和 Typescript 检查消息是否为空
我有一个使用 React Intl 和 TypeScript 的应用程序。
我想显示一个带有一些信息文本的框,并且我希望它仅在文本实际存在时才显示。
但我做不到
因为如果my.id
没有值,React Intl 将回退到消息 id,即my.id
.
所以我试图做的是
然而,info
是JSX.Element
,不是string
。
有没有办法做这样的事情?
javascript - 有没有办法使用 React-Intl 访问当前的语言环境?
我想知道是否有任何方法可以使用 React-Intl 访问当前设置的语言环境?
假设我创建了这个:
在 App 中,我想做这样的事情,以访问我传递给IntlProvider
有没有办法做这样的事情?
谢谢。
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> }}>
正确渲染。
有人有线索吗?
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_CN
在format = new (src$es5$$.bind.apply(FormatConstructor, [null].concat(args)))();
.
此刻,args
是["预览", "zh_CN", Object]
,cacheId
是"["预览","zh_CN",[]]"
,format
是undefined
有没有办法正确添加自定义语言环境数据
javascript - 使用 intl FormattedTime 无法在反应中将时间显示为字符串
我有这个代码:
这打印为:
我有一种感觉,这与 javascript 的关系比反应更大,但是......为什么它在一种情况下打印为 [object Object] 而在另一种情况下打印为正确的时间?
有没有办法让我的事件字符串具有正确的时间?
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:
javascript - react-intl - 访问嵌套消息
我正在尝试在react-intl
应用程序中使用包。该应用程序在服务器上呈现,因此我编写了一些代码来确定要使用和提供的语言IntlProvider
。
文件中提供了翻译messages.js
,它们看起来像这样:
我所做的是这样的:
然后,当我使用FormattedMessage
组件时,我无法使用如下anotherMessage
代码访问嵌套消息():
但是message
可以访问。
我犯了错误的任何想法,或者我在整个概念中遗漏了一些东西?
reactjs - 如何在 react-intl 中不包含 span 的情况下发送消息
我对 yahoo/react-intl 有疑问,我想以字符串类型制作消息,但是当我使用 FormattedMessage 时,它给了我用 span 包裹的消息,这并不酷。我尝试了 formatMessage ,但也没有用。我非常感谢任何帮助或建议这是我的代码:
intl - react-intl 复合消息
我正在努力找出构建消息的最佳方法,其中一个动态值也需要翻译。
例如,如果我有消息“输入西班牙语...”,我想在我的应用程序支持的所有语言的每个不同组合中使用此消息。
假设只支持 en/es 那么我需要一个可以输出以下组合的函数:
使用 3 种支持的语言,将有 9 种可能的组合等...
我能想到的唯一方法是按如下方式编写消息:
我有一种感觉,这不是最佳方式。或许在某些语言中,“English”这个词的独立形式在“Type in English...”这个短语的上下文中使用时是不一样的。
我想这是一个假设的问题,我对语言的了解还不够,无法知道这是否是一个问题。
上述编写消息的方法是否有效?
reactjs - 如何使用 EL 表达式处理/连接 react-intl 消息?
此代码有效:
例如:如果<MessageResource id="T_DUMMY_VALUE_KEY"/>
给出字符串患者
并${this.props.patCount}
给出10,那么标签将变成:
患者 (10)
但我的要求是将所有字符串处理放在标签属性中,如下所示:
这不起作用,并给我这样的输出:
[对象对象] (10)
请帮忙。