I have written a single-page web app for people wanting to learn programming.
[1]  In addition to the English version, there is also a French version [2]
and an incomplete Korean version [3].  The main paradigm used is that
of &quot;Karel the robot&quot; where programs consists of instructions, such as &quot;move()&quot;
given to that robot.  Programs can be written using either Python or
Javascript, with support for Blockly [4].<p>Currently, to produce a <i></i>complete<i></i> translation, one has to:<p>1. Write a separate html page
2. Write a separate Javascript file containing message translations of the 
form translation[&quot;key&quot;]=&quot;value&quot;<p>3. Write a Javascript file defining instructions (such as &quot;move()&quot;) in the 
relevant human language.<p>4. Write a Python file defining instructions (such as &quot;move()&quot;) in the 
relevant human language.<p>[Given a version of 4, I can write the equivalent version for 3]<p>5. For completeness, translate the rather extensive (and yet incomplete) 
documentation [5].<p>I would like to simplify the steps 1 &amp; 2 by adopting a more standard way 
of providing translations. Ideally, I would like to have a single page 
with a language selector as done for Blockly games [6], but having everything 
done client-side as it is currently done.  After looking at all the available 
libraries&#x2F;framework, I am a bit overwhelmed.  Note that I am a single non-professional 
developer doing this as a hobby -- so, &quot;learning to use X will increase employability&quot;
is completely irrelevant.<p>Main objective: to make it easier for translators to provide different versions.<p>Secondary objective: continuing to do everything client-side.<p>Question: which framework&#x2F;library would be the most suitable?<p>[1] http:&#x2F;&#x2F;reeborg.ca&#x2F;world.html
[2] http:&#x2F;&#x2F;reebord.ca&#x2F;monde.html
[3] http:&#x2F;&#x2F;reeborg.ca&#x2F;world_ko.html
[4] https:&#x2F;&#x2F;developers.google.com&#x2F;blockly&#x2F;
[5] http:&#x2F;&#x2F;reeborg.ca&#x2F;docs&#x2F;en&#x2F;
[6] https:&#x2F;&#x2F;blockly-games.appspot.com&#x2F;
Ask HN: Best way to provide client-side internationalization support to single-page app