Руководство по пользовательскому интерфейсу справа налево?

Я изучаю поддержку RTL для проприетарной среды пользовательского интерфейса (для настольного приложения), и мне интересно: существуют ли рекомендации относительно того, как должен измениться рендеринг виджета?

Я ищу список таких вещей, как:

  • метки флажков находятся слева от флажка и выровнены по правому краю
  • кнопки панели инструментов перемещаются справа налево
  • вертикальные ползунки слева
  • украшение окна???
  • ...

person Manuela Hutter    schedule 28.07.2011    source источник


Ответы (1)


Как правило, макет должен быть зеркальным, то есть перевернутым по горизонтали. Помимо элементов управления, о которых вы уже упоминали, очевидно, что переключатели, поля со списком (также известные как раскрывающиеся меню), вращения (или вверх и вниз, в зависимости от терминологии) должны быть зеркальными. Оформление окна или блоки управления окном, то есть кнопки свертывания, развертывания и закрытия, должны находиться на противоположной стороне. То же самое касается заголовка окна.
Порядок кнопок также должен быть изменен, поэтому, если у вас есть [OK] [Отмена] [Справка], на языках с письмом справа налево это будет [Справка] [Отмена] [OK ]. Иконки во всплывающих сообщениях должны быть с другой стороны.

Возможно, вы захотите узнать, как Microsoft реализовала поддержку RTL в своей среде MFC: они просто изменили координаты, так что 0,0 указывает на верхний правый угол экрана, а координата x увеличивается при перемещении влево. сторона. Это имеет некоторый побочный эффект, который можно наблюдать в управлении разделителем - он работает ровно наоборот, как можно было бы ожидать (перетаскивание его влево увеличивает левую часть окна).

Возвращаясь к элементам управления: очевидно, что текстовые поля с выравниванием по левому краю в языках LTR должны быть выровнены по правому краю в языках с письмом справа налево и так далее.

Что определенно менее очевидно, некоторые растровые изображения также должны быть перевернуты. Что меня особенно удивило, значок вопросительного знака (тот, который обычно отображается в диалоговом окне подтверждения или в качестве кнопки справки) должен переворачиваться при локализации на арабский, урду или персидский язык для Перевернутый вопросительный знак (⸮​) — это то, что они используют. Хотя я не уверен в иврите.

Имейте в виду, что некоторые растровые изображения необходимо локализовать по культурным причинам (например, некоторые из них могут быть неуместными). Кроме того, при локализации на арабский (и похожие языки), но использовать их для иврита не рекомендуется. Как вы можете себе представить, если у вас есть красивые изображения для маркеров (содержащие цифры) и приложение (или фреймворк) необходимо перевести на арабский язык, эти изображения должны быть как минимум локализуемыми (то есть заменяемыми).

person Paweł Dyda    schedule 28.07.2011
comment
Старые вопросы, но вот обновление для гуглеров. В Material Design есть руководство по двунаправленности. material.google.com/usability/. - person Anton; 21.09.2016
comment
@Anton: Спасибо, но я нахожу по крайней мере некоторые из них спорными. По крайней мере, полезно консультироваться с носителями языка (то есть с переводчиками). - person Paweł Dyda; 21.09.2016