DjangoCMS 以错误的语言显示菜单
DjangoCMS show menu on wrong language
我有网站 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
您是否在您的设置文件中用语言声明了 'de' 和 'en'。您只在 LANGUAGE_CODE 中显示 'de' 而没有在 LANGUAGES 中向我们显示任何内容,我怀疑这也可能只是在声明 'de'.
LANGUAGES = [
('de', _('German')),
('en', _('English')),
]
这对我有帮助https://www.djangosnippets.org/snippets/218/
我需要做的就是忽略 HTTP Accept-Language headers
我有网站 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
您是否在您的设置文件中用语言声明了 'de' 和 'en'。您只在 LANGUAGE_CODE 中显示 'de' 而没有在 LANGUAGES 中向我们显示任何内容,我怀疑这也可能只是在声明 'de'.
LANGUAGES = [
('de', _('German')),
('en', _('English')),
]
这对我有帮助https://www.djangosnippets.org/snippets/218/
我需要做的就是忽略 HTTP Accept-Language headers