Einbindung Google Translate in das Responsive/Bare Theme

Hallo,

ich habe eine ganze Weile versucht den Code für den Google Translate Button in eines der .TPL Files des Responsive bzw. Bare Themes einzufügen, hat aber nicht geklappt.

Hat da jemand eine Idee? Ist doch eigentlich eine geniale Sache, komisch, dass das so wenig Leute nutzen…

Der Code ist übrigens:

function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, multilanguagePage: true}, 'google_translate_element');
}

Quelle: https://translate.google.com/manager/website/add

Grüße,

Jan

füg nach der ersten Zeile mal ein

{literal}

und vor der letzten Zeile ein

{/literal}

ein.

Grund dafür ist, dass Smarty denkt die geschweiften Klammern gehören zu Smarty Funktionalitäten. Da die jedoch Bestandteil des Javascript-Codes sind muss man Smarty sagen, alle geschweiften Klammern im literal zu ignorieren.

Ich habe den Google Übersetzer eingebaut. Was mir aufgefallen ist:

 

Wenn ich von der Ursprungssprache (Deutsch) des Shop auf Englisch gehe und dann wieder zurück, dann übersetzt es mir den „Home“ Button in der Navigation als „Zuhause“ Button.

Wie kann ich verhindern, dass ursprüngliche in Englisch vorhandene Begriffe auch Englisch bleiben?

So, nur für die, die auch Google Translate einbauen wollen zumindest meine Lösung, die nicht perfekt ist, aber okay.

Ist zu sehen unter https://www.actinovo.com

Ich habe oben rechts ein Image link mit einer Flaggenleiste eingebaut, da der Einbau des Google-Translate-Blocks zuviel Platz in Anspruch genommen hat. Leider habe ich es ums verrecken nicht geschafft, diese Flaggenleiste in eine Reihe mit dem Drop-Down-Menü Language-Selection und Service zu bekommen. Egal, ist es eben darüber.

Nach Klick springt die Seite zu einem neuen Anchor am Ende der Seite, wo dann das Google Translate eingebunden ist. 

Nicht perfekt, aber okay.

Folgendes ist zu tun für 5.1.5 Bare/Responsive Template:

httpdocs / themes / Frontend / Bare / frontend / index / topbar-navigation.tpl  (Alles zwischen hinzufügen)

  

			{* Top bar navigation *}

		{block name="frontend_index_top_bar_nav"}
			
				        
				{action module=widgets controller=index action=shopMenu}

 

httpdocs / themes / Frontend / Bare / frontend / index / footer-navigation.tpl (Alles zwischen {literal} (inklusive) hinzufügen):

        {block name="frontend_index_footer_column_service_hotline_content"}
            
                {s name="sFooterServiceHotline"}{/s}
                    
                    
                                {literal}
                    

function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'ar,bg,cs,da,el,es,et,fi,fr,is,it,iw,ja,ko,lt,lv,nl,no,pl,pt,ro,ru,sk,sl,sr,sv,tr,zh-CN,zh-TW', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, autoDisplay: false, multilanguagePage: true}, 'google_translate_element');
}

        {/literal}
                
                
            
        {/block}

Danke für die Hinweise aus dem Forum!

Falls noch jemand ne Idee hat, wie man das Flaggenbild in eine saubere Reihe mit dem Flaggen-Drop-Down und Service-Drop-Down von Shopware bekommt, bitte hier schreiben.  

Wer die Flaggenleiste haben möchte, hier, schitte böhn:

Beim nächsten Update sind die Änderungen evtl. wieder weg.

Eigene Änderungen NIEMALS im Bare oder Responsive sondern in einem eigenen Theme die Dateien unter gleicher Struktur neu anlegen {extend file=…} Befehl am Anfang nutzen und nur einzelne Blöcke erweitern/ersetzen.

Anleitung dazu gibt es hier im Forum und unter:

https://developers.shopware.com/designers-guide/

1 Like

Hallo,

du solltest niemals etwas im Bare-/Responsive - Theme ändern oder einpflegen, außer du möchtest, das es bei deinem nächsten Update wieder überschrieben wird. Dieser Löschungsvorschlag sollte also eher nicht produktiv eingesetzt werden. Man sollte es eben über das Vererbungsprinzip im eigenen Theme hinterlegen, siehe beispielsweise: Getting started with Shopware templating .

Beste Grüße

Sebastian

1 Like

Oh, sorry, das war mir gänzlich neu. Werde ich mich nächste Woche mal drum kümmern…

Danke für den Hinweis…