App web Delphi da destra a sinistra in arabo ed ebraico

· Componenti
App web Delphi da destra a sinistra in arabo ed ebraico

Tradurre un'applicazione web in arabo o in ebraico è la parte facile. La parte difficile è che l'intera pagina deve leggersi da destra a sinistra: la barra laterale passa dall'altra parte, gli stepper contano da destra, i fumetti della chat si scambiano di posto, un albero rientra nell'altra direzione. Farlo a mano significa un attributo dir, una build diversa di Bootstrap e una seconda versione di ogni regola CSS personalizzata che hai mai scritto.

sgcHTML in sgcWebSockets 2026.10 fa tutto questo per te. Scegli la lingua e il layout la segue.

Una riga

uses
  sgcHTML_Locale;

sgcHTMLSetLanguage(htmlLangArabic);

Questo porta i testi integrati dei componenti in arabo, come prima, e ora anche la direzione di ogni pagina che generi in seguito. Se torni a qualsiasi altra lingua, le pagine sono di nuovo da sinistra a destra.

Oppure solo il codice lingua

Non ti serve una traduzione integrata per ottenere il layout. Se la lingua della pagina è una lingua da destra a sinistra, basta questo:

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

sgcHTML riconosce arabo, ebraico, persiano, urdu, pashto, yiddish, dhivehi, uiguro, curdo centrale e sindhi, con o senza regione, quindi funzionano anche ar-EG e he-IL.

Cosa cambia nella pagina

Le pagine da sinistra a destra non cambiano

Lo specchiamento è realizzato con regole aggiuntive che si applicano solo all'interno di una pagina da destra a sinistra. Nessuna regola esistente è stata riscritta, quindi una pagina in inglese genera esattamente lo stesso markup di prima e continua a funzionare nei vecchi browser incorporati che non capiscono le più recenti proprietà logiche del CSS.

Forzare una direzione

La scelta automatica può sempre essere sovrascritta. Dir sul componente site, e HtmlDir sul page builder, sulla pagina di login e sul template Bootstrap, accettano 'rtl' o 'ltr'. Lasciali vuoti per la scelta automatica.

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

C++Builder e .NET

C++Builder usa le stesse unit. La versione .NET ha la stessa funzionalità, con lo stesso output:

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

Provalo

La nuova demo 22.RTL mostra una pagina in inglese, arabo ed ebraico, con un link che forza il layout da sinistra a destra per poterli confrontare. È disponibile in due versioni per Delphi, costruita nel codice in Demos\60.HTML\01.RunTime\22.RTL e costruita da form in Demos\60.HTML\02.DesignTime\22.RTL, e in C# in demos\60.HTML\22.RTL. Puoi anche aprirla online.

Consulta la pagina del prodotto sgcHTML per l'elenco completo dei componenti.

Leggi anche

Guardalo

Su questo c'è un breve video sul canale eSeGeCe.

Domande, feedback o aiuto con la migrazione? Mettiti in contatto. Riceverai una risposta da chi ha scritto il codice.