• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jimyan
V2EX  ›  程序员

你们的系统是如何保存多语言的

  •  
  •   jimyan ·
    sansanboy · Jul 19, 2017 · 3353 views
    This topic created in 3395 days ago, the information mentioned may be changed or developed.
    假如一个商品名词有中文和英文,在数据库中是 name_ch 和 name_en 類似這樣嗎?還是有其它好的處理方法,這樣處理的問題是擴展不方便,如果我要多加一個語言,則需要多加一個字段,想到的方案是格式化後保存到一個字段中。
    11 replies  •  2017-07-20 07:21:36 +08:00
    jarlyyn
    jarlyyn
    Jul 19, 2017
    1
    你是想说网站有不同语言版本?
    jimyan
    jimyan
    OP
    Jul 19, 2017
    2
    @jarlyyn 如果是網站的語言還好,可以直接配置不同的語言文件,就是這種商品的處理。
    cxbig
    cxbig
    Jul 19, 2017
    3
    看你们平台的复杂程度
    可以参考 E-A-V 数据结构(希望隔开不会踩雷)
    https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model
    QAPTEAWH
    QAPTEAWH
    Jul 19, 2017
    4
    领导:小基啊,我这里有条小裙子你先穿着
    jarlyyn
    jarlyyn
    Jul 19, 2017
    5
    @jimyan

    你这个字段是什么用呢?
    jimyan
    jimyan
    OP
    Jul 19, 2017
    6
    @jarlyyn 根據用戶的區域顯示不同的描述
    U7Q5tLAex2FI0o0g
    U7Q5tLAex2FI0o0g
    Jul 19, 2017
    7
    我一般是
    products(id, xxx, yyy)
    languages(id, code, name)
    products_i18ns(id, product_id, language_id, name, desc)
    jimyan
    jimyan
    OP
    Jul 19, 2017
    8
    @cxbig 学习啦
    jimyan
    jimyan
    OP
    Jul 19, 2017
    9
    @littleylv 我研究下
    cxbig
    cxbig
    Jul 19, 2017
    10
    @jimyan
    如果你的项目需要的 语种有限,字段也不多,可以单开一个表存
    如 product_id, name_cn, name_en, description_cn, description_en,...

    不够用再上 E-A-V 或其他方案也不迟
    wenzhoou
    wenzhoou
    Jul 20, 2017 via Android
    11
    Java 就没有这个问题了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4994 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 07:14 · PVG 15:14 · LAX 23:14 · JFK 02:14
    ♥ Do have faith in what you're doing.