basteyy / php-localization-middleware
处理应用中语言的中间件
0.0.3
2023-11-20 19:22 UTC
Requires
- php: ^8.0 || ^8.1 || ^8.2 || ^8.3
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0.0
This package is auto-updated.
Last update: 2024-09-20 21:22:18 UTC
README
PHP中间件,用于处理Web应用中的本地化和语言偏好。
安装
您可以通过Composer安装此软件包。运行以下命令
composer require basteyy/php-localization-middleware
用法
要在您的PHP应用程序中使用此中间件,请按照以下步骤操作
创建一个带有您所需配置的LocalizationMiddleware类的实例,并将其作为中间件添加。例如
$app->add(new \basteyy\LocalizationMiddleware\LocalizationMiddleware( default_language: 'de', // Default language available_languages: ['de', 'ua', 'en'], // Supported languages patch_requested_url: true, // Patch the requested url to remove the language in case there is one browser_overwrite_url: false, // Overwrite the url language with the browser language patch_only_exactly_match: false // Patch requested url only if the language is exactly matched (only when url contain a supported language) ));
中间件将自动根据请求确定首选语言,并将其设置为请求对象上的一个属性。您可以使用$request->getAttribute('language')访问语言属性。
配置
LocalizationMiddleware类可以使用以下选项进行配置
$default_language:在未检测到首选语言时使用的默认语言。它应该是两个字母的语言代码(例如,'en')。$available_languages:支持的语言数组,每个语言都由两个字母的语言代码表示(例如,'en', 'de', 'fr')。$patch_requested_url:设置为true以通过删除语言前缀(例如,'/en/...')来修复请求的URL。$browser_overwrite_url:设置为true以用浏览器的首选语言覆盖URL,即使URL指定了不同的语言。$patch_only_exactly_match:设置为true时,仅从URL(路径)中去除支持的语言。
许可证
ISC许可证
版权所有 (c) 2023 basteyy sebastian@xzit.online
允许以任何目的使用、复制、修改和/或分发此软件,无论是否收费,前提是上述版权声明和本许可声明出现在所有副本中。
软件按“原样”提供,且作者放弃与此软件相关的所有保证,包括所有暗示的保证,包括适销性和适用性保证。在任何情况下,作者均不对任何特殊、直接、间接或后果性损害或任何损害承担责任,无论这些损害是由于合同、疏忽或其他侵权行为引起的,无论这些损害是否与使用或执行此软件有关。