<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: howto use localization/msg in .processTemplate in Alfresco Archive</title>
    <link>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266297#M219427</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to (re)build parts of a page in share. Use YUI panels and fill those dynamically with template and data depending on the functionality and situation. Retrieve template(s) from the repository, name selection with "screencode", and replace labels/text with i18n translation text.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;url: /api/ui?screencode=E00001&amp;amp;i18n=nl_NL&amp;nbsp; or /api/ui?screencode=E00002&amp;amp;i18n=nl_NL&amp;nbsp; etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;template with names like: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00001.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00002.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i18n files with names like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00001_nl_NL.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00002_nl_NL.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can read a template from the repository (contentnode) in data webscript.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can read I18n file from repository (contentnode) in the same data webscript..&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Optional I can read data from repository.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can call node.processTemplate(template); optional with args.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But how to make the translations for labels work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Standard msg() does not work for me, "Expression msg is undefined" ${msg('at')}.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think my next step is to place the i18n content into the model like model.labels.label.name and use ${labels.label.name} instead in the template. But maybe there is a more easy or standard method like using msg(). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I use my own webscripts. Given code (as part of Javascript controller) was example of processTemplate with msg() function in the template (in this case only as string). It is for my own project. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope this is clear enough.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 02 Dec 2011 21:52:30 GMT</pubDate>
    <dc:creator>scapeler</dc:creator>
    <dc:date>2011-12-02T21:52:30Z</dc:date>
    <item>
      <title>howto use localization/msg in .processTemplate</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266295#M219425</link>
      <description>How to process a freemarker template and also make use of a corresponding localization file (.properties).This javascript returns error: Expression msg is undefinedvar template = "${msg('at')}";var result = node.processTemplate(template);</description>
      <pubDate>Thu, 01 Dec 2011 21:47:37 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266295#M219425</guid>
      <dc:creator>scapeler</dc:creator>
      <dc:date>2011-12-01T21:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: howto use localization/msg in .processTemplate</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266296#M219426</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hi,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you provide a bit more context please on what you're attempting to do?&amp;nbsp; Is this a FreeMarker template that's part of a WebScript? Are you trying to customize and existing WebScript or create your own? I'm assuming that the code fragment you've provided is within a &amp;lt;script&amp;gt; element in a FreeMarker template and that this isn't code in the JavaScript controller for the WebScript? Are you doing this as part of an Alfresco project, etc - e.g. this isn't just a plain FreeMarker template?&amp;nbsp; If you could provide this information I should hopefully be able to help resolve your problem,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Dave&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Dec 2011 10:12:34 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266296#M219426</guid>
      <dc:creator>ddraper</dc:creator>
      <dc:date>2011-12-02T10:12:34Z</dc:date>
    </item>
    <item>
      <title>Re: howto use localization/msg in .processTemplate</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266297#M219427</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I want to (re)build parts of a page in share. Use YUI panels and fill those dynamically with template and data depending on the functionality and situation. Retrieve template(s) from the repository, name selection with "screencode", and replace labels/text with i18n translation text.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;something like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;url: /api/ui?screencode=E00001&amp;amp;i18n=nl_NL&amp;nbsp; or /api/ui?screencode=E00002&amp;amp;i18n=nl_NL&amp;nbsp; etc.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;template with names like: &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00001.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00002.ftl&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;i18n files with names like:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00001_nl_NL.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;abc-ui-E00002_nl_NL.properties&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can read a template from the repository (contentnode) in data webscript.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can read I18n file from repository (contentnode) in the same data webscript..&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Optional I can read data from repository.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I can call node.processTemplate(template); optional with args.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;But how to make the translations for labels work. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Standard msg() does not work for me, "Expression msg is undefined" ${msg('at')}.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think my next step is to place the i18n content into the model like model.labels.label.name and use ${labels.label.name} instead in the template. But maybe there is a more easy or standard method like using msg(). &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I use my own webscripts. Given code (as part of Javascript controller) was example of processTemplate with msg() function in the template (in this case only as string). It is for my own project. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I hope this is clear enough.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Dec 2011 21:52:30 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266297#M219427</guid>
      <dc:creator>scapeler</dc:creator>
      <dc:date>2011-12-02T21:52:30Z</dc:date>
    </item>
    <item>
      <title>Re: howto use localization/msg in .processTemplate</title>
      <link>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266298#M219428</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This is how I solved my problem. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;arguments in url: "?uinode=ui-E00001&amp;amp;htmlid=00001&amp;amp;i18n=nl_NL"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;webscript ui.get.js to retrieve template and i18n from repository and processTemplate. &lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;function main()&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; arguments["htmlid"]=args["htmlid"];&lt;BR /&gt;&amp;nbsp; arguments["uinode"]=args["uinode"];&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; // retrieve template from repository&lt;BR /&gt;&amp;nbsp; var luceneQueryftl = "@cm\\:name:\"" + args["uinode"] + ".ftl\"";&lt;BR /&gt;&amp;nbsp; resultftl = search.luceneSearch(luceneQueryftl);&lt;BR /&gt;&amp;nbsp; var template = resultftl[0];&lt;BR /&gt;&amp;nbsp; if (template == null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; model.uiout = "Template " + args["uinode"] + ".ftl not found!"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; // retrieve i18n properties from repository (json formatted)&lt;BR /&gt;&amp;nbsp; var luceneQueryi18n = "@cm\\:name:\"" + args["uinode"] + "_" + args["i18n"] + ".properties\"";&lt;BR /&gt;&amp;nbsp; resulti18n = search.luceneSearch(luceneQueryi18n);&lt;BR /&gt;&amp;nbsp; if (resulti18n[0] != null) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var properties = jsonUtils.toObject(resulti18n[0].content);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // put i18n tags in arguments for template processing&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (var key in properties) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arguments["i18n_"+key]=properties[key];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp; result = template.processTemplate(template.content, arguments);&lt;BR /&gt;&amp;nbsp; model.uiout = result;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;main();&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;template (ui.get.html.ftl) for webscript only contains: ${uiout}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Template ui-E00001.ftl in repository:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;&amp;lt;fieldset class="ui-fieldset" id="${args.htmlid}-fieldset-ui"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="hd" style="cursor: move;" id="${args.htmlid}-ui-hd"&amp;gt;&amp;lt;div class="tl"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;span&amp;gt;${args.i18n_type!"Type"}&amp;lt;/span&amp;gt;&amp;lt;div class="tr"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="bd"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="yui-gd"&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td class="label-td-left"&amp;gt;${args.i18n_name!"Name"}: &amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;input class="text name" type="text" id="${args.htmlid}-name" name="name" size="80" value=""/&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="ft"&amp;gt;&amp;lt;div class="bl"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;div class="br"&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/fieldset&amp;gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt;i18n file ui-E00001_nl_NL.properties in repository:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="language-none line-numbers"&gt;&lt;CODE&gt;{&lt;BR /&gt;"name":"Naam",&lt;BR /&gt;"type":"Type"&lt;BR /&gt;}&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 04 Dec 2011 09:55:12 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-archive/howto-use-localization-msg-in-processtemplate/m-p/266298#M219428</guid>
      <dc:creator>scapeler</dc:creator>
      <dc:date>2011-12-04T09:55:12Z</dc:date>
    </item>
  </channel>
</rss>

