2016-04-10 178 views
0

我想弄清楚如何开发一个多语言网站。我在HTML,JS,CSS方面的背景并不那么广泛(我只在一周前开始),因此我对此的理解可能不是最好的。创建多语言网站

在我们的例子中,我们将创建三个语言突变:

  • 英语(主要的)
  • 西班牙
  • 法语。

下面是我在我叔叔谷歌搜索下找到的这个东西。

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

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

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

任何意见,链接或建议,这将指向我在正确的方向将不只是欢迎!

编辑:由于这个问题可能看起来太宽泛,我会尽量微调一下。

我相信,正如选项之三是最好的,那么我想知道下面的事情:

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

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

+1

这个问题要么过于宽泛,要么基于观点,要么需要讨论,所以堆栈溢出是无关紧要的。如果您有特定的,可回答的编程问题,请提供完整的详细信息。 –

回答

1

静态地创建网站的英文版本,因为这是主要的语言。每个文本元素应该有一个单独的ID(并且不要使用obe单词id,例如“a”,“b”等等,以便以后可以很容易地使用它们。文件也工作)有FHE文本标签的ID,而像

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

(注意在格式文本:YOH需要存储的翻译句子,但我不知道西班牙也不法国)

将文件命名为Spanish.txt。

当页面加载时,请下载此f用javascript通过AJAX(这是静态英文版作为后备启动的地方)循环,通过文本文件循环并将文本设置为翻译版本。

你当然也可以在MysQL上使用PHP,但我认为这对2种语言来说有点矫枉过正。

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

+0

听起来不错,还有一件事 - 我应该在AJAX中寻找什么?我以前从未使用过它。 –

+1

@Robert J. XMLHTTPRequests,http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp –

1

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