mohsinqk/site-language-redirection

安装: 131

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 15

类型:typo3-cms-extension

v2.4.0 2024-03-27 10:44 UTC

This package is auto-updated.

Last update: 2024-08-27 11:46:31 UTC


README

此扩展是 TYPO3 网站语言重定向 扩展的副本。因为我为 TYPO3 的多站环境添加了一个新功能,可以禁用语言重定向。所以这个仓库在基础扩展的作者合并我的功能请求之前很有用,请求链接为 我的功能

PSR-15 中间件,用于将用户重定向到正确的网站语言。

  • 语言检测基于 HTTP 头(浏览器语言)或 IP 地址。
  • 当用户切换语言时,会设置一个 cookie 来保存新语言为首选语言。

工作原理

如何通过 HTTP 头确定扩展重定向到的网站的示例

如果 Accept-Language 是 en-US,de-AT,则查找具有 hreflang 为 en-US 的网站。如果没有匹配,则查找 en。如果仍然没有匹配,则使用相同的逻辑重复与 de-AT,依此类推。

安装

通过扩展管理器或 composer 安装。

composer require urbantrout/site-language-redirection

启用基于 IP 地址的重定向

  1. 通过 CLI 或计划任务更新基于 IP 地址的重定向的 GeoIP2 数据库文件。

    • CLI ./vendor/bin/typo3 sitelanguageredirection:updatedb
    • 计划任务 创建一个类为 执行控制台命令 的新任务,并将 可调度命令 设置为 sitelanguageredirection:updatedb 新计划任务设置 使用此选项定期更新您的数据库文件。

    此步骤在 \TYPO3\CMS\Core\Core\Environment::getVarPath() . '/sitelanguageredirection/' 下创建一个文件,其中包含所有地理位置信息。注意: 这不会更改您的 SQL 数据库。

  2. 在“网站语言重定向”选项卡中更新您的网站配置中的首选方法。默认为 HTTP 头。将此值更改为 IP 地址 会更新 config/sites/<sitename>/config.yaml 并添加以下代码行

SiteLanguageRedirectionMethod: 2

配置语言回退

此功能添加了定义回退语言的可能性。例如,如果没有意大利语版本的网站,则重定向到英语版本,依此类推。

具有可选 SiteLanguageRedirectionFallbacks 的网站配置如下

SiteLanguageRedirectionMethod: 1
SiteLanguageRedirectionFallbacks:
  fr: 'en'
  it: 'en'