mysql [数据库] 如何国际化? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
maomaomao001
V2EX    MySQL

mysql [数据库] 如何国际化?

  •  
  •   maomaomao001 2016-03-09 18:07:12 +08:00 8067 次点击
    这是一个创建于 3569 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如有一张表:
    产品 id
    属性 1(字符串)
    属性 2(字符串)
    属性 3(字符串)

    属性需要国际化 /多语言

    如何设计才能比较科学的存取呢?

    11 条回复    2016-03-11 22:58:43 +08:00
    mhycy
        1
    mhycy  
       2016-03-09 18:10:50 +08:00
    表 0 :外部产品 id, 发布时间, 备注
    表 1 : 产品 ID, 对应外部 id, 更新时间, 属性表, 可用标记, 备注
    表 2 : 产品 id, 属性, 取值, 语言标记, 可用标记, 备注


    依据需求会有别的选择
    jugelizi
        2
    jugelizi  
       2016-03-09 18:20:38 +08:00
    存就存一种吧 字母就好了
    配置里放上多种语言翻译
    显示时根据用户设置调用翻译
    MySQL 不干这事
    maomaomao001
        3
    maomaomao001  
    OP
       2016-03-09 18:42:29 +08:00
    @mhycy 这种方式下表 2 数据会很多很多很多。


    @jugelizi 如果是性别之类的,写个配置文件还好说。
    mhycy
        4
    mhycy  
       2016-03-09 18:45:56 +08:00
    @maomaomao001

    后期非常容易分表,这是优点,不需要过早优化。
    gkiwi
        5
    gkiwi  
       2016-03-09 19:04:41 +08:00
    不晓得你用什么后端框架,这个一般在框架级别上应该会有插件支持,可以去搜搜看。
    比如我用的 django ,就会有相应的 django-modeltranslation 只要在相应 model 里稍作配置,生成的 mysql 表里面就有对应的多语言字段,比如 name ,会有:name,name_zh_cn,name_en 这样子,在后台编辑的时候,自然就会多出来这些。。这样子客户在编辑的时候,自己填上中英文就好了。
    cevincheung
        6
    cevincheung  
       2016-03-09 19:07:01 +08:00
    拆出一个表来存多语言属性。根据 key 做索引+商品 ID 索引关联商品表。
    gkiwi
        7
    gkiwi  
       2016-03-09 19:08:14 +08:00
    不过像 mhycy 说的,可以在表的级别上做多语言处理,需要增加语言的时候,直接多增加一张表就好了,我这个新增语言就需要变表结构,扩展性不够好。不过本来就字段少,所以还可以接受。

    另外可以说说应用场景,是文档类的,还是像苹果那样子的多语言宣传类的。
    pichina
        8
    pichina  
       2016-03-09 19:33:05 +08:00
    属性都用 utf-8 ,哪个国家的语言都可以。
    maomaomao001
        9
    maomaomao001  
    OP
       2016-03-09 22:41:11 +08:00 via Android
    @gkiwi java jfinal
    maomaomao001
        10
    maomaomao001  
    OP
       2016-03-09 22:43:06 +08:00 via Android
    @cevincheung
    看来先阶段这个是比较好的方案了,
    @gkiwi 不是文档。
    谢谢大家
    akira
        11
    akira  
       2016-03-11 22:58:43 +08:00
    id ,字符串变量名,字符串中文,字符串英文

    数据库只是持久化 不要到用的时候才来加载
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3248 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 11:37 PVG 19:37 LAX 03:37 JFK 06:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86