Как разработать систему тегов для локализованного сайта? - PullRequest
0 голосов
/ 16 ноября 2009

Допустим, у меня есть базовая система тегов (для клона "craiglists"), например:

Метка (id, тэг) объявление (id, заголовок, тело) adTag (tag_id, article_id)

Это подойдет для нелокализованного веб-сайта, но каков будет правильный подход к веб-сайту, который используют люди, говорящие на разных языках?

Пользователи, вероятно, будут публиковать рекламу на разных языках в одной и той же локальной области, поэтому, может быть, мне стоит создать какую-то систему синонимов, которая рассматривает "job" и "trabajo" в одном теге? Но как насчет пользователей, которые хотят видеть рекламу только на одном языке?

Ответы [ 2 ]

0 голосов
/ 16 ноября 2009

Я могу придумать два возможных решения:

  1. Добавить поле языка: Tag (id, tagname, lang), где вы можете указать язык для тега

  2. Измените тег на Tag (id) и используйте отдельную таблицу для перевода тега tagTranslations (tag_id, lang, tagname)

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

0 голосов
/ 16 ноября 2009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...