سؤال

على موقع الويب الخاص بي:إذا قمت بالتبديل إلى اللغة الصينية ال علَم لا يتغير في محول اللغة؟اللغات الأخرى تعمل بشكل جيد.على سبيل المثالإذا قمت بالتبديل إلى فرنسي, ، يظهر العلم الفرنسي...

هذا ال لغة.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 هو رمز لغة ISO2 الذي يستخدمه Magento بينما يستخدم محوّل اللغة رموز المتجر التي قدمتها.الحل الأسرع والأنظف هو ببساطة تغيير رمز المتجر إلى ZH.سيتطلب أي حل آخر إعادة كتابة التعليمات البرمجية المشفرة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى magento.stackexchange
scroll top