softinvest/declension-nouns

Laravel的变格名词。

v1.0.0 2023-04-25 17:00 UTC

This package is auto-updated.

Last update: 2024-09-25 19:57:17 UTC


README

您是否在不同的网站上遇到过类似的消息?

「您订购了23个商品」,「购物车已添加1个商品」,「您上次访问我们的网站是5年前」,「您浏览了2个目录页面」,「1个搜索结果」,「2个网站访客正在查看此商品」,「您订购了5部手机」。

这种错误的原因并非是开发者的错误。问题在于,人们常常把名词变格的问题推迟到以后。不正确的单词并不会妨碍应用程序运行和解决主要业务问题。

本包可以帮助您解决在Web项目中名词变格的问题。

安装

composer require drandin/declension-nouns
安装包后,需要按顺序执行以下操作

将服务提供者添加到应用程序配置文件config/app.php中。以下行应添加到数组'providers'中。

 Drandin\DeclensionNouns\DeclensionNounsServiceProvider::class,

为了通过外观访问包的功能,请将以下行添加到config/app.php中的数组'aliases'中。

 'DeclensionNoun' => \Drandin\DeclensionNouns\Facades\DeclensionNoun::class,

然后,在控制台中运行命令,将配置文件declension-nouns.php复制到您的应用程序的config目录。

 php artisan vendor:publish --tag=config

之后,在控制台中运行更新配置缓存命令。

 php artisan config:cache

如果您已安装了ide-helper包,则重新创建文件_ide_helper.php

 php artisan ide-helper:generate

使用方法

假设我们有数字4,它表示年份的数量

DeclensionNoun::make(4, "год");

结果将是

4 года

假设我们有数字5,它表示页面的数量

DeclensionNoun::make(5, "страница");

结果将是

5 страниц

假设我们有数字-304,它表示客户应付的金额(以卢布为单位)

DeclensionNoun::make(-304, "рубль");

结果将是

-304 рубля

假设我们有数字5,它表示孩子的年龄

DeclensionNoun::make(5, "год");

结果将是

5 лет   

与上面的例子相同,但仅返回单词

DeclensionNoun::makeOnlyWord(5, "год");

结果将是

лет     

如何将单词添加到词典中?

有两种方法。

方法 #1

在配置文件config/declension-nouns.php的数组中添加新单词

    
    'телефон' => [
                'телефона',
                'телефонов'
            ],
    

数组元素的键是单数形式,第一个元素是描述2个手机的名词,第二个元素是描述5个手机的名词。

方法 #2

在运行时添加单词

   DeclensionNoun::addToDictionary('телефон', 'телефона', 'телефонов');

第一个参数需要传递单数形式的数字,然后是描述2个手机的名词,第三个参数是描述5个手机的名词。

许可证(License)

MIT许可证