it-swarm.com.de

Google Website Translator Automatischer Anzeigemodus

Ich versuche, Google Website-Übersetzer in meine Website aufzunehmen. Ich möchte die automatische Funktion verwenden, damit die Leiste angezeigt wird, wenn die Sprache Ihres Browsers von der Seitensprache abweicht. Jedes Mal, wenn ich den automatischen Anzeigemodus wähle, ist der von mir angegebene Code für 'Tabbed'. Kann mir jemand sagen, was ich falsch mache, oder den richtigen Code angeben? 

Danke im Voraus.

BEARBEITEN:

<div id="google_translate_element"></div>
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({pageLanguage: 'en', layout:     google.translate.TranslateElement.FloatPosition.TOP_LEFT},     'google_translate_element');
    }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
10
user2532030

Während ich versuchte herauszufinden, warum die AutoDisplay-Funktion nicht funktionierte, d. H. Das Übersetzungsmenü immer angezeigt wurde, fand ich den W3C Internationalization Checker: http://validator.w3.org/i18n-checker/

Der W3C Internationalization Checker hat mich darauf aufmerksam gemacht, dass die Accept-Header zurückgegeben wurden: Accept-Language: en-US, en; q = 0.8

Der von Google generierte Code, den ich ursprünglich in meine Website-Dateien eingefügt hatte, hatte nur einen Wert zum Überprüfen der Seitensprache. Aber ich habe es bearbeitet, siehe unten, und ein Array in den PageLanguage-Schlüssel übergeben, und ich denke, es funktioniert jetzt.

<div id="google_translate_element"></div>
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({pageLanguage: ['en', 'en-us'], autoDisplay: false, multilanguagePage: true, gaTrack: true, gaId: 'UA-403844-8'}, 'google_translate_element');
    }
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

Ich habe Tests so gut wie möglich durchgeführt, indem ich die Spracheinstellungen in Google Chrome geändert habe. Aber ich vertraue nicht völlig darauf, dass es funktioniert. Das Übersetzungsmenü sollte für alle angezeigt werden, die nicht über en oder en-US in ihren Browsern konfiguriert sind. Sie können das Array in einer beliebigen Sprache übergeben, um es entsprechend Ihren Anforderungen zu konfigurieren.

Wenn jemand Feedback dazu hat, würde ich es schätzen. Ich hoffe es hilft.

2
podoglyph

Ich habe hier ein anderes Beispiel gesehen: 

Bevorzugte Sprache des Nutzers und Google Translate automatisch erkennen

Dies hatte den Parameter autoDisplay: false,

Um nur die Übersetzungsleiste zu erhalten, wenn die Seitensprache nicht übereinstimmt, habe ich den Container gelöscht und autoDisplay verwendet: true,

Ich bekomme die Bar, wenn in einer anderen Sprache, aber kein Dropdown. 

2
gm-sb
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'id', includedLanguages: 'id', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
1
jeffrey

Lustig, dass Googles Code-Abruf für die automatische Übersetzungsfunktion des Übersetzers nicht funktioniert? Ich habe viele Wiederholungen in der Rincewind-Ebene Wizard ausprobiert, sie müssen das benutzerdefinierte Setup durchführen, aber standardmäßig wurde eine Tabbed-Funktion verwendet, die nicht zu meinem Website-Design passt.

Ändern Sie den Sprachcode für die Standardsprache Ihrer Website, in der die Leiste nicht angezeigt werden soll. Entfernen Sie das Tracking, wenn Sie es nicht verwenden.

<!-- <div id="google_translate_element"></div> -->
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({
        pageLanguage: 'en', 
        autoDisplay: true,
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE, 
        gaTrack: true, gaId: 'UA-xxxxxx-x'
        }, 'google_translate_element');
    }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
Fiasco Labs
<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', autoDisplay: false}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
user7491434

Um den Übersetzer nur anzuzeigen, wenn Ihre Seite von der Benutzerseite abweicht, lassen Sie sich serverseitig überprüfen und fügen Sie den Code nur bei Bedarf ein.

Siehe Browsersprache erhalten

Ihre URL ist falsch. Fügen Sie "http:" hinzu. Siehe Arbeitsbeispiel unten.

<div id="google_translate_element"></div>

<script type="text/javascript">

function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en',
    layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT},
    'google_translate_element');
}

</script>

<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
0
Dan Grahn