Applications web Delphi de droite à gauche en arabe et en hébreu

· Composants
Applications web Delphi de droite à gauche en arabe et en hébreu

Traduire une application web en arabe ou en hébreu est la moitié facile. La moitié difficile, c'est que toute la page doit se lire de droite à gauche : la barre latérale passe de l'autre côté, les étapes se comptent depuis la droite, les bulles de discussion échangent leurs places, une arborescence s'indente dans l'autre sens. Le faire à la main demande un attribut dir, une autre version de Bootstrap et une seconde version de chaque règle CSS personnalisée que vous avez écrite.

sgcHTML dans sgcWebSockets 2026.10 s'occupe de tout. Choisissez la langue et la mise en page suit.

Une seule ligne

uses
  sgcHTML_Locale;

sgcHTMLSetLanguage(htmlLangArabic);

Cela fait passer les textes intégrés des composants en arabe, comme avant, et maintenant aussi la direction de chaque page que vous générez ensuite. Revenez à n'importe quelle autre langue et les pages sont de nouveau de gauche à droite.

Ou simplement le code de langue

Vous n'avez pas besoin d'une traduction intégrée pour obtenir la mise en page. Si la langue de la page s'écrit de droite à gauche, cela suffit :

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

sgcHTML reconnaît l'arabe, l'hébreu, le persan, l'ourdou, le pachto, le yiddish, le divehi, l'ouïghour, le kurde central et le sindhi, avec ou sans région, donc ar-EG et he-IL fonctionnent aussi.

Ce qui change dans la page

Les pages de gauche à droite ne changent pas

L'inversion repose sur des règles supplémentaires qui s'appliquent uniquement dans une page de droite à gauche. Aucune règle existante n'a été réécrite, donc une page en anglais produit exactement le même balisage qu'avant, et elle fonctionne toujours dans les anciens navigateurs embarqués qui ne comprennent pas les propriétés logiques CSS plus récentes.

Imposer une direction

Le choix automatique peut toujours être remplacé. Dir sur le composant site, et HtmlDir sur le générateur de pages, la page de connexion et le modèle Bootstrap, acceptent 'rtl' ou 'ltr'. Laissez-les vides pour le mode automatique.

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

C++Builder et .NET

C++Builder utilise les mêmes unités. La version .NET propose la même fonctionnalité, avec le même résultat :

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

Essayez

La nouvelle démo 22.RTL montre une page en anglais, en arabe et en hébreu, avec un lien qui force la gauche à droite pour que vous puissiez comparer. Elle existe en deux versions pour Delphi, construite en code dans Demos\60.HTML\01.RunTime\22.RTL et construite à partir de formulaires dans Demos\60.HTML\02.DesignTime\22.RTL, et en C# dans demos\60.HTML\22.RTL. Vous pouvez aussi l'ouvrir en ligne.

Consultez la page produit sgcHTML pour la liste complète des composants.

À lire ensuite

Regardez

Il existe une courte vidéo à ce sujet sur la chaîne eSeGeCe.

Des questions, des retours ou besoin d'aide pour la migration ? Contactez-nous. Vous recevrez une réponse de la part des personnes qui ont écrit le code.