对于一个新网站,我必须设置多种语言TYPO3 9.5。我已经为以前的版本做过这个,但是不能让它与9.5版一起使用。现在已经搜索了几天,没有任何结果。所有解决方案均适用于较旧的TYPO3或单树概念。
该网站的结构如下:
网址: - 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(Setup)设置语言。但它被忽略了。我猜这是因为TYPO3 9.5。
NL:
config {
language = nl
locale_all = nl_NL.utf8
sys_language_uid = 0
}
D E:
config {
language = de
locale_all = de_DE.utf8
sys_language_uid = 1
}
在这种设置中,https://domain.tld/de/allgemeine-info/
的标准slu is是https://domain.tld/de/de/allgemeine-info/
。当我手动设置slug时,我可以得到我想要的东西..那种,但是你必须为每一页设置slug。我也可以打电话给https://domain.tld/de/nl/algemeen/
和https://domain.tld/nl/de/allgemeine-info/
,这是不行的。
有没有办法只通过TypoScript设置语言,而不是通过站点管理,所以我可以创建一个多树网站?
我希望有人可以帮助我朝着正确的方向前进。
谢谢!
您可以通过创建两个单独的站点来实现此方案,每个站点对应一种语言:
在您的示例中,您可以在两种语言的根页面的页面属性中勾选“用作根页面”复选框:
然后,您创建两个站点配置。
荷兰人:
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
pagetree。除了页面ID和base
设置不同之外,设置将与荷兰语版本相同。