Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск в многоязычном сайте / 10 сообщений из 10, страница 1 из 1
17.03.2015, 11:12
    #38906789
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
Всем привет.
Народ подскажите плиз как можно организовать поиск по многоязычным данным?
Юзеры сами заполняют данные (имена/фамилии) на разных языках
так вот, если в базе возникли данные:
"Ашот", "Աշոտ", "Ashot", то мне нужно чтоб юзер ввел бы к примеру на грузинском, либо испанском не важно "Аш" и были найдены все варианты и английский, и русский и армянский.

Я вроде придумал одно решение но не уверен что правильно.
в момент сохранения новой записи, в дополнительную колонку переводить все данные на английский язык ( и то тол'ко по "звучанию")
и потом искать только в этой колонке

Тут я вижу 2 проблемы:
1. определить на каком языке "спрашивает/вводит" пользователь.
2. для каждого языка надо писать какой либо "транслятор" на енглиш.

Может есть более удачные решения подобных проблем?

С уважением. Ашот.

п.с. забыл сказать база данных по людям, т.е. искать надо только в именах/фамилиях людей.
...
Рейтинг: 0 / 0
17.03.2015, 11:56
    #38906848
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
karapetyan_a,

... насколько я знаю, нет единого варианта транслитерации скажем так не-латиницы в латиницу (ну, или английский) ... т.е. сербы кириллицу переведут скорее в свою латиницу (хорватскую), нежели в английскую и т.д. .. поэтому - пишите сами таблицы перевода, загоняйте при сохранении записи в отдельную колонку ДБ, и надейтесь, что LIKE справится в запросе с поиском ...
...
Рейтинг: 0 / 0
17.03.2015, 11:59
    #38906854
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
karapetyan_a,

Думаю, бесперспективная идея.
...
Рейтинг: 0 / 0
17.03.2015, 13:05
    #38906985
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
Может, проще пользователей приучить сразу вводить латиницей?
...
Рейтинг: 0 / 0
17.03.2015, 13:42
    #38907062
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
PallarisМожет, проще пользователей приучить сразу вводить латиницей?

... ага .. англичанин введет Ash, немец Asch, а мадьяр - As ... все это будет звучать как "Аш"
...
Рейтинг: 0 / 0
17.03.2015, 13:44
    #38907064
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
carrotik... ага .. англичанин введет Ash, немец Asch, а мадьяр - As ... все это будет звучать как "Аш"
Все это будут уже разные имена. Смысл локализировать имена и их вариации со всего мира - пустая трата времени.
...
Рейтинг: 0 / 0
17.03.2015, 14:23
    #38907146
Pallaris
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
carrotik... ага .. англичанин введет Ash, немец Asch, а мадьяр - As ... все это будет звучать как "Аш"

По крайней мере будет хотя бы призрачный шанс найти пользователя. Всяко реальнее, чем из Աշոտ делать Ashot.
...
Рейтинг: 0 / 0
17.03.2015, 18:46
    #38907473
karapetyan_a
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
PallarisМожет, проще пользователей приучить сразу вводить латиницей?
Нет, юзеры должны вводить каждый на своем........ иначе сайт будет только одноязычный (точнее английский).
вобщем попытаюсь сделать такую таблицу
Id Name SearchName
1 Ashot Ashot
2 Ашот Ashot
3 Աշոտ Ashot

т.е. в колонке SearchName буду писать латинскими имя человека, как оно звучит (чисто набор звуков)
и потом искать только в ней
т.е. когда какой нибудь грузин/француз напишет на своем "аш" я переведу это в "%ash%" и буду искать в SearchName.

но все равно я пока не знаю как определить язык ввода? армянский/грузинский легко определить, русский не уверен, может те же самые символы используют сербы......... а вот латинскую 'а' используют пол мира (французы/испанцы.............)
...
Рейтинг: 0 / 0
17.03.2015, 18:49
    #38907476
Axeleron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
karapetyan_a,
Вариант один: два поля в таблице БД и заставлять пользователей вводить имя на языке-оригинале и на латинце.
...
Рейтинг: 0 / 0
17.03.2015, 18:51
    #38907477
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Поиск в многоязычном сайте
karapetyan_aНет, юзеры должны вводить каждый на своем........ иначе сайт будет только одноязычный (точнее английский).
вобщем попытаюсь сделать такую таблицу
Id Name SearchName
1 Ashot Ashot
2 Ашот Ashot
3 Աշոտ Ashot

т.е. в колонке SearchName буду писать латинскими имя человека, как оно звучит (чисто набор звуков)
и потом искать только в ней
т.е. когда какой нибудь грузин/француз напишет на своем "аш" я переведу это в "%ash%" и буду искать в SearchName.

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

...в том-то и дело, что француз напишет Ach , а не Ash ....
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Поиск в многоязычном сайте / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]