我正在试图找出如何开发多语种网站。我在HTML,JS,CSS方面的背景并不那么广泛(我一周前才开始),因此我对此的理解可能不是最好的。
对于我们的例子,我们将创建三种语言变异:
以下是我在谷歌叔叔开始搜索时遇到的情况。
我能想象的最长解决方案:创建三个名为en
,es
,fr
的文件夹。这些将包含原始网页的副本(例如index.html
),但会被翻译为相应的语言。然后在顶部面板上,您将有一个按钮,单击它将重定向到另一个文件夹(此处链接是硬编码)。如果我们处理非常小的网站(有几页),这个解决方案是可行的。
我发现的第二个选项是使用WordPress插件(找到了其中的一些)。不幸的是,这个解决方案不可行,因为我没有使用wordpress来创建网站。
下一个选项(我相信它是最好的),是有一个页面用于所有语言的突变,但是你应该用密钥插入一些属性来代替真实文本,这将确定应该是什么短语插在这里。它可能看起来像data-toTranslate('sTitle')
(这样做)。现在的问题是,你会在哪里存储你的文本?一个选项是数据库,但我没有使用它们(在网站下),因此我更喜欢像文本文件/ csv文件/或类似的东西。我对这个解决方案的问题(除了我不知道该怎么做:)的事实是,我不太确定网站在加载时间方面会如何反应。也许这对开发者来说是最好的解决方案,但对网站来说却是最差的?
任何能使我指向正确方向的评论,链接或建议都非常受欢迎!
编辑:因为这个问题可能看起来过于宽泛,我会尝试稍微减少它。
我相信第三个选项是最好的,那么我想知道以下事项:
1)当我想存储简单的键值对时(例如在此翻译中),我需要创建什么?如果我在C#,我会创建简单的XML或CSV文件,我会在运行时解析它。
2)我可以使用简单的JavaScript实现这一点,还是需要使用AngularJS创建一些特定的控制器/指令?
答案 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。