A root-level dictionary where keys are the texts to be replaced and the values the replacements.
In this approach, a plain HTML file, let's say page1.html, will be converted to page1_de.html, page1_fr.html during the publishing process of the Module. By using the tool IG.Localizer simple text replacements will be performed, not limited to the exact inner text of text nodes, but can be more or less anything: partial texts, HTML statements, image urls, whatever.
The IG.Localizer uses an options file that typically does the whole localization process for one Module. It even supports multiple resource files to be applied. In such case, the priority of a resource file decrements with its position in the resources array. This can be used to have specific overloads of more general texts.
The static approach resp. IG.Localizer supports the following resource formats: UTF-8 JSON
In order to force a Host to use the static approach you need to define the available locales, here de and fr, in the Module registration.
In this approach, an HTML file will be localized dynamically at run-time. This is done typically in a document-loaded handler by retrieving a resource file (GetTextResources()) and iterating thru a sequence of DOM objects while replacing their src/innerText/innerHTML/etc. To use this you have to name the HTML objects to be translated, and also have to define an iterator on them, taking the specific replacement type into account.
The dynamic approach supports the following resource formats: UTF-8 JSON