<% var languages = []; for(var language in languageCache) { languages.push(language); } languages.sort(); %> <% for(var i=0, len = languages.length; i < len; i++) { var language = languages[i]; if (language) { %>

<%- language %>

      
          exports.language = {
          <%
          // First of all, put them into an array
          var items = [], c = 0, len;

          for(var item in languageCache[language]) {
          items.push(item);
          }

          // Sort the array
          items = items.sort();
          len = items.length;
          // Now, lets write out our object in a sorted fashion!
          items.forEach(function(key,value) {
          c++;
          %>
          <%- JSON.stringify(key) %>:<%- JSON.stringify(languageCache[language][key]) %><% if (c < len) { %>,<% } %>
          <%
          });
          %>
          }
      
    
<% // close out the if statement } } %>
These are the language arrays currently in memory on this server. If you have added translation strings but not added them to the base language file, you can copy the objects from here to update those files. This is particularly for forms where any titles, labels or descriptions are translated dynamically.