abdul subhan mohammed Ответов: 3

Как создать сайт на нескольких языках ASP.NET с#?


Привет Ребята,

Я уже создал один сайт викторины, но только на английском языке.

Теперь требование клиента заключается в создании/изменении для поддержки нескольких языков.

Страница AddQuestion имеет несколько выпадающих списков, одно текстовое поле для вопроса и текстовые поля для ответов.

Мой вопрос таков:
Когда вопрос вводится в Eng и хранится в БД как Eng,
как он будет отображаться/отображаться на других языках.

Что я уже пробовал:

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

Может ли кто-нибудь предложить мне, как это решить?


Спасибо

Suvendu Shekhar Giri

Он должен работать для текстового поля и выпадающего списка таким же образом. У вас есть какие-то проблемы?

abdul subhan mohammed

Я ввел / добавил QuizQuestion на английском языке, позже я открыл ту же страницу на арабском языке,
теперь, как он будет отображать этот eng QuizQuestion на арабском языке для редактирования и изменения будут действовать и на английском языке.

Karthik_Mahalingam

Всегда использовать  Ответить  кнопка, чтобы отправить комментарии / запрос пользователю, чтобы пользователь получил уведомление и ответил на ваш текст.

3 Ответов

Рейтинг:
1

Peter Leow

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


abdul subhan mohammed

Не могли бы Вы уточнить свой ответ?
Я не делал этого раньше, пожалуйста, предоставьте подробности или любую ссылку, которая мне поможет.

Спасибо

Peter Leow

Ключ позволит вам преобразовать вопрос или ответ с английского языка на выбранный вами язык в файле ресурсов. Это расширение к http://www.codeproject.com/Articles/15313/Globalization-and-localization-demystified-in-ASP

abdul subhan mohammed

Какие есть поля, должен добавить я, для реализации такого подхода.

Я имею в виду, нужно ли в графическом интерфейсе добавлять отдельные текстовые поля для каждой культуры?

Рейтинг:
0

Patrice T

Цитата:
Я уже создал один сайт викторины, но только на английском языке.
Теперь требование клиента заключается в создании/изменении для поддержки нескольких языков.
Предположив, что вы сделали шаблоны страниц для англоязычного сайта, Вам придется создать шаблоны для каждого языка и установить тег, напоминающий вам, какой язык используется.
Цитата:
Когда вопрос вводится в Eng и хранится в БД как Eng,
как он будет отображаться/отображаться на других языках.
Короткий ответ: нет.
Практически ни один универсальный автоматический переводчик в Интернете не может точно перевести вещи, выходящие за рамки самых простых предложений.
Убедитесь сами с помощью Google Translate[^]
Как только предложение становится немного сложным, оно становится неправильным.


Рейтинг:
0

Mohtshm Zubair

Во-первых, в настоящее время нет автоматического преобразования текста на какой-либо конкретный язык.

Таким образом, любые данные, которые будут введены, вы должны внести изменения в каждую таблицу, где эти введенные данные сохраняются.

Что я имею в виду, предположим, вы сохраняли текст вопроса в таблице, а именно "tbl_questions"

tbl_questions {question_id (PK) int , question_text nvarchar(max)}


Но теперь вам нужно изменить тип question_text на ntext для поддержки многоязычного текста, а также добавить дополнительное поле для языка, а также ограничение первичного ключа, составное из question_id и languaage_id
.

tbl_questions { question_id(PK)  int ,language_id (PK) int, question_text ntext}



Теперь вам нужно сохранить текст на выбранном языке. Это означает, что если у вас есть поддержка четырех языков, то один и тот же текст вопроса должен быть сохранен четыре раза против этих языков.

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

Вот как я достигаю многоязычного сайта с файлами ресурсов и БД с полем ntext.