Backport r11101, r11102 from trunk: more i18n for reporter interface and one extra...
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 8 Nov 2008 04:42:50 +0000 (04:42 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 8 Nov 2008 04:42:50 +0000 (04:42 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@11103 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/reports/nls/reports.js
Open-ILS/web/opac/locale/en-US/vandelay.dtd
Open-ILS/web/reports/xul/operators.js
Open-ILS/web/reports/xul/source-browse.js
Open-ILS/web/reports/xul/source-setup.js
Open-ILS/web/reports/xul/template-config.js
Open-ILS/web/reports/xul/template_builder.xul
Open-ILS/web/reports/xul/transforms.js
Open-ILS/web/vandelay/inc/queue.xml

index b9c6df8..8ee97b3 100644 (file)
        "WIDGET_YEARS": "Year(s)",
        "WIDGET_QUARTERS": "Quarter(s)",
        "WIDGET_REAL_DATE": "Real Date",
-       "WIDGET_RELATIVE_DATE": "Relative Date"
+       "WIDGET_RELATIVE_DATE": "Relative Date",
+       
+       /* The following strings are for the *.js files found in the Open-ILS/web/reports/xul/ directory */
+       
+       "OPERATORS_EQUALS": "Equals",
+       "OPERATORS_LIKE": "Contains Matching substring",
+       "OPERATORS_ILIKE": "Contains Matching substring (ignore case)",
+       "OPERATORS_GREATER_THAN": "Greater than",
+       "OPERATORS_GT_TIME": "After (Date/Time)",
+       "OPERATORS_GT_EQUAL": "Greater than or equal to",
+       "OPERATORS_GTE_TIME": "On or After (Date/Time)",
+       "OPERATORS_LESS_THAN": "Less than",
+       "OPERATORS_LT_TIME": "Before (Date/Time)",
+       "OPERATORS_LT_EQUAL": "Less than or equal to",
+       "OPERATORS_LTE_TIME": "On or Before (Date/Time)",
+       "OPERATORS_IN_LIST": "In list",
+       "OPERATORS_NOT_IN_LIST": "Not in list",
+       "OPERATORS_BETWEEN": "Between",
+       "OPERATORS_NOT_BETWEEN": "Not between",
+       "OPERATORS_IS_NULL": "Is NULL",
+       "OPERATORS_IS_NOT_NULL": "Is not NULL",
+       "OPERATORS_NULL_BLANK": "Is NULL or Blank",
+       "OPERATORS_NOT_NULL_BLANK": "Is not NULL or Blank",
+       
+       "SOURCE_BROWSE_AGGREGATE": "Aggregate",
+       "SOURCE_BROWSE_NON_AGGREGATE": "Non-Aggregate",
+       
+       "SOURCE_SETUP_CONFIRM_EXIT": "You have started building a template!\n Selecting a new starting source will destroy the current template and start over.  Is this OK?",
+       "SOURCE_SETUP_CORE_SOURCES": "Core Sources",
+       "SOURCE_SETUP_ALL_AVAIL_SOURCES": "All Available Sources",
+       
+       "TEMPLATE_CONF_BARE": "Bare",
+       "TEMPLATE_CONF_RAW_DATA": "Raw Data",
+       "TEMPLATE_CONF_EQUALS": "Equals",
+       "TEMPLATE_CONF_CONFIRM_RESET": "You have already added the [${0}] field\nfrom the [${1}] source. Click OK if you\nwould like to reset this field.",
+       "TEMPLATE_CONF_PROMPT_CHANGE": "Change the column header to: ${0}",
+       "TEMPLATE_CONF_BOOLEAN_VALUE": "Boolean Value",
+       "TEMPLATE_CONF_SELECT_CANCEL": "Select the value, or cancel:",
+       "TEMPLATE_CONF_TRUE": "True",
+       "TEMPLATE_CONF_FALSE": "False",
+       "TEMPLATE_CONF_CONFIRM_STATE": "Click OK for TRUE and Cancel for FALSE.",
+       "TEMPLATE_CONF_NO_MATCH": "Field does not match one of list (comma separated):",
+       "TEMPLATE_CONF_NOT_BETWEEN": "Field value is not between (comma separated):",
+       "TEMPLATE_CONF_BETWEEN": "Field value is between (comma separated):",
+       "TEMPLATE_CONF_NOT_IN": "Field does not match one of list (comma separated):",
+       "TEMPLATE_CONF_IN": "Field matches one of list (comma separated):",
+       "TEMPLATE_CONF_DEFAULT": "Value ${0}:",
+       "TEMPLATE_CONF_CONFIRM_SAVE": "Name : ${0}\nDescription: $[1}\nSave Template?",
+       "TEMPLATE_CONF_SUCCESS_SAVE": "Template ${0} was successfully saved.",
+       
+       "TRANSFORMS_BARE": "Raw Data",
+       "TRANSFORMS_FIRST": "First Value",
+       "TRANSFORMS_LAST": "Last Value",
+       "TRANSFORMS_COUNT": "Count",
+       "TRANSFORMS_COUNT_DISTINCT": "Count Distinct",
+       "TRANSFORMS_MIN": "Min",
+       "TRANSFORMS_MAX": "Max",
+       "TRANSFORMS_SUBSTRING": "Substring",
+       "TRANSFORMS_LOWER": "Lower case",
+       "TRANSFORMS_UPPER": "Upper case",
+       "TRANSFORMS_FIRST5": "First 5 characters (for US ZIP code)",
+       "TRANSFORMS_FIRST_WORD": "First contiguous non-space string",
+       "TRANSFORMS_DOW": "Day of Week",
+       "TRANSFORMS_DOM": "Day of Month",
+       "TRANSFORMS_DOY": "Day of Year",
+       "TRANSFORMS_WOY": "Week of Year",
+       "TRANSFORMS_MOY": "Month of Year",
+       "TRANSFORMS_QOY": "Quarter of Year",
+       "TRANSFORMS_HOD": "Hour of day",
+       "TRANSFORMS_DATE": "Date",
+       "TRANSFORMS_MONTH_TRUNC": "Year + Month",
+       "TRANSFORMS_YEAR_TRUNC": "Year",
+       "TRANSFORMS_HOUR_TRUNC": "Hour",
+       "TRANSFORMS_DAY_NAME": "Day Name",
+       "TRANSFORMS_MONTH_NAME": "Month Name",
+       "TRANSFORMS_AGE": "Age",
+       "TRANSFORMS_MONTHS_AGO": "Months ago",
+       "TRANSFORMS_QUARTERS_AGO": "Quarters ago",
+       "TRANSFORMS_SUM": "Sum",
+       "TRANSFORMS_AVERAGE": "Average",
+       "TRANSFORMS_ROUND": "Round",
+       "TRANSFORMS_INT": "Drop trailing decimals"
 }
index a2017fe..69f2611 100644 (file)
 <!ENTITY vandelay.select_actions "-- Actions --">
 <!ENTITY vandelay.queue.total "Total:">
 <!ENTITY vandelay.queue.imported "Imported:">
-
+<!ENTITY vandelay.queue.column_picker.title "Column Picker">
index 8c643e4..d717c30 100644 (file)
@@ -1,68 +1,71 @@
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
 
 var OILS_RPT_FILTERS = {
        '=' : {
-               label : 'Equals',
+               label : rpt_strings.OPERATORS_EQUALS
        },
 
        'like' : {
-               label : 'Contains Matching substring',
+               label : rpt_strings.OPERATORS_LIKE
        }, 
 
        ilike : {
-               label : 'Contains Matching substring (ignore case)',
+               label : rpt_strings.OPERATORS_ILIKE
        },
 
        '>' : {
-               label : 'Greater than',
-               labels : { timestamp : 'After (Date/Time)' }
+               label : rpt_strings.OPERATORS_GREATER_THAN,
+               labels : { timestamp : rpt_strings.OPERATORS_GT_TIME }
        },
 
        '>=' : {
-               label : 'Greater than or equal to',
-               labels : { timestamp : 'On or After (Date/Time)' }
+               label : rpt_strings.OPERATORS_GT_EQUAL,
+               labels : { timestamp : rpt_strings.OPERATORS_GTE_TIME }
        }, 
 
 
        '<' : {
-               label : 'Less than',
-               labels : { timestamp : 'Before (Date/Time)' }
+               label : rpt_strings.OPERATORS_LESS_THAN,
+               labels : { timestamp : rpt_strings.OPERATORS_LT_TIME }
        }, 
 
        '<=' : {
-               label : 'Less than or equal to'
-               labels : { timestamp : 'On or Before (Date/Time)' }
+               label : rpt_strings.OPERATORS_LT_EQUAL
+               labels : { timestamp : rpt_strings.OPERATORS_LTE_TIME }
        },
 
        'in' : {
-               label : 'In list',
+               label : rpt_strings.OPERATORS_IN_LIST
        },
 
        'not in' : {
-               label : 'Not in list',
+               label : rpt_strings.OPERATORS_NOT_IN_LIST
        },
 
        'between' : {
-               label : 'Between',
+               label : rpt_strings.OPERATORS_BETWEEN
        },
 
        'not between' : {
-               label : 'Not between',
+               label : rpt_strings.OPERATORS_NOT_BETWEEN
        },
 
        'is' : {
-               label : 'Is NULL'
+               label : rpt_strings.OPERATORS_IS_NULL
        },
 
        'is not' : {
-               label : 'Is not NULL'
+               label : rpt_strings.OPERATORS_IS_NOT_NULL
        },
 
        'is blank' : {
-               label : 'Is NULL or Blank'
+               label : rpt_strings.OPERATORS_NULL_BLANK
        },
 
        'is not blank' : {
-               label : 'Is not NULL or Blank'
+               label : rpt_strings.OPERATORS_NOT_NULL_BLANK
        }
 }
 
index 5bc9302..12d94e7 100644 (file)
@@ -1,3 +1,6 @@
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
 
 function sourceTreeHandlerDblClick (ev) { return sourceTreeHandler(ev,true) }
 
@@ -166,14 +169,14 @@ function detailTreeHandler (args) {
                                { aggregate : t.aggregate,
                                  name : t.name,
                                  alias : t.label,
-                                 params : t.params,
+                                 params : t.params
                                },
                                createTreeRow(
                                        {},
                                        createTreeCell( { label : t.label } ),
                                        createTreeCell( { label : t.params ? t.params : '0' } ),
                                        createTreeCell( { label : t.datatype.length > 0 ?  t.datatype.join(', ') : 'all' } ),
-                                       createTreeCell( { label : t.aggregate ?  'Aggregate' : 'Non-Aggregate' } )
+                                       createTreeCell( { label : t.aggregate ?  rpt_strings.SOURCE_BROWSE_AGGREGATE : rpt_strings.SOURCE_BROWSE_NON_AGGREGATE } )
                                )
                        )
                );
index ac88c33..d9fe261 100644 (file)
@@ -1,4 +1,6 @@
+dojo.requireLocalization("openils.reports", "reports");
 
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
 var idlNS      = "http://opensrf.org/spec/IDL/base/v1";
 var persistNS  = "http://open-ils.org/spec/opensrf/IDL/persistence/v1";
 var objNS      = "http://open-ils.org/spec/opensrf/IDL/objects/v1";
@@ -84,11 +86,7 @@ function getIDLLink (classNode,field) { return filterByAttribute( classNode.getE
 
 function resetUI (idlclass) {
        if (getKeys(rpt_rel_cache).length > 0) {
-               if (!confirm(
-                       "You have started building a template!\n" +
-                       "Selecting a new starting source will destroy " +
-                       "the current template and start over.  Is this OK?"
-               )) return false;
+               if (!confirm( rpt_strings.SOURCE_SETUP_CONFIRM_EXIT)) return false;
        }
 
        rpt_rel_cache = {};
@@ -109,7 +107,7 @@ function populateSourcesMenu (classList) {
 
        menu.appendChild(
                createMenuItem(
-                       { label : 'Core Sources',
+                       { label : rpt_strings.SOURCE_SETUP_CORE_SOURCES,
                          disabled : 'true',
                          style : 'color: black; text-decoration: underline;'
                        }
@@ -138,11 +136,11 @@ function populateSourcesMenu (classList) {
        menu.appendChild( createMenuSeparator() );
 
        var _m = createMenu(
-               { label : 'All Available Sources' },
+               { label : rpt_strings.SOURCE_SETUP_ALL_AVAIL_SOURCES },
                createMenuPopup(
                        {},
                        createMenuItem(
-                               { label : 'All Available Sources',
+                               { label : rpt_strings.SOURCE_SETUP_ALL_AVAIL_SOURCES,
                                  disabled : 'true',
                                  style : 'color: black; '
                                }
@@ -221,7 +219,7 @@ function populateSourcesSubtree (tcNode, classList) {
                                  field : obj.field,
                                  link : obj.link,
                                  reltype : obj.reltype,
-                                 fullpath : obj.fullpath,
+                                 fullpath : obj.fullpath
                                },
                                createTreeRow(
                                        { },
index 647d717..842c930 100644 (file)
@@ -1,3 +1,7 @@
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
+
 function removeReportAtom (args) {
        if (!args) args = {};
 
@@ -92,15 +96,15 @@ function addReportAtoms () {
                if ( !rpt_rel_cache[relation_alias].fields[tabname][colname] ) {
                        rpt_rel_cache[relation_alias].fields[tabname][colname] =
                                { colname   : colname,
-                                 transform : (transform && transform.getAttribute('name')) || 'Bare',
+                                 transform : (transform && transform.getAttribute('name')) || rpt_strings.TEMPLATE_CONF_BARE,
                                  aggregate : transform && transform.getAttribute('aggregate'),
                                  params    : transform && transform.getAttribute('params'),
-                                 transform_label: (transform && transform.getAttribute('alias')) || 'Raw Data',
+                                 transform_label: (transform && transform.getAttribute('alias')) || rpt_strings.TEMPLATE_CONF_RAW_DATA,
                                  alias     : field_label,
                                  datatype  : datatype,
                                  op        : '=',
-                                 op_label  : 'Equals',
-                                 op_value  : {},
+                                 op_label  : rpt_strings.TEMPLATE_CONF_EQUALS,
+                                 op_value  : {}
                                };
 
                        if (!rpt_rel_cache.order_by)
@@ -109,24 +113,18 @@ function addReportAtoms () {
                        if (tabname == 'dis_tab')
                                rpt_rel_cache.order_by.push( { relation : relation_alias, field : colname } );
 
-               } else if (
-                       confirm(
-                               'You have already added the [' + field_label +
-                               '] field\nfrom the [' + class_label + '] source. Click OK if you\nwould like ' +
-                               'to reset this field.'
-                       )
-               ) {
+               } else if (confirm(dojo.string.substitute( rpt_strings.TEMPLATE_CONF_CONFIRM_RESET, [field_label, class_label] )) ) {
                        rpt_rel_cache[relation_alias].fields[tabname][colname] =
                                { colname   : colname,
-                                 transform : (transform && transform.getAttribute('name')) || 'Bare',
+                                 transform : (transform && transform.getAttribute('name')) || rpt_strings.TEMPLATE_CONF_BARE,
                                  aggregate : transform && transform.getAttribute('aggregate'),
                                  params    : transform && transform.getAttribute('params'),
-                                 transform_label: (transform && transform.getAttribute('alias')) || 'Raw Data',
+                                 transform_label: (transform && transform.getAttribute('alias')) || rpt_strings.TEMPLATE_CONF_RAW_DATA,
                                  alias     : field_label,
                                  datatype  : datatype,
                                  op        : '=',
-                                 op_label  : 'Equals',
-                                 op_value  : {},
+                                 op_label  : rpt_strings.TEMPLATE_CONF_EQUALS,
+                                 op_value  : {}
                                };
                }
        }
@@ -197,10 +195,7 @@ function alterColumnLabel () {
        var field = item.firstChild.firstChild;
        var colname = field.nextSibling.getAttribute('label');
 
-       var new_label = prompt(
-               "Change the column header to:",
-               field.getAttribute("label")
-       );
+       var new_label = prompt( dojo.string.substitute(rpt_strings.TEMPLATE_CONF_PROMPT_CHANGE, [field.getAttribute("label")]) );
 
        if (new_label) {
                rpt_rel_cache[relation_alias].fields[tabname][colname].alias = new_label;
@@ -396,23 +391,23 @@ function changeTemplateFilterValue () {
                                                // particular button. The last two arguments are for an optional check box.
                                                answer = promptService.select(
                                                        window,
-                                                       "Boolean Value",
-                                                       "Select the value, or cancel:",
-                                                       2, ["True", "False"], state
+                                                       rpt_strings.TEMPLATE_CONF_BOOLEAN_VALUE,
+                                                       rpt_strings.TEMPLATE_CONF_SELECT_CANCEL,
+                                                       2, [rpt_strings.TEMPLATE_CONF_TRUE, rpt_strings.TEMPLATE_CONF_FALSE], state
                                                );
                                        } catch (e) {
                                                answer = true;
-                                               state = confirm("Click OK for TRUE and Cancel for FALSE.");
+                                               state = confirm(rpt_strings.TEMPLATE_CONF_CONFIRM_STATE);
                                                state ? state = 0 : state = 1;
                                        }
 
                                        if (answer) {
                                                if (state) {
                                                        obj.op_value.value = 'f';
-                                                       obj.op_value.label = 'False';
+                                                       obj.op_value.label = rpt_strings.TEMPLATE_CONF_FALSE;
                                                } else {
                                                        obj.op_value.value = 't';
-                                                       obj.op_value.label = 'True';
+                                                       obj.op_value.label = rpt_strings.TEMPLATE_CONF_TRUE;
                                                }
                                        }
 
@@ -430,27 +425,27 @@ function changeTemplateFilterValue () {
                        default:
 
 
-                               var promptstring = "Field does not match one of list (comma separated):";
+                               var promptstring = rpt_strings.TEMPLATE_CONF_NO_MATCH;
 
                                switch (obj.op) {
                                        case 'not between':
-                                               promptstring = "Field value is not between (comma separated):";
+                                               promptstring = rpt_strings.TEMPLATE_CONF_NOT_BETWEEN;
                                                break;
 
                                        case 'between':
-                                               promptstring = "Field value is between (comma separated):";
+                                               promptstring = rpt_strings.TEMPLATE_CONF_BETWEEN;
                                                break;
 
                                        case 'not in':
-                                               promptstring = "Field does not match one of list (comma separated):";
+                                               promptstring = rpt_strings.TEMPLATE_CONF_NOT_IN;
                                                break;
 
                                        case 'in':
-                                               promptstring = "Field matches one of list (comma separated):";
+                                               promptstring = rpt_strings.TEMPLATE_CONF_IN;
                                                break;
 
                                        default:
-                                               promptstring = "Value " + obj.op_label + ":";
+                                               promptstring =  dojo.string.substitute( rpt_strings.TEMPLATE_CONF_DEFAULT, [obj.op_label]);
                                                break;
                                }
 
@@ -650,7 +645,7 @@ function renderSources (selected) {
                                        { relation : rpt_rel_cache[relation_alias].alias,
                                          idlclass : rpt_rel_cache[relation_alias].idlclass,
                                          reltype  : rpt_rel_cache[relation_alias].reltype,
-                                         path     : rpt_rel_cache[relation_alias].path,
+                                         path     : rpt_rel_cache[relation_alias].path
                                        },
                                        createTreeRow(
                                                {},
@@ -797,7 +792,7 @@ function save_template () {
        tmpl.folder(cgi.param('folder'));
        tmpl.data(js2JSON(template));
 
-       if(!confirm('Name : '+tmpl.name() + '\nDescription: ' + tmpl.description()+'\nSave Template?'))
+       if(!confirm(dojo.string.substitute( rpt_strings.TEMPLATE_CONF_CONFIRM_SAVE, [tmpl.name(), tmpl.description()] )))
                return;
 
        var req = new Request('open-ils.reporter:open-ils.reporter.template.create', session, tmpl);
@@ -809,7 +804,7 @@ function save_template () {
                                alertILSEvent(res);
                        } else {
                                if( res && res != '0' ) {
-                                       confirm('Template ' + tmpl.name() + ' was successfully saved.');
+                                       confirm(dojo.string.substitute( rpt_strings.TEMPLATE_CONF_SUCCESS_SAVE, [tmpl.name()] ));
                                        _l('../oils_rpt.xhtml');
                                }
                        }
index 766923a..6d71e30 100644 (file)
@@ -19,6 +19,7 @@
 <script type="text/javascript">
 <![CDATA[
        dojo.require('dojo.parser');
+       dojo.require('dojo.string');
 ]]>
 </script>
 
index b81b684..5191185 100644 (file)
@@ -1,3 +1,6 @@
+dojo.requireLocalization("openils.reports", "reports");
+
+var rpt_strings = dojo.i18n.getLocalization("openils.reports", "reports");
 var OILS_RPT_DTYPE_STRING = 'text';
 var OILS_RPT_DTYPE_MONEY = 'money';
 var OILS_RPT_DTYPE_BOOL = 'bool';
@@ -33,41 +36,41 @@ var OILS_RPT_DTYPE_NOT_BOOL = [OILS_RPT_DTYPE_STRING,OILS_RPT_DTYPE_MONEY,OILS_R
 var OILS_RPT_TRANSFORMS = {
        Bare : {
                datatype : OILS_RPT_DTYPE_ALL,
-               label : 'Raw Data'
+               label : rpt_strings.TRANSFORMS_BARE
        },
 
        first : {
                datatype : OILS_RPT_DTYPE_NOT_ID,
-               label : 'First Value'
+               label : rpt_strings.TRANSFORMS_FIRST
        },
 
        last : {
                datatype : OILS_RPT_DTYPE_NOT_ID,
-               label : 'Last Value'
+               label : rpt_strings.TRANSFORMS_LAST
        },
 
        count : {
                datatype : OILS_RPT_DTYPE_NOT_BOOL,
                aggregate : true,
-               label :  'Count'
+               label :  rpt_strings.TRANSFORMS_COUNT
        },
 
        count_distinct : {
                datatype : OILS_RPT_DTYPE_NOT_BOOL,
                aggregate : true,
-               label : 'Count Distinct'
+               label : rpt_strings.TRANSFORMS_COUNT_DISTINCT
        },
 
        min : {
                datatype : OILS_RPT_DTYPE_NOT_ID,
                aggregate : true,
-               label : 'Min'
+               label : rpt_strings.TRANSFORMS_MIN
        },
 
        max : {
                datatype : OILS_RPT_DTYPE_NOT_ID,
                aggregate : true,
-               label : 'Max'
+               label : rpt_strings.TRANSFORMS_MAX
        },
 
        /* string transforms ------------------------- */
@@ -75,80 +78,80 @@ var OILS_RPT_TRANSFORMS = {
        substring : {
                datatype : [ OILS_RPT_DTYPE_STRING ],
                params : 2,
-               label : 'Substring'
+               label : rpt_strings.TRANSFORMS_SUBSTRING
        },
 
        lower : {
                datatype : [ OILS_RPT_DTYPE_STRING ],
-               label : 'Lower case'
+               label : rpt_strings.TRANSFORMS_LOWER
        },
 
        upper : {
                datatype : [ OILS_RPT_DTYPE_STRING ],
-               label : 'Upper case'
+               label : rpt_strings.TRANSFORMS_UPPER
        },
 
        firt5 : {
                datatype : [ OILS_RPT_DTYPE_STRING ],
-               label : 'First 5 characters (for US ZIP code)'
+               label : rpt_strings.TRANSFORMS_FIRST5
        },
 
         first_word : {
                 datatype : [OILS_RPT_DTYPE_STRING, 'text'],
-                label : 'First contiguous non-space string'
+                label : rpt_strings.TRANSFORMS_FIRST_WORD
         },
 
        /* timestamp transforms ----------------------- */
        dow : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Day of Week',
+               label : rpt_strings.TRANSFORMS_DOW,
                cal_format : '%w',
                regex : /^[0-6]$/
        },
        dom : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Day of Month',
+               label : rpt_strings.TRANSFORMS_DOM,
                cal_format : '%e',
                regex : /^[0-9]{1,2}$/
        },
 
        doy : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Day of Year',
+               label : rpt_strings.TRANSFORMS_DOY,
                cal_format : '%j',
                regex : /^[0-9]{1,3}$/
        },
 
        woy : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Week of Year',
+               label : rpt_strings.TRANSFORMS_WOY,
                cal_format : '%U',
                regex : /^[0-9]{1,2}$/
        },
 
        moy : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Month of Year',
+               label : rpt_strings.TRANSFORMS_MOY,
                cal_format : '%m',
                regex : /^\d{1,2}$/
        },
 
        qoy : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Quarter of Year',
+               label : rpt_strings.TRANSFORMS_QOY,
                regex : /^[1234]$/
        }, 
 
        hod : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Hour of day',
+               label : rpt_strings.TRANSFORMS_HOD,
                cal_format : '%H',
                regex : /^\d{1,2}$/
        }, 
 
        date : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Date',
+               label : rpt_strings.TRANSFORMS_DATE,
                regex : /^\d{4}-\d{2}-\d{2}$/,
                hint  : 'YYYY-MM-DD',
                cal_format : '%Y-%m-%d',
@@ -157,7 +160,7 @@ var OILS_RPT_TRANSFORMS = {
 
        month_trunc : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Year + Month',
+               label : rpt_strings.TRANSFORMS_MONTH_TRUNC,
                regex : /^\d{4}-\d{2}$/,
                hint  : 'YYYY-MM',
                cal_format : '%Y-%m',
@@ -166,7 +169,7 @@ var OILS_RPT_TRANSFORMS = {
 
        year_trunc : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Year',
+               label : rpt_strings.TRANSFORMS_YEAR_TRUNC,
                regex : /^\d{4}$/,
                hint  : 'YYYY',
                cal_format : '%Y',
@@ -175,7 +178,7 @@ var OILS_RPT_TRANSFORMS = {
 
        hour_trunc : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Hour',
+               label : rpt_strings.TRANSFORMS_HOUR_TRUNC,
                regex : /^\d{2}$/,
                hint  : 'HH',
                cal_format : '%Y-%m-$d %H',
@@ -185,50 +188,50 @@ var OILS_RPT_TRANSFORMS = {
        day_name : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
                cal_format : '%A',
-               label : 'Day Name'
+               label : rpt_strings.TRANSFORMS_DAY_NAME
        }, 
 
        month_name : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
                cal_format : '%B',
-               label : 'Month Name'
+               label : rpt_strings.TRANSFORMS_MONTH_NAME
        },
        age : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Age'
+               label : rpt_strings.TRANSFORMS_AGE
        },
 
        months_ago : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Months ago'
+               label : rpt_strings.TRANSFORMS_MONTHS_AGO
        },
 
        quarters_ago : {
                datatype : [ OILS_RPT_DTYPE_TIMESTAMP ],
-               label : 'Quarters ago'
+               label : rpt_strings.TRANSFORMS_QUARTERS_AGO
        },
 
        /* int  / float transforms ----------------------------------- */
        sum : {
                datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT, OILS_RPT_DTYPE_MONEY ],
-               label : 'Sum',
+               label : rpt_strings.TRANSFORMS_SUM,
                aggregate : true
        }, 
 
        average : {
                datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT, OILS_RPT_DTYPE_MONEY ],
-               label : 'Average',
+               label : rpt_strings.TRANSFORMS_AVERAGE,
                aggregate : true
        },
 
        round : {
                datatype : [ OILS_RPT_DTYPE_INT, OILS_RPT_DTYPE_FLOAT ],
-               label : 'Round',
+               label : rpt_strings.TRANSFORMS_ROUND,
        },
 
        'int' : {
                datatype : [ OILS_RPT_DTYPE_FLOAT ],
-               label : 'Drop trailing decimals'
+               label : rpt_strings.TRANSFORMS_INT
        }
 }
 
index 8cdd362..736565f 100644 (file)
@@ -35,7 +35,7 @@
 <div id='vl-queue-div-grid' class='tall' dojoType="dijit.layout.ContentPane" layoutAlign='client'>
 
     <!-- column picker dialog -->
-    <div dojoType="dijit.Dialog" jsId='vlQueueGridColumePickerDialog' title="Column Picker">
+    <div dojoType="dijit.Dialog" jsId='vlQueueGridColumePickerDialog' title="&vandelay.queue.column_picker.title;">
         <table class='form_table'>
             <thead>
                 <tr><th width='33%'>&vandelay.column;</th>