提问者:小点点

如何为差异国家部署全球网站?


我试图了解当我们有像亚马逊这样在不同国家运行的网站时,部署是如何发生的。

比方说,如果我有一个像亚马逊这样的网站,例如myweb.de(德国)。

那么什么是理想的部署方法呢?我的疑问是,我需要只在德国部署我的德国特定网站吗?

第二个疑问是,如果我们有多个国家的网站,那么每个国家都需要开发不同的网站…?

请帮助我理解这一点,并在可能的情况下分享一些资源。

谢啦


共1个答案

匿名用户

语言之间的差异可能意味着很多事情。为了这个答案的目的,我将假设在网站的所有版本中都有一个图形模板要显示,但是要显示的文本有些不同。当然,在现实中你可能有不同的动画、不同的图片等。,但为了简洁起见,我们将专注于文本更改。

现在,如果所有版本的图形都完全相同,那么,理想情况下,您将把它放在任何作为服务器运行的计算机的单个位置,并且每个和任何请求都将到达这个位置。所以,让我们假设你有一个像这样的位置

/your/path/to/the/root/folder

您可以使用一个或多个服务器以这种方式到达该位置。现在,您可能有一些文件,如en. json、de.json等,其内容如下

{
    welcome: "welcome",
    hello: "hellow"
}

对于en. json,您将拥有de.json的德语版本。当然,您可以以不同的方式表示您的语言映射,例如将其存储在数据库中或其他任何方式。

现在,您代表不同语言的不同域必须知道它必须加载哪个语言文件,并且您的图形模板应该知道该消息,示例块可能如下所示:

<h1>{{ language.welcome }}, {{ username }}!</h1>

而且你的渲染器应该能够从上面推断出语言。欢迎是指你的语言中的欢迎键所代表的文本,而用户名是动态的,要显示的可变信息。

当然,这可以通过许多不同的方式来实现,但主要思想是:

  • 如果可能,您希望服务器上有一个图形UI,即使支持更多语言
  • 您想将抽象消息映射到每种语言的语言表示中
  • 您的渲染器应该能够检测到哪里需要语言映射
  • 您的网站应该知道需要从哪种语言加载映射值