Система маркировки контента - с i18n - PullRequest
4 голосов
/ 05 января 2010

Идея состоит в том, чтобы иметь систему тегов между пользователями и контентом (изображения, видео, сообщения) Вроде как система тегов здесь на SO с вопросами.

Мне нравится система достижений на SO, что означает, что после определенного количества очков пользователь может начать создавать свои собственные теги. Та же идея для моей системы

Мой текущий дизайн таблицы выглядит как

Tag           UserTag       User
---           -------       ----
tag_id        user_id       user_id
tag_name      tag_id        username
usage_count                 .... 

Это подводит меня к этому вопросу.

Q Как создать систему тегов для контента на разных языках.

  • В то же время можно одновременно искать один и тот же контент с тегами на разных языках.
  • иметь автозаполнение с разными языками для одного и того же тега

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

например. У меня есть тег с именем "ночной клуб" на английском языке

еще на французском, если бы они отметили, что перевод будет "discothèque"


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

Ответы [ 2 ]

2 голосов
/ 05 января 2010

Да, вы можете. Но учтите, что некоторые слова на одном языке могут иметь несколько переводов на других.

Вы можете иметь таблицу languages, таблицу tags только с tag_id и таблицу «многие ко многим» с language_id, tag_id, tag_name.

Как я уже говорил ранее, вы можете столкнуться с проблемами, когда люди хотят внести уточнения, которые позволяет их собственный язык, но другие языки не могут. Чтобы оставаться на французском примере, говоря о хлебе, у вас могут быть теги «багет», «flûte», «recuit», «demi-recuit» и т. Д., Тогда как у английского просто будет тег «bread». Отображение между тегами в этом случае значительно усложняется. но это общая проблема перевода, не только в области программирования.


По поводу вашего комментария : компромиссом будет добавление таблицы «tag_related_to_tag», позволяющей создавать связи между тегами. Пользователи могут сказать, какой тег связан с другим на другом языке. Это дало бы максимальную гибкость при минимальной сложности, но потребовало бы некоторого администрирования (в противном случае у вас могут быть злые пользователи, создающие очень неожиданные отношения между тегами, нарушающие полезность системы).

Это то, что я на самом деле хотел реализовать для веб-сайта, который имеет очень узкую область (стоическая философия) и целевую аудиторию. Если поле слишком широкое, оно может быть очень неэффективным.

1 голос
/ 05 января 2010

Интересный вопрос! Просто некоторые мысли (не предназначенные для полного решения, это скорее набор вопросов):

Простой подход заключается в наличии внутреннего идентификатора тега и для каждого языка локализованного имени.

Если локализованное имя еще не создано, вам, возможно, придется обратиться к имени тега на «основном» языке - обычно английском - или на языке, на котором был создан тег.

Перевод должен быть выполнен пользователем, который знает оба языка, автоматические переводы являются ИМО неточными. Так что, вероятно, пользователь имеет право (связано с наградами?) Переименовывать теги.

Все ли языки одинаковы или теги созданы только на "основном языке", понятном большинству пользователей, и переводы добавлены отдельно? (Последнее выглядит менее справедливо, но, вероятно, облегчит некоторые вещи)

Вам нужна возможность объединять теги - например, когда пользователи независимо друг от друга создали «дискотеку» и «ночной клуб».

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

Включен ли в строку запроса тег name ? Будет ли работать моя немецкая ссылка с запросом, когда я отправлю ее другу в США?

Как разрешить споры относительно значения тега? Пример: самый близкий перевод на немецкий язык - "Nachtclub" для ночного клуба и "Diskothek" для "discothèque". Но по-немецки «Nachtclub» весьма отличается от «Diskothek» (хотя есть некоторые совпадения).

...