如何使用语言的多树概念设置 TYPO3 9.5.x
How to setup TYPO3 9.5.x with a multiple-trees concept for languages
对于一个新网站,我必须设置多语言 TYPO3 9.5。我已经为以前的版本完成了此操作,但不适用于 9.5 版。现在已经搜索了几天,没有任何结果。所有解决方案均适用于较旧的 TYPO3 或一棵树概念。
该网站的结构如下:
- 首页(重定向至 NL)
- NL(包含荷兰语内容的主页)
- Algemeen
- 联系方式
- ...
- DE(包含德语内容的主页)
- 通用信息
- 联系方式
- ...
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 设置为 "Homepage".
在“语言”选项卡中,我有默认语言荷兰语 (NL),基数为 /nl/
.
和底数为 /de/
.
的德语 (DE)
目前没有设置错误处理和静态路由。
我添加了来自另一个网站的扩展程序,其中包含基于流体页面和通量的 FLUID 模板。
我已尝试在 /nl/
和 /de/
上通过 TypoScript(设置)设置语言。
但它被忽略了。我想那是因为 TYPO3 9.5.
荷兰:
config {
language = nl
locale_all = nl_NL.utf8
sys_language_uid = 0
}
德国:
config {
language = de
locale_all = de_DE.utf8
sys_language_uid = 1
}
在此设置中 https://domain.tld/de/allgemeine-info/
的标准 slug 是 https://domain.tld/de/de/allgemeine-info/
。当我手动设置 slug 时,我可以获得我想要的东西..有点,但是你必须为每个页面设置 slug。
而且我还可以调用 https://domain.tld/de/nl/algemeen/
和 https://domain.tld/nl/de/allgemeine-info/
这不行。
有没有办法只通过 TypoScript 而不是通过站点管理来设置语言,这样我就可以创建一个多树网站?
我希望有人能在正确的方向上帮助我。
谢谢!
您可以通过创建两个单独的站点来实现此方案,每个站点对应一种语言:
在您的示例中,您将在两种语言的根页面的页面属性中勾选复选框 "Use as Root Page":
- NL(包含荷兰语内容的主页)
- DE(包含德语内容的主页)
然后创建两个站点配置。
对于荷兰语:
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
设置不同外,设置与荷兰语版本相同。
对于一个新网站,我必须设置多语言 TYPO3 9.5。我已经为以前的版本完成了此操作,但不适用于 9.5 版。现在已经搜索了几天,没有任何结果。所有解决方案均适用于较旧的 TYPO3 或一棵树概念。
该网站的结构如下:
- 首页(重定向至 NL)
- NL(包含荷兰语内容的主页)
- Algemeen
- 联系方式
- ...
- DE(包含德语内容的主页)
- 通用信息
- 联系方式
- ...
- NL(包含荷兰语内容的主页)
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 设置为 "Homepage".
在“语言”选项卡中,我有默认语言荷兰语 (NL),基数为 /nl/
.
和底数为 /de/
.
的德语 (DE)
目前没有设置错误处理和静态路由。
我添加了来自另一个网站的扩展程序,其中包含基于流体页面和通量的 FLUID 模板。
我已尝试在 /nl/
和 /de/
上通过 TypoScript(设置)设置语言。
但它被忽略了。我想那是因为 TYPO3 9.5.
荷兰:
config {
language = nl
locale_all = nl_NL.utf8
sys_language_uid = 0
}
德国:
config {
language = de
locale_all = de_DE.utf8
sys_language_uid = 1
}
在此设置中 https://domain.tld/de/allgemeine-info/
的标准 slug 是 https://domain.tld/de/de/allgemeine-info/
。当我手动设置 slug 时,我可以获得我想要的东西..有点,但是你必须为每个页面设置 slug。
而且我还可以调用 https://domain.tld/de/nl/algemeen/
和 https://domain.tld/nl/de/allgemeine-info/
这不行。
有没有办法只通过 TypoScript 而不是通过站点管理来设置语言,这样我就可以创建一个多树网站?
我希望有人能在正确的方向上帮助我。
谢谢!
您可以通过创建两个单独的站点来实现此方案,每个站点对应一种语言:
在您的示例中,您将在两种语言的根页面的页面属性中勾选复选框 "Use as Root Page":
- NL(包含荷兰语内容的主页)
- DE(包含德语内容的主页)
然后创建两个站点配置。
对于荷兰语:
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
设置不同外,设置与荷兰语版本相同。