d. Long bits of text with a little bit of markup in the millde are problematic. Consider this example:
<p>
When it comes to solving a business problem in code, once is <em>more than</em> enough! As compelling
as the autonomous AJAX based client architecture is, when your client code is in JavaScript and your
server code isn't, you're now committed maintaining two apps in parallel, and keeping them up-to-date
in lock step.
In the above, the only i18n key that gets extracted is "more than". The rest remains untranslatable.
If we went with the rule "every text fragment within a non data-field element will be a candidate for translation," we'd be in better shape, but still not amazing shape. This is really /one/ translatable thought, not three. Maybe this:
<p>
When it comes to solving a business problem in code, once is <em data-i18n=inline>more than</em> enough! As compelling
as the autonomous AJAX based client architecture is, when your client code is in JavaScript and your
server code isn't, you're now committed maintaining two apps in parallel, and keeping them up-to-date
in lock step.
And then allow HTML markup in translation values? We could treat them as SafeHtml…