Лучший подход для многоязычного пользовательского интерфейса - PullRequest
2 голосов
/ 30 октября 2009

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

Редактировать: у меня нет проблем с глобализацией в моей системе. на самом деле, я ищу хороший способ для моего дизайна интерфейса, чтобы пользователь мог вводить свои данные в мои формы в различных языках.

заранее спасибо

Ответы [ 8 ]

1 голос
/ 30 октября 2009

Вы могли бы иметь 3 текстовых поля, и это нормально ... дойти до 10, и это начинает немного сходить с ума. Кроме того, он начинает выглядеть довольно плохо.

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

Текстовое поле будет автоматически заполнено текущим значением для языка, выбранного в раскрывающемся списке. Должно хорошо работать в asp.net, и это может быть сделано как на стороне клиента, так и на стороне сервера на обратной стороне довольно легко, так что вам не нужно делать что-то сумасшедшее для людей, не использующих JavaScript.

1 голос
/ 30 октября 2009

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

Надеюсь, вы понимаете, о чем я, иначе мне придется создать пример скриншота: -)

0 голосов
/ 26 марта 2010

Вы можете использовать javascipts в качестве файла ресурсов для вашего языка, как. language_arabic.js , language_english .js и т. Д. Поэтому, когда пользователь хочет видеть свой предпочтительный язык, он / она выбирает доступные языки из выпадающего списка. В связи с этим пользователь должен изменить языковые настройки со своего компьютера. Это то, что я делал, когда работал над проектом ГИС по настройке сайта Geocortex IMF (http://demos.geocortex.net/imf-5.2.2/sites/demo_geocortex/jsp/launch.jsp) для арабского клиента.

0 голосов
/ 30 октября 2009

Вы создаете страницу администрирования, которая позволяет пользователям изменять текст, используемый на других страницах приложения?

Если это так, вы можете использовать сетку, как в Zeta Resource Editor :

Миниатюра http://img202.imageshack.us/img202/7813/zetaresourceeditor02.th.png

Или вы можете составить список для каждого языка, как в nopCommerce :

Миниатюра http://img249.imageshack.us/img249/9079/nopcommerce.th.png

0 голосов
/ 30 октября 2009

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

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

0 голосов
/ 30 октября 2009

Google Web Toolkit (GWT) demo показывает ту же страницу с версиями, доступными на английском, французском, арабском и китайском языках.

В документации GWT подробно обсуждается интернационализация . Вы могли бы подражать их реализации.

  • Константы: полезно для локализации типизированных значений констант
  • Сообщения: полезно для локализации сообщений, требующих аргументов
  • ConstantsWithLookup: как и константы, но с дополнительной гибкостью поиска для приложений с высоким уровнем обработки данных
  • Словарь: полезно при добавлении модуля GWT к существующим локализованным веб-страницам

Помните, что даты и время по-разному представлены в разных локалях, если ваши формы используют их.

W3C также обсуждает Лучшие практики интернационализации в HTML-контенте .

0 голосов
/ 30 октября 2009

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

Текстовые строки для сообщений об ошибках или чего-то подобного могут быть помещены в файлы типа .ini и загружены оттуда.

0 голосов
/ 30 октября 2009

У вас есть одно текстовое поле. При загрузке вы заполняете текстовое поле в зависимости от языка.

Содержимое будет заполняться из какого-либо файла ресурсов. Если текста мало, он может даже войти в ваш конфигурационный файл.

Имейте в виду следующее:

  1. Разная длина контента в зависимости от языка.
  2. Алфавиты справа налево портят ваше выравнивание

Это классический проект для использования NUNIT или аналогичный, чтобы показать, что все работает после добавления новых переводов!

...