• vue3-ts-vite:Google 多语言调试 / 翻译


    一、实现目标

    二、代码实现

    2.1、项目vue3 - ts - vite
    2.2、index.html 引入文件
    1. <script>
    2. window.onload = function () {
    3. const script = document.createElement('SCRIPT')
    4. script.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit'
    5. script.onerror = () => {
    6. console.log('google load error')
    7. window.googleScriptLoadError = false
    8. }
    9. document.head.appendChild(script)
    10. }
    11. </script>
    2.3、src/views/translate/index.vue
    1. <template>
    2. <div class="container">
    3. <div id="google_translate_element" style="position:absolute;bottom:10px;right:10px;z-index:2000;opacity:0.7"></div>
    4. <div>google_translate_element</div>
    5. </div>
    6. </template>
    7. <script setup lang="ts" name="keepalive">
    8. const translate = () => {
    9. new google.translate.TranslateElement(
    10. {
    11. // pageLanguage: 'zh-CN',
    12. // 需要翻译的语言,比如你只需要翻译成英语,这里就只写en
    13. includedLanguages: 'en,zh-CN,hr,cs,da,nl,fr,de,el,iw,hu,ga,it,ja,ko,pt,ro,ru,sr,es',
    14. layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
    15. // 自动显示翻译横幅,就是翻译后顶部出现的那个
    16. autoDisplay: true,
    17. // 还有些其他参数
    18. },
    19. 'google_translate_element' // 触发元素的id
    20. );
    21. }
    22. setTimeout(()=>{
    23. translate()
    24. },3000)
    25. </script>
    26. <style scoped lang="less">
    27. </style>
    2.4、测试成功

    三、代码集成在一个页面

    1. <template>
    2. <div class="container">
    3. <div id="google_translate_element" style="position:absolute;bottom:10px;right:10px;z-index:2000;opacity:0.7"></div>
    4. <div>google_translate_element</div>
    5. </div>
    6. </template>
    7. <script setup lang="ts" name="keepalive">
    8. // 加载script
    9. const loadScript = () => {
    10. let script = document.createElement('script')
    11. script.setAttribute("language", "javascript")
    12. script.setAttribute("type", "text/javascript")
    13. script.setAttribute("src", 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit')
    14. document.getElementsByTagName('head')[0].appendChild(script)
    15. script.onload = script.onreadystatechange = ((res:any)=>{
    16. check()
    17. })
    18. }
    19. loadScript()
    20. // 检测是否获取到google
    21. const check = () => {
    22. console.log("10", google.translate.TranslateElement)
    23. if(!google.translate.TranslateElement){
    24. setTimeout(()=>{
    25. check()
    26. }, 200)
    27. } else {
    28. translate()
    29. }
    30. }
    31. // 翻译
    32. const translate = () => {
    33. new google.translate.TranslateElement(
    34. {
    35. // pageLanguage: 'zh-CN',
    36. // 需要翻译的语言,比如你只需要翻译成英语,这里就只写en
    37. includedLanguages: 'en,zh-CN,hr,cs,da,nl,fr,de,el,iw,hu,ga,it,ja,ko,pt,ro,ru,sr,es',
    38. layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
    39. // 自动显示翻译横幅,就是翻译后顶部出现的那个
    40. autoDisplay: true,
    41. // 还有些其他参数
    42. },
    43. 'google_translate_element' // 触发元素的id
    44. )
    45. }
    46. </script>
    47. <style scoped lang="less">
    48. </style>

    四、过程记录

    必须科学上网,否则访问不到依赖文件

    https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit

    五、参考连接

    翻译:网站整站翻译 / 网站国际化 / 极简实现_自动翻译网站的代码-CSDN博客

    js获取浏览器默认语言设置_js如何获取谷歌首选语言信息-CSDN博客

    记录|给网站添加谷歌多语言翻译插件 - Jialezi `s blog

    利用Google翻译实现网站国际化——js插件 - 灰信网(软件开发博客聚合)

    网页嵌入谷歌翻译js插件 - 代码先锋网

  • 相关阅读:
    EasyExcel 官网观看建议
    Jmeter压测入门教程
    Linux常用工具集
    web自动化jenkins+git+allure
    前端系列——CSS
    Visual Studio Code (VS Code)安装教程
    你在前端有做过哪些性能优化
    GoFrame Goland插件
    呼叫中心和电话营销系统相关知识--中继线路
    为什么建议主键整型自增?
  • 原文地址:https://blog.csdn.net/snowball_li/article/details/133254343