urbantrout/site-language-redirection

安装次数: 31,967

依赖: 0

建议者: 0

安全性: 0

星标: 9

关注者: 2

分支: 15

开放问题: 21

类型:typo3-cms-extension

v2.3.3 2022-08-02 07:38 UTC

README

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 或计划任务更新 GeoIP2 数据库文件以进行基于 IP 地址的重定向。

    • CLI
      ./vendor/bin/typo3 sitelanguageredirection:updatedb
    • 计划任务
      创建一个名为 Excute console commands 的新任务,并将 Schedulable Command 设置为 sitelanguageredirection:updatedb
      Settings of new scheduler task
      使用此选项定期更新数据库文件。

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

  2. 网站语言重定向 选项卡中更新您的网站配置中的首选方法。默认为 HTTP 头。
    Screenshot of Site Language Redirection tab in site configuration
    将此值更改为 IP 地址 将更新 config/sites/<sitename>/config.yaml 并添加以下代码行

SiteLanguageRedirectionMethod: 2

配置语言回退

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

带有可选的 SiteLanguageRedirectionFallbacks 的网站配置如下所示

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