DjangoCMS показать меню на неправильном языке - PullRequest
0 голосов
/ 15 мая 2018

У меня есть сайт https://www.mobydisc.de/. Он имеет версии DE и EN. Когда я захожу на сайт из браузера, все содержимое сайта находится на DE.

Когда я проверяю сайт с https://www.google.com/webmasters/tools/googlebot-fetch-details, контентом на DE, но меню на EN.

Как я могу это исправить?

Настройки:

LANGUAGE_CODE = 'de'
TIME_ZONE = 'Europe/Berlin'
USE_I18N = True
USE_L10N = True
USE_TZ = True
CMS_LANGUAGES = {
1: [
    {
        'code': 'de',
        'name': gettext('Deutsch'),
        'fallbacks': ['en'],
        'public': True,
    },
    {
        'code': 'en',
        'name': gettext('English'),
        'fallbacks': ['de'],
        'public': True,
        'hide_untranslated': True,
        'redirect_on_fallback':False,
    },
],
'default': {
    'fallbacks': ['de'],
    'redirect_on_fallback':True,
    'public': True,
    'hide_untranslated': False,
    }
}
LANGUAGES = [
    ('de', 'Deutsch'),
    ('en', 'English'),
]

Фильтр:

@register.filter(name="get_menu_title_without_mega")
    def get_menu_title_without_mega(text):
        if megamenu(text):
            # print("mega remove")
            regexp  = re.compile("[ ]+mega[0-9]+$", re.MULTILINE)
            # print(text,regexp.sub("",text))
            return regexp.sub("",text)
        else:
            return text`

Пример изображения

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Это помогает мне https://www.djangosnippets.org/snippets/218/

Все, что мне нужно сделать, это игнорировать заголовки HTTP Accept-Language

0 голосов
/ 15 мая 2018

У вас есть и 'de', и 'en', объявленные в ЯЗЫКАХ в вашем файле настроек. Вы только показываете 'de' в LANGUAGE_CODE и не показываете нам ничего в LANGUAGES, которое, как я подозреваю, может также указывать только 'de'.

LANGUAGES = [
    ('de', _('German')),
    ('en', _('English')),
]
...