我用2种语言开发网站。
一个选项是我们可以做自己的翻译,但这可能需要更多的开发时间。
所以我想找一个插件。
我尝试了Microsoft Translator Widget和google translate gadget 但两者都不适用于完整的网站。用户必须在网站的每个页面上选择他们的语言。任何其他插件都可以翻译整个网站。 我读了这么多线程 link1 link2。 注意到了帮助我。
请建议。
答案 0 :(得分:1)
当用户第一次进入网站时,您所能做的就是将cookie或会话存储为用户的语言偏好
然后,您可以在每个页面上使用相同的会话,根据会话中的语言变量自动调用特定语言的Google翻译引擎。
您可以在单独的.php文件中执行此操作,并将其包含在您的所有网页中
希望能帮助到你。感谢。
答案 1 :(得分:0)
我在http://learnwithecho.com/发布了一个Google翻译插件示例。如果您在网站的每个页面上安装它,它将继续工作。您可以通过检查已加载的cookie来确认这一点。但是,如果您的内容跨越多个网站,请尝试以下内容:
答案 2 :(得分:0)
Microsoft Translator小部件会在同一站点的页面上保留用户的选择,因此从这个角度来看,它可以有效地翻译整个站点。
如果网站分布在不同的域中(例如使用iFrame),则会更加困难。
答案 3 :(得分:0)
最好能使用CMS(内容管理系统)。 在CMS中,他们提供语言翻译工具。 您可以翻译您想要的语言。 它会自动翻译您的内容。
番茄cms是您解决方案中最好的之一... 它是开源CMS。
答案 4 :(得分:0)
如果您使用的是操作系统或OTS CMS,则可能会内置语言支持。如果您自己构建某些内容并且有时间进行自己的语言翻译,则可以使用Google翻译或Microsoft翻译来构建翻译文件。
Null有一个很好的评论,这只是扩展更多:
Joomla& PHPBB有很好的语言实现示例。
JText::_('COM_SOMETHING_BLAH_TITLE');
编写自己的代码:
language.en
language.es
(en)MESSAGE_SOMETHING =“Something” (es)MESSAGE_SOMETHING =“Algo”
创建一个类或函数来打印语言文本:
print translate('MESSAGE_SOMETHING','es');
你的翻译功能可能就像
function translate ($label, $lang) {
$language = load_and_populate_language($lang);
$translated = $language[$label];
return (if $translated is empty, '', else $translated)
}
答案 5 :(得分:0)
只是一个建议,但也许你会发现自己提供翻译然后有一个客户端语言翻译很有用?我为此目的编写了这个插件,因为自动翻译的质量达不到我想要的水平。
https://github.com/coolbloke1324/jquery-lang-js
该插件跨页面具有语言持久性,允许短语和基于正则表达式的匹配,可以处理任意数量的语言选项,并允许您触发所描述的点击事件的更改。
您可以在https://www.orbzu.com上看到它被实时使用(查看页面左上方的标志图标,然后选择一种新语言以查看页面上的文字自动更改。)