Delphi-Webanwendungen von rechts nach links in Arabisch und Hebräisch

· Komponenten
Delphi-Webanwendungen von rechts nach links in Arabisch und Hebräisch

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

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.