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

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

  •  
  •   jimyan ·
    sansanboy · Jul 19, 2017 · 3012 views
    This topic created in 3241 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
        1
    jarlyyn  
       Jul 19, 2017
    你是想说网站有不同语言版本?
    jimyan
        2
    jimyan  
    OP
       Jul 19, 2017
    @jarlyyn 如果是網站的語言還好,可以直接配置不同的語言文件,就是這種商品的處理。
    cxbig
        3
    cxbig  
       Jul 19, 2017
    看你们平台的复杂程度
    可以参考 E-A-V 数据结构(希望隔开不会踩雷)
    https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model
    QAPTEAWH
        4
    QAPTEAWH  
       Jul 19, 2017
    领导:小基啊,我这里有条小裙子你先穿着
    jarlyyn
        5
    jarlyyn  
       Jul 19, 2017
    @jimyan

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

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