问题标签 [formatjs]

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 回答
1043 浏览

reactjs - 在项目上运行 formatjs extract 时没有返回消息。关于为什么的任何想法?

因此,我在 Electron 中实施了一个项目,并希望在其中实施国际化。我有一个简单的组件,它使用react-intlFormattedMessage 和一个messages.js包含其消息描述的文件。我尝试按照文档中的教程使用 提取国际化消息@formatjs/cli,但是,即使它似乎运行正确,npm 脚本似乎也没有返回任何内容,就像它没有找到任何消息一样。我的配置和文件如下所示:

.babelrc


messages.js


package.json

现在,每当我运行提取脚本 ( messages:extract) 时,我得到的只是一个空的 json 对象。如果我做错了什么,有什么想法吗?谢谢!

0 投票
1 回答
629 浏览

react-intl - FormatJS CLI 提取

我正在尝试设置 formatjs 以与使用 react-intl 的应用程序一起使用,并且在使用他们的 CLI 进行提取时遇到了问题。我目前有将组件嵌入其中的自定义组件FormattedMessage,例如:

<AppLabel title="section_title_name"/>

<AppLabel/>它里面有<FormattedMessage id={this.props.title}.../>可以为标签提供翻译的东西。

id如果它们不使用属性来保存要提取的字符串以进行翻译,我是否仍然可以为这些不同的组件名称设置提取?

0 投票
1 回答
1195 浏览

next.js - 如何使用模块联合将 i18n 实现到微前端应用程序中

对于在模块联合微前端 next.js 应用程序中实现 i18n,您有什么建议?

目前(刚刚开始)我react-intl通过在_app.tsx

然后从另一个微前端导入组件时,我将intl对象作为参数发送。

这样我就可以在微应用组件中使用它来格式化字符串。

这种方法的警告是我只能使用函数进行格式化,我不能使用 React DOM 标签,例如:

<FormattedMessage id="" />

我没有找到太多文档,所以不确定这是一个好方法。那些人知道或建议任何其他解决方案吗?

提前致谢!

0 投票
1 回答
314 浏览

reactjs - 如何将 React 应用程序中的文本提取到 json react-intl 翻译文件

所以我正在尝试使用 react-intl 为 React 应用程序添加语言支持。

该应用程序在 JSX 代码中有文本。

有没有工具可以扫描代码并为每个Text生成id并用生成的id替换文本?还是我必须手动完成?

0 投票
0 回答
27 浏览

formatjs - 如何给 intl-messageformat-parser 起别名?

我正在使用仅使用 Intl-messageformat 的 AST 并遇到此提示:如果您的消息都在 AST 中,您可以将 intl-messageformat-parser 别名为 {default: undefined} 以在捆绑期间节省一些字节。

任何建议如何实现这种别名?

谢谢。

0 投票
0 回答
31 浏览

react-intl - react-intl 作为 index.html 中的外部依赖项

我一直将formatjs react-intl其作为外部依赖项包含在这样的index.html文件中:

但从 5.13 版开始UMD不再提供构建。事实上,我在https://cdn.jsdelivr.net/npm/react-intl@5.13.0/ (及更高版本)上找不到任何有用的东西,可以包含在index.html. 我在 formatjs 文档中找不到任何关于如何继续进行的提示,或者即使原则上可行。

任何建议,将不胜感激。

0 投票
1 回答
288 浏览

javascript - 如何正确使用 intl.formatRelativeTime()

在我的 React 应用程序中,我必须显示创建 1 小时前或 1 天前的信息,以及 10 分钟前或 3 天前的复数形式。为了实现这一点,我正在尝试使用这个 API FormatJS并在特定的intl.formatRelativeTime()

到目前为止我尝试的是这样的

上面的结果是这样的

in 1,619,446,911,771 hours

不管是什么,它总是那么大,我不知道如何使它正确。

我想要的预期行为是,created 7 days ago如果我们有 1 小时 1 分钟 1 天和复数形式 2 小时 2 分钟 2 天,我会收到一条消息说相同。

0 投票
1 回答
80 浏览

internationalization - 如何使用 FormatJS CLI 保留翻译顺序?

提取消息时,它们在提取文件中根据其随机生成的 id 按字母顺序排序。有什么办法可以防止这种情况发生,并让它们以与它们在代码中出现的顺序完全相同的顺序排列?

例如现在:

通缉:

0 投票
0 回答
60 浏览

reactjs - i18n 与 React - 如何为特定语言环境创建 .json 文件?

因此,在我到目前为止所读的内容中,您似乎必须编写自己的 json 文件,这些文件对应于您的不同语言环境,以及这些翻译后的消息是什么样子的,键和它们的值是实际文本。

假设我有一个非常大的 Web 应用程序,并且想要开始将该野兽国际化的过程。是否有任何类型的自动过程可以为我“提取”这些字符串并为我的不同语言环境创建所述 json 文件,或者它将是一个完全手动的过程,我需要找到我拥有的所有字符串,手动翻译他们,并为该特定语言环境创建一个 json 文件?

谢谢!

0 投票
0 回答
16 浏览

javascript - 无法生成翻译文件 FormatJS

我无法生成翻译文件。有人可以帮忙吗?

当我跑的时候

输出lang/en.json只有{}.

由于我一直在关注文档,因此我无法完全弄清楚问题所在。我的文件结构如下:

提前致谢。