Zweitsprachige Webseite mit JS?

Das Ergebnis basiert auf 5 Abstimmungen

Mit Javascript 100%
Zweite Seite (.com/de) 0%

5 Antworten

Das ist relativ egal.

Wenn der content statisch ist wäre er besser cachebar und indexierbar wenn du die Sprache irgendwo in der URL abbildest und nicht irgendwo im Client die sprachauswahl speicherst.

Wenn du Server side rendering machst ist es doch egal ob die Sprache an einer subdomain oder in der URL irgendwo im path steht.

Bei einer SPA macht es in JS natürlich Sinn.

Das wären denke ich die Optionen die ich theoretisch empfehlen würde, entweder du generierst den content Server Side und lieferst da zwei Versionen aus ohne deine Seite zu copy pasten, oder nutzt im Frontend JS. Nur die Seite kopieren und dabei auch die Struktur doppelt zu pflegen wäre halt komplett dumm.

Wenn du keine SPA hast und es nicht um eine interaktive Komponente die sowieso in Js geschrieben ist würde ich das aber nicht in JS machen. Da müsste man ja nur zusätzliche Requests laden oder die Sprachen doppelt ausliefern was für eine normale primär HTML basierte Seite nur overhead wäre.

Eine weiter Lösung wäre es eine Seite auf dem Server generieren zu lassen. Serverseitige Programmiersprachen können die voreingestellte Sprache erkennen und den passenden Inhalt anzeigen. Das hat den Vorteil bei der Indexierung.

Es gibt die Möglichkeit auch unterschiedliche Sprachabschnitte in einer Seite zu haben und mit dem lang-Attribut zu arbeiten.

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)
Mit Javascript

Zweite Seite ist ein unnötiger Overhead. Meine Website basiert auf Blazor (C#, .NET) und sie ist komplett auf Englisch. In Bereichen, wie Impressum, rendere ich die englische Sprache als Standard. Zusätzlich habe ich einen übersetzen Button, da ein deutsches Impressum auf einer deutsch-gehosteten Seite verpflichtend ist. Ich löse es so, dass wenn ich auf den Button drücke, wird hinter die URL ein /deutsch gesetzt. In deinem Fall kann dies ein /de sein. Das Backend weiß dann, was ich meine und sendet sofort den angepassten deutschen Inhalt an das Frontend. Super simple. In JavaScript kannst du das genau so lösen. Hierbei empfehle ich dir, die Texte über eine Serverseite abzufragen und über URL zu kennzeichnen. Lieferst du die Texte direkt doppelt aus, dann hast du das Problem, dass du mehr Daten als nötig auslieferst und dadurch mehr Ladezeiten entstehen.

Also kurz gefasst: Ja, die Methode mit JavaScript ist definitiv besser für ein dynamisches Laden und einfacheres Verwalten der Website.

Mit Javascript

Aber das sage ich nur weil ich gut mit Javascript klarkomme.

Sehe da wenig Probleme es entsprechend on the fly anpassen zu lassen.

Vorallem wäre aber das warten von zwei seiten einfach blöd da sie ja quasi das gleiche abbilden. Ergo musst du jede änderung dann immer doppelt machen. Das wäre mir die Mühe nicht wert.

Dann lieber einmal etwas hirnschmalz investieren und eine gute lösung finden damit die sprache entsprechend passt.

JokesOnYou  27.02.2024, 13:45

Na ja man kann auch einfach alle Texte in eine localization.xml packen und die Texte je nach Browsersprache dynamisch reinladen. So oder so müsste man Texte in beiden Sprachen anpassen wenn sich was ändert, aber so hat man alle Texte an einem Ort.

1
ichweisnetwas  27.02.2024, 13:47
@JokesOnYou

Joa, auch eine idee.

Sehe aber an der lösung über Javascript auch keine Probleme. Wie du unten geschrieben hast, muss man es eben nur notfalls anfangs abfragen falls jemand die skripte deaktiviert hat.

Aber normalerweise haben die leute die an. Die meisten zumindest.

0
Maxim8862 
Fragesteller
 27.02.2024, 13:45

Ich habe aber gelesen, dass Javascript bisschen länger dauert zum laden, was eigentlich nicht so gut wäre, odernicht?

0
ichweisnetwas  27.02.2024, 13:49
@Maxim8862

Also javascript ansich ist recht schnell.

Viele Seiten wo ich sowas schonmal gehört habe, also das sie langsam sind wegen javascript... Waren dann oft langsam, weil die leute etliche libs reingeladen haben.

Aber eine überladene seite wird eben langsamer. Dennoch. Dein Vorhaben sollte wenig bis quasi keinen einfluss auf die geschwindigkeit der seite haben, wenn du es richtig machst.

0
Mit Javascript

Direkt per Javascript ist besser. Allerdings kann es sein dass jemand auf die Seite kommt der Skripte blockiert. Dann hast du zwei Optionen: Zwinge den Nutzer JS zu aktivieren oder hab eine backup seite in pur PHP.

Maxim8862 
Fragesteller
 27.02.2024, 13:46

Naja es ist eh so, dass wenn man Js deaktiviert im Browser, 95% der Webseiten gefühlt nicht funktionieren, also wäre ich nicht der einzige.

0
JokesOnYou  27.02.2024, 13:47
@Maxim8862

Richtig, JS ist heutzutage etablierter als es damals war. Kannst also ruhig davon ausgehen dass der Nutzer JS hat.

0