Reactjs Babel核心模块与Lingui不兼容

Reactjs Babel核心模块与Lingui不兼容,reactjs,translation,babeljs,linguijs,Reactjs,Translation,Babeljs,Linguijs,我对本地化我的react应用程序的概念是陌生的。在网上做了一些研究之后,似乎jsLingui是在我的React应用程序上使用和实现翻译的最佳库。根据来自的教程,一切看起来都很简单。但是当我运行命令时 $lingui extract,我得到错误: module.js:557 犯错误; 错误:找不到模块“babel core” 位于Function.Module.\u解析文件名(Module.js:555:15) 在Function.Module.\u load(Module.js:482:25)

我对本地化我的react应用程序的概念是陌生的。在网上做了一些研究之后,似乎jsLingui是在我的React应用程序上使用和实现翻译的最佳库。根据来自的教程,一切看起来都很简单。但是当我运行命令时

$lingui extract,我得到错误:

module.js:557 犯错误; 错误:找不到模块“babel core” 位于Function.Module.\u解析文件名(Module.js:555:15) 在Function.Module.\u load(Module.js:482:25)

我已经尝试重新安装巴贝尔核心,它显示已安装。即使在检查文件系统时,我也会将文件夹视为node_modules/babel core。 我还检查了我的package.json,我看到“babel core”:“^6.26.3”是我的devdependency的一部分。请围绕这方面的任何想法都会有所帮助

除此之外,迫在眉睫的问题,我还有几个问题,

1) 在文档中,我不确定将创建的.babelrc文件保存在哪里。我希望它应该是在我的巴别塔核心文件夹

2) 当我阅读jslingui库时,我发现,他们仍然在做一些有助于逐页进行单独翻译的工作。我不知道这项任务是否已经完成或仍在开发中,因为我对这项任务非常感兴趣,因为我的应用程序非常大,并且随时加载整个翻译可能会成为一个真正的问题

3) 如果我的应用程序的某个部分中的文本与我的应用程序的另一部分中的文本完全相同,是否可以在一个部分中写入文本,并在另一部分中调用id以返回信息??或者它超出了库的范围

4) 我正在构建一个社交平台,因此我有来自DB的信息,我不知道这些信息的内容,因此无法使用jslingui原样翻译这些信息。我想介绍一些对这些信息的翻译(类似于Facebook上正在发生的事情)。我知道这项任务需要一些自然语言处理和机器学习领域的人工智能。请问,我能用什么好的库来帮助我的应用程序只翻译提供给它的部分数据(肯定是来自数据库的信息)??。我试过用谷歌搜索这个,但我没有得到任何具体的结果(注意:我不想用谷歌翻译,因为它将有助于翻译整个页面+名称等),这将扰乱我的应用程序的用户体验

杰斯林吉 谢谢

我已经尝试重新安装巴贝尔核心,它显示已安装。即使在检查文件系统时,我也会将文件夹视为node_modules/babel core。我还检查了我的package.json,我看到“babel core”:“^6.26.3”是我的devdependency的一部分。请围绕这方面的任何想法都会有所帮助

如果您在全球范围内安装了
@lingui/cli
,请将其删除并在本地重新安装。如果您使用Babel 7(您的插件/预设以
@Babel/
开头),那么您需要安装
Babel core@^7.0.0-bridge.0
@Babel/core
。这两种方法都在本地作为DevDependence。在某些情况下也有帮助的是,将其关闭并再次打开:
rm-rf节点_模块
并重新安装所有组件

1) 在文档中,我不确定将创建的.babelrc文件保存在哪里。我希望它应该是在我的巴别塔核心文件夹

除非您有特殊需要,否则应该将其保存在存储库的根目录中(在
package.json
旁边)

2) 当我阅读jslingui库时,我发现,他们仍然在做一些有助于逐页进行单独翻译的工作。我不知道这项任务是否已经完成或仍在开发中

它仍然是。然而,它有点不同——它帮助您创建单独的消息文件,但不是自动创建的。这是我们需要在以后的版本中解决的问题

3) 如果我的应用程序的一个部分中的文本与我的应用程序的另一个部分中的文本完全相同,那么是否可以将其写入一个部分并调用另一个部分中的id以返回信息

你有两个选择。您正在使用生成的消息ID:

// App.js
<Trans>Hello World</Trans>

// Component.js uses the same message
<Trans>Hello World</Trans>
4) 我正在建立一个社交平台,因此我有来自DB的信息,我不知道这些信息的内容,因此不能像现在这样使用jslingui翻译这些信息

我不能推荐任何方法,但似乎你需要使用机器翻译。如果你能找到谷歌翻译或者更好的。我猜这不是低质量的,就是昂贵的,因为正如你所说的,这不是一件小事

// App.js - define message
<Trans id="msg.hello">Hello World</Trans>

// Component.js - use message
<Trans id="msg.hello" />