Справа налево Язык в Delphi Xe7 Мобильный Android

У меня есть приложение в Delphi Xe7 для Android Mobile. Это хорошо работает для английского языка. Но плохо для фарси или арабского языка или справа налево.'سلام' ------> 'م ل ا س'Я нашел несколько решений

  1. Компонент DPF для Xe7 и Android. Это плохо для большого приложения. в этом компоненте используйте базовый класс Java для создания компонента, как Java. Я тестирую этот компонент и демонстрационный проект Good Work. но если я добавлю Tabcontrol в мою форму и добавлю просмотр списка в приложении tabcontrol, то он не будет работать и не будет отображаться в виде списка.
  2. использовать FarsiReshaper.pas; это устройство справа налево слово, и я использую этот класс для преобразования строки, чтобы показать справа налево.

    Procedure TForm1.Create(Sender:Tobject)
    var
      Farsi:TFarsi;
    Begin
      Button1.text:=Farsi.Convert(Button1.text)
    End
    

Но этот метод неисправен

  • Для всех компонентов на форме следует запустить этот код
  • Для listView и TreeView компонент должен запускать этот метод для всех элементов и это пустая трата времени
  • В режиме редактирования вроде Тедит не работает

Спасибо джавад адель

1 ответ

FireMonkey пока не поддерживает языки RTL. Это на дорожной карте, я считаю. Кажется, это неправильно. Насколько мы можем судить, поддержка RTL даже не входит в план действий Embarcadero.

До тех пор, пока не будет добавлена ​​поддержка RTL, сложно рассматривать Delphi как разумный вариант для вас. Встроенные средства разработки Android имеют всестороннюю поддержку RTL.

Другие вопросы по тегам