Avoid generating duplicate msgs in Dojo POT file; avoid populating msgstr in Dojo...
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 9 Nov 2008 05:04:34 +0000 (05:04 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sun, 9 Nov 2008 05:04:34 +0000 (05:04 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@11107 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/js/dojo/openils/reports/nls/reports.js
build/i18n/Makefile
build/i18n/po/en-US/conify.js.pot
build/i18n/po/en-US/reports.js.pot
build/i18n/scripts/dojo_resource.py

index 8ee97b3..75f355a 100644 (file)
@@ -80,8 +80,6 @@
        "WIDGET_REAL_DATE": "Real 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)",
index 0164388..f584e87 100644 (file)
@@ -83,9 +83,7 @@ dtds2pot:
 
 dojo2pot:
        @scripts/dojo_resource.py --pot $(DOJO_CON_SRC)/conify.js --output $(POTSRC)/conify.js.pot
-       @msghack --empty -o $(POTSRC)/conify.js.pot $(POTSRC)/conify.js.pot
        @scripts/dojo_resource.py --pot $(DOJO_RPT_SRC)/reports.js --output $(POTSRC)/reports.js.pot
-       @msghack --empty -o $(POTSRC)/reports.js.pot $(POTSRC)/reports.js.pot
 
 po2dojo:
        @scripts/dojo_resource.py --create $(POINDIR)/$(LOCALE)/conify.js.po --output $(PROJECT)/$(LOCALE)/conify.js
@@ -110,7 +108,7 @@ po2props:
 
 sql2pot:
        @scripts/db-seed-i18n.py --pot $(SQLSRCDIR)/$(SQLSRCFILE) --output $(POTSRC)/$(SQLPOT)
-       @msghack --empty -o $(POTSRC)/$(SQLPOT) $(POTSRC)/$(SQLPOT)
+#      @msghack --empty -o $(POTSRC)/$(SQLPOT) $(POTSRC)/$(SQLPOT)
 
 po2sql:
        scripts/db-seed-i18n.py --sql $(POINDIR)/$(LOCALE)/$(SQLPO) --locale $(LOCALE) --output $(PROJECT)/$(LOCALE)/$(SQLOUT).sql
index 2c91b4a..9f9e74e 100644 (file)
@@ -1,8 +1,9 @@
-#
+# 
 msgid ""
-msgstr "Project-Id-Version: Evergreen 1.4\n"
+msgstr ""
+"Project-Id-Version: Evergreen 1.4\n"
 "Report-Msgid-Bugs-To: open-ils-dev@list.georgialibraries.org\n"
-"POT-Creation-Date: 2008-11-07 15:35:55-0400\n"
+"POT-Creation-Date: 2008-11-08 23:51:52-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -10,307 +11,298 @@ msgstr "Project-Id-Version: Evergreen 1.4\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
-#: conify.js:SUCCESS_SAVING_PHYSICAL
-msgid "Saved changes to the Physical Address of ${0}"
+#: conify.js:ERROR_FETCHING_HOLDS
+msgid "Problem fetching Holds Address for ${0}"
 msgstr ""
 
-#: conify.js:CONFIRM_EXIT_AOU
-msgid "There are unsaved changes to one or more organizational units. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:ERROR_CALLING_METHOD_CAM
+msgid "Problem calling method to create new ${0}"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_PHYSICAL
-msgid "Problem fetching Physical Address for ${0}"
+#: conify.js:LABEL_NEW_TYPE
+msgid "New Type"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_PERM_MAP
-msgid "Problem creating new Permission Map"
+#: conify.js:SUCCESS_SAVING_MAILING
+msgid "Saved changes to the Mailing Address of ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_CREATING_CODE
-msgid "New ${0} ${1} created"
+#: conify.js:SUCCESS_SAVING_ILL
+msgid "Saved changes to the ILL Address of ${0}"
 msgstr ""
 
-#: conify.js:CONFIRM_EXIT_CCS
-msgid "There are unsaved changes to one or more copy statuses. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:HOLDABLE
+msgid "Holdable"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVING_HOO
-msgid "Hours of Operation updated for ${0}"
+#: conify.js:ERROR_SAVING_PERM_DATA
+msgid "Problem saving permission data for ${0}"
 msgstr ""
 
-#: conify.js:CONFIRM_EXIT_PPL
-msgid "There are unsaved modified permissions. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:LABEL_GRANTABLE
+msgid "Grantable"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_ILL
-msgid "Problem fetching ILL Address for ${0}"
+#: conify.js:SUCCESS_CREATING_STATUS
+msgid "New ${0} status created"
 msgstr ""
 
-#: conify.js:LABEL_TRANSLATION
-msgid "Translation"
+#: conify.js:ERROR_SAVING_STATUS
+msgid "Problem saving ${0}"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_PERMS
-msgid "Problem fetching perms"
+#: conify.js:SUCCESS_NEW_PERM_MAP
+msgid "New permission map created"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_DATA
-msgid "Problem saving data for ${0}"
+#: conify.js:STATUS_DELETED
+msgid "${0} deleted"
 msgstr ""
 
-#: conify.js:LABEL_NEW_GROUP
-msgid "New Group"
+#: conify.js:ERROR_CREATING_PERMISSION
+msgid "Problem creating new Permission"
 msgstr ""
 
-#: conify.js:ERROR_DELETING_LAST_AOUT
-msgid "Cannot delete ${0}. You need at least one organization type."
+#: conify.js:ERROR_CALLING_METHOD_PPL
+msgid "Problem calling method to create new permission"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_HOURS
-msgid "Problem fetching hours of operation for ${0}"
+#: conify.js:ERROR_FETCHING_MAILING
+msgid "Problem fetching Mailing Address for ${0}"
 msgstr ""
 
-#: conify.js:CONFIRM_EXIT_CAM
-msgid "There are unsaved changes to one or more ${0} codes. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:ERROR_FETCHING_PERMS
+msgid "Problem fetching perms"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_CHILD_AOUT
-msgid "Problem creating child organization type"
+#: conify.js:CONFIRM_DELETE
+msgid "Are you sure you want to delete ${0}?"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_PERMISSION
-msgid "Problem creating new Permission"
+#: conify.js:CONFIRM_EXIT_PPL
+msgid "There are unsaved modified permissions. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
-#: conify.js:LABEL_DESCRIPTION
-msgid "Description"
+#: conify.js:CONFIRM_UNSAVED_CHANGES
+msgid "There are unsaved changes to one or more organization types. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
-#: conify.js:LABEL_DEPTH
-msgid "Depth"
+#: conify.js:ERROR_FETCHING_HOURS
+msgid "Problem fetching hours of operation for ${0}"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_CHILD_AOU
-msgid "Problem creating child organizational unit"
+#: conify.js:LABEL_DESCRIPTION
+msgid "Description"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVE_PERM
-msgid "Saved permission changes to ${0}"
+#: conify.js:ERROR_DELETING_LAST_AOUT
+msgid "Cannot delete ${0}. You need at least one organization type."
 msgstr ""
 
-#: conify.js:ERROR_SAVING_HOO
-msgid "Problem saving Hours of Operation data for ${0}"
+#: conify.js:ERROR_FETCHING_PHYSICAL
+msgid "Problem fetching Physical Address for ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_CREATING_CHILD_AOUT
-msgid "New child Organization Type created for ${0}"
+#: conify.js:ERROR_CREATING_PERM_MAP
+msgid "Problem creating new Permission Map"
 msgstr ""
 
-#: conify.js:ERROR_CALLING_METHOD_PPL
-msgid "Problem calling method to create new permission"
+#: conify.js:ERROR_FETCHING_PERM_MAPS
+msgid "Problem fetching perm maps"
 msgstr ""
 
-#: conify.js:CONFIRM_EXIT_PGT
-msgid "There are unsaved modified permission maps. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:ERROR_FETCHING_ILL
+msgid "Problem fetching ILL Address for ${0}"
 msgstr ""
 
 #: conify.js:ID
 msgid "ID"
 msgstr ""
 
-#: conify.js:ERROR_DELETING_PERM_MAPPING
-msgid "Problem deleting permission mapping ${0}"
+#: conify.js:SUCCESS_NEW_CHILD_GROUP
+msgid "New child Group created for ${0}"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_PERM_MAPS
-msgid "Problem fetching perm maps"
+#: conify.js:SUCCESS_CREATING_CHILD_AOUT
+msgid "New child Organization Type created for ${0}"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_DATA_CAM
-msgid "Problem saving data for ${0} ${1}"
+#: conify.js:ERROR_CREATING_CHILD_AOU
+msgid "Problem creating child organizational unit"
 msgstr ""
 
-#: conify.js:ERROR_CALLING_METHOD_PERM_MAP
-msgid "Problem calling method to create new permission map"
+#: conify.js:ERROR_FETCHING_ORGS
+msgid "Problem fetching organizational unit data"
 msgstr ""
 
-#: conify.js:CONFIRM_UNSAVED_CHANGES
-msgid "There are unsaved changes to one or more organization types. Click OK to save these changes, or Cancel to abandon them."
+#: conify.js:ERROR_CALLING_METHOD_PERM_MAP
+msgid "Problem calling method to create new permission map"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_STATUS
-msgid "Problem saving ${0}"
+#: conify.js:CONFIRM_EXIT_CCS
+msgid "There are unsaved changes to one or more copy statuses. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
 #: conify.js:OPAC_VISIBLE
 msgid "OPAC Visible"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_MAILING
-msgid "Problem fetching Mailing Address for ${0}"
-msgstr ""
-
-#: conify.js:ERROR_FETCHING_ORGS
-msgid "Problem fetching organizational unit data"
-msgstr ""
-
-#: conify.js:ERROR_CALLING_METHOD_PGT
-msgid "Problem calling method to create child Group"
+#: conify.js:ERROR_SAVING_PHYSICAL
+msgid "Problem saving Physical Address data for ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_DELETED_PERM_MAP
-msgid "Permission mapping deleted"
+#: conify.js:ERROR_SAVING_MAILING
+msgid "Problem saving Mailing Address data for ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVING_HOLDS
-msgid "Saved changes to the Holds Address of ${0}"
+#: conify.js:ERROR_SAVING_HOLDS
+msgid "Problem saving Holds Address data for ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVE
+#: conify.js:SUCCESS_SAVE conify.js:SUCCESS_SAVING_DATA
 msgid "Saved changes to ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVING_ILL
-msgid "Saved changes to the ILL Address of ${0}"
-msgstr ""
-
-#: conify.js:ERROR_FETCHING_STATUSES
-msgid "Problem fetching statuses"
+#: conify.js:ERROR_DELETING_LAST_AOU
+msgid "Cannot delete ${0}, you need at least one organization unit."
 msgstr ""
 
-#: conify.js:ERROR_DELETING
-msgid "Problem deleting ${0}"
+#: conify.js:SUCCESS_SAVING_HOO
+msgid "Hours of Operation updated for ${0}"
 msgstr ""
 
-#: conify.js:STATUS_EDITING
-msgid "Now editing ${0}"
+#: conify.js:NAME
+msgid "Name"
 msgstr ""
 
-#: conify.js:TRANSLATION
-msgid "Translation"
+#: conify.js:ERROR_CREATING_CHILD_AOUT
+msgid "Problem creating child organization type"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_TYPES_AOUT
-msgid "Problem fetching organizational unit types"
+#: conify.js:ERROR_SAVING_DATA
+msgid "Problem saving data for ${0}"
 msgstr ""
 
-#: conify.js:NAME
-msgid "Name"
+#: conify.js:CONFIRM_EXIT_AOU
+msgid "There are unsaved changes to one or more organizational units. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
-#: conify.js:SUCCESS_SAVING_DATA
-msgid "Saved changes to ${0}"
+#: conify.js:ERROR_SAVING_DATA_CAM
+msgid "Problem saving data for ${0} ${1}"
 msgstr ""
 
-#: conify.js:CONFIRM_DELETE
-msgid "Are you sure you want to delete ${0}?"
+#: conify.js:SUCCESS_DELETED_PERM_MAP
+msgid "Permission mapping deleted"
 msgstr ""
 
-#: conify.js:ERROR_ORPHANS
-msgid "Cannot delete ${0}, ${1} subordinates still exist."
+#: conify.js:ERROR_FETCHING_TYPES_AOUT
+msgid "Problem fetching organizational unit types"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_CHILD_GROUP
-msgid "Problem creating child Group"
+#: conify.js:ERROR_CREATING_STATUS
+msgid "Problem creating new Status"
 msgstr ""
 
-#: conify.js:SUCCESS_CREATING_STATUS
-msgid "New ${0} status created"
+#: conify.js:LABEL_DEPTH
+msgid "Depth"
 msgstr ""
 
-#: conify.js:ERROR_DELETING_LAST_AOU
-msgid "Cannot delete ${0}, you need at least one organization unit."
+#: conify.js:SUCCESS_CREATING_CHILD_AOU
+msgid "New child Organizational Unit created for ${0}"
 msgstr ""
 
-#: conify.js:ERROR_CALLING_METHOD_CAM
-msgid "Problem calling method to create new ${0}"
+#: conify.js:ERROR_CALLING_METHOD_CCS
+msgid "Problem calling method to create new copy status"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_HOLDS
-msgid "Problem saving Holds Address data for ${0}"
+#: conify.js:LABEL_VALUE
+msgid "Value"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_PERM_DATA
-msgid "Problem saving permission data for ${0}"
+#: conify.js:ERROR_ORPHANS
+msgid "Cannot delete ${0}, ${1} subordinates still exist."
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_HOLDS
-msgid "Problem fetching Holds Address for ${0}"
+#: conify.js:SUCCESS_CREATING_PERMISSION
+msgid "New ${0} permission created"
 msgstr ""
 
-#: conify.js:HOLDABLE
-msgid "Holdable"
+#: conify.js:ERROR_DELETING
+msgid "Problem deleting ${0}"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_MAILING
-msgid "Problem saving Mailing Address data for ${0}"
+#: conify.js:SUCCESS_CREATING_CODE
+msgid "New ${0} ${1} created"
 msgstr ""
 
-#: conify.js:LABEL_NEW_TYPE
-msgid "New Type"
+#: conify.js:LABEL_TRANSLATION conify.js:TRANSLATION
+msgid "Translation"
 msgstr ""
 
-#: conify.js:LABEL_VALUE
-msgid "Value"
+#: conify.js:SUCCESS_SAVING_HOLDS
+msgid "Saved changes to the Holds Address of ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_NEW_PERM_MAP
-msgid "New permission map created"
+#: conify.js:LABEL_CODE
+msgid "Code"
 msgstr ""
 
-#: conify.js:STATUS_DELETED
-msgid "${0} deleted"
+#: conify.js:ERROR_DELETING_PERM_MAPPING
+msgid "Problem deleting permission mapping ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_CREATING_CHILD_AOU
-msgid "New child Organizational Unit created for ${0}"
+#: conify.js:ERROR_CREATING_CHILD_GROUP
+msgid "Problem creating child Group"
 msgstr ""
 
-#: conify.js:ERROR_CALLING_METHOD_CCS
-msgid "Problem calling method to create new copy status"
+#: conify.js:SUCCESS_SAVE_PERM
+msgid "Saved permission changes to ${0}"
 msgstr ""
 
-#: conify.js:LABEL_GRANTABLE
-msgid "Grantable"
+#: conify.js:LABEL_NEW_BRANCH
+msgid "New Branch"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_ILL
-msgid "Problem saving ILL Address data for ${0}"
+#: conify.js:ERROR_FETCHING_GROUPS
+msgid "Problem fetching groups"
 msgstr ""
 
-#: conify.js:LABEL_CODE
-msgid "Code"
+#: conify.js:STATUS_EDITING
+msgid "Now editing ${0}"
 msgstr ""
 
-#: conify.js:SUCCESS_SAVING_MAILING
-msgid "Saved changes to the Mailing Address of ${0}"
+#: conify.js:CONFIRM_EXIT_CAM
+msgid "There are unsaved changes to one or more ${0} codes. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
-#: conify.js:LABEL_NEW_BRANCH
-msgid "New Branch"
+#: conify.js:SUCCESS_SAVING_PHYSICAL
+msgid "Saved changes to the Physical Address of ${0}"
 msgstr ""
 
-#: conify.js:ERROR_FETCHING_GROUPS
-msgid "Problem fetching groups"
+#: conify.js:ERROR_CALLING_METHOD_PGT
+msgid "Problem calling method to create child Group"
 msgstr ""
 
 #: conify.js:ERROR_CALLING_METHOD_AOUT
 msgid "Problem calling method to create child organization type"
 msgstr ""
 
-#: conify.js:ERROR_CREATING_STATUS
-msgid "Problem creating new Status"
+#: conify.js:ERROR_FETCHING_STATUSES
+msgid "Problem fetching statuses"
 msgstr ""
 
-#: conify.js:SUCCESS_CREATING_PERMISSION
-msgid "New ${0} permission created"
+#: conify.js:LABEL_NEW_GROUP
+msgid "New Group"
 msgstr ""
 
-#: conify.js:SUCCESS_NEW_CHILD_GROUP
-msgid "New child Group created for ${0}"
+#: conify.js:ERROR_SAVING_HOO
+msgid "Problem saving Hours of Operation data for ${0}"
 msgstr ""
 
-#: conify.js:ERROR_SAVING_PHYSICAL
-msgid "Problem saving Physical Address data for ${0}"
+#: conify.js:CONFIRM_EXIT_PGT
+msgid "There are unsaved modified permission maps. Click OK to save these changes, or Cancel to abandon them."
 msgstr ""
 
+#: conify.js:ERROR_SAVING_ILL
+msgid "Problem saving ILL Address data for ${0}"
+msgstr ""
index 3240be9..047554f 100644 (file)
@@ -1,8 +1,9 @@
-#
+# 
 msgid ""
-msgstr "Project-Id-Version: Evergreen 1.4\n"
+msgstr ""
+"Project-Id-Version: Evergreen 1.4\n"
 "Report-Msgid-Bugs-To: open-ils-dev@list.georgialibraries.org\n"
-"POT-Creation-Date: 2008-11-07 15:35:55-0400\n"
+"POT-Creation-Date: 2008-11-08 23:51:52-0400\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -10,301 +11,399 @@ msgstr "Project-Id-Version: Evergreen 1.4\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8-bit\n"
 
+#: reports.js:OPERATORS_IN_LIST reports.js:FILTERS_LABEL_IN
+msgid "In list"
+msgstr ""
+
+#: reports.js:WIDGET_REAL_DATE
+msgid "Real Date"
+msgstr ""
+
+#: reports.js:TFORMS_LABEL_MONTH_NAME
+msgid "Month Name'"
+msgstr ""
+
+#: reports.js:OPERATORS_IS_NOT_NULL reports.js:FILTERS_LABEL_NOT_NULL
+msgid "Is not NULL"
+msgstr ""
+
+#: reports.js:FOLDERS_TEMPLATE
+msgid "Template"
+msgstr ""
+
+#: reports.js:REPORT_EDITOR_INVALID_DATE_ALERT
+msgid "invalid start date -  YYYY-MM-DD"
+msgstr ""
+
 #: reports.js:RPT_BUILDER_CONFIRM_SAVE
-msgid "Name : ${0}\n"
+msgid ""
+"Name : ${0}\n"
 "Description: ${1}\n"
 "Save Template?"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_DOY
-msgid "Day of Year"
-msgstr ""
-
-#: reports.js:REPORT_EDITOR_ENTER_NAME_ALERT
-msgid "Please enter a report name"
+#: reports.js:OPERATORS_GT_EQUAL reports.js:FILTERS_LABEL_GT_EQUAL
+msgid "Greater than or equal to"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_BETWEEN
-msgid "Between"
+#: reports.js:TEMPLATE_CONF_PROMPT_CHANGE
+msgid "Change the column header to: ${0}"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_FIRST5
-msgid "First 5 characters (for US ZIP code)"
+#: reports.js:TEMPLATE_CONF_BETWEEN
+msgid "Field value is between (comma separated):"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NULL_BLANK
-msgid "Is NULL or Blank"
+#: reports.js:TFORMS_LABEL_DAY_NAME reports.js:TRANSFORMS_DAY_NAME
+msgid "Day Name"
 msgstr ""
 
-#: reports.js:FOLDERS_REPORT
-msgid "Report"
+#: reports.js:SOURCE_SETUP_CONFIRM_EXIT
+msgid ""
+"You have started building a template!\n"
+" Selecting a new starting source will destroy the current template and start over.  Is this OK?"
 msgstr ""
 
 #: reports.js:WIDGET_YEARS
 msgid "Year(s)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_DOW
-msgid "Day of Week"
+#: reports.js:FOLDER_WINDOW_SELECT_ITEM
+msgid "Please select an item from the list"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_LT_EQUAL
-msgid "Less than or equal to"
+#: reports.js:FOLDERS_REPORT
+msgid "Report"
 msgstr ""
 
-#: reports.js:WIDGET_MONTHS
-msgid "Month(s)"
+#: reports.js:FILTERS_LABEL_LSE_TIME reports.js:OPERATORS_LTE_TIME
+msgid "On or Before (Date/Time)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_COUNT
-msgid "Count"
+#: reports.js:TEMPLATE_CONF_FALSE
+msgid "False"
 msgstr ""
 
-#: reports.js:REPORT_EDITOR_INVALID_DATE_ALERT
-msgid "invalid start date -  YYYY-MM-DD"
+#: reports.js:TEMPLATE_CONF_DEFAULT
+msgid "Value ${0}:"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_LT_TIME
-msgid "Before (Date/Time)"
+#: reports.js:TRANSFORMS_COUNT_DISTINCT reports.js:TFORMS_LABEL_COUNT_DISTINCT
+msgid "Count Distinct"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_DOM
-msgid "Day of Month"
+#: reports.js:TRANSFORMS_SUBSTRING
+msgid "Substring"
 msgstr ""
 
-#: reports.js:FOLDER_WINDOW_COLNAME_NONE
-msgid "None"
+#: reports.js:FOLDER_WINDOW_CHANGE_FOLDERS
+msgid "Change Folders"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MONTH_NAME
-msgid "Month Name'"
+#: reports.js:TEMPLATE_CONF_SUCCESS_SAVE
+msgid "Template ${0} was successfully saved."
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MAX
-msgid "Max"
+#: reports.js:REPORT_EDITOR_ENTER_NAME_ALERT
+msgid "Please enter a report name"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NOT_IN
-msgid "Not in list"
+#: reports.js:FOLDER_WINDOW_COLNAME_SELECT
+msgid "Select"
 msgstr ""
 
-#: reports.js:FOLDERS_OUTPUT
-msgid "Output"
+#: reports.js:FILTERS_LABEL_LT_TIME reports.js:OPERATORS_LT_TIME
+msgid "Before (Date/Time)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_LAST
-msgid "Last Value"
+#: reports.js:TFORMS_LABEL_DOY reports.js:TRANSFORMS_DOY
+msgid "Day of Year"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_GT_TIME
-msgid "After (Date/Time)"
+#: reports.js:TRANSFORMS_SUM reports.js:TFORMS_LABEL_SUM
+msgid "Sum"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MONTHS_AGO
-msgid "Months ago"
+#: reports.js:TFORMS_LABEL_LOWER reports.js:TRANSFORMS_LOWER
+msgid "Lower case"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_EQUALS
-msgid "Equals"
+#: reports.js:TFORMS_LABEL_DOW reports.js:TRANSFORMS_DOW
+msgid "Day of Week"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_FIRST_WORD
-msgid "First contiguous non-space string"
+#: reports.js:REPORT_EDITOR_OUTPUT_FOLDERS
+msgid "Output Folders"
 msgstr ""
 
 #: reports.js:FOLDER_WINDOW_COLNAME_ALL
 msgid "All"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_RAW_DATA
-msgid "Raw Data"
+#: reports.js:REPORT_EDITOR_REPORT_FOLDERS
+msgid "Report Folders"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_COUNT_DISTINCT
-msgid "Count Distinct"
+#: reports.js:FILTERS_LABEL_BETWEEN reports.js:OPERATORS_BETWEEN
+msgid "Between"
 msgstr ""
 
-#: reports.js:FOLDER_WINDOW_REPORT_OUTPUT
-msgid "Report Output: ${0}"
+#: reports.js:FILTERS_LABEL_LT_EQUAL reports.js:OPERATORS_LT_EQUAL
+msgid "Less than or equal to"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_DATE
-msgid "Date"
+#: reports.js:TRANSFORMS_UPPER reports.js:TFORMS_LABEL_UPPER
+msgid "Upper case"
+msgstr ""
+
+#: reports.js:FILTERS_LABEL_NOT_BETWEEN reports.js:OPERATORS_NOT_BETWEEN
+msgid "Not between"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_AVERAGE
+#: reports.js:WIDGET_MONTHS
+msgid "Month(s)"
+msgstr ""
+
+#: reports.js:SOURCE_BROWSE_AGGREGATE
+msgid "Aggregate"
+msgstr ""
+
+#: reports.js:TEMPLATE_CONF_TRUE
+msgid "True"
+msgstr ""
+
+#: reports.js:TFORMS_LABEL_AVERAGE reports.js:TRANSFORMS_AVERAGE
 msgid "Average"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MIN
-msgid "Min"
+#: reports.js:FOLDER_WINDOW_COLNAME_NONE
+msgid "None"
 msgstr ""
 
-#: reports.js:REPORT_EDITOR_REPORT_FOLDERS
-msgid "Report Folders"
+#: reports.js:TFORMS_LABEL_INT reports.js:TRANSFORMS_INT
+msgid "Drop trailing decimals"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_LSE_TIME
-msgid "On or Before (Date/Time)"
+#: reports.js:TRANSFORMS_HOUR_TRUNC reports.js:TFORMS_LABEL_HOUR_TRUNC
+msgid "Hour"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_GTE_TIME
-msgid "On or After (Date/Time)"
+#: reports.js:TRANSFORMS_AGE reports.js:TFORMS_LABEL_AGE
+msgid "Age"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_FIRST
-msgid "First Value"
+#: reports.js:TRANSFORMS_QOY reports.js:TFORMS_LABEL_QOY
+msgid "Quarter of Year"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NULL
-msgid "Is NULL"
+#: reports.js:TRANSFORMS_LAST reports.js:TFORMS_LABEL_LAST
+msgid "Last Value"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_YEAR_TRUNC
-msgid "Year"
+#: reports.js:TEMPLATE_CONF_CONFIRM_SAVE
+msgid ""
+"Name : ${0}\n"
+"Description: $[1}\n"
+"Save Template?"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_LIKE
-msgid "Contains Matching substring"
+#: reports.js:TEMPLATE_CONF_BARE
+msgid "Bare"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_ROUND
-msgid "Round"
+#: reports.js:TEMPLATE_CONF_IN
+msgid "Field matches one of list (comma separated):"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_SUM
-msgid "Sum"
+#: reports.js:TRANSFORMS_MONTH_TRUNC reports.js:TFORMS_LABEL_MONTH_TRUNC
+msgid "Year + Month"
 msgstr ""
 
-#: reports.js:REPORT_EDITOR_PROVIDE_FOLDER_ALERT
-msgid "Please provide a report folder"
+#: reports.js:TRANSFORMS_FIRST_WORD reports.js:TFORMS_LABEL_FIRST_WORD
+msgid "First contiguous non-space string"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_ILIKE
-msgid "Contains Matching substring (ignore case)"
+#: reports.js:TEMPLATE_CONF_NOT_BETWEEN
+msgid "Field value is not between (comma separated):"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_QUARTERS_AGO
-msgid "Quarters ago"
+#: reports.js:TEMPLATE_CONF_RAW_DATA reports.js:TRANSFORMS_BARE
+#: reports.js:TFORMS_LABEL_RAW_DATA
+msgid "Raw Data"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NOT_NULL
-msgid "Is not NULL"
+#: reports.js:SOURCE_SETUP_ALL_AVAIL_SOURCES
+msgid "All Available Sources"
+msgstr ""
+
+#: reports.js:OPERATORS_LIKE reports.js:FILTERS_LABEL_LIKE
+msgid "Contains Matching substring"
+msgstr ""
+
+#: reports.js:OPERATORS_EQUALS reports.js:TEMPLATE_CONF_EQUALS
+#: reports.js:FILTERS_LABEL_EQUALS
+msgid "Equals"
 msgstr ""
 
 #: reports.js:WIDGET_QUARTERS
 msgid "Quarter(s)"
 msgstr ""
 
-#: reports.js:REPORT_EDITOR_PROVIDE_OUTPUT_ALERT
-msgid "Please provide an output folder"
+#: reports.js:TFORMS_LABEL_DATE reports.js:TRANSFORMS_DATE
+msgid "Date"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_GREATER_THAN
-msgid "Greater than"
+#: reports.js:TFORMS_LABEL_COUNT reports.js:TRANSFORMS_COUNT
+msgid "Count"
 msgstr ""
 
-#: reports.js:FOLDERS_REPORTS
-msgid "Reports"
+#: reports.js:FILTERS_LABEL_LESS_THAN reports.js:OPERATORS_LESS_THAN
+msgid "Less than"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_UPPER
-msgid "Upper case"
+#: reports.js:SOURCE_SETUP_CORE_SOURCES
+msgid "Core Sources"
 msgstr ""
 
-#: reports.js:WIDGET_DAYS
-msgid "Day(s)"
+#: reports.js:TRANSFORMS_MONTHS_AGO reports.js:TFORMS_LABEL_MONTHS_AGO
+msgid "Months ago"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_GT_EQUAL
-msgid "Greater than or equal to"
+#: reports.js:TRANSFORMS_ROUND reports.js:TFORMS_LABEL_ROUND
+msgid "Round"
 msgstr ""
 
-#: reports.js:FOLDER_WINDOW_COLNAME_SELECT
-msgid "Select"
+#: reports.js:FILTERS_LABEL_NULL_BLANK reports.js:OPERATORS_NULL_BLANK
+msgid "Is NULL or Blank"
 msgstr ""
 
-#: reports.js:FOLDER_WINDOW_SELECT_ITEM
-msgid "Please select an item from the list"
+#: reports.js:FILTERS_LABEL_GT_TIME reports.js:OPERATORS_GT_TIME
+msgid "After (Date/Time)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_HOD
-msgid "Hour of day"
+#: reports.js:TRANSFORMS_WOY reports.js:TFORMS_LABEL_WOY
+msgid "Week of Year"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NOT_NULL_BLANK
+#: reports.js:TFORMS_LABEL_DOM reports.js:TRANSFORMS_DOM
+msgid "Day of Month"
+msgstr ""
+
+#: reports.js:SOURCE_BROWSE_NON_AGGREGATE
+msgid "Non-Aggregate"
+msgstr ""
+
+#: reports.js:OPERATORS_IS_NULL reports.js:FILTERS_LABEL_NULL
+msgid "Is NULL"
+msgstr ""
+
+#: reports.js:TRANSFORMS_MIN reports.js:TFORMS_LABEL_MIN
+msgid "Min"
+msgstr ""
+
+#: reports.js:OPERATORS_NOT_NULL_BLANK reports.js:FILTERS_LABEL_NOT_NULL_BLANK
 msgid "Is not NULL or Blank"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_WOY
-msgid "Week of Year"
+#: reports.js:WIDGET_DAYS
+msgid "Day(s)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_LOWER
-msgid "Lower case"
+#: reports.js:FOLDER_WINDOW_REPORT_OUTPUT
+msgid "Report Output: ${0}"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_INT
-msgid "Drop trailing decimals"
+#: reports.js:TEMPLATE_CONF_CONFIRM_STATE
+msgid "Click OK for TRUE and Cancel for FALSE."
 msgstr ""
 
 #: reports.js:FOLDERS_TEMPLATES
 msgid "Templates"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_IN
-msgid "In list"
-msgstr ""
-
 #: reports.js:WIDGET_RELATIVE_DATE
 msgid "Relative Date"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_LESS_THAN
-msgid "Less than"
+#: reports.js:TRANSFORMS_FIRST reports.js:TFORMS_LABEL_FIRST
+msgid "First Value"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_DAY_NAME
-msgid "Day Name"
+#: reports.js:FILTERS_LABEL_GREATER_THAN reports.js:OPERATORS_GREATER_THAN
+msgid "Greater than"
 msgstr ""
 
-#: reports.js:FILTERS_LABEL_NOT_BETWEEN
-msgid "Not between"
+#: reports.js:TEMPLATE_CONF_BOOLEAN_VALUE
+msgid "Boolean Value"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MOY
-msgid "Month of Year"
+#: reports.js:REPORT_EDITOR_PROVIDE_OUTPUT_ALERT
+msgid "Please provide an output folder"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_AGE
-msgid "Age"
+#: reports.js:REPORT_EDITOR_PROVIDE_FOLDER_ALERT
+msgid "Please provide a report folder"
 msgstr ""
 
-#: reports.js:WIDGET_REAL_DATE
-msgid "Real Date"
+#: reports.js:TRANSFORMS_MONTH_NAME
+msgid "Month Name"
 msgstr ""
 
-#: reports.js:FOLDERS_TEMPLATE
-msgid "Template"
+#: reports.js:TFORMS_LABEL_FIRST5 reports.js:TRANSFORMS_FIRST5
+msgid "First 5 characters (for US ZIP code)"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_MONTH_TRUNC
-msgid "Year + Month"
+#: reports.js:OPERATORS_GTE_TIME reports.js:FILTERS_LABEL_GTE_TIME
+msgid "On or After (Date/Time)"
 msgstr ""
 
-#: reports.js:REPORT_EDITOR_OUTPUT_FOLDERS
-msgid "Output Folders"
+#: reports.js:TRANSFORMS_YEAR_TRUNC reports.js:TFORMS_LABEL_YEAR_TRUNC
+msgid "Year"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_QOY
-msgid "Quarter of Year"
+#: reports.js:FOLDERS_REPORTS
+msgid "Reports"
 msgstr ""
 
-#: reports.js:TFORMS_LABEL_HOUR_TRUNC
-msgid "Hour"
+#: reports.js:TFORMS_LABEL_QUARTERS_AGO reports.js:TRANSFORMS_QUARTERS_AGO
+msgid "Quarters ago"
 msgstr ""
 
-#: reports.js:FOLDER_WINDOW_CHANGE_FOLDERS
-msgid "Change Folders"
+#: reports.js:FOLDERS_OUTPUT
+msgid "Output"
+msgstr ""
+
+#: reports.js:TEMPLATE_CONF_SELECT_CANCEL
+msgid "Select the value, or cancel:"
+msgstr ""
+
+#: reports.js:TEMPLATE_CONF_CONFIRM_RESET
+msgid ""
+"You have already added the [${0}] field\n"
+"from the [${1}] source. Click OK if you\n"
+"would like to reset this field."
+msgstr ""
+
+#: reports.js:OPERATORS_NOT_IN_LIST reports.js:FILTERS_LABEL_NOT_IN
+msgid "Not in list"
+msgstr ""
+
+#: reports.js:OPERATORS_ILIKE reports.js:FILTERS_LABEL_ILIKE
+msgid "Contains Matching substring (ignore case)"
+msgstr ""
+
+#: reports.js:TFORMS_LABEL_MOY reports.js:TRANSFORMS_MOY
+msgid "Month of Year"
 msgstr ""
 
+#: reports.js:TRANSFORMS_HOD reports.js:TFORMS_LABEL_HOD
+msgid "Hour of day"
+msgstr ""
+
+#: reports.js:TRANSFORMS_MAX reports.js:TFORMS_LABEL_MAX
+msgid "Max"
+msgstr ""
+
+#: reports.js:TEMPLATE_CONF_NOT_IN reports.js:TEMPLATE_CONF_NO_MATCH
+msgid "Field does not match one of list (comma separated):"
+msgstr ""
index 604b402..3134826 100755 (executable)
@@ -53,14 +53,23 @@ class DojoResource (basel10n.BaseL10N):
         Extracts translatable strings from Evergreen's Dojo resource bundles.
         """
         self.pothead()
-        
+
+        # Avoid generating duplicate entries by keeping track of msgids
+        msgids = dict()
+
         bundle = simplejson.load(open(source, 'r'))
 
         for key, value in bundle.iteritems():
-            poe = polib.POEntry()
-            poe.occurrences = [(os.path.basename(source), key)]
-            poe.msgid = value
-            poe.msgstr = value
+            if value in msgids:
+                msgids[str(value)].occurrences.append((os.path.basename(source), str(key)))
+            else:
+                poe = polib.POEntry()
+                poe.occurrences = [(os.path.basename(source), str(key))]
+                poe.msgid = str(value)
+                msgids[str(value)] = poe
+
+        # Now add the POEntries to our POFile
+        for poe in msgids.values():
             self.pot.append(poe)
 
     def create_bundle(self):
@@ -68,8 +77,6 @@ class DojoResource (basel10n.BaseL10N):
         Creates a Dojo resource bundle file based on a translated PO file.
         """
 
-        msg = "\t\"%s\": \"%s\""
-
         for entry in self.pot:
             for filename, msgkey in entry.occurrences:
                 if entry.msgstr == '':