问题标签 [babel-plugin-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 回答
1411 浏览

react-intl - 使用 babel-plugin-react-intl 有什么好处?

我一直在努力学习和理解react-intl图书馆,我遇到了babel-plugin-react-intl图书馆。图书馆的页面上有这样的描述;

Extracts string messages for translation from modules that use React Intl.

我想知道将提取哪些字符串消息?

另外,提取消息有什么好处?

0 投票
1 回答
1036 浏览

react-intl - 如何使用 babel-loader 加载 babel-plugin-react-intl?

我最近使用 create-react-app 初始化了一个反应应用程序。我弹出了应用程序,现在我将所有文件都导出到了我的主目录。这个设置创建了一个 babel.dev.js 而不是使用 .babelrc(它使用 babel-loader)。

我试图弄清楚如何在没有 .babelrc 文件的情况下配置 react-intl 和 babel-plugin-react-intl 。

文档说 .babelrc 被推荐

通过 .babelrc(推荐)

.babelrc

使用 babel-loader 有这种行为的语法是什么?现在 babel.dev.js 中的插件看起来像这样:

我的组件目前的字符串定义如下:

0 投票
3 回答
3131 浏览

reactjs - 为什么 react-intl 的 defineMessages 在传入对象引用时会抛出错误?

我正试图react-intl从 Yahoo! i18n 项目,我遇到了一个奇怪的问题。我的目标是将基本字符串(英语)存储在组件之外的某种 JSON 文件中,以便非开发人员可以编辑它们。

这似乎是合乎逻辑的,我可以只import使用它们然后在组件中使用我需要的部分,但是defineMessages当我这样做时,该函数会导致错误。

编辑:问题似乎与babel-plugin-react-intl插件和“导出”默认字符串有关。该应用程序运行良好,但当npm run build命令运行时发生错误。

.babelrc:

网络包配置:

包.json:

有效的代码:

失败的代码:

尝试直接传递引用而不是对象时收到的错误消息:

0 投票
2 回答
8724 浏览

react-intl - 如何使用 React Intl 动态添加语言环境数据?

我正在使用 React-intl 来实现 UI Util 库的国际化。该库有一个名为 i18n 的文件夹,我在其中放置不同语言环境的 json 文件。如果该库的用户想要添加对其他语言环境的支持,他/她可以放置其他带有相应语言环境的键/值对的 json 文件。

但是 React-intl 需要在之前为各自的语言环境导入和添加LocaleData。例如,

有没有办法在 React-intl 中添加LocaleData 并动态导入相应语言环境的语言环境库?

0 投票
1 回答
70 浏览

javascript - yahoo/babel-plugin-react-intl 评估 .native.js 文件扩展名

yahoo/babel-plugin-react-intl插件是否应该能够评估 react-native 项目中扩展名为 .native.js 的文件?

当我控制台记录评估的文件时,我的项目中的所有 .jsx 和 .js 文件都被正确评估,但 .native.js 根本没有被评估。这些文件包含标准 JSX,当我将文件扩展名更改为 .js 时,它们会被正确评估。但是,由于我们当前的设置,我们希望保留扩展名 .native.js 而不是将它们更改为仅 .js

有没有人知道如何让这个插件工作,以便 .native.js 文件也将被评估?

0 投票
3 回答
8783 浏览

reactjs - React-intl 在 react 之外定义消息

我有 utils.js 文件。

我想使用https://github.com/yahoo/react-intl翻译这些文本 - [低、中、高、关键] 。所以我定义了消息

现在最后一步是什么?

如何将消息传递回函数?应该有formatMessage功能,但它只在反应上下文中。

0 投票
1 回答
1127 浏览

reactjs - 使用 Webpack 1 构建时从 react-intl 消息中呈现反斜杠

概括

当我使用 Webpack Dev Server 加载我的应用程序时,我的消息显示正常: \. nginx但是,当我将应用程序捆绑到磁盘并通过\\.

细节

我正在使用react-intl@2.2.3(此时最新)和babel-plugin-react-intl@2.3.1(此时最新)。我的目标是使用\字符定义默认消息并以任何方式呈现它(FormattedMessage,formatMessage等)

我正在使用 Webpack / Babel 捆绑我的应用程序。我的webpack.config.js文件中没有 Babel / react-intl 特定配置,但是我确实使用DefinePlugin设置process.env'development''production'

当我使用 Webpack Dev Server 加载我的应用程序时,我的消息显示正常:\. 但是,当我将应用程序捆绑到磁盘并通过 提供捆绑包时nginx,我看到我的反斜杠重复:\\. 我在这里有以下说明:https ://github.com/yahoo/babel-plugin-react-intl/issues/13#issuecomment-151944191关于使用 4 个\字符来显示最终\字符。

对于它的价值,我尝试过使用 JSX 字符串、JS 字符串、使用 1、2 和 4 个\字符,以及我能想到的任何其他愚蠢的组合。

非常感谢任何提示或建议。谢谢你。

代码示例

我如何定义消息的示例

我如何呈现消息的示例

另一个例子,它也不起作用

另一个失败的例子:

0 投票
1 回答
7521 浏览

javascript - 为 react/react-intl 动态导入语言 json 文件

这是我配置客户端以通过 react-intl 呈现正确语言的方式。

但是,我想根据 cookie 中的语言环境动态导入 localeData。因此,如果我的用户的语言环境是“en”,我只会加载 en.json 文件。

这样做的正确方法是什么?尝试创建一个函数,但我无法将数据正确传递给消息。

谢谢

0 投票
3 回答
31238 浏览

reactjs - intl.formatMessage 不起作用 - react-intl

我正在尝试使用react-intl. 当我使用它时<FormattedMessage id='importantNews' />,它运行良好。但是,当我将以下代码与 一起使用时intl.formatMessage(),它无法正常工作并引发一些错误。我不知道它有什么问题。

我的根组件是这样的,

有人可以帮我解决这个问题吗?提前致谢。

0 投票
1 回答
2582 浏览

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

此代码有效:

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

患者 (10)

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

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

[对象对象] (10)

请帮忙。