问题标签 [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.
reactjs - 在项目上运行 formatjs extract 时没有返回消息。关于为什么的任何想法?
因此,我在 Electron 中实施了一个项目,并希望在其中实施国际化。我有一个简单的组件,它使用react-intl
FormattedMessage 和一个messages.js
包含其消息描述的文件。我尝试按照文档中的教程使用 提取国际化消息@formatjs/cli
,但是,即使它似乎运行正确,npm 脚本似乎也没有返回任何内容,就像它没有找到任何消息一样。我的配置和文件如下所示:
.babelrc
messages.js
package.json
现在,每当我运行提取脚本 ( messages:extract
) 时,我得到的只是一个空的 json 对象。如果我做错了什么,有什么想法吗?谢谢!
react-intl - FormatJS CLI 提取
我正在尝试设置 formatjs 以与使用 react-intl 的应用程序一起使用,并且在使用他们的 CLI 进行提取时遇到了问题。我目前有将组件嵌入其中的自定义组件FormattedMessage
,例如:
<AppLabel title="section_title_name"/>
<AppLabel/>
它里面有<FormattedMessage id={this.props.title}.../>
可以为标签提供翻译的东西。
id
如果它们不使用属性来保存要提取的字符串以进行翻译,我是否仍然可以为这些不同的组件名称设置提取?
next.js - 如何使用模块联合将 i18n 实现到微前端应用程序中
对于在模块联合微前端 next.js 应用程序中实现 i18n,您有什么建议?
目前(刚刚开始)我react-intl
通过在_app.tsx
然后从另一个微前端导入组件时,我将intl
对象作为参数发送。
这样我就可以在微应用组件中使用它来格式化字符串。
这种方法的警告是我只能使用函数进行格式化,我不能使用 React DOM 标签,例如:
<FormattedMessage id="" />
我没有找到太多文档,所以不确定这是一个好方法。那些人知道或建议任何其他解决方案吗?
提前致谢!
reactjs - 如何将 React 应用程序中的文本提取到 json react-intl 翻译文件
所以我正在尝试使用 react-intl 为 React 应用程序添加语言支持。
该应用程序在 JSX 代码中有文本。
有没有工具可以扫描代码并为每个Text生成id并用生成的id替换文本?还是我必须手动完成?
formatjs - 如何给 intl-messageformat-parser 起别名?
我正在使用仅使用 Intl-messageformat 的 AST 并遇到此提示:如果您的消息都在 AST 中,您可以将 intl-messageformat-parser 别名为 {default: undefined} 以在捆绑期间节省一些字节。
任何建议如何实现这种别名?
谢谢。
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 文档中找不到任何关于如何继续进行的提示,或者即使原则上可行。
任何建议,将不胜感激。
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 天,我会收到一条消息说相同。
internationalization - 如何使用 FormatJS CLI 保留翻译顺序?
提取消息时,它们在提取文件中根据其随机生成的 id 按字母顺序排序。有什么办法可以防止这种情况发生,并让它们以与它们在代码中出现的顺序完全相同的顺序排列?
例如现在:
通缉:
reactjs - i18n 与 React - 如何为特定语言环境创建 .json 文件?
因此,在我到目前为止所读的内容中,您似乎必须编写自己的 json 文件,这些文件对应于您的不同语言环境,以及这些翻译后的消息是什么样子的,键和它们的值是实际文本。
假设我有一个非常大的 Web 应用程序,并且想要开始将该野兽国际化的过程。是否有任何类型的自动过程可以为我“提取”这些字符串并为我的不同语言环境创建所述 json 文件,或者它将是一个完全手动的过程,我需要找到我拥有的所有字符串,手动翻译他们,并为该特定语言环境创建一个 json 文件?
谢谢!
javascript - 无法生成翻译文件 FormatJS
我无法生成翻译文件。有人可以帮忙吗?
当我跑的时候
输出lang/en.json
只有{}
.
由于我一直在关注文档,因此我无法完全弄清楚问题所在。我的文件结构如下:
提前致谢。