Names, including plural firms are one thing, but this would be a nightmare for translators, it's effectively just a random word that gets inserted into the description at an arbitrary point.  If we're trying to refine the message that much, I'd say stick the whole message in there, like,
"fail_message" : "Requires %$1d %$2s with sharpness of %$3d or more."
Then people can feel free to refine the individual ones even more:
"You need a %$1s  with at least one level of sharpness."
(Taking advantage of the fact that you never need more than one cutting tool)
The little bit of redundancy makes translation FAR easier.