因此,我正在 Electron 中实现一个项目,并希望在其中实现国际化。我有一个简单的组件,它使用react-intl的 FormattedMessage 和一个messages.js包含其消息描述的文件。我尝试按照文档中的教程使用 提取国际化消息@formatjs/cli,但是,即使它似乎运行正确,npm 脚本似乎也没有返回任何内容,就像它没有找到任何消息一样。我的配置和文件如下所示:
.babelrc
{
"presets": ["react-app"],
"plugins": [
[
"react-intl",
{
"idInterpolationPattern": "[sha512:contenthash:base64:6]",
"extractFromFormatMessageCall": true,
"ast": true
}
]
]
}
Run Code Online (Sandbox Code Playgroud)
messages.js
import { defineMessage, defineMessages } from 'react-intl';
const scope = 'src.components.Test';
export default defineMessages({
info: {
id: `${scope}.info`,
defaultMessage: 'Info'
}
});
Run Code Online (Sandbox Code Playgroud)
package.json
...
"scripts": {
"serve": "react-scripts start",
"start": "SET DEBUG=true && electron .",
"lint": "eslint .",
"lint:fix": "eslint --fix .",
"build": "react-scripts build",
"test": "react-scripts …Run Code Online (Sandbox Code Playgroud)