Eine Webanwendung ins Arabische oder Hebräische zu übersetzen, ist die einfache Hälfte. Die schwierige Hälfte ist, dass die ganze Seite von rechts nach links gelesen werden muss: Die Seitenleiste wandert auf die andere Seite, Stepper zählen von rechts, Chat-Blasen tauschen die Plätze, ein Baum rückt in die andere Richtung ein. Von Hand bedeutet das ein dir-Attribut, einen anderen Build von Bootstrap und eine zweite Version jeder CSS-Regel, die Sie je geschrieben haben.
sgcHTML in sgcWebSockets 2026.10 erledigt das alles für Sie. Wählen Sie die Sprache, und das Layout folgt.
Eine Zeile
uses
sgcHTML_Locale;
sgcHTMLSetLanguage(htmlLangArabic);
Das stellt die eingebauten Texte der Komponenten wie bisher auf Arabisch um und jetzt auch die Richtung jeder Seite, die Sie danach rendern. Wechseln Sie zurück zu einer anderen Sprache, und die Seiten laufen wieder von links nach rechts.
Oder nur der Sprachcode
Für das Layout brauchen Sie keine eingebaute Übersetzung. Wenn die Seitensprache eine Sprache von rechts nach links ist, genügt das:
Site.Lang := 'he'; { Hebrew: right-to-left, no other change }
sgcHTML erkennt Arabisch, Hebräisch, Persisch, Urdu, Paschtu, Jiddisch, Dhivehi, Uigurisch, Zentralkurdisch und Sindhi, mit oder ohne Region, sodass auch ar-EG und he-IL funktionieren.
Was sich auf der Seite ändert
- Das Tag
<html>erhältdir="rtl". - Die Seite lädt das Rechts-nach-links-Stylesheet von Bootstrap anstelle des normalen. Es ist in die Bibliothek eingebettet und wird unter
/bootstrap.rtl.min.cssausgeliefert, und die CDN-Option wechselt auf die CDN-Kopie. Ein eigener Stylesheet-Pfad bleibt unberührt. - Die sgcHTML-Komponenten werden gespiegelt: die Seitenleiste und die Icon-Leiste der Site, Stepper, Timeline, Chat, Präsenz, Baumansicht, Slider, Splitter, Größenänderung und fixierte Spalten im Grid, Benachrichtigungen, Avatare und das Kanban-Board.
- Diagramme, Anzeigeinstrumente und die Gantt-Zeitachse behalten ihre Geometrie mit Absicht. Eine Wertskala oder eine Zeitlinie sind Daten, keine Leserichtung.
Seiten von links nach rechts ändern sich nicht
Die Spiegelung erfolgt über zusätzliche Regeln, die nur innerhalb einer Seite von rechts nach links gelten. Keine bestehende Regel wurde umgeschrieben, sodass eine englische Seite exakt das Markup rendert, das sie zuvor gerendert hat, und sie funktioniert weiterhin in älteren eingebetteten Browsern, die die neueren logischen CSS-Eigenschaften nicht verstehen.
Eine Richtung erzwingen
Die automatische Wahl lässt sich jederzeit überschreiben. Dir an der Site-Komponente und HtmlDir am Page Builder, an der Login-Seite und an der Bootstrap-Vorlage akzeptieren 'rtl' oder 'ltr'. Lassen Sie sie leer für die automatische Wahl.
Site.Lang := 'ar';
Site.Dir := 'ltr'; { Arabic text, left-to-right layout }
C++Builder und .NET
C++Builder verwendet dieselben Units. Die .NET-Version hat dieselbe Funktion mit derselben Ausgabe:
sgcHTMLLocaleFactory.sgcHTMLSetLanguage(TsgcHTMLLanguage.htmlLangArabic);
site.Lang = "ar";
site.Dir = ""; // empty means automatic
Probieren Sie es aus
Die neue Demo 22.RTL zeigt eine Seite auf Englisch, Arabisch und Hebräisch, mit einem Link, der links nach rechts erzwingt, damit Sie vergleichen können. Sie kommt für Delphi in zwei Varianten, im Code aufgebaut in Demos\60.HTML\01.RunTime\22.RTL und aus Formularen aufgebaut in Demos\60.HTML\02.DesignTime\22.RTL, sowie in C# in demos\60.HTML\22.RTL. Sie können sie auch online öffnen.
Die vollständige Komponentenliste finden Sie auf der Produktseite von sgcHTML.
Als Nächstes lesen
Als Video ansehen
Auf dem eSeGeCe-Kanal gibt es dazu ein kurzes Video.
Fragen, Feedback oder Hilfe bei der Migration? Nehmen Sie Kontakt auf. Sie erhalten eine Antwort von den Menschen, die den Code geschrieben haben.
