Руководство по интерфейсу справа налево? - PullRequest
8 голосов
/ 28 июля 2011

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

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

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

1 Ответ

6 голосов
/ 28 июля 2011

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

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

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

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

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

...