Delphi-webapps van rechts naar links in het Arabisch en Hebreeuws

· Componenten
Delphi-webapps van rechts naar links in het Arabisch en Hebreeuws

Een webapplicatie vertalen naar het Arabisch of Hebreeuws is de makkelijke helft. De moeilijke helft is dat de hele pagina van rechts naar links moet lezen: de zijbalk verhuist naar de andere kant, stappenindicatoren tellen vanaf rechts, chatballonnen wisselen van plaats en een boomstructuur springt de andere kant op in. Dat met de hand doen betekent een dir-attribuut, een andere build van Bootstrap en een tweede versie van elke eigen CSS-regel die je ooit hebt geschreven.

sgcHTML in sgcWebSockets 2026.10 doet dat allemaal voor je. Kies de taal en de layout volgt.

Eén regel

uses
  sgcHTML_Locale;

sgcHTMLSetLanguage(htmlLangArabic);

Dat zet de ingebouwde teksten van de componenten om naar het Arabisch, zoals voorheen, en nu ook de richting van elke pagina die je daarna rendert. Schakel je terug naar een andere taal, dan zijn de pagina's weer van links naar rechts.

Of alleen de taalcode

Je hebt geen ingebouwde vertaling nodig om de layout te krijgen. Als de paginataal een rechts-naar-links taal is, is dat genoeg:

Site.Lang := 'he';      { Hebrew: right-to-left, no other change }

sgcHTML herkent Arabisch, Hebreeuws, Perzisch, Urdu, Pasjtoe, Jiddisch, Divehi, Oeigoers, Centraal-Koerdisch en Sindhi, met of zonder regio, dus ar-EG en he-IL werken ook.

Wat er op de pagina verandert

Het spiegelen gebeurt met extra regels die alleen binnen een rechts-naar-links pagina gelden. Er is geen bestaande regel herschreven, dus een Engelse pagina rendert exact dezelfde markup als voorheen en werkt nog steeds in oudere ingebedde browsers die de nieuwere logische CSS-eigenschappen niet begrijpen.

Een richting afdwingen

De automatische keuze kun je altijd overschrijven. Dir op de sitecomponent en HtmlDir op de page builder, de loginpagina en het Bootstrap-sjabloon accepteren 'rtl' of 'ltr'. Laat ze leeg voor automatisch.

Site.Lang := 'ar';
Site.Dir := 'ltr';      { Arabic text, left-to-right layout }

C++Builder en .NET

C++Builder gebruikt dezelfde units. De .NET-versie heeft dezelfde functie, met dezelfde uitvoer:

sgcHTMLLocaleFactory.sgcHTMLSetLanguage(TsgcHTMLLanguage.htmlLangArabic);
site.Lang = "ar";
site.Dir = "";          // empty means automatic

Probeer het

De nieuwe demo 22.RTL toont één pagina in het Engels, Arabisch en Hebreeuws, met een link die links-naar-rechts afdwingt zodat je kunt vergelijken. Hij komt in twee varianten voor Delphi, in code gebouwd in Demos\60.HTML\01.RunTime\22.RTL en opgebouwd uit formulieren in Demos\60.HTML\02.DesignTime\22.RTL, en in C# in demos\60.HTML\22.RTL. Je kunt hem ook online openen.

Bekijk de productpagina van sgcHTML voor de volledige lijst met componenten.

Lees verder

Bekijk het

Er is een korte video hierover op het eSeGeCe-kanaal.

Vragen, feedback of hulp bij migratie? Neem contact op. Je krijgt antwoord van de mensen die de code hebben geschreven.