Client side in browser compiling and rendering

This is the documentation for 1.5.1 version, which is not the latest version. Consider upgrading to 3.4.0.

Both compilation and rendering are made in the browser: templates can be authored directly in the browser, or dynamically generated, compiled in the browser and the texts can also be rendered in the browser.

To be able to do that, you must use a js version of RosaeNLG that is larger, with comp at the end, like rosaenlg_tiny_fr_FR*_comp.js:

  • it includes the templates compiler

  • but also all linguistic resources that are associated with a language

Client side compilation is for exotic usecases. You should favor server side compilation.

It can be used to create a 100% client side editor and renderer, like in this demo.

For a complete technical POC that effectively generates texts in a browser using RosaeNLG, see separate repo rosaenlg-browser-poc.

Packaged version of RosaeNLG for client side usage

RosaeNLG provides browser ready "tinyified" packages per language in dist/browser:

Table 1. Available packages per language
Language Compilation Rendering Size (approx.)

en_US

no

yes

780 Kb

fr_FR

no

yes

601 Kb

de_DE

no

yes

567 Kb

it_IT

no

yes

553 Kb

OTHER

no

yes

504 Kb

en_US

yes

yes

1.8 Mb

fr_FR

yes

yes

8.7 Mb

de_DE

yes

yes

55 Mb

it_IT

yes

yes

10.5 Mb

OTHER

yes

yes

1.5 Mb

Well, the German version with compilation support is too large indeed.