DjangoCMS显示错误语言的菜单

时间:2018-05-15 16:57:38

标签: django django-cms

我有网站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`

Image example

2 个答案:

答案 0 :(得分:0)

您是否在设置文件中以LANGUAGES声明了'de'和'en'。你只是在LANGUAGE_CODE中显示'de'而没有向我们展示语言中的任何内容,我怀疑这些语言可能只是声明'de'。

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

答案 1 :(得分:0)

这有助于我https://www.djangosnippets.org/snippets/218/

我需要做的就是忽略HTTP Accept-Language标题