It seems to be working for me when I enter test mode, so I believe it was indeed a caching issue.
However your change is problematic from other aspects:
1. The logic currently applies singular form to numbers like 21 on all languages. I guess this is a mistake that can be fixed.
2. You must add the new messages to all languages in the JSON, otherwise they'll use the english terms. This of course can be fixed too, even though it adds some overload to all future translators of the script.
3. The most problematic aspect in my opinion is that you're introducing a complex logic that is only relevant to one (or few) specific language into the script. What if other languages have their own singular-plural logic? How would they add it? I think this approach should be avoided.