问题标签 [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.
json - babel v6 + react-intl v2 + webpack 将消息提取到文件
我想使用 Babel v6、react-intl v2 和 webpack 将源代码中的消息提取到 JSON 文件中。这一切都编译得很好,但没有提取任何东西。如何使 v2 的 react-intl 正确提取消息?
有一个选项messagesDir
:
我试过了:
.babel.rc
来自这里的新文件: https ://github.com/yahoo/babel-plugin-react-intl/issues/23 - 名称可能拼写错误,应该是.babelrc
.- 新文件
.babelrc
:
使用 webpack 配置
给出:“index.js:未知选项:/.babelrc.extra”作为错误消息。
我也尝试将上述extra
属性添加到上面的 webpack 配置中。它给出了一个非常相似的错误信息。
版本:
reactjs - 如何处理 React-Intl 消息的多次使用?
react-intl
我在文档(我正在使用分支)中找不到v2
关于这种用法的任何内容,因此出现了这个问题。以下用例是否有推荐的方法?
假设我有 2 个组件,Tooltip
并且Select
. 两者都需要相同的 i18n 格式字符串,例如:
如何在另一个组件中使用相同的消息?只需使用这个:
不起作用(不应该:))。那么,这样做的正确方法是什么?我是否必须在我的应用程序中全局保存这些共享消息?因为维护与代码分开的“共享”国际消息列表可能会变得很麻烦,而这正是react-intl
声称要解决的问题。
reactjs - 我可以在我的应用程序中使用 React-Intl 的内置名称来表示时间段吗?
假设我有一个这样的组件:
因为props.cycle
在我的示例中实际上是一个时间段,如day
, week
,month
等,所以在将其传递到 FormattedMessage 之前,我也需要翻译该文本。在翻译中进行这种翻译的正确方法是什么?
最好我能想出这个:
这是唯一的方法吗?
我看到在 node-js 包中react-intl
,在lib\locale-data\[lang].js
文件中,已经为day
、week
、month
等定义了值。有没有办法直接在我的应用程序中访问/使用这些字符串?
我正在v2
使用react-intl
.
reactjs - 如何在不使用 FormattedMessage 的情况下在 ReactIntl 2.0 中检索字符串
如果我错了,请纠正我,ReactIntl 中的 FormattedMessage 返回一个由 span 标签包裹的字符串。在 ReactIntl 1.2 中,我们可以选择this.getIntlMessage('key')
仅获取字符串部分。
这是我的问题:在 ReactIntl 2.0 中是否有等价物?我知道字符串可以通过使用 FormattedMessage 中的 Function-As-Child 模式作为
但是,它弄乱了我组件中的“引用”,我无法再使用该组件this.refs.mycomponent
。
javascript - 如何输出长日期时间格式,其中包括 timzone 与 moment-timezone 和 react-intl?
我有一些客户端代码使用react-intl以用户定义的语言和区域(文化/区域设置)显示货币、语言和日期时间值。除了这些要求之外,我还想在使用长日期和时间格式时显示时区缩写(例如2016 年 2 月 8 日,格林威治标准时间 15:02)。
为此,我尝试使用moment-timezone模块,它似乎在隔离中做正确的事情。但是,我发现在我使用react-intl的应用程序中,同一行代码会生成正确的数据,但日期时间格式错误。
预计时间:格林威治标准时间 2016 年 2 月 8 日 20:57
实际时间:格林威治标准时间 2016 年 2 月 8 日晚上 9:04
我的猜测是,这与我没有直接加载en-US local的事实有关,因为使用以下类型的代码作为react-intl库的一部分自动为我加载了时刻。
有关的:
reactjs - ReactJS:如何使用内部组件设置状态?
增加 used react-intl
,下面是测试:
我正在测试我的 reactJS 组件。
因为我用过react-intl
。我必须使用IntlProvider
它来渲染它。
如何设置状态Quotation
?
更新: 我使用:
得到Quotation
并setState
为此。
但又出现了一个错误:
https://github.com/yahoo/react-intl/issues/332#issuecomment-189394004
reactjs - React-intl 多语言应用程序:更改语言和翻译存储
我有 react-router 应用程序并想添加 i18n。在包装在 IntlProvider 中的 react-intl示例根组件中:
);
但是只有一种语言环境。如何更新应用程序以添加其他语言以及存储翻译的最佳方式是什么?
javascript - 使用 Yahoo 的 react-intl 使用 React.js 进行国际化
我正在尝试在 React.js 应用程序中支持不同的语言,并发现react-intl是一个很好的候选者。他们一直在过渡到 V2,但我很难弄清楚这一切是如何协同工作的。示例应用程序过于复杂,涉及客户端/服务器架构。我只想要一个没有服务器的页面。
看起来步骤是这样的:
react-intl
使用's定义消息defineMessage
- 使用添加语言环境
addLocaleData
- 使用构建脚本将扁平化消息数据构建到每个语言环境的文件中
我已经完成了这些步骤,但我不知道如何显示消息。我将我的 React 组件包裹在<IntlProvider>
. react-intl
V2 github问题真的很长,我一直在努力寻找答案。谁能提供一个简单的工作示例?
reactjs - 如何使用 react-intl v2 + webpack 加载语言环境文件?
我有一个设置来使用 webpack 来管理我的所有资产。它工作正常。现在我打算使用 react-intl version 2 来支持多种语言。
我设法使包'react-intl'中定义的组件工作,
但我无法弄清楚通过 webpack 加载语言环境文件并在组件中引用它们的正确方法是什么。由于该软件包最近进行了重大升级,因此也没有太多关于它的文档。wiki 页面现在是空的
https://github.com/yahoo/react-intl/wiki
我想知道这样做的正确方法是什么?