I agree that the functionality provided is quite basic, there are quite a few libraries out there that provide much more functionality, such as the one you mentioned or <a href="http:&#x2F;&#x2F;i18next.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;i18next.com&#x2F;</a><p>I was initially using another tiny library <a href="http:&#x2F;&#x2F;airbnb.io&#x2F;polyglot.js&#x2F;" rel="nofollow">http:&#x2F;&#x2F;airbnb.io&#x2F;polyglot.js&#x2F;</a>, but we wanted to support translation fallbacks to allow us to put every widget&#x2F;component in a separate namespace. Which means we don&#x27;t have to copy translations over unless they are unique, since that became a bit of a maintenance burden as more things are added.<p>We already supported dates by using separate other libraries such as <a href="http:&#x2F;&#x2F;momentjs.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;momentjs.com&#x2F;</a>