Aplicaciones web Delphi de derecha a izquierda en árabe y hebreo

· Componentes
Aplicaciones web Delphi de derecha a izquierda en árabe y hebreo

Traducir una aplicación web al árabe o al hebreo es la parte fácil. La parte difícil es que toda la página debe leerse de derecha a izquierda: la barra lateral pasa al otro lado, los asistentes por pasos cuentan desde la derecha, las burbujas del chat intercambian su posición, un árbol se sangra hacia el otro lado. Hacerlo a mano supone un atributo dir, otra versión de Bootstrap y una segunda versión de cada regla CSS propia que hayas escrito.

sgcHTML en sgcWebSockets 2026.10 lo hace todo por ti. Elige el idioma y el diseño lo sigue.

Una sola línea

uses
  sgcHTML_Locale;

sgcHTMLSetLanguage(htmlLangArabic);

Eso cambia los textos integrados de los componentes al árabe, como antes, y ahora también la dirección de cada página que se genere a partir de ese momento. Si vuelves a cualquier otro idioma, las páginas vuelven a ir de izquierda a derecha.

O solo el código de idioma

No necesitas una traducción integrada para obtener el diseño. Si el idioma de la página es de derecha a izquierda, con eso basta:

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

sgcHTML reconoce árabe, hebreo, persa, urdu, pastún, yidis, divehi, uigur, kurdo central y sindhi, con o sin región, de modo que ar-EG y he-IL también funcionan.

Qué cambia en la página

Las páginas de izquierda a derecha no cambian

El reflejo se hace con reglas adicionales que solo se aplican dentro de una página de derecha a izquierda. No se ha reescrito ninguna regla existente, así que una página en inglés genera exactamente el mismo marcado que antes, y sigue funcionando en navegadores embebidos antiguos que no entienden las propiedades lógicas más recientes de CSS.

Forzar una dirección

La elección automática siempre se puede sobrescribir. Dir en el componente del sitio, y HtmlDir en el generador de páginas, la página de inicio de sesión y la plantilla de Bootstrap, aceptan 'rtl' o 'ltr'. Déjalos vacíos para el modo automático.

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

C++Builder y .NET

C++Builder usa las mismas unidades. La versión .NET tiene la misma función, con el mismo resultado:

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

Pruébalo

La nueva demo 22.RTL muestra una página en inglés, árabe y hebreo, con un enlace que fuerza de izquierda a derecha para que puedas comparar. Viene en dos versiones para Delphi, creada en código en Demos\60.HTML\01.RunTime\22.RTL y creada a partir de formularios en Demos\60.HTML\02.DesignTime\22.RTL, y en C# en demos\60.HTML\22.RTL. También puedes abrirla en línea.

Consulta la página del producto sgcHTML para ver la lista completa de componentes.

Sigue leyendo

Míralo

Hay un breve vídeo sobre esto en el canal de eSeGeCe.

¿Preguntas, comentarios o ayuda con la migración? Ponte en contacto con nosotros. Te responderán las personas que escribieron el código.