Javascript 在网站上实现多语言支持的最佳方法

Javascript 在网站上实现多语言支持的最佳方法,javascript,coldfusion,multilingual,Javascript,Coldfusion,Multilingual,我使用下面的方法来实现多语言 我研究了如何在网站中实现多语言。并发现有四种实现多语言的方法,如下所示 简单易用的方式实现谷歌翻译 用每种语言创建每个页面,并放置不同的文件夹和子域。(过程昂贵且难以配置) 使用json或xml作为资源。(难以管理,但工作速度快) 使用db包含每种语言的每一列(易于管理,但与json和resource相比,工作速度较慢)) 哪一种是最好的实现方法 请建议是否应该有更好的解决方案 提前谢谢。您考虑过标签方法吗?您可以在应用程序范围中拥有一个结构,其中包含特定唯一标签名

我使用下面的方法来实现多语言

我研究了如何在网站中实现多语言。并发现有四种实现多语言的方法,如下所示

  • 简单易用的方式实现谷歌翻译

  • 用每种语言创建每个页面,并放置不同的文件夹和子域。(过程昂贵且难以配置)

  • 使用json或xml作为资源。(难以管理,但工作速度快)

  • 使用db包含每种语言的每一列(易于管理,但与json和resource相比,工作速度较慢))

  • 哪一种是最好的实现方法

    请建议是否应该有更好的解决方案


    提前谢谢。

    您考虑过标签方法吗?您可以在应用程序范围中拥有一个结构,其中包含特定唯一标签名称的文本,以及该特定语言的文本:

    <cfset application.labels['main.search.title']['EN'] = 'Search for widgets' /> 
    <cfset application.labels['main.search.title']['FR'] = 'Chercher pour widgets' /> 
    
    
    
    您可以从数据库中的“标签”表甚至应用程序目录中的文本文件填充结构。填充结构的函数可以在应用程序启动时调用,甚至可以在每次请求时检查是否有必要。这取决于性能和用户如何更改语言

    但无论哪种方式,只需使用会话中的语言在页面视图中输出标签就变得简单了:

    <cfoutput>
        #application.labels['main.search.title'][session.user_lg]#
    </cfoutput>
    
    
    #application.labels['main.search.title'][session.user\u lg]#
    
    1)糟糕的结果2)太多的工作4)甚至更难管理,因为您必须设置和维护数据库3)goWe的方式从#3(资源文件)开始,但之后切换到#4开始变得笨拙。它实际上非常容易设置,我们对此非常满意。请记住将这些标签视为只读标签,因为
    应用程序
    是一个共享的全局范围。我在这里的轶事:我曾经有一个条件连接
    &=“*”
    作为“必需”标题。在某些时候,我有一个标题名为
    password*********
    。( ͡° ͜ʖ ͡°)