Consider using Vue.js in order to remove all that boilerplate code.
If we could render localized text on the client side, we may be able to resolve the road block in #67.