创建多语言网站

时间:2016-04-10 10:50:52

标签: javascript html css multilingual

我正在试图找出如何开发多语种网站。我在HTML,JS,CSS方面的背景并不那么广泛(我一周前才开始),因此我对此的理解可能不是最好的。

对于我们的例子,我们将创建三种语言变异:

  • 英文(主要)
  • 西班牙语

以下是我在谷歌叔叔开始搜索时遇到的情况。

  • 我能想象的最长解决方案:创建三个名为enesfr的文件夹。这些将包含原始网页的副本(例如index.html),但会被翻译为相应的语言。然后在顶部面板上,您将有一个按钮,单击它将重定向到另一个文件夹(此处链接是硬编码)。如果我们处理非常小的网站(有几页),这个解决方案是可行的。

  • 我发现的第二个选项是使用WordPress插件(找到了其中的一些)。不幸的是,这个解决方案不可行,因为我没有使用wordpress来创建网站。

  • 下一个选项(我相信它是最好的),是有一个页面用于所有语言的突变,但是你应该用密钥插入一些属性来代替真实文本,这将确定应该是什么短语插在这里。它可能看起来像data-toTranslate('sTitle')(这样做)。现在的问题是,你会在哪里存储你的文本?一个选项是数据库,但我没有使用它们(在网站下),因此我更喜欢像文本文件/ csv文件/或类似的东西。我对这个解决方案的问题(除了我不知道该怎么做:)的事实是,我不太确定网站在加载时间方面会如何反应。也许这对开发者来说是最好的解决方案,但对网站来说却是最差的?

任何能使我指向正确方向的评论,链接或建议都非常受欢迎!

编辑:因为这个问题可能看起来过于宽泛,我会尝试稍微减少它。

我相信第三个选项是最好的,那么我想知道以下事项:

  • 1)当我想存储简单的键值对时(例如在此翻译中),我需要创建什么?如果我在C#,我会创建简单的XML或CSV文件,我会在运行时解析它。

  • 2)我可以使用简单的JavaScript实现这一点,还是需要使用AngularJS创建一些特定的控制器/指令?

2 个答案:

答案 0 :(得分:1)

我通常使用PHP来处理这种多语言。当每个时刻用户查看网站时,它会将默认语言设置为ENG。但是,当用户选择其他语言作为网站显示语言时,网站将重新加载,PHP代码将调用相应的语言文件夹以显示网站上的所有选定语言。所以,我认为你应该有几个语言文件夹,然后动态调用每个文件夹来获取关键词并显示它。

答案 1 :(得分:1)

静态创建网站的英文版,因为这是主要语言。你应该为每个文本元素都有一个单独的ID(并且不要使用obe word id,例如" a"" b"等等,这样你以后就可以轻松地对它们进行归档。

您的服务器上有一个文件(文本文件也可以),文本标签的ID和

格式的文本
welcome-text | ["Welcome to the website" in Spanish]
-------------
Etc...

(注意:你需要存储翻译的句子,但我不懂西班牙语或法国语)

将您的文件命名为Spanish.txt。

当页面加载时,使用javascript通过AJAX下载此文件(这是静态英语版本作为回退的地方),循环通过文本文件并将文本设置为翻译版本。

你当然可以将PHP与MysQL一起使用,但我认为这对于2种语言来说有点过分。

是的,这可以使用100%纯javascript来完成,甚至不需要JQuery。