【问题标题】:Tagging content system - with i18n标记内容系统 - 使用 i18n
【发布时间】:2010-01-05 15:30:23
【问题描述】:

想法是在用户和内容(图像、视频、帖子)之间建立一个标记系统 有点像 SO 上的标记系统,有问题。

我喜欢SO上的成就系统,意思是在达到一定积分后 用户可以开始制作他/她自己的标签。我的系统也有同样的想法

我目前的桌子设计看起来像

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

这让我想到了这个问题。

Q 如何为不同语言的内容建立一个标记系统。

  • 但同时能够使用不同语言的标签搜索相同的内容。
  • 为同一标签使用不同语言自动完成

当我使用自动完成功能时,我会搜索标签名称,例如用户输入的字符。

例如我有一个英文名为“nightclub”的标签

如果他们标记翻译将是“discothèque”,那么在法语中


或者有没有办法做到这一点,只让人们用不同的语言制作标签。

【问题讨论】:

    标签: database internationalization tagging


    【解决方案1】:

    是的,你可以。但请注意,一种语言中的某些单词可能在其他语言中有多种翻译。

    您可能有一个languages 表、一个只有tag_idtags 表,以及一个带有language_idtag_idtag_name 的多对多表。

    就像我之前所说的,当人们想要进行他们自己的语言允许但其他语言不能进行的改进时,您可能会遇到问题。留在法语的例子中,谈论面包,你可能有'baguette'、'flûte'、'recuit'、'demi-recuit'等标签,而英语只有一个'bread'标签。那么标签之间的映射就非常复杂了。但这是一个普遍的翻译问题,不仅在编程领域。


    关于您的评论:折衷方案是添加一个“tag_related_to_tag”表,允许在标签之间进行耦合。用户可以用不同的语言分辨出哪个标签与哪个标签相关。这将允许以最小的复杂性获得最大的灵活性,但需要一些管理(否则您可能会让恶意用户在标签之间建立非常意想不到的关系,从而破坏系统的实用性)。

    这实际上是我正在考虑为一个具有非常狭窄的领域(斯多葛哲学)并以公众为目标的网站实施的东西。如果领域太宽泛,可能效果很差。

    【讨论】:

    • 我知道你来自哪里,它似乎带来的问题多于解决的问题,所以是否值得实施一个系统,或者让用户在那里用母语制作它们。这意味着从一开始就有 2 或 3 组不同语言的标签。同样,当用户开始添加自己的标签时,所有标签 - 语言链接都会变得非常复杂
    【解决方案2】:

    有趣的问题!只是一些想法(不是一个完整的解决方案,它更像是一组问题):

    一种简单的方法是使用内部标签 ID,并为每种语言设置一个本地化名称。

    如果尚未创建本地化名称,您可能需要使用“主要”语言(通常是英语)或创建标签所用语言的标签名称。

    翻译需要由懂两种语言的用户来完成,自动翻译在 IMO 上不准确。所以可能是用户权利(绑定奖励?)重命名标签。

    所有语言都是平等的,还是仅以大多数用户理解的“主要语言”创建标签,并单独添加翻译? (后者看起来不太公平,但可能会让一些事情变得更容易)

    您需要能够合并标签 - 例如当用户独立创建“discothèque”和“nightclub”时。

    我是否只能看到以我的语言提供的标签,还是可以看到以其他语言提供但没有翻译成我的语言的标签?我可以搜索其他语言的标签吗?

    标签 name 是否包含在查询字符串中?当我将德语查询链接发送给美国的朋友时,它会起作用吗?

    如何解决关于标签含义的争议?示例:与德语最接近的翻译是夜总会的“Nachtclub”和“discothèque”的“Diskothek”。但在德语中,“Nachtclub”与“Diskothek”完全不同(尽管有一些重叠)。

    【讨论】:

    • 你在未来开辟了一个痛苦的世界,是的,翻译/奖励似乎是个好主意,但需要很长时间才能集成到 ATM 中,所有语言和用户都是能够创建标签是平等的,我认为任何人都可以输入或使用任何语言的任何标签,因为它只是用“like”查询的键盘字符。如果我现在不考虑的话,将来合并标签会非常困难,但我会不会浪费更多时间在标签的复杂性上,而不是让整个系统正常工作。
    • 我认为“任何标签名称”在真正的全局界面中都不是一个好主意。一个德国“厨师”对你大喊,一个英国“厨师”站在厨房里。一家德国“银行”将把你的钱带到坐下——用英语试试。一个英语的“礼物”可能会让你开心,一个德语的“礼物”会杀了你。这只是数百种语言中的两种和 1 分钟研究我的大脑。
    • 你再次提出了一个有效的观点,但美味允许一个全局标记系统。还有一篇关于这个主题的好论文lirias.kuleuven.be/bitstream/123456789/158652/1/paper02.pdf
    • 感谢您的链接!他们在这里预测的寒冷周末的一些阅读材料......我没有使用美味(或任何其他共享的多语言标记系统)。我同意不同含义的问题可能比我所谓的“完整”实现的复杂性要低。
    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多