Sprachwechsel auf Unterseiten - funktioniert nicht immer 
Autore: V. G.
Visite 187,
Followers 1,
Condiviso 0
Hallo zusammen,
seit 5 Jahren nutzen wir eine interne Verlinkung, über die zwischen Deutsch und Englisch gewechselt werden kann (@KolAsim). Eigentlich konnten wir dies durch Copy and Paste und das Einsetzen der neuen Webadressen weiterführen, aktuell funktioniert das jedoch leider nicht.
Ich setzte den Beitrag privat, da ich hier die Seiten nennne:
https://autogrid.tech/en/customer-feedback.html | https://autogrid.tech/de/kundenzufriedenheit.html
Hat jemand einen Tipp?
Danke. Christiane
Postato il

Hello Christiane,
unfortunately with the post being private, other users will not be able to intervene, it will only be visible to us at Incomedia.
To clarify, how was this set up?
You mentioned KolAsim's support, but from what you describe this should also be achievable by simply associating a link to the EN and DE images, have you tried this way?
Online translation:
Hallo Christiane,
leider können andere Nutzer bei einem privaten Beitrag nicht eingreifen, er ist nur für uns bei Incomedia sichtbar.
Zur Klarstellung: Wie wurde dies eingerichtet?
Sie erwähnten den Support von KolAsim, aber nach Ihrer Beschreibung sollte dies auch einfach möglich sein, indem man einen Link mit den EN- und DE-Bildern verknüpft. Haben Sie es auf diese Weise schon versucht?
Autore
Es war immer sehr komfortabel, einen Code im Header zu haben.
Hier ist einmal eine Kopie (einige Seiten fehlen).
------------
<!-- redirect zweite Sprache von KolAsim - HEAD Sektion - Beginn -->
<script>
function redirectK () {
var adresseK = window.location.href.split('/');
var SeiteK = adresseK[adresseK.length -1];
switch (SeiteK) {
case "index.html": window.location.href = "../de/index.html";
break;
case "autogrid-comsmart.html": window.location.href = "../de/autogrid-comsmart.html";
break;
case "autogrid-inprocess.html": window.location.href = "../de/autogrid-inprocess.html";
break;
}
}
</script>
<!-- LINK redirect zweite Sprache by KolAsim -->
<a href="javascript:void()" onclick="redirectK ()" title="Deutsch" alt="Deutsche Version" >
<img src="images/AutoGrid_DE.svg" width="15" height="9" />
</a>
<!-- ======== K ======== -->
----------------
Ja, ein einzelnes Objekt ist möglich, allerdings wird dieses nicht immer exakt an derselben Stelle auf der Website angezeigt.
Hello,
thank you for clarifying, checking the website I now noticed that the button redirects to the equivalent page in the other language, rather than to a specific page only.
Unfortunately as this was made through custom code I cannot offer support, I would recommend making a public post so that KolAsim can intervene.
I remain available.
Online translation:
Hallo,
vielen Dank für die Klarstellung. Beim Überprüfen der Website ist mir nun aufgefallen, dass der Button auf die entsprechende Seite in der anderen Sprache weiterleitet, und nicht auf eine spezifische Seite allein.
Da dies jedoch über benutzerdefinierten Code umgesetzt wurde, kann ich leider keinen Support anbieten. Ich würde empfehlen, einen öffentlichen Beitrag zu erstellen, damit KolAsim eingreifen kann.
Ich stehe Ihnen weiterhin zur Verfügung.
Autore
Danke für die Rückmeldung. Der Beitrag ist nun öffentlich.
Möglicherweise muss KolAsim den Code anpassen.
Bei mir hat die Nutzung von KolAsim´s Code, der für eine andere Webseite erstellt wurde, zu Problemen geführt, deshalb habe ich den Code wieder entfernen müssen.
ciao, hallo, ersetze bitte das gesamte <script>-Tag durch dieses neue <script>, ciao:
<script> /** redirect zweite Sprache von KolAsim - HEAD Sektion - Beginn**/ function redirectK() { const path = window.location.pathname; const parts = path.split('/'); const file = parts.pop() || parts.pop() || "index.html"; const fromEn = parts.includes('en'); const fromDe = parts.includes('de');
const mapDEtoEN = {
"index.html": "index.html",
"autogrid-comsmart.html": "autogrid-comsmart.html",
"autogrid-inprocess.html": "autogrid-inprocess.html",
"autogrid-zubehoer.html": "autogrid-accessories.html",
"autogrid-download.html": "autogrid-download.html",
"autogrid-service-support.html": "service-support.html",
"autogrid-veroeffentlichungen.html": "autogrid-publications.html",
"autogrid-vertriebspartner.html": "autogrid-salespartners.html",
"ueber-uns.html": "about.html",
"autogrid-zertifizierung.html": "autogrid-certification.html",
"autogrid-news.html": "autogrid-news.html",
"autogrid-partner.html": "autogrid-partners.html",
"autogrid-anwender.html": "autogrid-references.html",
"newsletter-anmeldung.html": "newsletter-subscription.html",
"autogrid-kontakt.html": "autogrid-contact.html",
"autogrid-impressum.html": "autogrid-imprint.html",
"autogrid-datenschutz.html": "autogrid-privacy.html",
"autogrid-agb.html": "autogrid-gtb.html",
"autogrid-nutzungsbedingungen.html": "autogrid-terms-of-use.html",
"kundenzufriedenheit.html": "customer-feedback.html",
"autogrid-von-vialux.html": "autogrid-by-vialux.html"
};
const mapENtoDE = Object.fromEntries( Object.entries(mapDEtoEN).map(([de, en]) => [en, de]) ); let targetUrl = null; if (fromEn) { const target = mapENtoDE[file]; if (target) { targetUrl = `/de/${target}`; } } else if (fromDe) { const target = mapDEtoEN[file]; if (target) { targetUrl = `/en/${target}`; } } else { const target = mapDEtoEN[file]; if (target) { targetUrl = `/en/${target}`; } } if (targetUrl) { window.location.href = `https://autogrid.tech${targetUrl}` } else { console.warn("Nessuna versione corrispondente per:", file); } }/**K**/ </script>
.............................................
.
Autore
Hallo,
vielen Dank für die schnelle Antwort. Ich habe den Code ausgetauscht, aber leider funktionieren die beiden Seiten, die ich zu aktivieren versuche, auch hier nicht. Es handelt sich um:
"kundenzufriedenheit.html": "customer-feedback.html",
"autogrid-von-vialux.html": "autogrid-by-vialux.html"
ciao. ... Ich sehe, dass Sie auf dieser Seite doppelten <script>-Code mit doppelten <a>-Tags eingefügt haben ...
... der alte Code befindet sich immer noch unten und überschreibt den neuen, regulierten Code, also löschen Sie den überschüssigen alten Code ...
... Ein Tipp: Sie können den Tag <script> nur einmal einfügen, gültig für alle Seiten, indem Sie ihn in Schritt_1 | platzieren Experte | /HEAD-Abschnitt...
... In diesem Fall wäre es besser, im öffnenden Skript-Tag am Anfang des Codes auch das defer-Attribut hinzuzufügen, etwa so:
<script defer> usw. usw. ... ... .. .. .. . . .
.
ciao
Autore
Hallo KolAsim,
worauf beziehst du dich? Die Seiten haben doch alle den gleichen Header und Footer. Was überlagert sich denn da? Wo ist ein alter Code? Kannst du das konkretisieren?
VG
ciao, ...löschen Sie das alte und überschüssige Skript in StickyBar, das durch die rote Markierung X gekennzeichnet ist

.
ciao
.