我的网站: :如果我切换到 中文旗帜 不是在语言切换器中改变吗?其他语言运行良好。例如。如果你切换到 法语, ,它展示了法国国旗......

这是 语言.phtml 我在用:

<?php if(count($this->getStores())>1): ?>
<div class="polyglot-language-switcher" data-grid-columns="1" data-anim-effect="fade" data-open-mode="click" data-anim-speed="0.1" >
    <ul style="display: none">
        <?php foreach ($this->getStores() as $_lang):?>
                <li><a href="<?php echo $_lang->getCurrentUrl() ?>" title="<?php echo $this->htmlEscape($_lang->getName()) ?>" data-lang-id="<?php echo $this->htmlEscape($_lang->getCode()) ?>"><img src="<?php echo $this->getSkinUrl('images/flags/' . $_lang->getCode() . '.png');?>" alt=""> <?php echo $this->htmlEscape($_lang->getName()) ?></a></li>
        <?php endforeach;?>
    </ul>
</div>
<?php endif; ?>
有帮助吗?

解决方案

挖掘你的 javascript 文件我发现了这篇文章

    $j('.polyglot-language-switcher').polyglotLanguageSwitcher({
        selectedLang: function () {
            return $j('html').attr('lang');
        }
    });

其中基本上使用了 lang HTML 标签的属性设置当前语言。在几家商店进行测试,语言始终设置正确。

<html lang="en" id="top" class="no-js"> 对于英语,<html lang="en" id="top" class="no-js"> 对于法语...但对于中国人来说 <html lang="zh" id="top" class="no-js">

既然你使用的是代码 CN 但语言是 ZH it doesn't match.

ZH 是 Magento 使用的 ISO2 语言代码,而语言切换器使用您提供的商店代码。最快、最干净的解决方案是将存储代码简单地更改为 ZH. 。任何其他解决方案都需要对代码进行硬编码重写

许可以下: CC-BY-SA归因
scroll top