我的网站有8种语言版本。我希望类似按钮的文本(如You like this.
...等)采用语言环境语言。
我搜索了很多,唯一的解决办法似乎是改变这个js.src
js.src = "//connect.facebook.net/en_US/sdk.js";
到
js.src = "//connect.facebook.net/de_DE/sdk.js";
如果我想要德语文本。但它不能动态加载它吗?我必须提供js.src的所有8个版本吗?
答案 0 :(得分:0)
所以,这是我在joomla网站上使用的代码:
<script>(function(d, s, id) {
var lang = "<?php echo JFactory::getLanguage()->getTag();?>";
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
if (lang !="en-GB"){
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&version=v2.8";
} else {
js.src = "//connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.8";
}
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
我设置了一个语言变量,然后让脚本对当时设置的语言做出反应。您可以轻松地将相同的逻辑应用于您的情况。我将变量从php中拉出来,因此语言在页面重新加载时重置,但你可以用js变量轻松完成。使用正则表达式可能有更复杂的方法,但这很有效。我只有两种语言,因此逻辑并不复杂,因此正则表达式可能是一种更好的解决方案,可以根据活动语言动态更改网址的语言部分。