V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
anonnymous
V2EX  ›  问与答

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

  •  
  •   anonnymous · Mar 12, 2019 · 3188 views
    This topic created in 2603 days ago, the information mentioned may be changed or developed.
    我们团队运营了一个中文版设计师社区,类似站酷网( 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 replies    2019-03-12 13:19:01 +08:00
    xfcy
        1
    xfcy  
       Mar 12, 2019 via Android
    抛砖引玉下_(:з」∠)_
    1. ci 框架自带 i18n 功能。对于网站的非内容性文字,可以预先写好语言包,然后根据用户访问的域名来加载对应语言包;
    2. 内容性文字可以有两种做法:对翻译准确度要求不太高的可以在添加数据入库前,调用下翻译 api,存一份其他语言的数据;如果准确度要求高,那就人工录入其他语言的数据。后面的操作也就是根据用户访问的域名去取数据了。
    v2epS
        2
    v2epS  
       Mar 12, 2019
    1 判断 ip 进行跳转,前端使用语言包替换界面语言
    2 内容不进行翻译,靠语言分区就好了,什么语言的发在什么区(翻译不切实际)
    anonnymous
        3
    anonnymous  
    OP
       Mar 12, 2019
    @v2epS
    暂时不采用判断 ip 跳转的方法。因为海外宣传直接就采用 Website.com 这个域名,不推广 Website.cn 所以海外用户一般不会知道.cn 这个站。不过也可以预留一下,万一真的是海外用户访问.cn可以跳到.com


    @xfcy
    1 CI 的非内容文字比较好办。语言包也很容易。
    2 这个方法不错。在写入数据库前翻译一份。不过不知道这样操作,会不会延迟反馈和加载内容的时间。
    xfcy
        4
    xfcy  
       Mar 12, 2019
    @anonnymous #3 同步操作怕阻塞的话,可以丢队列做异步操作啊~~
    TOTOP
        5
    TOTOP  
       Mar 12, 2019
    2 个前端公用一个后端。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3020 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 15:06 · PVG 23:06 · LAX 08:06 · JFK 11:06
    ♥ Do have faith in what you're doing.