对于简单的HTML项目,我可以简单地参考这个链接。
https://www.w3schools.com/howto/howto_google_translate.asp
但是我正在尝试在react应用程序中实现。所以我无法在react应用程序中复制代码。
componentDidMount() {
googleTranslateElementInit(() => {
new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
});
const script = document.createElement("script");
script.src = "//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit";
script.async = true;
document.body.appendChild(script);
}
字符串
并返回呈现元素。
render() {
return (
<div id="google_translate_element"></div>
);
}
型
这是显示我的错误说谷歌,googleTranslateElementInit是没有定义.
如何在react应用中使用谷歌翻译?是否有任何npm包可以翻译整个网站?
谢谢
5条答案
按热度按时间mlmc2os51#
将google translate脚本移到项目的根目录
index.html
。但是,您应该将下面的代码保留在您想要的位置:
字符串
轻松解决问题。
4ioopgfo2#
将渲染更改为:
字符串
创建googleTranslateElementInit并使用window.google而不是google:
型
将componentDidMount更改为:
型
suzh9iv83#
对于那些在2021年,希望在谷歌决定改变实现方法之前的几年,这就是我解决它的方式。
将以下脚本添加到
public
目录中的index.html
文件中:字符串
然后,创建一个组件,导入到任何你想使用翻译插件的地方,用你选择的任何名称。我将使用
GoogleTranslate.jsx
来回答这个问题。在新创建的组件中,粘贴以下代码:
型
在您想要使用translate插件的任何地方导入组件。
如果这个解决方案对你有效,请投上一票,这样它就可以很容易地显示给其他搜索者。如果它不起作用,不要犹豫,留下评论
flvtvl504#
2023年底的答案。如果你想在React中使用Google翻译,使用TranslateElement。只要你附加了脚本和Google需要的元素,在哪里或何时将其添加到项目中就很重要。我用自定义钩子做了它:
字符串
你可以把钩子放在translate组件所在的位置。做更多的改进:你可以隐藏所有的Google组件,并自己处理cookie,确保你把googtranss的cookie修改为你在设置cookie时选择的语言:
型
使用它:
型
别忘了重新加载位置。
ma8fv8wu5#
转到公共文件夹> index.html
在主体标签中添加代码
字符串
创建组件
型
从“./Google Translate”导入Google Translate;
型