I have used the GNU gettext utilities in projects. I didn't realize it was available in Bash. I understand that irritating feeling when seeing "1 files processed" (or whatever object/action is happening). I often put the plural in parenthesis so: "1 file(s) processed".  Do like your script Dave, but will probably take advantage of ngettext if it is already on  my machine. However your Bash function would be more portable if writing the script for wider distribution.