对于新网站,我必须设置多种语言TYPO3 9.5。我已经在以前的版本中完成了此操作,但没有使其与9.5版一起使用。现在已经搜索了几天,没有任何结果。所有解决方案均适用于较早的TYPO3或一棵树的概念。
网站的结构如下:
URL:
-https://domain.tld/nl/
-https://domain.tld/nl/algemeen/
-https://domain.tld/nl/contact/
-https://domain.tld/de/
-https://domain.tld/de/allgemeine-info/
-https://domain.tld/de/kontakt/
主页和DE部分是具有所有TypoScript设置的页面。
我不想翻译页面。当您转到/nl/
时,所有内容都在荷兰语中,而您在荷兰语页面树中。当您转到/de/
时,所有内容都在德语中,而您则在德语页面树中。
在不久的将来必须从TYPO3 8.7迁移到9.5的其他网站也使用相同的网站结构。
我已经建立了一个新网站,并通过站点管理->站点配置了该网站。
为“主页”设置了根页面ID。
在“语言”选项卡中,我具有默认语言荷兰语(NL),其基础为/nl/
。
还有以/de/
为底的德语(DE)。
目前未设置错误处理和静态路由。
我已经添加了另一个网站的扩展,该扩展具有基于流体页面和通量的FLUID模板。
我尝试通过/nl/
和/de/
上的TypoScript(设置)设置语言。
但是它被忽略了。我猜是因为TYPO3 9.5。
NL:
config {
language = nl
locale_all = nl_NL.utf8
sys_language_uid = 0
}
DE:
config {
language = de
locale_all = de_DE.utf8
sys_language_uid = 1
}
在此设置中,标准https://domain.tld/de/allgemeine-info/
的子段是https://domain.tld/de/de/allgemeine-info/
。当我手动设置子弹时,我可以得到我想要的..但是,然后您必须为每个页面设置子弹。
而且我也可以打电话给https://domain.tld/de/nl/algemeen/
和https://domain.tld/nl/de/allgemeine-info/
。
是否可以仅通过TypoScript而不是通过站点管理来设置语言,所以我可以创建多树网站?
我希望有人能在正确的方向上帮助我。
谢谢!
答案 0 :(得分:0)
您可以通过创建两个单独的站点来实现这种情况,每种语言一个站点:
在您的示例中,您将在两种语言的根页面的页面属性中选中“用作根页面”复选框:
然后您创建两个站点配置。
对于荷兰人:
rootPageId: <ID of NL page>
base: 'https://www.domain.tld/nl/'
baseVariants: { }
languages:
-
title: Dutch
enabled: true
languageId: '0'
base: /
typo3Language: nl
locale: nl_NL.utf8
iso-639-1: nl
navigationTitle: Dutch
hreflang: nl-NL
direction: ltr
flag: nl
errorHandling: { }
routes: { }
对于德语:
rootPageId: <ID of DE page>
base: 'https://www.domain.tld/en/'
baseVariants: { }
languages:
-
title: English
enabled: true
languageId: '0'
base: /
typo3Language: default
locale: en_US.utf8
iso-639-1: en
navigationTitle: English
hreflang: en-US
direction: ltr
flag: us
errorHandling: { }
routes: { }
使用此设置,您不需要网站语言记录,因为两棵树都将使用默认语言0。
您可能需要为根域添加第三个站点,以将用户重定向到/nl
页面树。除了页面ID和base
设置不同之外,其他设置与荷兰版本相同。