germania-kg / i18n
外包的i18n内容
2.1.0
2023-01-04 08:44 UTC
Requires
- php: ^7.4|^8.0
- pimple/pimple: ^3.0
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
- psr/log: ^1.0
- willdurand/negotiation: ^2.3|^3.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- php-coveralls/php-coveralls: ^2.0
- phpspec/prophecy-phpunit: ^2.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^8.0|^9.0
- spatie/phpunit-watcher: ^1.0
This package is auto-updated.
Last update: 2024-09-19 23:36:53 UTC
README
使用Composer安装
$ composer require germania-kg/i18n
从v1版本开始的BC breaks
类 DGettextRenderer: 这个可调用的现在期望返回的消息包含花括号内的占位符。
已弃用
这些类在 v1 中已被使用,鼓励开发者不再使用它们。
Germania\i18n\ServiceProvider
Germania\i18n\AcceptedLanguageStringFactory
GettextMiddleware
<?php use Germania\i18n\GettextMiddleware; $locale = "en_GB"; $domains = ["app", "project"]; $path = "./locales"; $middleware = new GettextMiddleware($locale, $domains, $path);
LanguageNormalizer
<?php use Germania\i18n\LanguageNormalizer; $norm = new LanguageNormalizer; $norm("de-de"); // "de_DE"
Translator
构造函数需要一个 client 和一个 default 语言。
<?php use Germania\i18n\Translator; $t = new Translator("de", "en"); echo $t("Just a string, nothing to translate"); // "Just a string, nothing to translate" $var = array( "de" => "Deutsch: Nur eine String-Variable", "en" => "English: Just a string variable" ); echo $t($var); // "Deutsch: Nur eine String-Variable" echo $t($var, "en"); // "English: Just a string variable"
DGettextRenderer
围绕给定域的 dgettext 的可调用包装器。可选地,在运行时根据第二个参数提供的变量占位符进行展开
<?php use Germania\i18n\DGettextRenderer; $domain = "app"; $dgr = new DGettextRenderer($domain); echo $dgr("MsgId"); // "Some translated {placeholder} messages" echo $dgr("MsgId", [ "placeholder" => "success" ]); // "Some translated success messages"
问题
查看 完整问题列表。
开发
$ git clone https://github.com/GermaniaKG/i18n.git
$ cd i18n
$ composer install
单元测试
可以将 phpunit.xml.dist
复制到 phpunit.xml
并根据您的需求进行修改,或者保持不变。运行 PhpUnit 测试或composer脚本来执行
$ composer test # or $ vendor/bin/phpunit