pinoox / numera
翻译 Numera
Requires
- php: ^8.0
Requires (Dev)
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-08-31 00:28:30 UTC
README
Numera 是一个 PHP 库,它提供了一个简单高效的方法将数字转换为文字以及相反操作。它支持多种语言,并且可以轻松扩展以支持更多语言。
特性
- 将数字转换为文字(例如,1234 转换为 "一千二百三十四")
- 将文字转换为数字(例如,"一千二百三十四" 转换为 1234)
- 支持多种语言(目前有英语和波斯语,还将有更多语言加入)
- 支持输出文字的驼峰式命名
- 易于使用和扩展
安装和配置
通过 Composer 安装
您可以使用 Composer 安装 Numera
composer require pinoox/numera
初始化 Numera
要使用 Numera,您需要用区域初始化它。您可以使用 init
方法完成此操作
use Pino\Numera; $numera = Numera::init('en'); // Initialize with English locale
将数字转换为文字
要将数字转换为文字,请使用 convertToWords
方法
$result = $numera->convertToWords(4454545156); echo $result; // Output: "four billion, four hundred fifty-four million, five hundred forty-five thousand, one hundred fifty-six"
或者,您还可以使用更简单的语法使用 n2w
方法
$result = $numera->n2w('4,454,545,156'); echo $result; // Output: "four billion, four hundred fifty-four million, five hundred forty-five thousand, one hundred fifty-six"
将数字转换为摘要
要将数字转换为摘要文字,请使用 convertToSummary
方法
$result = $numera->convertToSummary(4454545156); echo $result; // Output: "4 Billion, 454 Million, 545 Thousand, 156"
或者,您还可以使用更简单的语法使用 n2w
方法
$result = $numera->n2s('4,454,545,156'); echo $result; // Output: "4 Billion, 454 Million, 545 Thousand, 156"
将文字转换为数字
要将文字转换为数字,请使用 convertToNumber
方法
$result = $numera->convertToNumber('four billion, four hundred fifty-four million, five hundred forty-five thousand, one hundred fifty-six'); echo $result; // Output: 4454545156
或者,您还可以使用更简单的语法使用 w2n
方法
$result = $numera->w2n("4 Billion, 454 Million, 545 Thousand, 156"); echo $result; // Output: 4454545156
您还可以为 w2n
方法指定分隔符
$result = $numera->w2n('four billion, four hundred fifty-four million, five hundred forty-five thousand, one hundred fifty-six', [' ', ',']); echo $result; // Output: 4454545156
使用驼峰式命名
要为输出文字使用驼峰式命名,请使用 setCamelCase
方法
$numera->setCamelCase(true); $result = $numera->convertToWords('4,454,545,156'); echo $result; // Output: "Four Billion, Four Hundred Fifty-Four Million, Five Hundred Forty-Five Thousand, One Hundred Fifty-Six"
支持的语言
Numera 当前支持以下语言
- 英语 (en)
- 波斯语 (fa)
设置区域
要设置 Numera 对象的区域,请使用 setLocale
方法
$numera->setLocale('fa'); // Set locale to Persian
设置区域回退
要设置 Numera 对象的区域回退,请使用 setLocaleFallback
方法
$numera->setLocaleFallback('en'); // Set fallback locale to English
获取翻译
要获取当前区域的翻译,请使用 getTranslates
方法
$translates = $numera->getTranslates(); print_r($translates); // Output: Array of translates for the current locale
添加翻译
要为特定区域添加翻译,请使用 addTranslate
方法
$numera->addTranslate('fr', ['four' => 'quatre']); // Add French translates
添加翻译文件
要为特定区域通过数组文件添加翻译,请使用 addTranslateFile
方法
$numera->addTranslateFile('fr','/path/lang/fr.php'); // Add French translates
创建新语言
如果您想添加对新的语言的支持,请阅读我们的 翻译指南,其中包含如何创建新的语言包的逐步指南。
作者
Numera 由 Pinoox 创建。
贡献
如果您想为 Numera 做出贡献,请将其仓库分叉并提交一个拉取请求。我们非常欢迎您的帮助。
文档
- README.md - 文档
- TranslationGuide.md - 创建新语言包的指南
许可证
Numera 在 MIT 许可证 下发布。请参阅 LICENSE 文件以获取更多信息。