Наилучший подход к многоязычному пользовательскому интерфейсу

StackOverflow https://stackoverflow.com/questions/1649356

Вопрос

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

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

заранее благодарю

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

<Ол>
  • Различная длина контента в зависимости от языка.
  • Буквы справа налево портят выравнивание
  • Это классический проект для использования NUNIT или аналогичный, чтобы показать, что все работает после добавления новых переводов!

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

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

    Веб-инструментарий Google (GWT) ДЕМОНСТРАЦИЯ показывает ту же страницу с версиями, доступными на английском, французском, арабском и китайском языках.

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

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

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

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

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

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

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

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

    thumbnail http://img202.imageshack.us/img202/7813/zetaresourceeditor02. th.png

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

    thumbnail http://img249.imageshack.us/img249/9079/nopcommerce .th.png

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

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top