多域名、多语言 网站的解决方案是什么? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anonnymous
V2EX    问与答

多域名、多语言 网站的解决方案是什么?

  •  
  •   anonnymous 2019-03-12 09:18:02 +08:00 3007 次点击
    这是一个创建于 2487 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们团队运营了一个中文版设计师社区,类似站酷网( https://www.zcool.com.cn/ ),访客绝大多数来自国内,日均产生帖子 300 个、新用户 50 人。网站采用常见的 MVC 框架--CodeIgnitor

    假设中文版域名是 Wesbite.cn ,现在我们想开通一个英文版的网站、面向海外用户,拟使用的域名为 Website.com ,且要求这个站是英文的,两个站的内容相同、语言不同。请问在数据库层面、前端层面,有没有合理的解决方案?

    1. 最初想到在 Wesbite.cn 的 header 上,放置一个 Google Translate 按钮,如果海外用户单击,会全站翻译成英文。但是不太喜欢多余的这一步,又考虑的如果老外第一眼看到全是中文的 Wesbite.cn ,不容易发现翻译按钮。舍弃这个方案。

    2.有什么办法可以同步翻译部分数据库字段?比如一个表中有 20 个字段,只把 title, content, 的内容翻译成 title_english, content_english, 这样在英文版 Website.com 的代码中,调用 _english 的数据字段就可以了。这个可行吗?
    5 条回复    2019-03-12 13:19:01 +08:00
    xfcy
        1
    xfcy  
       2019-03-12 09:31:21 +08:00 via Android
    抛砖引玉下_(:з」∠)_
    1. ci 框架自带 i18n 功能。对于网站的非内容性文字,可以预先写好语言包,然后根据用户访问的域名来加载对应语言包;
    2. 内容性文字可以有两种做法:对翻译准确度要求不太高的可以在添加数据入库前,调用下翻译 api,存一份其他语言的数据;如果准确度要求高,那就人工录入其他语言的数据。后面的操作也就是根据用户访问的域名去取数据了。
    v2epS
        2
    v2epS  
       2019-03-12 09:31:34 +08:00
    1 判断 ip 进行跳转,前端使用语言包替换界面语言
    2 内容不进行翻译,靠语言分区就好了,什么语言的发在什么区(翻译不切实际)
    anonnymous
        3
    anonnymous  
    OP
       2019-03-12 12:10:42 +08:00
    @v2epS
    暂时不采用判断 ip 跳转的方法。因为海外宣传直接就采用 Website.com 这个域名,不推广 Website.cn 所以海外用户一般不会知道.cn 这个站。不过也可以预留一下,万一真的是海外用户访问.cn可以跳到.com


    @xfcy
    1 CI 的非内容文字比较好办。语言包也很容易。
    2 这个方法不错。在写入数据库前翻译一份。不过不知道这样操作,会不会延迟反馈和加载内容的时间。
    xfcy
        4
    xfcy  
       2019-03-12 13:13:26 +08:00
    @anonnymous #3 同步操作怕阻塞的话,可以丢队列做异步操作啊~~
    TOTOP
        5
    TOTOP  
       2019-03-12 13:19:01 +08:00
    2 个前端公用一个后端。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2344 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 20ms UTC 03:15 PVG 11:15 LAX 19:15 JFK 22:15
    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