我有一个完全用英语的网站!
我想要的是用下拉菜单或一些链接来方便中东用户用阿拉伯语查看。
简而言之,我希望我的网站页面在阿拉伯语下拉框或点击某个链接时更改为阿拉伯语。
需要注意的最重要的一点是阿拉伯语从右到左,英语从左到右。因此,这使得翻译变得困难。
首先,当您切换到阿拉伯语时,应该将direction="rtl"
添加到body
或特定元素。之后,你应该用瘦的新方向重新定义你的CSS。如果你有margin-left:20px
,现在应该是margin-right:20px;
,所以这可能很棘手。我有翻译成rtl语言的经验,我可以说,如果你想要同样的用户体验,这将是一项痛苦的工作!
对于翻译,您应该有一个两种语言的术语数据库,并使用JavaScript将用户在下拉列表中选择的新语言术语注入DOM。大多数情况下,您应该使用specefic类或id来处理每个学期。它应该这样工作:
<div id="something" direction="ltr">
<span class="this-is-a-multilingual-term hello">Hello</span>
</div>
javaScript应该为您做到这一点:
<div id="something" direction="rtl">
<span class="this-is-a-multilingual-term hello">مرحبا</span>
</div>
谷歌和微软都提供可以粘贴在网站上的小工具。(正如其他人所说,这是一种自动翻译,所以你可能会得到一些糟糕的结果(。
- http://translate.google.com/translate_tools
- http://www.microsofttranslator.com/widget/
如果你想花钱请真正的翻译;一个有趣的选择:http://amanuens.com/.你让他们访问你的源代码管理,他们就会进来为你创建所有的翻译资源。
如果您希望它是自动的(机器翻译(,您可以查看Google Translate API。它让你可以访问谷歌的机器翻译(处理http://translate.google.com第页(。
请注意,机器翻译并不出色。尽管在过去的几年里,通过向统计翻译方法的转变,已经取得了很大的进展,但你仍然可以得到一些没有意义的结果。
以下是该页面中使用JavaScript界面的示例:
<html>
<head>
<title>Translate API Example</title>
</head>
<body>
<div id="sourceText">Hello world</div>
<div id="translation"></div>
<script>
function translateText(response) {
document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText;
}
</script>
<script>
var newScript = document.createElement('script');
newScript.type = 'text/javascript';
var sourceText = escape(document.getElementById("sourceText").innerHTML);
var source = 'https://www.googleapis.com/language/translate/v2?key=INSERT-YOUR-KEY&source=en&target=de&callback=translateText&q=' + sourceText;
newScript.src = source;
// When we add this script to the head, the request is sent off.
document.getElementsByTagName('head')[0].appendChild(newScript);
</script>
</body>
</html>
这个例子翻译了页面的一个特定部分;你必须把它从那里拿出来翻译整页。
- 获得一个不错的翻译
- 这意味着要找一个懂源语言(英语(和HTML的母语人士来翻译它
- 如果你正在考虑使用自动翻译软件,停下来,这是垃圾,会给人们留下对你网站的坏印象。如果有人想使用自动翻译软件,那么他们可以为自己找到谷歌翻译或其他软件包。(根据经验,避免试图为用户解决互联网范围内的问题,他们在任何地方应用的工具都比为每个网站学习专业界面要好(
- 镜像网站并链接到翻译版本
- 您的CMS可能对此有所帮助