1

Я работаю над продуктом веб-приложения, который позволяет мнемонику (т. Е. Подчеркивание ниже символа «C», чтобы позволить комбинацию клавиш и клавишу C запускать кнопку «Закрыть»).Существуют ли шаблоны/алгоритмы для работы с локализуемыми мнемониками?

  • Формы создаются различными разработчиками, и каждый из них может статически устанавливать мнемонику для кнопок.
  • Формы могут быть вложенными, поэтому во время разработки не обязательно знать точную мнемонику, которая потребуется для одной страницы.
  • Может быть не более одной мнемоники, используя любой символ на странице, содержащей много форм.
  • И вот кикер, формы должны быть локализованы на любой язык, а это означает, что «C» для закрытия может даже не отображаться в слове ... [insert language], используемом для «Close».

Идеальное решение было бы некоторым алгоритмом, в котором разработчикам не пришлось бы вручную указывать мнемонику, вместо этого они были бы разработаны во время выполнения, они были бы локализованы, и они были бы удобными и последовательными (Я действительно сказал идеальное решение ;-D).

Так что мне было интересно, есть ли хорошие стратегии для достижения чего-то в идеальном месте?


EDIT: Для уточнения,

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

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

Несомненно, если бы я искал что-то подобное, это соответствовало бы более общему алгоритму - я просто не знаю, какой из них! :-)

ответ

0

Проблема, которую я вижу при выполнении этой задачи во время выполнения, это то, что происходит при развертывании версии с новыми формами и изменениях. Закрыть от alt-c до ctrl-c. Или, когда у вас есть два действия на двух разных страницах, но они оба близки, вы хотите убедиться, что close всегда alt-c. Хуже было бы, если бы алгоритм основывался на чем-то не детерминированном и со временем менялся без развертывания.

Кажется, что вы можете потратить больше времени на создание алгоритма для чего-то, что должно быть принято во время разработки.

+0

Надеюсь, моя правка дали немного больше понимание того, что я имею в виду, и ограничения на назначение во время разработки. Приветствия. – Grundlefleck

1

Это действительно проблема проектирования, а не алгоритмическая проблема. Оказывается, большинство приложений не локализуют клавиатурные ускорители, в том числе большинство Microsoft, хотя на некоторых рынках есть некоторые исключения. Не каждая комбинация клавиш является мнемонической; действительно, только некоторые из наиболее распространенных.

Я должен отметить, что эти выборы не для локализации ускорителей - это довольно недавняя тенденция; до 2000 или около того, было довольно распространено локализовать ярлыки в некоторых продуктах (например, ctrl-F для «Fett» вместо «смелых» в немецкой и шведской продуктах). Но маятник качнулся в противоположном направлении, возможно, как следствие MUI и подобных черт.

Несколько инструментов локализации помогут вам в этом; Я видел эту функцию как маркер на продукте, который я никогда не использовал под названием Visual Localize. Я не уверен, насколько полезно автоматическое назначение, так как довольно сложно автоматически решить, какой символ является лучшим мнемоническим представлением, без знания домена определенного продукта.

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

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

2

Я попытался сделать что-то подобное в прошлом проекте и оставил его. Это было слишком сложно сделать в любое разумное время.

Одна из проблем заключается в том, что на некоторых языках нет единственной отображаемой буквы, которая отображается на одной клавише на клавиатуре. Еще одна проблема на английском языке заключалась в том, что стандарты юзабилити требовали, чтобы мнемонические письма были совместимы с теми же кнопками/меню в других приложениях. Это может быть сложно, если вы динамически выбираете буквы.

Я не знаю, можно ли назвать его «лучшей практикой», но подумайте о том, что делает Microsoft Internet Explorer на японском языке. Обратите внимание на знакомые функции F, E, V, A и D в меню и на панели инструментов. Я предполагаю, что он следует тому же соглашению, где это уместно, для кнопок на формах и т. Д.

screenshot of IE6 with Japanese menus http://sidenet.ddo.jp/winetips/files/wine-ie6-01.png

(я зацепил, что скриншот из google image search. Если он идет несвежий, вы можете найти другие фотографии JP локализован IE довольно легко.)

Смежные вопросы