创建多语言网站

creating multi lingual website

本文关键字:网站 语言 创建      更新时间:2024-04-15

我正在想办法开发一个多语言网站。我在HTML、JS、CSS方面的背景并不广泛(我一周前才开始),因此我对此的理解可能不是最好的。

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

  • 英语(主干)
  • 西班牙语
  • 法语

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

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

  • 我发现的第二个选择是使用WordPress插件(发现了很多这样的插件)。不幸的是,这个解决方案是不可行的,因为我没有使用wordpress创建网站。

  • 下一个选项(我认为这是最好的)是为所有语言突变提供一个页面,但不是真正的文本,而是插入一些带有关键字的属性,这将决定应该在这里插入哪个短语。它可能看起来像data-toTranslate('sTitle')(虚构的)。现在的问题是,你会把你的短信存放在哪里?一种选择是进入数据库,但我没有与他们合作过(在网站下),因此我更喜欢文本文件.csv文件或类似的文件。我对这个解决方案的问题(除了我还不知道如何做到这一点:)是,我不太确定网站在加载时间方面会对此做出什么反应。也许这对开发者来说是最好的解决方案,但对网站来说却是最糟糕的?

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

编辑:因为这个问题可能看起来太宽泛了,我会尽量把它精简一点。

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

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

  • 2) 我可以用一个简单的JavaScript实现这一点吗?或者我需要用AngularJS创建一些特定的控制器/指令吗?

静态创建网站的英文版,因为这是主要语言。每个文本元素都应该有一个单独的ID(并且不要使用obe单词ID,如"a"b"等,这样以后就可以很容易地欺骗它们

在你的服务器上有一个文件(文本文件也可以),其中包含fhe文本标签的id,以及类似格式的文本

welcome-text | ["Welcome to the website" in Spanish]
-------------
Etc...

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

将文件命名为Spanish.txt。

当页面加载时,通过AJAX下载这个带有javascript的文件(这是静态英语版本的后备版本),通过文本文件循环并将文本设置为翻译版本。

当然,您也可以将PHP与MysQL一起使用,但我认为这对两种语言来说有点过头了。

是的,这可以用100%纯javascript实现,甚至不需要JQuery。

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