niirrty / niirrty.locale
PHP 本地化库。
0.6.1
2024-02-16 11:41 UTC
Requires
- php: >=8.1
- niirrty/niirrty.core: ^0.6
README
Locale 类和一些辅助函数
安装
在 composer.json
中
{ "require": { "php": ">=8.1", "niirrty/niirrty.locale": "^0.6" } }
使用方法
如果您想在应用程序中使用此包,请包含依赖的 composer autoload.php
Locale
创建一个新的 Locale 实例
use \Niirrty\Locale\Locale; Locale::Create( // The fallback locale if no other was found new Locale( 'de', 'AT', 'UTF-8' ), // Check also the URL path for an locale or language part? true, // This are the names of the parameters, accepted from $_POST, $_GET and $_SESSION [ 'locale', 'language', 'lang' ] ) ->registerAsGlobalInstance();
这会通过检查以下位置来创建新的 Locale 并获取所需的信息:
- 首先检查当前 URL 部分,如果它包含一个有效的本地化字符串,则使用它(您可以通过将第二个创建参数设置为 FALSE 来禁用它)。
- 接下来检查是否有一个定义好的请求参数(第三个参数)被 $_POST、$_GET 或 $_SESSION 定义。
- 然后检查浏览器是否发送了关于首选本地化/语言的信息。
- 最后检查系统是否提供了可用的本地化信息。
如果所有这些方法都失败,则返回声明的后备本地化。您也可以称它为主本地化。
最后但同样重要的是,创建的本地化被注册为全局可用的 Locale 实例。它可以通过以下方式在其他地方访问:
if ( Locale::HasGlobalInstance() ) { $locale = Locale::GetGlobalInstance(); } else { // Create the locale //$locale = Locale::Create( … )->registerAsGlobalInstance(); }