V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
senyi
V2EX  ›  PHP

作为一个开发,居然被这个问题难倒了,快进来看看你们是如何解决的???

  •  
  •   senyi · 2020-03-14 21:44:29 +08:00 · 4337 次点击
    这是一个创建于 1720 天前的主题,其中的信息可能已经有所发展或是发生改变。

    整了半天,没找到怎么简单粗暴的实现网站的中英文替换??

    从前端的思路,看了 i18n、微软字典等等,感觉这种还是属于键值对读参数的办法,效率偏低下。

    从后端的思路,如果从接口翻译那基本凉凉,如果写翻译文件(用变量代替字符串),那效率也很低下,况且数据库还有那么多固定语言的信息,怎么翻译?

    请问各位是解决这个问题的(做 N 个版本的别说了,不能通用多项目)

    9 条回复    2020-03-22 18:22:27 +08:00
    darkaforest
        1
    darkaforest  
       2020-03-14 21:56:42 +08:00 via Android
    前端请求 i18n 文件按需显示是比较普遍的做法吧,加载完都放内存了何谈效率低下?
    lbyo
        2
    lbyo  
       2020-03-14 21:57:17 +08:00
    参考一下 Ant Design 的国际化方案,比如 https://github.com/formatjs/react-intl
    miaotaizi
        3
    miaotaizi  
       2020-03-14 22:20:04 +08:00 via iPhone   ❤️ 1
    你确定你是开发?这种不是常态吗
    acrisliu
        4
    acrisliu  
       2020-03-14 22:30:00 +08:00
    键值对读参数是目前比较主流的做法吧。
    HENQIGUAI
        5
    HENQIGUAI  
       2020-03-14 23:57:59 +08:00
    做两个站 /doge
    towser
        6
    towser  
       2020-03-15 00:13:23 +08:00
    虽然不符合你的预期,但 i18n 确实是主流做法
    stillyu
        7
    stillyu  
       2020-03-15 09:19:36 +08:00 via iPhone
    不知道楼主取这个标题的本意是什么?
    basstk
        8
    basstk  
       2020-03-15 17:33:11 +08:00
    i18n 可以了,难道你的日访问亿级?
    ben1024
        9
    ben1024  
       2020-03-22 18:22:27 +08:00
    存储方式
    1.数据库缓存
    2.文件缓存
    实现方式
    1.模版渲染输出
    2.前端变量替换

    数据库块状内容翻译,指定切割符,进行切分丢入翻译任务中
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1807 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 16:32 · PVG 00:32 · LAX 08:32 · JFK 11:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.