繁体   English   中英

如何通过 html 或 javascript 在 chrome 中打开翻译对话框

[英]how to make open the translation dialog in chrome via html or javascript

问题是:是否有可能以更优雅的方式替换旧的“已弃用” https://translate.google.com/intl/en/about/website/

“我们不再提供对 Google Translate 网站翻译器的新访问。此更改不会影响网站翻译器的现有使用。我们鼓励希望翻译网页的用户使用支持本地翻译的浏览器。”

••• 此代码带来了“选择”旧样式(对于手机来说不是很好)

<div id="google_translate_element"></div>
<script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script type="text/javascript"> function googleTranslateElementInit() {  new google.translate.TranslateElement({pageLanguage: "en",multilanguagePage: true,layout: google.translate.TranslateElement.InlineLayout.SIMPLE,autoDisplay: false}, "google_translate_element");}</script>

问题是如何创建一个 html 按钮(或可点击的 img)来“要求”谷歌以某种语言打开翻译对话框??

我想要几个代表不同语言的标志,当用户点击西班牙语标志时,它会触发 chrome 询问用户他是否想用西班牙语翻译页面? 有没有 javascript 或 html5 的方式来做到这一点?

问候

答案很长,所以我做一个简短的总结

  1. 你需要一个谷歌 API 密钥和能够翻译(这里有一个谷歌分步教程: https : //neliosoftware.com/blog/how-to-generate-an-api-key-for-google-translate/

  2. 制作一个包含所需语言列表的数组,请参阅https://cloud.google.com/translate/docs/languages了解更多详细信息

  3. 使用此列表中的选项进行选择

  4. 在每个选项上附加一个触发 ajax 函数的 onclick 并将翻译后的文本返回到所需的 div

php 函数可能看起来像这样

$cgoog = 'https://translation.googleapis.com/language/translate/v2?target='.strtolower($langCode).'&key='.GOOGLE_API_KEY_PHP.'&q='.urlencode($text);

$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPGET,true);
curl_setopt($ch, CURLOPT_URL, $cgoog);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$execurl = curl_exec($ch);
$response = json_decode($execurl, true);

return $response['data']['translations'][0]['translatedText'] ?? '';

注意双?? 是 php 7 null 合并运算符(简而言之,它是 if !isset 或 else in 1 运算符...) https://www.php.net/manual/en/language.operators.comparison.php#language.operators。比较合并

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM