pluralize()
is similar to glue::glue()
, with two differences:
It supports cli's pluralization syntax, using {?}
markers.
It collapses substituted vectors into a comma separated string.
pluralize( ..., .envir = parent.frame(), .transformer = glue::identity_transformer )
..., .envir, .transformer | All arguments are passed to |
---|
See pluralization and some examples below.
Other pluralization:
no()
,
pluralization
# Regular plurals nfile <- 0; pluralize("Found {nfile} file{?s}.")#> Found 0 files.nfile <- 1; pluralize("Found {nfile} file{?s}.")#> Found 1 file.nfile <- 2; pluralize("Found {nfile} file{?s}.")#> Found 2 files.# Irregular plurals ndir <- 1; pluralize("Found {ndir} director{?y/ies}.")#> Found 1 directory.ndir <- 5; pluralize("Found {ndir} director{?y/ies}.")#> Found 5 directories.# Use 'no' instead of zero nfile <- 0; pluralize("Found {no(nfile)} file{?s}.")#> Found no files.nfile <- 1; pluralize("Found {no(nfile)} file{?s}.")#> Found 1 file.nfile <- 2; pluralize("Found {no(nfile)} file{?s}.")#> Found 2 files.# Use the length of character vectors pkgs <- "pkg1" pluralize("Will remove the {pkgs} package{?s}.")#> Will remove the pkg1 package.#> Will remove the pkg1, pkg2, and pkg3 packages.#>#> Will remove the pkg1, pkg2, and pkg3 packages.# Multiple quantities nfiles <- 3; ndirs <- 1 pluralize("Found {nfiles} file{?s} and {ndirs} director{?y/ies}")#> Found 3 files and 1 directory# Explicit quantities nupd <- 3; ntotal <- 10 cli_text("{nupd}/{ntotal} {qty(nupd)} file{?s} {?needs/need} updates")#>