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

一般的网站的多语言,是怎么做的呢?

  •  
  •   qqjt · 2014-06-25 11:53:40 +08:00 · 3913 次点击
    这是一个创建于 3829 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我看到一些是直接用子目录,比如/en,这样的方式显示别的语言的页面,有关的干脆是谷歌翻译的结果,有什么好的办法,可以显示同样页面的不同语言版本?
    11 条回复    2016-02-29 17:02:04 +08:00
    slixurd
        1
    slixurd  
       2014-06-25 12:00:42 +08:00
    I18N很多都是在XML里面做KV对的储存,一个语言一个文件,然后程序里面不直接使用硬编码的文本,而是使用键值/name来编码,最后再提供一个切换语言的选项就完事了
    切换语言可以放在cookie,可以存在session.也可以用url,方式很多
    cbsw
        2
    cbsw  
       2014-06-25 12:06:18 +08:00   ❤️ 1
    你的需求是 l10n
    一般成熟框架都带有 l10n 中间件,或者可以很方便的使用一些库,如 python 的 babel 库 http://babel.pocoo.org/
    xiaojj
        3
    xiaojj  
       2014-06-25 12:29:13 +08:00
    @slixurd 数据库和后台怎么设计呢
    9
        4
    9  
       2014-06-25 12:35:50 +08:00
    用 gettext 是比较通用的做法?
    kstsca
        5
    kstsca  
       2014-06-25 12:44:15 +08:00
    建议分开 这样对SEO好。。。
    jqw1992
        6
    jqw1992  
       2014-06-25 13:34:06 +08:00
    要是 WordPress 的wpml就可以做到的了...
    qqjt
        7
    qqjt  
    OP
       2014-06-25 14:47:00 +08:00
    @slixurd 在html或者php、jsp文件中是怎么标记它的语言的呢?
    qqjt
        8
    qqjt  
    OP
       2014-06-25 14:52:11 +08:00
    看到了一些资料,我再研究研究
    tabris17
        9
    tabris17  
       2014-06-25 14:57:49 +08:00
    程序内部的文字,就是那些写在代码里的文字,我用gettext
    视图模板的多语言,就用不同不同文件夹存放,根据当前环境的语言设置,读取不同路径下的模板文件
    至于内容的多语言,是读取数据库里的不同记录或不同的表来实现的
    AlanZhang
        10
    AlanZhang  
       2014-06-25 16:25:56 +08:00
    最简单的用数组,然后一个翻译函数: trans('key')
    jalen
        11
    jalen  
       2016-02-29 17:02:04 +08:00
    题主后来是怎么做的呢??
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3375 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 11:00 · PVG 19:00 · LAX 03:00 · JFK 06:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.