From 0223d38f8c6dfb9b38d246c26570fbf3a04f7768 Mon Sep 17 00:00:00 2001 From: dbs Date: Sat, 8 Nov 2008 04:42:50 +0000 Subject: [PATCH] Backport r11101, r11102 from trunk: more i18n for reporter interface and one extra string for Vandelay git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_4@11103 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../web/js/dojo/openils/reports/nls/reports.js | 83 +++++++++++++++++++++- Open-ILS/web/opac/locale/en-US/vandelay.dtd | 2 +- Open-ILS/web/reports/xul/operators.js | 41 ++++++----- Open-ILS/web/reports/xul/source-browse.js | 7 +- Open-ILS/web/reports/xul/source-setup.js | 16 ++--- Open-ILS/web/reports/xul/template-config.js | 63 ++++++++-------- Open-ILS/web/reports/xul/template_builder.xul | 1 + Open-ILS/web/reports/xul/transforms.js | 67 ++++++++--------- Open-ILS/web/vandelay/inc/queue.xml | 2 +- 9 files changed, 183 insertions(+), 99 deletions(-) diff --git a/Open-ILS/web/js/dojo/openils/reports/nls/reports.js b/Open-ILS/web/js/dojo/openils/reports/nls/reports.js index b9c6df856f..8ee97b32ce 100644 --- a/Open-ILS/web/js/dojo/openils/reports/nls/reports.js +++ b/Open-ILS/web/js/dojo/openils/reports/nls/reports.js @@ -78,5 +78,86 @@ "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" } diff --git a/Open-ILS/web/opac/locale/en-US/vandelay.dtd b/Open-ILS/web/opac/locale/en-US/vandelay.dtd index a2017fe5f4..69f2611c61 100644 --- a/Open-ILS/web/opac/locale/en-US/vandelay.dtd +++ b/Open-ILS/web/opac/locale/en-US/vandelay.dtd @@ -103,4 +103,4 @@ - + diff --git a/Open-ILS/web/reports/xul/operators.js b/Open-ILS/web/reports/xul/operators.js index 8c643e4620..d717c300f5 100644 --- a/Open-ILS/web/reports/xul/operators.js +++ b/Open-ILS/web/reports/xul/operators.js @@ -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 } } diff --git a/Open-ILS/web/reports/xul/source-browse.js b/Open-ILS/web/reports/xul/source-browse.js index 5bc9302b57..12d94e78e5 100644 --- a/Open-ILS/web/reports/xul/source-browse.js +++ b/Open-ILS/web/reports/xul/source-browse.js @@ -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 } ) ) ) ); diff --git a/Open-ILS/web/reports/xul/source-setup.js b/Open-ILS/web/reports/xul/source-setup.js index ac88c33383..d9fe26126d 100644 --- a/Open-ILS/web/reports/xul/source-setup.js +++ b/Open-ILS/web/reports/xul/source-setup.js @@ -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( { }, diff --git a/Open-ILS/web/reports/xul/template-config.js b/Open-ILS/web/reports/xul/template-config.js index 647d717b4a..842c930c16 100644 --- a/Open-ILS/web/reports/xul/template-config.js +++ b/Open-ILS/web/reports/xul/template-config.js @@ -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'); } } diff --git a/Open-ILS/web/reports/xul/template_builder.xul b/Open-ILS/web/reports/xul/template_builder.xul index 766923a9c9..6d71e308ff 100644 --- a/Open-ILS/web/reports/xul/template_builder.xul +++ b/Open-ILS/web/reports/xul/template_builder.xul @@ -19,6 +19,7 @@ diff --git a/Open-ILS/web/reports/xul/transforms.js b/Open-ILS/web/reports/xul/transforms.js index b81b684b40..519118574e 100644 --- a/Open-ILS/web/reports/xul/transforms.js +++ b/Open-ILS/web/reports/xul/transforms.js @@ -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 } } diff --git a/Open-ILS/web/vandelay/inc/queue.xml b/Open-ILS/web/vandelay/inc/queue.xml index 8cdd3622c6..736565fc70 100644 --- a/Open-ILS/web/vandelay/inc/queue.xml +++ b/Open-ILS/web/vandelay/inc/queue.xml @@ -35,7 +35,7 @@
-
+
-- 2.11.0
&vandelay.column;