如何显示不同的产品,具体取决于Google Translate Widget语言选择

时间:2014-01-06 15:50:38

标签: javascript php google-translate

我正在开发一个带有购物车的网站,每个国家/地区都有不同的产品。客户希望使用Google翻译来更改语言。

我们认为每个国家/地区的不同产品类别的网站最好。所以法国的某个人在谷歌翻译中选择了FR,我们有一些代码来展示FR产品类别。

但我无法找到如何在我的网站代码(PHP)中确定Google Translate Widget选择了哪种语言。 URL保持不变,因此我无法查询URL。

如何在服务器级别(PHP)确定Google翻译小部件选择了哪种语言?

我想知道这是否可能,因为它可能使用Javascript来改变它,那么是否还有其他方法可以使用Google Translate Widget以便我可以使用Javascript来显示正确的产品类别?

这是Google Widget代码

<script type="text/javascript">
function googleTranslateElementInit()
{
    new google.translate.TranslateElement(
    {
        pageLanguage: 'en',
        includedLanguages: 'en,cy',
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE
    },
    'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

由于

1 个答案:

答案 0 :(得分:0)

这是一种方式,但由于URL中的可怕哈希值而不理想...

如果您将#googtrans(en | TARGET_LANG_CODE)添加到网址的末尾,Google可以自动翻译网页内容,例如www.mydomain.com#googtrans(EN |)

因此,设置一个标准的多国网站,例如/ fr,/ de等(可以使用子域或URL中的任何内容来指定哪个国家/地区,例如?country = fr)。

使用指向该网站每个国家/地区部分的链接,链接到国家/地区部分,并在末尾添加哈希值,例如: www.mydomain.com/fr#googtrans(en|fr)或fr.mydomain.com#googtrans(en | fr)或www.mydomain.com?country=fr#googtrans(en|fr)

网址中的国家/地区部分,例如/ fr允许您显示该国家/地区的正确商店(以及您希望为该国家/地区展示的任何其他内容,可能会调用不同的图片,因为Google无法翻译这些商家),然后哈希允许Google将其翻译为正确的语言。

使用它可怕的哈希!如果我们不能使用哈希并且只是基于/ fr进行翻译(可能使用非自由API,但这仅适用于免费小部件),那就好了。

注意:可能需要排除国家/地区部分,例如/ fr在Google中被编入索引,因为我猜想Google可能会在JS翻译开始之前看到这些子部分的原始语言内容,因此我们不希望这些重复的内容。我不相信谷歌索引小部件翻译页面,所以只是不允许robots.txt文件中的这些部分。