문제

~에 나의 웹 사이트:내가 전환하면 중국어 그만큼 깃발 언어 전환기에서 변경되지 않습니까?다른 언어는 잘 작동합니다.예:당신이로 전환하면 프랑스 국민, 프랑스 국기가 보여요...

이것이 언어.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; ?>
도움이 되었습니까?

해결책

자바스크립트 파일을 뒤지다가 이 부분을 찾았습니다.

    $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 ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top