谷歌翻译设置默认语言

Posted

技术标签:

【中文标题】谷歌翻译设置默认语言【英文标题】:Google Translate set default language 【发布时间】:2010-12-18 22:10:12 【问题描述】:

也许这有一个我忽略的明显解决方案,但我似乎无法找到正确的参数来实现这一点。 在网站上使用 Google 翻译小部件时,我需要设置用户在进入该网站时看到的默认语言,即使该网站是英文的。

function googleTranslateElementInit() 
    new google.translate.TranslateElement(
       pageLanguage: 'en'
    , 'google_translate_element');

我尝试添加: defaultLanguage: 'fr' 并尝试: targetLanguage: 'fr'

我确实找到了一些不错的 jQuery 解决方案,但如果它很容易解决,我不想绕过它。

【问题讨论】:

您能分享一下 jquery 的工作解决方案吗? 刚刚得到这个工作$($('span:contains("Select Language")')[1]).html('English') 【参考方案1】:

根据乔希的回答:https://***.com/a/12063697/4298115

在 vanilla JS 中实现此目的的一个简单函数:

var language = window.navigator.userLanguage || window.navigator.language;
window.location.replace(`/#googtrans($language)`);

然后您可以通过更改浏览器的语言环境进行测试:https://***.com/a/64948204/4298115

【讨论】:

【参考方案2】:

JS中可以这样设置cookie

function setCookie(key, value, expiry) 
  var expires = new Date();
  expires.setTime(expires.getTime() + (expiry * 24 * 60 * 60 * 1000));
  document.cookie = key + '=' + value + ';expires=' + expires.toUTCString();

并按以下方式调用。

function googleTranslateElementInit() 
    setCookie('googtrans', '/en/pt',1);
    new google.translate.TranslateElement(
       pageLanguage: 'en'
    , 'google_translate_element');

【讨论】:

感谢您提供此解决方案。真的有帮助。这也可用于自定义谷歌翻译下拉菜单。【参考方案3】:

在网址中可以放置两种语言。

https://translate.google.com/#no/en/Hello

这会将单词挪威语翻译成英语

https://translate.google.com/#first country code/second one/Hello

【讨论】:

【参考方案4】:

转到您的主题文件夹,然后转到您添加的 function.php

// set the default language translation to potugese
set cookie('googtrans', '/en/pt');

在文件末尾。

【讨论】:

【参考方案5】:

我的想法是先设置会话。并检查会话计数器是否为 1。 然后添加 javascript 以根据需要设置和更改下拉语言。

例子:

function set_default_language () 
        session_start();
        if (!isset($_SESSION['views']))  
            $_SESSION['views'] = 0;
        

        $_SESSION['views'] = $_SESSION['views']+1;
        if ( $_SESSION['views'] == 1 )  ?> 
        <script type="text/javascript">

            var select = document.querySelector('select.notranslate');
            select.value    = "en|id";
            select.dispatchEvent(new Event('change'));
        </script>
        <?php    
        
     add_action( 'wp_footer', 'set_default_language');

【讨论】:

或者对于跨浏览器使用 jquery 代替。 function set_default_language () session_start(); if (!isset($_SESSION['views'])) $_SESSION['views'] = 0; $_SESSION['views'] = $_SESSION['views']+ if ( $_SESSION['views'] == 1 ) ?&gt; <script type="text/javascript"> jQuery(document).ready( function($) $('select.notranslate').val('en|id').trigger('change'); ); </script><?php add_action('wp_footer', 'set_default_language'); ?>【参考方案6】:

使用下面的 php 代码重定向带有 'googtrans' 标签的当前页面。

if(!isset($_GET['gt'])) 
  header("Location: ".$_SERVER['REQUEST_URI']."&gt=1#googtrans(en)");
  die(); 

“en”代表英语。

【讨论】:

这可能会破坏您的 WordPress 网站,请不要在 function.php 中这样做【参考方案7】:

看起来 jQuery / Javascript 是这里的方法,除非您的用户将他们的浏览器偏好设置为不同的语言。引用the google groups discussion:

翻译元素通过翻译(默认)上的内容来工作 您的页面到最终用户的浏览器设置的任何语言。 他们可以选择不同的语言,但没有办法 使用该元素自动将页面翻译成给定的 所有访问者的语言。

【讨论】:

【参考方案8】:

我们可以设置谷歌翻译默认语言 通过使用 cookie 第一次使用谷歌翻译来翻译你的网页 然后看看他创建了哪些cookies (为此右键单击您的网页,然后单击页面信息 然后安全,然后查看 cookie 并单击 googtrans,您会看到他正在使用的翻译是什么,路径是什么,域名或主机名是什么) 并将所有数据放入 setcookies 函数中

例子

 setcookie(“googtrans”, “/en/ja”, time()+3600, “/”, “www.example.com”);

//setcookie(“googtrans”, “en/ja”);
setcookie(“googtrans”, “/en/en”, time()+3600, “/”, “.example.com”);

【讨论】:

【参考方案9】:

在查询字符串末尾添加#googtrans(xx) 也会自动为您翻译页面,类似于自己设置cookie(其中xx 是语言代码,例如fr 表示法语)。

【讨论】:

这应该是公认的答案。我做了另一个答案,展示了如何完成和测试。 这有点帮助,但不应该是公认的答案。相反,它应该是一个完整的答案。 How to Answer【参考方案10】:

这不是如何使用 jQuery 完成任务的直接答案,但希望对您有所帮助。谷歌翻译使用名为“googtrans”的 cookie 来跟踪选择的语言。您可以在页面加载之前自行设置该 cookie,Google 翻译会使用它。

// PHP code sample, could be accomplished with any language that can set cookies
// set the default language translation to Portugese
setcookie('googtrans', '/en/pt');

【讨论】:

以上是关于谷歌翻译设置默认语言的主要内容,如果未能解决你的问题,请参考以下文章

谷歌在线翻译怎么用?

谷歌翻译在线翻译

谷歌在线翻译

WPS翻译公式之谷歌翻译公式

WPS翻译公式之谷歌翻译公式

WPS翻译公式之谷歌翻译公式