【问题标题】:Best approach to implement multi language support on website在网站上实现多语言支持的最佳方法
【发布时间】:2018-10-22 07:31:43
【问题描述】:

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

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

  1. 简单易行的方式实现谷歌翻译。

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

  3. 使用 json 或 xml 作为资源。(管理困难但工作快速)

  4. 使用 db 来包含每种语言的每一列。(易于管理,但与 json 和资源相比,它的工作速度很慢)

哪一种是最好的实现方式?

如果应该有更好的解决方案,请提出建议。

提前谢谢你。

【问题讨论】:

  • 1) 糟糕的结果 2) 太多的工作 4) 更难管理,因为您必须设置和维护一个数据库 3) 要走的路
  • 我们从#3(资源文件)开始,但在开始变得笨拙之后切换到#4。它实际上很容易设置,我们对此非常满意。

标签: javascript coldfusion multilingual


【解决方案1】:

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

<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 是一个共享的全局范围。我在这里的轶事:我曾经有一个条件连接&amp;= " *" 用于“必需”标题。在某些时候,我有一个名为 password * * * * * * * * * 的标题。 ( ͡° ͜ʖ ͡°)
猜你喜欢
  • 1970-01-01
  • 2011-01-30
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 2014-07-21
  • 2023-03-14
  • 1970-01-01
相关资源
最近更新 更多