2017-09-19 00:35:37 -07:00
|
|
|
require "lib/core.nom"
|
2017-09-19 00:29:31 -07:00
|
|
|
|
|
|
|
# Plurals
|
2018-01-07 16:51:29 -08:00
|
|
|
using:
|
|
|
|
<%endings> = (chain {x="es",c="es",s="es"} to "s")
|
|
|
|
<%plurals> = (chain {} to (: "\%\((<%endings>)->(%| -1|))"))
|
|
|
|
<%singulars> = (..)
|
|
|
|
chain {} to:
|
|
|
|
when:
|
|
|
|
* (((%| -2|) == "es") and (=lua"rawget(\(<%endings>), \(%| -3|))")):
|
|
|
|
%|1 - -3|
|
|
|
|
* (%| -1| == "s"):
|
|
|
|
%|1 - -2|
|
|
|
|
else: %
|
|
|
|
..do:
|
2017-10-02 17:21:22 -07:00
|
|
|
rule [the plural of %singular is %plural] =:
|
2018-01-07 16:51:29 -08:00
|
|
|
(<%plurals>)->%singular = %plural
|
|
|
|
(<%singulars>)->%plural = %singular
|
2017-09-19 00:29:31 -07:00
|
|
|
|
2017-10-02 17:21:22 -07:00
|
|
|
rule [singular %plural] =:
|
2018-01-07 16:51:29 -08:00
|
|
|
(<%singulars>)->%plural
|
2017-09-19 00:29:31 -07:00
|
|
|
|
2017-10-02 17:21:22 -07:00
|
|
|
rule [plural %singular] =:
|
2018-01-07 16:51:29 -08:00
|
|
|
(<%plurals>)->%singular
|