php是否有任何处理复数或淡化词的功能?
显然,在“苹果”之类的单词结尾处取下或替换“s”非常容易,但其他单词并非如此简单。
如果php没有本地处理方式,其他语言如何处理问题?是否存在可以处理多元化/多元化的功能,或者英语是否过于粗略地不一致?
答案 0 :(得分:1)
我通常只在框架中使用PHP来实现他们自己的方式来处理这个问题,但我认为你的问题的答案可能是 gettext 。
Gettext是GNU国际化和本地化(i18n)库。它已被开发为i18n和l10n(国际化和本地化)的工具,但是 - 正因为如此,它有plenty of functions来处理复数形式,因为其他语言可能有比复杂形式多得多的形式。英语呢。
PHP implments gettext所以这可能是你调查的好起点。最后,您可能希望查看this other answer,建议另一种方法。
编辑:我认为ngettext()
可能是您正在寻找的功能。
答案 1 :(得分:1)
结帐Damien Conway's paper on this。它很好地说明了仅用英语这是一个棘手的话题。
其他语言如何解决这个问题(正如您所问)? Perl有一个模块(由Damien编写)编写上述文件。见Lingua-EN-Inflect。我不知道其他语言中的任何模块都做到了这一点。
答案 2 :(得分:0)
我认为你应该检查这个样本:
http://kuwamoto.org/2007/12/14/how-to-pluralize-in-php-and-please-help-me-check-the-code/
可能存在一些错误,我还没有测试过,但它应该足以让你开始。