Przetłumaczenie aplikacji webowej na arabski lub hebrajski to łatwa połowa pracy. Trudniejsza połowa polega na tym, że cała strona musi być czytana od prawej do lewej: pasek boczny przechodzi na drugą stronę, kreatory liczą kroki od prawej, dymki czatu zamieniają się miejscami, a drzewo wcina elementy w drugą stronę. Zrobienie tego ręcznie oznacza atrybut dir, inną wersję Bootstrapa i drugą wersję każdej własnej reguły CSS, jaką kiedykolwiek napisałeś.
sgcHTML w sgcWebSockets 2026.10 robi to wszystko za Ciebie. Wybierz język, a układ pójdzie za nim.
Jedna linijka
uses
sgcHTML_Locale;
sgcHTMLSetLanguage(htmlLangArabic);
To przełącza wbudowane teksty komponentów na arabski, jak dotychczas, a teraz także kierunek każdej strony renderowanej później. Wróć do dowolnego innego języka, a strony znów będą układane od lewej do prawej.
Albo sam kod języka
Nie potrzebujesz wbudowanego tłumaczenia, aby uzyskać układ. Jeśli język strony jest językiem pisanym od prawej do lewej, to wystarczy:
Site.Lang := 'he'; { Hebrew: right-to-left, no other change }
sgcHTML rozpoznaje arabski, hebrajski, perski, urdu, paszto, jidysz, malediwski, ujgurski, sorani i sindhi, z regionem lub bez, więc działają także ar-EG i he-IL.
Co zmienia się na stronie
- Znacznik
<html>otrzymujedir="rtl". - Strona ładuje arkusz stylów Bootstrapa dla układu od prawej do lewej zamiast zwykłego. Jest on osadzony w bibliotece i serwowany pod adresem
/bootstrap.rtl.min.css, a opcja CDN przełącza na kopię z CDN. Własna ścieżka arkusza stylów pozostaje nietknięta. - Komponenty sgcHTML są odbijane lustrzanie: pasek boczny witryny i pasek ikon, kreatory, oś czasu, czat, obecność, widok drzewa, suwak, splitter, zmiana rozmiaru kolumn siatki i kolumny zamrożone, powiadomienia, awatary oraz tablica kanban.
- Wykresy, mierniki, instrumenty i oś czasu Gantta celowo zachowują swoją geometrię. Skala wartości lub linia czasu to dane, a nie kolejność czytania.
Strony od lewej do prawej się nie zmieniają
Odbicie lustrzane realizują dodatkowe reguły, które działają tylko wewnątrz strony od prawej do lewej. Żadna istniejąca reguła nie została przepisana, więc strona angielska renderuje dokładnie ten sam kod, co wcześniej, i nadal działa w starszych osadzonych przeglądarkach, które nie rozumieją nowszych logicznych właściwości CSS.
Wymuszanie kierunku
Automatyczny wybór zawsze można nadpisać. Dir w komponencie witryny oraz HtmlDir w konstruktorze stron, stronie logowania i szablonie Bootstrap przyjmują 'rtl' lub 'ltr'. Pozostaw je puste, aby wybór był automatyczny.
Site.Lang := 'ar';
Site.Dir := 'ltr'; { Arabic text, left-to-right layout }
C++Builder i .NET
C++Builder używa tych samych jednostek. Wersja .NET ma tę samą funkcję i daje ten sam wynik:
sgcHTMLLocaleFactory.sgcHTMLSetLanguage(TsgcHTMLLanguage.htmlLangArabic);
site.Lang = "ar";
site.Dir = ""; // empty means automatic
Wypróbuj
Nowe demo 22.RTL pokazuje jedną stronę po angielsku, arabsku i hebrajsku, z linkiem wymuszającym układ od lewej do prawej, abyś mógł porównać. Występuje w dwóch odmianach dla Delphi: zbudowanej w kodzie w Demos\60.HTML\01.RunTime\22.RTL i zbudowanej z formularzy w Demos\60.HTML\02.DesignTime\22.RTL, a także w C# w demos\60.HTML\22.RTL. Możesz również otworzyć je online.
Pełną listę komponentów znajdziesz na stronie produktu sgcHTML.
Czytaj dalej
Obejrzyj
Na kanale eSeGeCe jest krótki film na ten temat.
Pytania, uwagi lub pomoc w migracji? Skontaktuj się z nami. Odpowiedzą Ci osoby, które napisały kod.
