V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ftzzydayrx
V2EX  ›  问与答

请问这个网站是如何实现多国语言切换的呢?

  •  
  •   ftzzydayrx · 2016-06-12 12:19:22 +08:00 · 2327 次点击
    这是一个创建于 3089 天前的主题,其中的信息可能已经有所发展或是发生改变。

    尤其是这个网站的产品页面(应该是动态页面?)的参数等内容,也能实现多语言,在多语言网站中来说是比较特别的吧?请问这种是不是在数据库分字段存储的呢?还是用其他什么方式实现的呢?请大神帮忙解释一下,谢谢! 网站地址: http://www.stonkam.com/

    11 条回复    2016-06-16 20:25:34 +08:00
    avrillavigne
        1
    avrillavigne  
       2016-06-12 13:24:57 +08:00
    确定不是来推广的?
    源码应该是 万博企业网站管理系统 ,下载个瞅瞅
    ftzzydayrx
        2
    ftzzydayrx  
    OP
       2016-06-12 16:36:33 +08:00
    @avrillavigne 真不是来推广的,实在是找不到其他例子了。觉得和 https://pomotodo.com/的多语言网站还是不一样的。
    多谢推荐的系统,我去找找看。
    ftzzydayrx
        3
    ftzzydayrx  
    OP
       2016-06-12 16:40:35 +08:00
    请问连接数据库的网站,如何实现多语言呢?要在原来的表里加多一个语言的字段,还是在数据库加数据表呢?
    wdrsam
        4
    wdrsam  
       2016-06-12 16:42:49 +08:00
    这需要写到数据库里?难道页面所有的元素你都想要自己编辑? 一个函数,在页面输出的时候调用, translate('aaa')

    aaa 指定 2 个值就行了,给个接口,然后在全局变量里切换 看是用 aaa 的 en 翻译还是 zh 翻译或者其他国家的翻译不就行了
    m939594960
        5
    m939594960  
       2016-06-12 16:43:09 +08:00
    懒一点的办法。。 一个地区一套数据库
    ftzzydayrx
        6
    ftzzydayrx  
    OP
       2016-06-12 17:29:50 +08:00
    @wdrsam 多谢回答!写到数据库是因为要做动态网页,我做的网站类似正文里的那个网站,也有产品页面。由于产品很多,所以想到的就是将每个产品加上 id,再把相关的参数,特性等介绍存在其他字段里,这样就能只做一个 php 页面,根据 id 的不同实现产品页面的动态加载。 在此基础上要实现多语言,就想到在表里多加语言字段了(因为不知道有其他更好的方式)。

    页面的元素也打算是可以编辑的(请问还有更加好的实现方式吗?)。

    写 translate ()函数主要是针对调用本地文件资源的吧,不知对于这种多产品的网站能不能实现

    正文里的那个网站的产品页面参数内容不知是不是存在数据库里的,你可以点进去看看吗?我就是想实现这个网站的多语言切换
    ftzzydayrx
        7
    ftzzydayrx  
    OP
       2016-06-12 17:32:13 +08:00
    @m939594960 一个地区一套数据库的话,如果在后台新增产品,多个数据库都要同步增加相同的产品 id 吗?会不会太麻烦了呢?
    wdrsam
        8
    wdrsam  
       2016-06-12 22:49:05 +08:00
    @ftzzydayrx 那就直接准备 2 个表,一个表存全英文的,一个表存全中文的,还是用全局变量,切换表名就行了,其他完全一致
    ftzzydayrx
        9
    ftzzydayrx  
    OP
       2016-06-15 23:27:24 +08:00
    @wdrsam 抱歉,现在才回复。我原来打算在原有的表增加字段,比如 title 字段可以改为 cn_title 和 en_title;切换语言就选取对应的字段。按照你的说法,建多个表的做法应该是更为合理的。但是如果以后还要增加其他语言的话,复制原来的已经有数据的(有主从键)表,再修改其中内容就可以了吧?
    wdrsam
        10
    wdrsam  
       2016-06-16 09:02:33 +08:00
    @ftzzydayrx 恩,对的
    ftzzydayrx
        11
    ftzzydayrx  
    OP
       2016-06-16 20:25:34 +08:00
    @wdrsam 很感谢,我去试试~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5512 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:10 · PVG 15:10 · LAX 23:10 · JFK 02:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.