[open-ils-commits] SPAM: r9824 - in trunk/Open-ILS: web/opac/locale/en-US xul/staff_client/server/cat xul/staff_client/server/locale/en-US

svn at svn.open-ils.org svn at svn.open-ils.org
Fri Jun 13 07:36:58 EDT 2008


Author: dbs
Date: 2008-06-13 07:36:57 -0400 (Fri, 13 Jun 2008)
New Revision: 9824

Modified:
   trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
   trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul
   trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul
   trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.js
   trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.xul
   trunk/Open-ILS/xul/staff_client/server/cat/util.js
   trunk/Open-ILS/xul/staff_client/server/cat/volume_buckets.xul
   trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
   trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul
   trunk/Open-ILS/xul/staff_client/server/cat/volume_editor.xul
   trunk/Open-ILS/xul/staff_client/server/cat/z3950.js
   trunk/Open-ILS/xul/staff_client/server/cat/z3950.xul
   trunk/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties
Log:
Commit large i18n patch from Craig Ricciuto

Modified: trunk/Open-ILS/web/opac/locale/en-US/lang.dtd
===================================================================
--- trunk/Open-ILS/web/opac/locale/en-US/lang.dtd	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/web/opac/locale/en-US/lang.dtd	2008-06-13 11:36:57 UTC (rev 9824)
@@ -1915,3 +1915,131 @@
 <!ENTITY staff.cat.opac.menuitem.refreshinterfaces.label "Refresh All Interfaces">
 <!ENTITY staff.cat.opac.menuitem.dupnewtab.label "Duplicate in New Tab">
 <!ENTITY staff.cat.opac.menuitem.removeframe.label "Remove this Frame">
+<!ENTITY staff.cat.record_buckets_overlay.record_query_tab.label "Record Query">
+<!ENTITY staff.cat.record_buckets_overlay.record_query_tab.accesskey "Q">
+<!ENTITY staff.cat.record_buckets_overlay.pending_records_tab.label "Pending Records">
+<!ENTITY staff.cat.record_buckets_overlay.pending_records_tab.accesskey "P">
+<!ENTITY staff.cat.record_buckets_overlay.bucket_view_tab.label "Bucket View">
+<!ENTITY staff.cat.record_buckets_overlay.bucket_view_tab.accesskey "V">
+<!ENTITY staff.cat.record_buckets_overlay.bucket_view_panel.label "Bucket Actions">
+<!ENTITY staff.cat.record_buckets_overlay.new_bucket.label "New Bucket">
+<!ENTITY staff.cat.record_buckets_overlay.delete_bucket.label "Delete Bucket">
+<!ENTITY staff.cat.record_buckets_overlay.refresh_bucket.label "Refresh">
+<!ENTITY staff.cat.record_buckets_overlay.record_query_label.value "Query">
+<!ENTITY staff.cat.record_buckets_overlay.record_query_label.accesskey "y">
+<!ENTITY staff.cat.record_buckets_overlay.cmd_submit_query.button.label "Submit">
+<!ENTITY staff.cat.record_buckets_overlay.cmd_submit_query.button.accesskey "S">
+<!ENTITY staff.cat.record_buckets_overlay.query_help.button.label "Help">
+<!ENTITY staff.cat.record_buckets_overlay.query_help.button.accesskey "H">
+<!ENTITY staff.cat.record_buckets_overlay.query_list_actions.label "List Actions">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.sel_clip0.label "Copy Field from selected row to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.query_csv_to_printer.label "Print List CSV">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.query_csv_to_clipboard.label "Copy List CSV to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.query_csv_to_file.label "Save List CSV to File">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.save_columns0.label "Save List Configuration">
+<!ENTITY staff.cat.record_buckets_overlay.add_all_query_to_pending.label "Add All to Pending Records">
+<!ENTITY staff.cat.record_buckets_overlay.add_sel_query_to_pending.label "Add Selected to Pending Records">
+<!ENTITY staff.cat.record_buckets_overlay.pending_buckets_list_actions.label "List Actions">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.sel_clip1.label "Copy Field from selected row to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_printer.label "Print List CSV">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_clipboard.label "Copy List CSV to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_file.label "Save List CSV to File">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.save_columns1.label "Save List Configuration">
+<!ENTITY staff.cat.record_buckets_overlay.add_all_pending_to_record_bucket.label "Add All to current Bucket">
+<!ENTITY staff.cat.record_buckets_overlay.add_all_pending_to_record_bucket.accesskey "A">
+<!ENTITY staff.cat.record_buckets_overlay.add_sel_pending_to_record_bucket.label "Add Selected to current Bucket">
+<!ENTITY staff.cat.record_buckets_overlay.record_buckets_del_item.label "Remove Selected from Bucket">
+<!ENTITY staff.cat.record_buckets_overlay.record_buckets_to_pending_buckets.label "Add Selected to Pending Records">
+<!ENTITY staff.cat.record_buckets_overlay.info_box.label "Bucket #">
+<!ENTITY staff.cat.record_buckets_overlay.bucket_owner.label "Owner:">
+<!ENTITY staff.cat.record_buckets_overlay.record_buckets_list_actions.label "List Actions">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.sel_clip2.label "Copy Field from selected row to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_printer.label "Print List CSV">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_clipboard.label "Copy List CSV to Clipboard">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_file.label "Save List CSV to File">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.save_columns2.label "Save List Configuration">
+<!ENTITY staff.cat.record_buckets_overlay.box.label "Batch:">
+<!ENTITY staff.cat.record_buckets_overlay.sel_opac.label "Show All in Catalog">
+<!ENTITY staff.cat.record_buckets_overlay.del_records.label "Delete All Records">
+<!ENTITY staff.cat.record_buckets_overlay.merge_records.label "Merge All Records">
+<!ENTITY staff.cat.record_buckets_overlay.export_records.label "Export All Records">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.export_usmarc.label "MARC21">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.export_unimarc.label "UNIMARC">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.export_xml.label "XML">
+<!ENTITY staff.cat.record_buckets_overlay.menuitem.export_eg_bre.label "Evergreen BRE">
+<!ENTITY staff.cat.record_buckets_quick.groupbox.caption "Record Buckets">
+<!ENTITY staff.cat.record_buckets_quick.add_to_bucket.title "Add to Bucket">
+<!ENTITY staff.cat.record_buckets_quick.add_to_bucket.label "Add to Selected Bucket">
+<!ENTITY staff.cat.record_buckets_quick.add_to_bucket.accesskey "A">
+<!ENTITY staff.cat.record_buckets_quick.new_bucket.label "Add to New Bucket">
+<!ENTITY staff.cat.record_buckets_quick.new_bucket.accesskey "N">
+<!ENTITY staff.cat.record_buckets_quick.cancel.label "Cancel">
+<!ENTITY staff.cat.record_buckets_quick.cancel.accesskey "C">
+<!ENTITY staff.cat.spine_labels.re-generate.label "Re-Generate">
+<!ENTITY staff.cat.spine_labels.re-generate.accesskey "G">
+<!ENTITY staff.cat.spine_labels.preview_and_print.label "Preview and Print">
+<!ENTITY staff.cat.spine_labels.preview_and_print.accesskey "P">
+<!ENTITY staff.cat.spine_labels.close_window.label "Close Window">
+<!ENTITY staff.cat.spine_labels.close_window.accesskey "C">
+<!ENTITY staff.cat.spine_labels.font_size_label.value "Font size (in pts):">
+<!ENTITY staff.cat.spine_labels.spine_label.value "Spine Label">
+<!ENTITY staff.cat.spine_labels.spine_label.left_margine.value "Left Margin (in characters):">
+<!ENTITY staff.cat.spine_labels.spine_label.label_width.value "Label Width (in characters):">
+<!ENTITY staff.cat.spine_labels.spine_label.label_length.value "Label Length (in lines):">
+<!ENTITY staff.cat.spine_labels.pocket_label.value "Pocket Label">
+<!ENTITY staff.cat.spine_labels.pocket_label.middle_margin.value "Middle Margin (in characters):">
+<!ENTITY staff.cat.spine_labels.pocket_label.label_width.value "Label Width (in characters):">
+<!ENTITY staff.cat.spine_labels.pocket_label.label_length.value "Label Length (in lines):">
+<!ENTITY staff.cat.spine_labels.pocket_label.title.label "Include Title (wraps on word at label width)">
+<!ENTITY staff.cat.spine_labels.on_line.value "On line:">
+<!ENTITY staff.cat.spine_labels.pocket_label.include_title.label "Include Title (segment after wrapping)">
+<!ENTITY staff.cat.spine_labels.indent_title.label "Indent a space?">
+<!ENTITY staff.cat.spine_labels.inc_call_number.label "Include Call Number">
+<!ENTITY staff.cat.spine_labels.inc_owning_library_policy_code.label "Include Owning Library (policy code)">
+<!ENTITY staff.cat.spine_labels.inc_owning_library.label "Include Owning Library">
+<!ENTITY staff.cat.spine_labels.inc_shelving_location.label "Include Shelving Location">
+<!ENTITY staff.cat.spine_labels.inc_item_barcode.label "Include Item Barcode">
+<!ENTITY staff.cat.spine_labels.custom.label "Custom:">
+<!ENTITY staff.cat.spine_labels.available_macros.label "Available Macros">
+<!ENTITY staff.cat.volume_copy_creator.label "Volume/Copy Creator">
+<!ENTITY staff.cat.volume_copy_creator.check_barcodes.label "Check Barcodes?">
+<!ENTITY staff.cat.volume_copy_creator.check_barcodes.accesskey "B">
+<!ENTITY staff.cat.volume_copy_creator.print_labels.label "Print Labels?">
+<!ENTITY staff.cat.volume_copy_creator.print_labels.accesskey "P">
+<!ENTITY staff.cat.volume_copy_creator.create.label "Edit then Create">
+<!ENTITY staff.cat.volume_copy_creator.create.accesskey "C">
+<!ENTITY staff.cat.volume_copy_creator.library_label.value "Library">
+<!ENTITY staff.cat.volume_copy_creator.num_of_volumes_label.value "# of volumes">
+<!ENTITY staff.cat.volume_editor.caption.label "Volume Editor">
+<!ENTITY staff.cat.volume_editor.modify.label "Modify">
+<!ENTITY staff.cat.z3950.marc_import.label "MARC Import via Z39.50">
+<!ENTITY staff.cat.z3950.service_credentials.label "Service and Credentials">
+<!ENTITY staff.cat.z3950.service.label "Service">
+<!ENTITY staff.cat.z3950.username.label "Username">
+<!ENTITY staff.cat.z3950.password.label "Password">
+<!ENTITY staff.cat.z3950.catalog_service.label "Local Catalog">
+<!ENTITY staff.cat.z3950.catalog_service.tooltiptext "Evergreen Native Catalog">
+<!ENTITY staff.cat.z3950.save_creds.label "Save as Default">
+<!ENTITY staff.cat.z3950.save_creds.accesskey "D">
+<!ENTITY staff.cat.z3950.query.label "Query">
+<!ENTITY staff.cat.z3950.query.label "Tip: Click a search field label and then the 'Save as Default' button to have that field focused by default.">
+<!ENTITY staff.cat.z3950.clear.label "Clear Form">
+<!ENTITY staff.cat.z3950.clear.accesskey "C">
+<!ENTITY staff.cat.z3950.search.label "Search">
+<!ENTITY staff.cat.z3950.search.accesskey "S">
+<!ENTITY staff.cat.z3950.results_page.label "Results Page">
+<!ENTITY staff.cat.z3950.results_page.accesskey "P">
+<!ENTITY staff.cat.z3950.results_caption.label "Results">
+<!ENTITY staff.cat.z3950.search_form.label "Search Form">
+<!ENTITY staff.cat.z3950.search_form.accesskey "F">
+<!ENTITY staff.cat.z3950.page_next.label "Fetch More Results">
+<!ENTITY staff.cat.z3950.page_next.accesskey "M">
+<!ENTITY staff.cat.z3950.export.label "CSV to Clipboard">
+<!ENTITY staff.cat.z3950.clip_button.label "Copy to Clipboard">
+<!ENTITY staff.cat.z3950.save_cols_btn.label "Save Columns">
+<!ENTITY staff.cat.z3950.marc_view.label "MARC View">
+<!ENTITY staff.cat.z3950.marc_view.accesskey "V">
+<!ENTITY staff.cat.z3950.marc_import_overlay.label "MARC Editor for Overlay">
+<!ENTITY staff.cat.z3950.marc_import_overlay.accesskey "O">
+<!ENTITY staff.cat.z3950.marc_import.label "MARC Editor for Import">
+<!ENTITY staff.cat.z3950.marc_import.accesskey "I">

Modified: trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -1,12 +1,16 @@
 <?xml version="1.0"?>
 <!DOCTYPE overlay PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 <overlay id="record_buckets_overlay" 
 	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
 <script>dump('loading record_buckets_overlay.xul\n');</script>
 
+<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+<messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
+
 <commandset id="record_buckets_cmds" />
 
 <box id="record_buckets_main" flex="1" orient="vertical" class="my_overflow">
@@ -16,14 +20,17 @@
 <vbox id="cmvb1" flex="1">
     <tabbox id="record_buckets_tabbox" flex="1" persist="selectedIndex">
         <tabs>
-            <tab id="record_query_tab" label="Record Query" accesskey="Q"/>
-            <tab id="pending_records_tab" label="Pending Records" accesskey="P"/>
-            <tab id="bucket_view_tab" label="Bucket View" accesskey="V" />
+            <tab id="record_query_tab" label="&staff.cat.record_buckets_overlay.record_query_tab.label;"
+									accesskey="&staff.cat.record_buckets_overlay.record_query_tab.accesskey;"/>
+            <tab id="pending_records_tab" label="&staff.cat.record_buckets_overlay.pending_records_tab.label;"
+									accesskey="&staff.cat.record_buckets_overlay.pending_records_tab.accesskey;"/>
+            <tab id="bucket_view_tab" label="&staff.cat.record_buckets_overlay.bucket_view_tab.label;"
+								 accesskey="&staff.cat.record_buckets_overlay.bucket_view_tab.accesskey;" />
         </tabs>
         <tabpanels flex="1">
             <tabpanel id="record_query_panel">
                 <groupbox flex="1">
-                    <caption label="Record Query" />
+                    <caption label="&staff.cat.record_buckets_overlay.record_query_tab.label;" />
                     <hbox id="record_query_top_ui" />
                     <label id="query_status"/>
                     <tree id="record_query_list" flex="1" enableColumnDrag="true"/>
@@ -32,7 +39,7 @@
             </tabpanel>
             <tabpanel id="pending_records_panel">
                 <groupbox flex="1">
-                    <caption label="Pending Records" />
+                    <caption label="&staff.cat.record_buckets_overlay.pending_records_tab.label;" />
                     <hbox id="pending_buckets_top_ui" />
                     <tree id="pending_records_list" flex="1" enableColumnDrag="true"/>
                     <hbox id="pending_buckets_bottom_ui" />
@@ -42,11 +49,11 @@
                 <vbox flex="1">
                     <hbox>
                         <hbox id="record_buckets_menulist_placeholder" />
-                        <button id="record_buckets_action_list" label="Bucket Actions" type="menu" allowevents="true">
+                        <button id="record_buckets_action_list" label="&staff.cat.record_buckets_overlay.bucket_view_panel.label;" type="menu" allowevents="true">
                             <menupopup id="record_buckets_action_list_popup">
-                                <menuitem command="cmd_record_buckets_new_bucket" label="New Bucket"/>
-                                <menuitem command="cmd_record_buckets_delete_bucket" label="Delete Bucket"/>
-                                <menuitem command="cmd_record_buckets_refresh" label="Refresh"/>
+                                <menuitem command="cmd_record_buckets_new_bucket" label="&staff.cat.record_buckets_overlay.new_bucket.label;"/>
+                                <menuitem command="cmd_record_buckets_delete_bucket" label="&staff.cat.record_buckets_overlay.delete_bucket.label;"/>
+                                <menuitem command="cmd_record_buckets_refresh" label="&staff.cat.record_buckets_overlay.refresh_bucket.label;"/>
                             </menupopup>
                         </button>
                         <label id="bucket_item_count" />
@@ -66,81 +73,107 @@
 </vbox>
 
 <hbox id="record_query_top_ui">
-    <label id="record_query_label" value="Query" accesskey="y" control="record_query_input"/>
+    <label id="record_query_label" value="&staff.cat.record_buckets_overlay.record_query_label.value;"
+        accesskey="&staff.cat.record_buckets_overlay.record_query_label.accesskey;" control="record_query_input"/>
     <textbox id="record_query_input" flex="1"/>
-    <button command="cmd_submit_query" label="Submit" accesskey="S"/>
-    <button id="query_help" label="Help" accesskey="H" oncommand="window.open('/xul/server/locale/<!--#echo var='locale' -->/multiclass_search_help.html','multiclass_search_help','chrome,modal,resizable');" >
+    <button command="cmd_submit_query" label="&staff.cat.record_buckets_overlay.cmd_submit_query.button.label;"
+        accesskey="&staff.cat.record_buckets_overlay.cmd_submit_query.button.accesskey;"/>
+    <button id="query_help" label="&staff.cat.record_buckets_overlay.query_help.button.label;"
+        accesskey="&staff.cat.record_buckets_overlay.query_help.button.accesskey;"
+        oncommand="window.open('/xul/server/locale/<!--#echo var='locale' -->/multiclass_search_help.html','multiclass_search_help','chrome,modal,resizable');" >
     </button>
 </hbox>
 
 <hbox id="record_query_bottom_ui">
-	<button id="record_query_list_actions" label="List Actions" type="menu" allowevents="true">
+	<button id="record_query_list_actions" label="&staff.cat.record_buckets_overlay.query_list_actions.label;" type="menu" allowevents="true">
         <menupopup id="record_query_list_actions_popup">
-        	<menuitem command="sel_clip0" label="Copy Field from selected row to Clipboard" disabled="true" />
-    	    <menuitem command="cmd_record_query_csv_to_printer" label="Print List CSV" />
-        	<menuitem command="cmd_record_query_csv_to_clipboard" label="Copy List CSV to Clipboard" accesskey=""/>
-        	<menuitem command="cmd_record_query_csv_to_file" label="Save List CSV to File" accesskey=""/>
-	        <menuitem command="save_columns0" label="Save List Configuration" />
+        	<menuitem command="sel_clip0" label="&staff.cat.record_buckets_overlay.menuitem.sel_clip0.label;" disabled="true" />
+    	    <menuitem command="cmd_record_query_csv_to_printer" label="&staff.cat.record_buckets_overlay.menuitem.query_csv_to_printer.label;" />
+        	<menuitem command="cmd_record_query_csv_to_clipboard" label="&staff.cat.record_buckets_overlay.menuitem.query_csv_to_clipboard.label;" accesskey=""/>
+        	<menuitem command="cmd_record_query_csv_to_file" label="&staff.cat.record_buckets_overlay.menuitem.query_csv_to_file.label;" accesskey=""/>
+	        <menuitem command="save_columns0" label="&staff.cat.record_buckets_overlay.menuitem.save_columns0.label;" />
         </menupopup>
     </button>
 	<spacer flex="1"/>
-	<button command="cmd_add_all_query_to_pending" label="Add All to Pending Records" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
-	<button command="cmd_add_sel_query_to_pending" label="Add Selected to Pending Records" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+	<button command="cmd_add_all_query_to_pending"
+      label="&staff.cat.record_buckets_overlay.add_all_query_to_pending.label;"
+		  accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+	<button command="cmd_add_sel_query_to_pending"
+	  label="&staff.cat.record_buckets_overlay.add_sel_query_to_pending.label;"
+		accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
 </hbox>
 
 <hbox id="pending_buckets_bottom_ui">
-	<button id="pending_buckets_list_actions" label="List Actions" type="menu" allowevents="true">
+	<button id="pending_buckets_list_actions"
+      label="&staff.cat.record_buckets_overlay.pending_buckets_list_actions.label;"
+      type="menu" allowevents="true">
         <menupopup id="pending_buckets_list_actions_popup">
-        	<menuitem command="sel_clip1" label="Copy Field from selected row to Clipboard" disabled="true" />
-    	    <menuitem command="cmd_pending_buckets_csv_to_printer" label="Print List CSV" />
-        	<menuitem command="cmd_pending_buckets_csv_to_clipboard" label="Copy List CSV to Clipboard" accesskey=""/>
-        	<menuitem command="cmd_pending_buckets_csv_to_file" label="Save List CSV to File" accesskey=""/>
-	        <menuitem command="save_columns1" label="Save List Configuration" />
+        	<menuitem command="sel_clip1" label="&staff.cat.record_buckets_overlay.menuitem.sel_clip1.label;" disabled="true" />
+    	    <menuitem command="cmd_pending_buckets_csv_to_printer" label="&staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_printer.label;" />
+        	<menuitem command="cmd_pending_buckets_csv_to_clipboard" label="&staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_clipboard.label;" accesskey=""/>
+        	<menuitem command="cmd_pending_buckets_csv_to_file" label="&staff.cat.record_buckets_overlay.menuitem.pending_buckets_csv_to_file.label;" accesskey=""/>
+	        <menuitem command="save_columns1" label="&staff.cat.record_buckets_overlay.menuitem.save_columns1.label;" />
         </menupopup>
     </button>
 	<spacer flex="1"/>
-	<button command="cmd_add_all_pending_to_record_bucket" label="Add All to current Bucket" accesskey="A" image="/xul/server/skin/media/images/right_arrow.png"/>
-	<button command="cmd_add_sel_pending_to_record_bucket" label="Add Selected to current Bucket" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+	<button command="cmd_add_all_pending_to_record_bucket"
+      label="&staff.cat.record_buckets_overlay.add_all_pending_to_record_bucket.label;"
+      accesskey="&staff.cat.record_buckets_overlay.add_all_pending_to_record_bucket.accesskey;"
+      image="/xul/server/skin/media/images/right_arrow.png"/>
+	<button command="cmd_add_sel_pending_to_record_bucket"
+      label="&staff.cat.record_buckets_overlay.add_sel_pending_to_record_bucket.label;"
+      accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
 </hbox>
 
 <hbox id="record_buckets_top_ui">
-	<button command="cmd_record_buckets_delete_item" label="Remove Selected from Bucket" disabled="true" image="/xul/server/skin/media/images/icon_delete.gif"/>
-	<button command="cmd_record_buckets_to_pending_buckets" label="Add Selected to Pending Records" disabled="true" image="/xul/server/skin/media/images/left_arrow.png"/>
+	<button command="cmd_record_buckets_delete_item"
+      label="&staff.cat.record_buckets_overlay.record_buckets_del_item.label;"
+      disabled="true" image="/xul/server/skin/media/images/icon_delete.gif"/>
+	<button command="cmd_record_buckets_to_pending_buckets"
+      label="&staff.cat.record_buckets_overlay.record_buckets_to_pending_buckets.label;"
+      disabled="true" image="/xul/server/skin/media/images/left_arrow.png"/>
 </hbox>
 
 <hbox id="info_box" hidden="true" style="font-size: large;">
-	<label value="Bucket #"/>
+	<label value="&staff.cat.record_buckets_overlay.info_box.label;"/>
 	<label id="bucket_number" style="color: blue; text-decoration: underline; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
 	<label id="bucket_name" style="color: blue;"/>
-	<label value="Owner:"/>
+	<label value="&staff.cat.record_buckets_overlay.bucket_owner.label;"/>
 	<label id="bucket_owner" style="color: blue;"/>
 </hbox>
 
 <hbox id="record_buckets_bottom_ui">
-	<button id="record_buckets_list_actions" label="List Actions" type="menu" allowevents="true" disabled="true">
+	<button id="record_buckets_list_actions"
+      label="&staff.cat.record_buckets_overlay.record_buckets_list_actions.label;"
+      type="menu" allowevents="true" disabled="true">
         <menupopup id="record_buckets_list_actions_popup">
-	        <menuitem command="sel_clip2" label="Copy Field from selected row to Clipboard" disabled="true" />
-    	    <menuitem command="cmd_record_buckets_csv_to_printer" label="Print List CSV" />
-          	<menuitem command="cmd_record_buckets_csv_to_clipboard" label="Copy List CSV to Clipboard" accesskey=""/>
-          	<menuitem command="cmd_record_buckets_csv_to_file" label="Save List CSV to File" accesskey=""/>
-	        <menuitem command="save_columns2" label="Save List Configuration" />
+	        <menuitem command="sel_clip2"
+						label="&staff.cat.record_buckets_overlay.menuitem.sel_clip2.label;" disabled="true" />
+    	    <menuitem command="cmd_record_buckets_csv_to_printer"
+						label="&staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_printer.label;" />
+						<menuitem command="cmd_record_buckets_csv_to_clipboard"
+							label="&staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_clipboard.label;" />
+						<menuitem command="cmd_record_buckets_csv_to_file"
+							label="&staff.cat.record_buckets_overlay.menuitem.record_buckets_csv_to_file.label;" accesskey=""/>
+	        <menuitem command="save_columns2" label="&staff.cat.record_buckets_overlay.menuitem.save_columns2.label;" />
         </menupopup>
     </button>
 	<spacer flex="1"/>
 	<hbox style="background: grey">
-		<vbox><spacer flex="1"/><label value="Batch:" style="font-weight: bold"/><spacer flex="1"/></vbox>
-		<button command="cmd_sel_opac" label="Show All in Catalog" accesskey=""/>
-		<button command="cmd_delete_records" label="Delete All Records"/>
-		<button command="cmd_merge_records" label="Merge All Records"/>
-		<button id="record_buckets_export_records" label="Export All Records" type="menu" allowevents="true" disabled="true">
+		<vbox><spacer flex="1"/><label value="&staff.cat.record_buckets_overlay.box.label;" style="font-weight: bold"/><spacer flex="1"/></vbox>
+		<button command="cmd_sel_opac" label="&staff.cat.record_buckets_overlay.sel_opac.label;" accesskey=""/>
+		<button command="cmd_delete_records" label="&staff.cat.record_buckets_overlay.del_records.label;"/>
+		<button command="cmd_merge_records" label="&staff.cat.record_buckets_overlay.merge_records.label;"/>
+		<button id="record_buckets_export_records" label="&staff.cat.record_buckets_overlay.export_records.label;" type="menu" allowevents="true" disabled="true">
 			<menupopup id="record_buckets_export_record_types" allowevents="true">
-				<menuitem command="cmd_export_records_usmarc" label="MARC21"/>
-				<menuitem command="cmd_export_records_unimarc" label="UNIMARC"/>
-				<menuitem command="cmd_export_records_xml" label="XML"/>
-				<menuitem command="cmd_export_records_bre" label="Evergreen BRE"/>
+				<menuitem command="cmd_export_records_usmarc" label="&staff.cat.record_buckets_overlay.menuitem.export_usmarc.label;"/>
+				<menuitem command="cmd_export_records_unimarc" label="&staff.cat.record_buckets_overlay.menuitem.export_unimarc.label;"/>
+				<menuitem command="cmd_export_records_xml" label="&staff.cat.record_buckets_overlay.menuitem.export_xml.label;"/>
+				<menuitem command="cmd_export_records_bre" label="&staff.cat.record_buckets_overlay.menuitem.export_eg_bre.label;"/>
 			</menupopup>
 		</button>
 	</hbox>
 </hbox>
 
 </overlay>
+

Modified: trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -12,14 +12,14 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- OVERLAYS -->
 <?xul-overlay href="/xul/server/OpenILS/util_overlay.xul"?>
 
-<window id="record_buckets_win" title="Add to Bucket"
+<window id="record_buckets_win" title="&staff.cat.record_buckets_quick.add_to_bucket.title;"
 	onload="try { my_init(); font_helper(); } catch(E) { alert(E); }" persist="height,width"
 	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
 
@@ -37,11 +37,11 @@
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-		                if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+		                if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 				JSAN.errorLevel = "die"; // none, warn, or die
 				JSAN.addRepository('/xul/server/');
 				JSAN.use('util.error'); g.error = new util.error();
-				g.error.sdump('D_TRACE','my_init() for record_buckets.xul');
+				g.error.sdump('D_TRACE','my_init() for cat/record_buckets_quick.xul');
 				JSAN.use('util.network'); g.network = new util.network();
 				JSAN.use('OpenILS.data'); g.data = new OpenILS.data(); g.data.init({'via':'stash'});
 
@@ -57,8 +57,8 @@
 
 				$('desc').appendChild( document.createTextNode( 
 					(g.record_ids.length == 1 ?
-						'Copy this 1 record into which bucket?' :
-						'Copy these ' + g.record_ids.length + ' items into which bucket?') 
+						$("catStrings").getString('staff.cat.record_buckets_quick.copy_one_record') :
+						$("catStrings").getFormattedString('staff.cat.record_buckets_quick.copy_multiple_records', [g.record_ids.length])) 
 				) );
 				var robj = g.network.simple_request('BUCKET_RETRIEVE_VIA_USER',[ ses(), g.data.list.au[0].id() ]);
 				if (typeof robj.ilsevent != 'undefined') throw(robj);
@@ -75,7 +75,7 @@
 
 			} catch(E) {
 				try { 
-					g.error.standard_unexpected_error_alert('Trying to init record_buckets_quick.xul',E); 
+					g.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets_quick.initing_record_buckets_quick_xul'), E);
 				} catch(F) { 
 					alert(E); 
 				}
@@ -84,7 +84,9 @@
 
 		g.new_bucket = function() {
 			try {
-				var name = prompt('What would you like to name the bucket?','','Bucket Creation');
+				var name = prompt($("catStrings").getString('staff.cat.record_buckets_quick.name_of_bucket'),
+					'',
+					$("catStrings").getString('staff.cat.record_buckets_quick.name_of_bucket.title'));
 				if (name) {
 					var bucket = new cbreb();
 					bucket.btype('staff_client');
@@ -97,7 +99,7 @@
 					g.add_to_bucket(bucket_id);
 				}
 			} catch(E) {
-				g.error.standard_unexpected_error_alert('Bucket creation failed.',E);
+				g.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.record_buckets_quick.bucket_creation_failure'),E);
 			}
 		}
 
@@ -122,7 +124,7 @@
 					if (typeof robj == 'object') throw robj;
 
 				} catch(E) {
-					g.error.standard_unexpected_error_alert('Addition likely failed for bucket = ' + bucket_id + ' and record id = ' + g.record_ids[i],E);
+					g.error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.record_buckets_quick.add_to_bucket.addition_failed', [bucket_id, g.record_ids[i]]), E);
 				}
 			}
 			window.close();
@@ -137,21 +139,28 @@
 
 	]]>
 	</script>
+	
+	<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+	<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+	<messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
 	<vbox flex="1" style="overflow: auto">
 	<groupbox flex="1">
-		<caption label="Record Buckets"/>
+		<caption label="&staff.cat.record_buckets_quick.groupbox.caption;"/>
 		<description id="desc"/>
 		<listbox id="bucket_list" rows="5" flex="1" style="overflow: auto"/>
 		<hbox>
-			<button label="Add to Selected Bucket" accesskey="A" oncommand="g.add_to_bucket()"/>
-			<button label="Add to New Bucket" accesskey="N" oncommand="g.new_bucket()"/>
+			<button label="&staff.cat.record_buckets_quick.add_to_bucket.label;"
+				accesskey="&staff.cat.record_buckets_quick.add_to_bucket.accesskey;" oncommand="g.add_to_bucket()"/>
+			<button label="&staff.cat.record_buckets_quick.new_bucket.label;"
+				accesskey="&staff.cat.record_buckets_quick.new_bucket.accesskey;" oncommand="g.new_bucket()"/>
 		</hbox>
 		<hbox>
 			<!--
 			<button label="Advanced" accesskey="v" oncommand="g.advanced()"/>
 			-->
-			<button label="Cancel" accesskey="C" oncommand="window.close()"/>
+			<button label="&staff.cat.record_buckets_quick.cancel.label;"
+				accesskey="&staff.cat.record_buckets_quick.cancel.accesskey;" oncommand="window.close()"/>
 		</hbox>
 	</groupbox>
 	</vbox>

Modified: trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.js	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.js	2008-06-13 11:36:57 UTC (rev 9824)
@@ -1,7 +1,7 @@
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-		                if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+				if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 				JSAN.errorLevel = "die"; // none, warn, or die
 				JSAN.addRepository('/xul/server/');
 				JSAN.use('util.error'); g.error = new util.error();
@@ -83,7 +83,8 @@
 					var ds = document.createElement('description'); vb.appendChild(ds);
 					ds.appendChild( document.createTextNode( g.volumes[i].label() ) );
 					var ds2 = document.createElement('description'); vb.appendChild(ds2);
-					ds2.appendChild( document.createTextNode( g.volumes[i].copies().length + ( g.volumes[i].copies().length == 1 ? ' copy' : ' copies') ) );
+					ds2.appendChild( document.createTextNode( g.volumes[i].copies().length + (
+						g.volumes[i].copies().length == 1 ? $("catStrings").getString('staff.cat.spine_labels.copy') : $("catStrings").getString('staff.cat.spine_labels.copies')) ) );
 					ds2.setAttribute('style','color: green');
 					var hb = document.createElement('hbox'); vb.appendChild(hb);
 
@@ -201,7 +202,7 @@
 					idx++;
 				}
 			} catch(E) {
-				g.error.standard_unexpected_error_alert('Generate',E);
+				g.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.spine_labels.generate.std_unexpeceted_err'),E);
 			}
 		}
 
@@ -269,7 +270,7 @@
 						'show_print_button' : 1,
 						'alternate_print' : 1,
 						'no_xulG' : 1,
-						'title' : 'Spine Labels',
+						'title' : $("catStrings").('staff.cat.spine_labels.preview.title'),
 						'on_url_load' : function(b) { 
 							try { 
 								netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
@@ -281,10 +282,10 @@
 							} catch(E) {
 								alert(E);
 							}
-						},
+						}
 					};
 			} catch(E) {
-				g.error.standard_unexpected_error_alert('Preview and Print',E);
+				g.error.standard_unexpected_error_alert($("catStrings").('staff.cat.spine_labels.preview.std_unexpected_err'),E);
 			}
 		}
 

Modified: trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/spine_labels.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -12,7 +12,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -32,64 +32,135 @@
 	<script type="text/javascript" src="/xul/server/cat/spine_labels.js"/>
 
     <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale' -->/circ.properties"/>
+    <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+    <messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
 	<vbox id="spine_labels_main" flex="1" class="my_overflow">
 		<hbox flex="1" class="my_overflow">
 		<vbox>
 			<hbox>
-				<button label="Re-Generate" accesskey="G" oncommand="generate()"/>
+				<button label="&staff.cat.spine_labels.re-generate.label;"
+					accesskey="&staff.cat.spine_labels.re-generate.accesskey;" oncommand="generate()"/>
 				<spacer />
-				<button id="preview" disabled="true" label="Preview and Print" accesskey="P" oncommand="preview()"/>
+				<button id="preview" disabled="true" label="&staff.cat.spine_labels.preview_and_print.label;"
+					accesskey="&staff.cat.spine_labels.preview_and_print.accesskey;" oncommand="preview()"/>
 				<spacer />
-				<button id="close" disabled="false" label="Close Window" accesskey="C" oncommand="window.close()"/>
+				<button id="close" disabled="false" label="&staff.cat.spine_labels.close_window.label;"
+					accesskey="&staff.cat.spine_labels.close_window.accesskey;" oncommand="window.close()"/>
 			</hbox>
 
-			<hbox><label value="Font size (in pts):" control="pt"/><textbox id="pt" value="10" onchange="this.setAttribute('value',this.value)" persist="value"/></hbox>
+			<hbox>
+				<label value="&staff.cat.spine_labels.font_size_label.value;" control="pt"/>
+				<textbox id="pt" value="10" onchange="this.setAttribute('value',this.value)" persist="value"/>
+			</hbox>
 			<grid><columns><column/><column/><column/><column/></columns><rows>
-				<row> <label class="header" value="Spine Label"/><spacer/> </row>
-				<row> <label value="Left Margin (in characters):" control="lm"/><textbox id="lm" value="0" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <label value="Label Width (in characters):" control="lw"/><textbox id="lw" value="8" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <label value="Label Length (in lines):" control="ll"/><textbox id="ll" value="9" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <label class="header" value="Pocket Label"/><checkbox id="pl" checked="false" persist="checked" label="Enabled"/> </row>
-				<row> <label value="Middle Margin (in characters):" control="mm"/><textbox id="mm" value="2" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <label value="Label Width (in characters):" control="plw"/><textbox id="plw" value="28" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <label value="Label Length (in lines):" control="pll"/><textbox id="pll" value="9" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
-				<row> <checkbox id="title" checked="true" persist="checked" label="Include Title (wraps on word at label width)"/><hbox><label value="On line:"/><textbox id="title_line" value="4" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox> </row>
-				<row> <checkbox id="title_r" checked="true" persist="checked" label="Include Title (segment after wrapping)"/><hbox><label value="On line:"/><textbox id="title_r_line" value="5" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox> </row>
-				<row> <spacer/><checkbox id="title_r_indent" checked="true" persist="checked" label="Indent a space?"/> </row>
-				<row> <checkbox id="author" checked="true" persist="checked" label="Include Author"/><hbox><label value="On line:"/><textbox id="author_line" value="3" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox> </row>
-				<row> <checkbox id="call_number" checked="true" persist="checked" label="Include Call Number"/><hbox><label value="On line:"/><textbox id="call_number_line" value="2" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox> </row>
+				<row> <label class="header" value="&staff.cat.spine_labels.spine_label.value;"/><spacer/> </row>
+				<row> <label value="&staff.cat.spine_labels.spine_label.left_margine.value;" control="lm"/><textbox id="lm" value="0" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
+				<row> <label value="&staff.cat.spine_labels.spine_label.label_width.value;" control="lw"/><textbox id="lw" value="8" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
+				<row> <label value="&staff.cat.spine_labels.spine_label.label_length.value;" control="ll"/><textbox id="ll" value="9" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
+				<row> <label class="header" value="&staff.cat.spine_labels.pocket_label.value;"/><checkbox id="pl" checked="false" persist="checked" label="Enabled"/> </row>
+				<row> <label value="&staff.cat.spine_labels.pocket_label.middle_margin.value;" control="mm"/><textbox id="mm" value="2" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
+				<row> <label value="&staff.cat.spine_labels.pocket_label.label_width.value;" control="plw"/><textbox id="plw" value="28" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
+				<row> <label value="&staff.cat.spine_labels.pocket_label.label_length.value;" control="pll"/><textbox id="pll" value="9" onchange="this.setAttribute('value',this.value)" persist="value"/> </row>
 				<row>
-					<checkbox id="owning_lib_shortname" checked="false" persist="checked" label="Include Owning Library (policy code)"/>
-					<hbox><label value="On line:"/><textbox id="owning_lib_shortname_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="title" checked="true" persist="checked" label="&staff.cat.spine_labels.pocket_label.title.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="title_line" value="4" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
 				<row>
-					<checkbox id="owning_lib" checked="false" persist="checked" label="Include Owning Library"/><hbox><label value="On line:"/><textbox id="owning_lib_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="title_r" checked="true" persist="checked" label="&staff.cat.spine_labels.pocket_label.include_title.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="title_r_line" value="5" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
+				<row> <spacer/><checkbox id="title_r_indent" checked="true" persist="checked" label="&staff.cat.spine_labels.indent_title.label;"/> </row>
 				<row>
-					<checkbox id="shelving_location" checked="false" persist="checked" label="Include Shelving Location"/><hbox><label value="On line:"/><textbox id="shelving_location_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="author" checked="true" persist="checked" label="Include Author"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="author_line" value="3" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
 				<row>
-					<checkbox id="barcode" checked="true" persist="checked" label="Include Item Barcode"/><hbox><label value="On line:"/><textbox id="barcode_line" value="1" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="call_number" checked="true" persist="checked" label="&staff.cat.spine_labels.inc_call_number.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="call_number_line" value="2" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
 				<row>
-					<hbox><checkbox id="custom1" checked="false" persist="checked" label="Custom:"/><textbox id="custom1_tb" value="%price%" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
-					<hbox><label value="On line:"/><textbox id="custom1_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="owning_lib_shortname" checked="false" persist="checked" label="&staff.cat.spine_labels.inc_owning_library_policy_code.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="owning_lib_shortname_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
 				<row>
-					<hbox><checkbox id="custom2" checked="false" persist="checked" label="Custom:"/><textbox id="custom2_tb" value="%deposit_amount%" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
-					<hbox><label value="On line:"/><textbox id="custom2_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="owning_lib" checked="false" persist="checked" label="&staff.cat.spine_labels.inc_owning_library.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="owning_lib_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
 				<row>
-					<hbox><checkbox id="custom3" checked="false" persist="checked" label="Custom:"/><textbox id="custom3_tb" value="%alert_message%" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
-					<hbox><label value="On line:"/><textbox id="custom3_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="shelving_location" checked="false" persist="checked" label="&staff.cat.spine_labels.inc_shelving_location.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="shelving_location_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+				</hbox>
 				</row>
 				<row>
-					<hbox><checkbox id="custom4" checked="false" persist="checked" label="Custom:"/><textbox id="custom4_tb" value="Don't sell me on eBay" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
-					<hbox><label value="On line:"/><textbox id="custom4_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/></hbox>
+					<checkbox id="barcode" checked="true" persist="checked" label="&staff.cat.spine_labels.inc_item_barcode.label;"/>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="barcode_line" value="1" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
 				</row>
+				<row>
+					<hbox>
+						<checkbox id="custom1" checked="false" persist="checked" label="&staff.cat.spine_labels.custom.label;"/>
+						<textbox id="custom1_tb" value="%price%" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="custom1_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+				</row>
+				<row>
+					<hbox>
+						<checkbox id="custom2" checked="false" persist="checked" label="&staff.cat.spine_labels.custom.label;"/>
+						<textbox id="custom2_tb" value="%deposit_amount%" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+					<hbox>
+							<label value="&staff.cat.spine_labels.on_line.value;"/>
+							<textbox id="custom2_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+				</row>
+				<row>
+					<hbox>
+						<checkbox id="custom3" checked="false" persist="checked" label="&staff.cat.spine_labels.custom.label;"/>
+						<textbox id="custom3_tb" value="%alert_message%" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="custom3_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+				</row>
+				<row>
+					<hbox>
+						<checkbox id="custom4" checked="false" persist="checked" label="&staff.cat.spine_labels.custom.label;"/>
+						<textbox id="custom4_tb" value="Don't sell me on eBay" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+					<hbox>
+						<label value="&staff.cat.spine_labels.on_line.value;"/>
+						<textbox id="custom4_line" value="" persist="value" onchange="this.setAttribute('value',this.value)"/>
+					</hbox>
+				</row>
 			</rows></grid>
-			<button label="Available Macros" oncommand="show_macros()"/>
+			<button label="&staff.cat.spine_labels.available_macros.label;" oncommand="show_macros()"/>
 		</vbox>
 		<splitter><grippy/></splitter>
 		<vbox id="panel" flex="1" class="my_overflow"/>

Modified: trunk/Open-ILS/xul/staff_client/server/cat/util.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/util.js	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/util.js	2008-06-13 11:36:57 UTC (rev 9824)
@@ -1,5 +1,7 @@
 dump('entering cat/util.js\n');
 
+function $(id) { return document.getElementById(id); }
+
 if (typeof cat == 'undefined') var cat = {};
 cat.util = {};
 
@@ -14,7 +16,9 @@
 		JSAN.use('util.network');
 		var network = new util.network();
 
-		if (!old_bc) old_bc = window.prompt('Enter original barcode for the copy:','','Replace Barcode');
+		if (!old_bc) old_bc = window.prompt($("catStrings").getString('staff.cat.util.replace_barcode.old_bc_window_prompt.prompt'),
+			'',
+			$("catStrings").getString('staff.cat.util.replace_barcode.old_bc_window_prompt.title'));
 		if (!old_bc) return;
 
 		var copy;
@@ -23,7 +27,7 @@
 			if (typeof copy.ilsevent != 'undefined') throw(copy); 
 			if (!copy) throw(copy);
 		} catch(E) {
-			alert('We were unable to retrieve an item with barcode "' + old_bc + '".\n');
+			alert($("catStrings").getFormattedString('staff.cat.util.replace_barcode.error_alert', [old_bc]) + '\n');
 			return old_bc;
 		}
 	
@@ -33,14 +37,21 @@
 			if (typeof copy.ilsevent != 'undefined') throw(copy);
 			if (!copy) throw(copy);
 		} catch(E) {
-			try { alert('We were unable to retrieve an item with barcode "' + old_bc + '".\n' + (typeof E.ilsevent == 'undefined' ? '' : E.textcode + ' : ' + E.desc)); } catch(F) { alert(E + '\n' + F); }
+			try {
+				alert($("catStrings").getFormattedString('staff.cat.util.replace_barcode.error_alert', [old_bc]) +
+					 '\n' + (typeof E.ilsevent == 'undefined' ? '' : E.textcode + ' : ' + E.desc));
+			} catch(F) {
+				alert(E + '\n' + F);
+			}
 			return old_bc;
 		}
 	
-		var new_bc = window.prompt('Enter the replacement barcode for the copy:','','Replace Barcode');
+		var new_bc = window.prompt($("catStrings").getString('staff.cat.util.replace_barcode.new_bc_window_prompt.prompt'),
+			'',
+			$("catStrings").getString('staff.cat.util.replace_barcode.new_bc_window_prompt.title'));
 		new_bc = String( new_bc ).replace(/\s/g,'');
 		if (!new_bc) {
-			alert('Rename aborted.  Blank for barcode not allowed.');
+			alert($("catStrings").getString('staff.cat.util.replace_barcode.new_bc.failed'));
 			return old_bc;
 		}
 	
@@ -50,7 +61,7 @@
 			return old_bc;
 		} else {
 			if (test.ilsevent != 1502 /* ASSET_COPY_NOT_FOUND */) {
-				obj.error.standard_unexpected_error_alert('Error testing replacement barcode "' + new_bc + '".',test);
+				obj.error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.util.replace_barcode.testing_error', [new_bc]), test);
 				return old_bc;
 			}	
 		}
@@ -60,10 +71,10 @@
 		if (typeof r.ilsevent != 'undefined') { 
 			if (r.ilsevent != 0) {
 				if (r.ilsevent == 5000 /* PERM_FAILURE */) {
-					alert('Renamed aborted.  Insufficient permission.');
+					alert($("catStrings").getString('staff.cat.util.replace_barcode.insufficient_permission_for_rename'));
 					return old_bc;
 				} else {
-					obj.error.standard_unexpected_error_alert('Error renaming item.',r);
+					obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.util.replace_barcode.item_rename_error'),r);
 					return old_bc;
 				}
 			}
@@ -72,7 +83,7 @@
 		return new_bc;
 	} catch(E) {
 		JSAN.use('util.error'); var error = new util.error();
-		error.standard_unexpected_error_alert('Rename did not likely occur.',E);
+		error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.util.replace_barcode.rename_error'),E);
 		return old_bc;
 	}
 }
@@ -84,20 +95,22 @@
 	try {
 		data.stash_retrieve();
 		if (!data.marked_volume) {
-			alert('Please mark a volume as the destination from within holdings maintenance and then try this again.');
+			alert($("catStrings").getString('staff.cat.util.transfer_copies.unmarked_volume_alert'));
 			return;
 		}
 		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
 		var xml = '<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" flex="1" style="overflow: auto">';
 		if (!params.message) {
-			params.message = 'Transfer items from their original volumes to ';
-			params.message += data.hash.aou[ params.owning_lib ].shortname() + "'s volume labelled ";
-			params.message += '"' + params.volume_label + '" on the following record (and change their circ libs to match)?';
+			params.message = $("catStrings").getFormattedString('staff.cat.util.transfer_copies.params_message', [data.hash.aou[ params.owning_lib ].shortname(), params.volume_label]);
+			//params.message = 'Transfer items from their original volumes to ';
+			//params.message += data.hash.aou[ params.owning_lib ].shortname() + "'s volume labelled ";
+			//params.message += '"' + params.volume_label + '" on the following record (and change their circ libs to match)?';
 		}
 
 		xml += '<description>' + params.message.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;') + '</description>';
-		xml += '<hbox><button label="Transfer" name="fancy_submit"/>';
-		xml += '<button label="Cancel" accesskey="C" name="fancy_cancel"/></hbox>';
+		xml += '<hbox><button label="' + $("catStrings").getString('staff.cat.util.transfer_copies.transfer.label')+ '" name="fancy_submit"/>';
+		xml += '<button label="' + $("catStrings").getString('staff.cat.util.transfer_copies.cancel.label');
+		xml += '" accesskey="'+ $("catStrings").getString('staff.cat.util.transfer_copies.cancel.accesskey') +'" name="fancy_cancel"/></hbox>';
 		xml += '<iframe style="overflow: scroll" flex="1" src="' + urls.XUL_BIB_BRIEF + '?docid=' + params.docid + '"/>';
 		xml += '</vbox>';
 		//data.temp_transfer = xml; data.stash('temp_transfer');
@@ -107,9 +120,9 @@
 			//+ '?xml_in_stash=temp_transfer'
 			//+ '&title=' + window.escape('Item Transfer'),
 			'fancy_prompt', 'chrome,resizable,modal,width=500,height=300',
-			{ 'xml' : xml, 'title' : 'Item Transfer' }
+			{ 'xml' : xml, 'title' : $("catStrings").getString('staff.cat.util.transfer_copies.window_title') }
 		);
-		if (fancy_prompt_data.fancy_status == 'incomplete') { alert('Transfer Aborted'); return; }
+		if (fancy_prompt_data.fancy_status == 'incomplete') { alert($("catStrings").getString('staff.cat.util.transfer_copies.aborted_transfer')); return; }
 
 		JSAN.use('util.functional');
 
@@ -126,7 +139,7 @@
 			[ ses(), copies, true ], 
 			null,
 			{
-				'title' : 'Override Transfer Failure?',
+				'title' : $("catStrings").getString('staff.cat.util.transfer_copies.override_transfer_failure'),
 				'overridable_events' : [
 					1208 /* TITLE_LAST_COPY */,
 					1227 /* COPY_DELETE_WARNING */,
@@ -137,11 +150,11 @@
 		if (typeof robj.ilsevent != 'undefined') {
 			throw(robj);
 		} else {
-			alert('Items transferred.');
+			alert($("catStrings").getString('staff.cat.util.transfer_copies.successful_transfer'));
 		}
 
 	} catch(E) {
-		error.standard_unexpected_error_alert('All items not likely transferred.',E);
+		error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.util.transfer_copies.transfer_error'),E);
 	}
 }
 
@@ -154,11 +167,11 @@
 		data.stash('temp_barcodes_for_labels');
 		xulG.new_tab(
 			xulG.url_prefix( urls.XUL_SPINE_LABEL ),
-			{ 'tab_name' : 'Spine Labels' },
+			{ 'tab_name' : $("catStrings").getString('staff.cat.util.spine_editor.tab_name') },
 			{}
 		);
 	} catch(E) {
-		error.standard_unexpected_error_alert('Spine Labels',E);
+		error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.util.spine_editor.spine_editor_error'),E);
 	}
 }
 
@@ -169,7 +182,7 @@
 		for (var i = 0; i < selection_list.length; i++) {
 			doc_id = selection_list[i].doc_id;
 			if (!doc_id) {
-				alert(selection_list[i].barcode + ' is not cataloged');
+				alert($("catStrings").getFormattedString('staff.cat.util.show_in_opac.unknown_barcode', [selection_list[i].barcode]));
 				continue;
 			}
 			if (typeof seen[doc_id] != 'undefined') {
@@ -189,7 +202,7 @@
 			);
 		}
 	} catch(E) {
-		error.standard_unexpected_error_alert('Error opening catalog for document id = ' + doc_id,E);
+		error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.util.show_in_opac.catalog_error_for_doc_id', [doc_id]),E);
 	}
 }
 
@@ -230,9 +243,18 @@
 		JSAN.use('util.error'); obj.error = new util.error();
 	
 		var title = '';
-		if ((params.copy_ids && params.copy_ids.length > 1) || (params.copies && params.copies.length > 1 )) title += 'Batch ';
-		title += params.edit == 1 ? 'Edit' : 'View';
-		title += ' Copy Attributes';
+		if (params.copy_ids && params.copy_ids.length > 1 && params.edit == 1)
+			title += $("catStrings").getString('staff.cat.util.copy_editor.batch_edit');
+		else if(params.copies && params.copies.length > 1 && params.edit == 1)
+			title += $("catStrings").getString('staff.cat.util.copy_editor.batch_view');
+		else if(params.copy_ids && params.copy_ids.length == 1)
+			title += $("catStrings").getString('staff.cat.util.copy_editor.edit');
+		else
+			title += $("catStrings").getString('staff.cat.util.copy_editor.view');
+
+		//FIXME I18N This is a constructed string! No can do! if ((params.copy_ids && params.copy_ids.length > 1) || (params.copies && params.copies.length > 1 )) title += $("catStrings").getString('staff.cat.util.copy_editor.batch_in_title');
+		//title += params.edit == 1 ? $("catStrings").getString('staff.cat.util.copy_editor.edit_in_title') : $("catStrings").getString('staff.cat.util.copy_editor.view_in_title');
+		//title += $("catStrings").getString('staff.cat.util.copy_editor.copy_attributes_in_title');
 	
 		JSAN.use('util.window'); var win = new util.window();
 		var my_xulG = win.open(
@@ -242,7 +264,7 @@
             params
 		);
 		if (!my_xulG.copies && params.edit) {
-            alert(typeof params.no_copies_modified_msg != 'undefined' ? params.no_copies_modified_msg : 'Copies not modified.');
+            alert(typeof params.no_copies_modified_msg != 'undefined' ? params.no_copies_modified_msg : $("catStrings").getString('staff.cat.util.copy_editor.not_modified'));
         } else {
             return my_xulG.copies;
         }
@@ -269,11 +291,18 @@
 		}
 		if (magic_status) {
 		
-			error.yns_alert('Action failed.  One or more of these items is in a special status (Checked Out, In Transit, etc.) and cannot be changed to the Damaged status.','Action failed.','OK',null,null,'Check here to confirm this message');
+			error.yns_alert($("catStrings").getString('staff.cat.util.mark_item_damaged.af_message'),
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.af_title'),
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.af_ok_label'), null, null,
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.af_confirm_action'));
 
 		} else {
 
-			var r = error.yns_alert('Change the status for these items to Damaged?  You will have to manually retrieve the last circulation if you need to bill a patron.  Barcodes: ' + util.functional.map_list( copies, function(o) { return o.barcode(); } ).join(", "), 'Mark Damaged', 'OK', 'Cancel', null, 'Check here to confirm this action');
+			var r = error.yns_alert($("catStrings").getFormattedString('staff.cat.util.mark_item_damaged.md_message', [util.functional.map_list( copies, function(o) { return o.barcode(); } ).join(", ")]),
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.md_title'),
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.md_ok_label'),
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.md_cancel_label'), null,
+				$("catStrings").getString('staff.cat.util.mark_item_damaged.md_confirm_action'));
 
 			if (r == 0) {
 				var count = 0;
@@ -283,10 +312,11 @@
 						if (typeof robj.ilsevent != 'undefined') throw(robj);
 						count++;
 					} catch(E) {
-						error.standard_unexpected_error_alert('Error marking item ' + copies[i].barcode() + ' damaged.',E);
+						error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.util.mark_item_damaged.marking_error', [copies[i].barcode()]),E);
 					}
 				}
-				alert(count == 1 ? 'Item marked Damaged' : count + ' items marked Damaged.');
+				alert(count == 1 ? $("catStrings").getString('staff.cat.util.mark_item_damaged.one_item_damaged') :
+					$("catStrings").getFormattedString('staff.cat.util.mark_item_damaged.multiple_item_damaged', [count]));
 			}
 		}
 
@@ -311,11 +341,18 @@
 		}
 		if (magic_status) {
 		
-			error.yns_alert('Action failed.  One or more of these items is in a special status (Checked Out, In Transit, etc.) and cannot be changed to the Missing status.','Action failed.','OK',null,null,'Check here to confirm this message');
+			error.yns_alert($("catStrings").getString('staff.cat.util.mark_item_missing.af_message'),
+				$("catStrings").getString('staff.cat.util.mark_item_missing.af_title'),
+				$("catStrings").getString('staff.cat.util.mark_item_missing.af_ok_label'), null, null,
+				$("catStrings").getString('staff.cat.util.mark_item_missing.af_confirm_action'));
 
 		} else {
 
-			var r = error.yns_alert('Change the status for these items to Missing?  Barcodes: ' + util.functional.map_list( copies, function(o) { return o.barcode(); } ).join(", "), 'Mark Missing', 'OK', 'Cancel', null, 'Check here to confirm this action');
+			var r = error.yns_alert($("catStrings").getFormattedString('staff.cat.util.mark_item_missing.ms_message', [util.functional.map_list( copies, function(o) { return o.barcode(); } ).join(", ")]),
+				$("catStrings").getString('staff.cat.util.mark_item_missing.ms_title'),
+				$("catStrings").getString('staff.cat.util.mark_item_missing.ms_ok_label'),
+				$("catStrings").getString('staff.cat.util.mark_item_missing.ms_cancel_label'), null,
+				$("catStrings").getString('staff.cat.util.mark_item_missing.ms_confirm_action'));
 
 			if (r == 0) {
 				var count = 0;
@@ -325,10 +362,11 @@
 						if (typeof robj.ilsevent != 'undefined') throw(robj);
 						count++;
 					} catch(E) {
-						error.standard_unexpected_error_alert('Error marking item ' + copies[i].barcode() + ' missing.',E);
+						error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.util.mark_item_missing.marking_error', [copies[i].barcode()]),E);
 					}
 				}
-				alert(count == 1 ? 'Item marked Missing' : count + ' items marked Missing.');
+				alert(count == 1 ? $("catStrings").getString('staff.cat.util.mark_item_missing.one_item_missing') :
+					$("catStrings").getFormattedString('staff.cat.util.mark_item_missing.multiple_item_missing', [count]));
 			}
 		}
 

Modified: trunk/Open-ILS/xul/staff_client/server/cat/volume_buckets.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/volume_buckets.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/volume_buckets.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -32,17 +32,19 @@
 	<script type="text/javascript" src="/xul/server/main/JSAN.js"/>
 	<script>
 	<![CDATA[
+	function $(id) { return document.getElementById(id); }
+	
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-				if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+				if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 				JSAN.errorLevel = "die"; // none, warn, or die
 				JSAN.addRepository('/xul/server/');
 				JSAN.use('util.error'); g.error = new util.error();
 				g.error.sdump('D_TRACE','my_init() for cat/volume_buckets.xul');
 
 				if (typeof window.xulG == 'object' && typeof window.xulG.set_tab_name == 'function') {
-					try { window.xulG.set_tab_name('Volume Buckets'); } catch(E) { alert(E); }
+					try { window.xulG.set_tab_name($("catStrings").getString('staff.cat.volume_buckets.window_tab_name')); } catch(E) { alert(E); }
 				}
 
 			} catch(E) {
@@ -53,6 +55,10 @@
 	]]>
 	</script>
 
+	<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+	<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+	<messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
+	
 	<label value="Just a stub, Not Yet Implemented"/>
 
 </window>

Modified: trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js	2008-06-13 11:36:57 UTC (rev 9824)
@@ -8,7 +8,7 @@
 		/* Initial setup */
 
 		netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-				if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+				if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 		JSAN.errorLevel = "die"; // none, warn, or die
 		JSAN.addRepository('/xul/server/');
 		JSAN.use('util.error'); g.error = new util.error();
@@ -66,7 +66,7 @@
 			ml.setAttribute('editable','true');
 			ml.setAttribute('width', '200');
 			var btn = document.createElement('button');
-			btn.setAttribute('label','Apply');
+			btn.setAttribute('label',$('catStrings').getString('staff.cat.volume_copy_creator.my_init.btn.label'));
 			btn.setAttribute('accesskey','A');
 			btn.setAttribute('image','/xul/server/skin/media/images/down_arrow.gif');
 			hbox.appendChild(btn);
@@ -106,8 +106,7 @@
 		g.load_prefs();
 
 	} catch(E) {
-		var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
-			"system administrator or software developer the following:\ncat/volume_copy_creator.xul\n" +E+ '\n';
+		var err_msg = $("commonStrings").getFormattedString('common.exception', ['cat/volume_copy_creator.js', E]);
 		try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); dump(js2JSON(E)); }
 		alert(err_msg);
 	}
@@ -130,8 +129,10 @@
 		if (ev.target.disabled) return;
 		if (! isNaN( Number( ev.target.value) ) ) {
 			if ( Number( ev.target.value ) > g_max_copies_that_can_be_added_at_a_time_per_volume ) {
-                g.error.yns_alert('You may not add more than ' + g_max_copies_that_can_be_added_at_a_time_per_volume + ' items at a time for a given volume in this interface.','Maximum items exceeded.','Ok',null,null,'');
-                return;
+				g.error.yns_alert($("catStrings").getFormattedString('staff.cat.volume_copy_creator.render_volume_count_entry.message', [g_max_copies_that_can_be_added_at_a_time_per_volume]),
+					$("catStrings").getString('staff.cat.volume_copy_creator.render_volume_count_entry.title'),
+					$("catStrings").getString('staff.cat.volume_copy_creator.render_volume_count_entry.ok_label'),null,null,'');
+				return;
 			}
 			if (node) { row.removeChild(node); node = null; }
 			//ev.target.disabled = true;
@@ -172,9 +173,9 @@
 	var rows = grid.lastChild;
 	var r = document.createElement('row'); rows.appendChild( r );
 	var x = document.createElement('label'); r.appendChild(x);
-	x.setAttribute('value','Call Numbers'); x.setAttribute('style','font-weight: bold');
+	x.setAttribute('value', $("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.call_nums')); x.setAttribute('style','font-weight: bold');
 	x = document.createElement('label'); r.appendChild(x);
-	x.setAttribute('value','# of Copies'); x.setAttribute('style','font-weight: bold');
+	x.setAttribute('value',$("catStrings").getString('staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.num_of_copies')); x.setAttribute('style','font-weight: bold');
 	x.setAttribute('size','3'); x.setAttribute('cols','3');
 
 
@@ -182,7 +183,9 @@
 		if (tb1.value == '') return;
 		if (isNaN( Number( tb2.value ) )) return;
 		if ( Number( tb2.value ) > g_max_copies_that_can_be_added_at_a_time_per_volume ) {
-            g.error.yns_alert('You may not add more than ' + g_max_copies_that_can_be_added_at_a_time_per_volume + ' items at a time for a given volume in this interface.','Maximum items exceeded.','Ok',null,null,'');
+			g.error.yns_alert($("catStrings").getFormattedString('staff.cat.volume_copy_creator.render_volume_count_entry.message', [g_max_copies_that_can_be_added_at_a_time_per_volume]),
+				$("catStrings").getString('staff.cat.volume_copy_creator.render_volume_count_entry.title'),
+				$("catStrings").getString('staff.cat.volume_copy_creator.render_volume_count_entry.ok_label'),null,null,'');
             return;
 		}
 
@@ -290,7 +293,10 @@
 				var barcode = String( ev.target.value ).replace(/\s/g,'');
 				if (barcode != ev.target.value) ev.target.value = barcode;
 				if ($('check_barcodes').checked && ! util.barcode.check(barcode) ) {
-					g.error.yns_alert( '"' + barcode + '" is an invalid barcode.','Invalid Barcode','OK',null,null,'Check here to confirm this message.');
+					g.error.yns_alert($("catStrings").getFormattedString('staff.cat.volume_copy_creator.render_barcode_entry.alert_message', [barcode]),
+						$("catStrings").getString('staff.cat.volume_copy_creator.render_barcode_entry.alert_title'),
+						$("catStrings").getString('staff.cat.volume_copy_creator.render_barcode_entry.alert_ok_button'),null,null,
+						$("catStrings").getString('staff.cat.volume_copy_creator.render_barcode_entry.alert_confirm'));
 					setTimeout( function() { ev.target.select(); ev.target.focus(); }, 0);
 				}
 			}, false);
@@ -347,7 +353,7 @@
 				);
 
 				if (typeof acn_id.ilsevent != 'undefined') {
-					g.error.standard_unexpected_error_alert('Problem finding or creating ' + cn + '.  We will skip item creation for this volume.',acn_id);
+					g.error.standard_unexpected_error_alert($("catStrings").getFormattedString('staff.cat.volume_copy_creator.stash_and_close.problem_with_volume', [cn]), acn_id);
 					continue;
 				}
 
@@ -395,7 +401,7 @@
                     );
                 }
             } catch(E) {
-                g.error.standard_unexpected_error_alert('volume tree update 2',E);
+                g.error.standard_unexpected_error_alert($(catStrings).getString('staff.cat.volume_copy_creator.stash_and_close.tree_err2'),E);
             }
 	}
 
@@ -404,7 +410,7 @@
 		window.close();
 
 	} catch(E) {
-		g.error.standard_unexpected_error_alert('volume tree update 3',E);
+		g.error.standard_unexpected_error_alert($(catStrings).getString('staff.cat.volume_copy_creator.stash_and_close.tree_err3'),E);
 	}
 }
 
@@ -435,7 +441,8 @@
 
 		}
 	} catch(E) {
-		g.error.standard_unexpected_error_alert('Error retrieving stored preferences',E);
+		g.error.standard_unexpected_error_alert($(catStrings).getString('staff.cat.volume_copy_creator.load_prefs.err_retrieving_prefs'),E);
+		
 	}
 }
 
@@ -451,7 +458,7 @@
 		);
 		file.close();
 	} catch(E) {
-		g.error.standard_unexpected_error_alert('Error storing preferences',E);
+		g.error.standard_unexpected_error_alert($(catStrings).getString('staff.cat.volume_copy_creator.save_prefs.err_storing_prefs'),E);
 	}
 }
 

Modified: trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -33,23 +33,27 @@
 
 	<script type="text/javascript" src="/xul/server/main/JSAN.js"/>
 	<script type="text/javascript" src="volume_copy_creator.js"/>
+	
+	<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+	<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+	<messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
 	<iframe id="summary" />
 	<groupbox flex="1" style="overflow: auto">
-		<caption id="caption" label="Volume/Copy Creator"/>
+		<caption id="caption" label="&staff.cat.volume_copy_creator.label;/>
 		<hbox style="border-bottom: solid black thin">
 			<hbox id="marc_cn"/>
 			<spacer flex="1" />
-			<checkbox id="check_barcodes" label="Check Barcodes?" oncommand="g.save_prefs();" accesskey="B"/>
-			<checkbox id="print_labels" label="Print Labels?" oncommand="g.save_prefs();" accesskey="P"/>
-			<button id="Create" accesskey="C" label="Edit then Create" disabled="true" oncommand="g.stash_and_close();"/>
+			<checkbox id="check_barcodes" label="&staff.cat.volume_copy_creator.check_barcodes.label; oncommand="g.save_prefs();" accesskey="&staff.cat.volume_copy_creator.check_barcodes.accesskey;"/>
+			<checkbox id="print_labels" label="&staff.cat.volume_copy_creator.print_labels.label;"  oncommand="g.save_prefs();" accesskey="&staff.cat.volume_copy_creator.print_labels.accesskey;"/>
+			<button id="Create" accesskey="&staff.cat.volume_copy_creator.create.accesskey;" label="&staff.cat.volume_copy_creator.create.label;" disabled="true" oncommand="g.stash_and_close();"/>
 		</hbox>
 		<grid flex="1">
 			<columns> <column flex="0"/> <column flex="0"/> <column flex="1"/> </columns>
 			<rows id="rows">
 				<row>
-					<label value="Library" style="font-weight: bold"/>
-					<label value="# of volumes" style="font-weight: bold"/>
+					<label value="&staff.cat.volume_copy_creator.library_label.value;" style="font-weight: bold"/>
+					<label value="&staff.cat.volume_copy_creator.num_of_volumes_label.value;" style="font-weight: bold"/>
 				</row>
 			</rows>
 		</grid>

Modified: trunk/Open-ILS/xul/staff_client/server/cat/volume_editor.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/volume_editor.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/volume_editor.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
@@ -39,7 +39,7 @@
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-		                if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+				if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 				JSAN.errorLevel = "die"; // none, warn, or die
 				JSAN.addRepository('/xul/server/');
 				JSAN.use('util.error'); g.error = new util.error();
@@ -74,8 +74,7 @@
 				}
 
 			} catch(E) {
-				var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
-					"system administrator or software developer the following:\ncat/volume_editor.xul\n" + E + '\n';
+				var err_msg = $("commonStrings").getFormattedString('common.exception', ['cat/volume_editor.xul', E]);
 				try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); dump(js2JSON(E)); }
 				alert(err_msg);
 			}
@@ -96,13 +95,17 @@
 
 	]]>
 	</script>
+	
+	<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+	<messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale'-->/circ.properties" />
+	<messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
 	<groupbox flex="1" style="overflow: auto">
-		<caption id="caption" label="Volume Editor"/>
+		<caption id="caption" label="&staff.cat.volume_editor.caption.label;"/>
 		<hbox>
 			<button label="Cancel" oncommand="window.close();"/>
 			<spacer flex="1" />
-			<button label="Modify" oncommand="g.stash_and_close();"/>
+			<button label="&staff.cat.volume_editor.modify.label;" oncommand="g.stash_and_close();"/>
 		</hbox>
 		<grid flex="1">
 			<columns> <column /> <column /> <column flex="1"/> </columns>

Modified: trunk/Open-ILS/xul/staff_client/server/cat/z3950.js
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/z3950.js	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/z3950.js	2008-06-13 11:36:57 UTC (rev 9824)
@@ -1,5 +1,7 @@
 dump('entering cat.z3950.js\n');
 
+function $(id) { return document.getElementById(id); }
+
 if (typeof cat == 'undefined') cat = {};
 cat.z3950 = function (params) {
 	try {
@@ -69,7 +71,7 @@
 							obj.controller.view.marc_view.disabled = false;
 							obj.controller.view.marc_view.setAttribute('retrieve_id',list[0]);
 						} catch(E) {
-							obj.error.standard_unexpected_error_alert('Failure during list construction.',E);
+							obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_list_init.list_construction_error'),E);
 						}
 					},
 				}
@@ -121,7 +123,7 @@
 									} else {
 										document.getElementById('deck').selectedIndex = 1;
 										n.setAttribute('toggle','1');
-										n.setAttribute('label','Results View');
+										n.setAttribute('label', $("catStrings").getString('staff.cat.z3950.obj_controller_init.deck_label'));
 										netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
 										var f = get_contentWindow(document.getElementById('marc_frame'));
                                         var retrieve_id = n.getAttribute('retrieve_id');
@@ -132,7 +134,7 @@
 										f.document.body.firstChild.focus();
 									}
 								} catch(E) {
-			                        obj.error.standard_unexpected_error_alert('Failure during marc view.',E);
+			                        obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_controller_init.marc_view_error'),E);
 								}
 							},
 						],
@@ -148,7 +150,7 @@
                                         obj.result_set[ result_idx ].records[ record_idx ].service /* FIXME: we want biblio_source here */
                                     );
                                 } catch(E) {
-			                        obj.error.standard_unexpected_error_alert('Failure during marc import.',E);
+			                        obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_controller_init.marc_import_error'),E);
                                 }
 							},
 						],
@@ -164,7 +166,7 @@
                                         obj.result_set[ result_idx ].records[ record_idx ].service /* FIXME: we want biblio_source here */
                                     );
 								} catch(E) {
-			                        obj.error.standard_unexpected_error_alert('Failure during marc import overlay.',E);
+			                        obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_controller_init.marc_import_overlay_error'),E);
 								}
 							},
 						],
@@ -275,7 +277,7 @@
                                                     }
                                                 }
                                             } catch(E) {
-										        obj.error.standard_unexpected_error_alert('Error setting up search fields.',E);
+										        obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_controller_init.search_fields_error'),E);
                                             }
 										}
 
@@ -327,7 +329,7 @@
 											},0
 										);
 									} catch(E) {
-										obj.error.standard_unexpected_error_alert('Z39.50 services not likely retrieved.',E);
+										obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.obj_controller_init.z39_service_error'),E);
 									}
 								}
 							}
@@ -376,10 +378,10 @@
 			util.widgets.remove_children( obj.controller.view.result_message );
 			var x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
             if (obj.active_services.length < 1) {
-			    x.appendChild( document.createTextNode( 'No services selected to search.' ));
+			    x.appendChild( document.createTextNode($("catStrings").getString('staff.cat.z3950.initial_search.no_search_selection')));
                 return;
             }
-			x.appendChild( document.createTextNode( 'Searching...' ));
+			x.appendChild( document.createTextNode($("catStrings").getString('staff.cat.z3950.initial_search.searching')));
 			obj.search_params = {}; obj.list.clear();
 			obj.controller.view.page_next.disabled = true;
 
@@ -409,7 +411,7 @@
 				util.widgets.remove_children( obj.controller.view.result_message );
 			}
 		} catch(E) {
-			this.error.standard_unexpected_error_alert('Failure during initial search.',E);
+			this.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.initial_search.failed_search'),E);
 		}
 	},
 
@@ -419,11 +421,11 @@
 			JSAN.use('util.widgets');
 			util.widgets.remove_children( obj.controller.view.result_message );
 			var x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
-			x.appendChild( document.createTextNode( 'Retrieving more results...' ));
+			x.appendChild( document.createTextNode($("catStrings").getString('staff.cat.z3950.page_next.more_results')));
 			obj.search_params.offset += obj.search_params.limit;
 			obj.search();
 		} catch(E) {
-			this.error.standard_unexpected_error_alert('Failure during subsequent search.',E);
+			this.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.page_next.subsequent_search_error'),E);
 		}
 	},
 
@@ -445,7 +447,7 @@
 			);
 			document.getElementById('deck').selectedIndex = 0;
 		} catch(E) {
-			this.error.standard_unexpected_error_alert('Failure during actual search.',E);
+			this.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.search.search_error'),E);
 		}
 	},
 
@@ -456,26 +458,27 @@
 			util.widgets.remove_children( obj.controller.view.result_message ); var x;
 			if (results == null) {
 				x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
-				x.appendChild( document.createTextNode( 'Server Error: request returned null' ));
+				x.appendChild( document.createTextNode($("catStrings").getString('staff.cat.z3950.handle_results.null_server_error')));
 				return;
 			}
 			if (typeof results.ilsevent != 'undefined') {
 				x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
-				x.appendChild( document.createTextNode( 'Server Error: ' + results.textcode + ' : ' + results.desc ));
+				x.appendChild( document.createTextNode($("catStrings").getFormattedString('staff.cat.z3950.handle_results.server_error', [results.textcode, results.desc])));
 				return;
 			}
             if (typeof results.length == 'undefined') results = [ results ];
             for (var i = 0; i < results.length; i++) {
                 if (results[i].query) {
                     x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
-                    x.appendChild( document.createTextNode( 'Raw query: ' + results[i].query ));
+                    x.appendChild( document.createTextNode($("catStrings").getFormattedString('staff.cat.z3950.handle_results.raw_query', [results[i].query])));
                 }
                 if (results[i].count) {
                     if (results[i].records) {
                         x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
                         var showing = obj.search_params.offset + results[i].records.length; 
                         x.appendChild(
-                            document.createTextNode( 'Showing ' + (showing > results[i].count ? results[i].count : showing) + ' of ' + results[i].count + ' for ' + results[i].service )
+                            document.createTextNode($("catStrings").getFormattedString('staff.cat.z3950.handle_results.showing_results',
+								[(showing > results[i].count ? results[i].count : showing), results[i].count, results[i].service]))
                         );
                     }
                     if (obj.search_params.offset + obj.search_params.limit <= results[i].count) {
@@ -484,8 +487,7 @@
                 } else {
                         x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
                         x.appendChild(
-                            document.createTextNode( (results[i].count ? results[i].count : 0) + ' records found')
-                        );
+                            document.createTextNode($("catStrings").getFormattedString('staff.cat.z3950.handle_results.num_of_results', [(results[i].count ? results[i].count : 0)])));
                 }
                 if (results[i].records) {
                     obj.result_set[ ++obj.number_of_result_sets ] = results[i];
@@ -511,12 +513,12 @@
                 } else {
                     x = document.createElement('description'); obj.controller.view.result_message.appendChild(x);
                     x.appendChild(
-                        document.createTextNode( 'Error retrieving results.')
+                        document.createTextNode($("catStrings").getString('staff.cat.z3950.handle_results.result_error'))
                     );
                 }
             }
 		} catch(E) {
-			this.error.standard_unexpected_error_alert('Failure during search result handling.',E);
+			this.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.handle_results.search_result_error'),E);
 		}
 	},
 
@@ -529,7 +531,7 @@
 		};
 		xulG.set_tab(
 			xulG.url_prefix(urls.XUL_OPAC_WRAPPER), 
-			{'tab_name':'Retrieving title...'}, 
+			{'tab_name': $("catStrings").getString('staff.cat.z3950.replace_tab_with_opac.tab_name')}, 
 			content_params
 		);
 	},
@@ -549,10 +551,10 @@
 							if (typeof r.ilsevent != 'undefined') {
 								switch(Number(r.ilsevent)) {
 									case 1704 /* TCN_EXISTS */ :
-										var msg = 'A record with TCN ' + r.payload.tcn + ' already exists.\nFIXME: add record summary here';
-										var title = 'Import Collision';
-										var btn1 = 'Overlay';
-										var btn2 = typeof r.payload.new_tcn == 'undefined' ? null : 'Import with alternate TCN ' + r.payload.new_tcn;
+										var msg = $("catStrings").getFormattedString('staff.cat.z3950.spawn_marc_editor.same_tcn', [r.payload.tcn]);
+										var title = $("catStrings").getString('staff.cat.z3950.spawn_marc_editor.title');
+										var btn1 = $("catStrings").getString('staff.cat.z3950.spawn_marc_editor.btn1_overlay');
+										var btn2 = typeof r.payload.new_tcn == 'undefined' ? null : $("catStrings").getFormattedString('staff.cat.z3950.spawn_marc_editor.btn2_import', [r.payload.new_tcn]);
 										if (btn2) {
 											obj.data.init({'via':'stash'});
 											var robj = obj.network.simple_request(
@@ -564,12 +566,12 @@
 												]
 											);
 											if (typeof robj.ilsevent != 'undefined') {
-												obj.error.standard_unexpected_error_alert('check permission',E);
+												obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.permission_error'),E);
 											}
 											if (robj.length != 0) btn2 = null;
 										}
-										var btn3 = 'Cancel Import';
-										var p = obj.error.yns_alert(msg,title,btn1,btn2,btn3,'Check here to confirm this action');
+										var btn3 = $("catStrings").getString('staff.cat.z3950.spawn_marc_editor.btn3_cancel_import');
+										var p = obj.error.yns_alert(msg,title,btn1,btn2,btn3,$("catStrings").getString('staff.cat.z3950.spawn_marc_editor.confrim_action'));
 										obj.error.sdump('D_ERROR','option ' + p + 'chosen');
 										switch(p) {
 											case 0:
@@ -577,7 +579,7 @@
 												if (typeof r3.ilsevent != 'undefined') {
 													throw(r3);
 												} else {
-													alert('Record successfully overlayed.');
+													alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.successful_overlay'));
 													obj.replace_tab_with_opac(r3.id());
 												}
 											break;
@@ -590,13 +592,13 @@
 												if (typeof r2.ilsevent != 'undefined') {
 													throw(r2);
 												} else {
-													alert('Record successfully imported with alternate TCN.');
+													alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.successful_import_with_new_tcn'));
 													obj.replace_tab_with_opac(r2.id());
 												}
 											break;
 											case 2:
 											default:
-												alert('Record import cancelled');
+												alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.import_cancelled'));
 											break;
 										}
 									break;
@@ -605,11 +607,11 @@
 									break;
 								}
 							} else {
-								alert('Record successfully imported.');
+								alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.successful_import'));
 								obj.replace_tab_with_opac(r.id());
 							}
 						} catch(E) {
-							obj.error.standard_unexpected_error_alert('Record not likely imported.',E);
+							obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor.import_error'),E);
 						}
 					}
 				}
@@ -621,8 +623,11 @@
 		var obj = this; // JSAN.use('OpenILS.data'); var data = new OpenILS.data(); data.init({'via':'stash'});
 		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect UniversalBrowserWrite');
 		var top_xml = '<vbox xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" flex="1" >';
-		top_xml += '<description>Overlay this record?</description>';
-		top_xml += '<hbox><button id="lead" disabled="false" label="Overlay" name="fancy_submit" accesskey="O"/><button label="Cancel" accesskey="C" name="fancy_cancel"/></hbox></vbox>';
+		top_xml += '<description>'+$("catStrings").getString('staff.cat.z3950.confim_overlay.description')+'</description>';
+		top_xml += '<hbox><button id="lead" disabled="false" label="'+$("catStrings").getString('staff.cat.z3950.confim_overlay.lead.label')+'" name="fancy_submit"';
+		top_xml += ' accesskey="'+$("catStrings").getString('staff.cat.z3950.confim_overlay.lead.accesskey')+'"/>';
+		top_xml += ' <button label="'+$("catStrings").getString('staff.cat.z3950.confim_overlay.cancel.label')+'" accesskey="'+
+						$("catStrings").getString('staff.cat.z3950.confim_overlay.cancel.accesskey')+'" name="fancy_cancel"/></hbox></vbox>';
 
 		var xml = '<form xmlns="http://www.w3.org/1999/xhtml">';
 		xml += '<table width="100%"><tr valign="top">';
@@ -645,10 +650,10 @@
 			// + '&top_xml_in_stash=temp_merge_top'
 			// + '&title=' + window.escape('Record Overlay'),
 			'fancy_prompt', 'chrome,resizable,modal,width=700,height=500',
-			{ 'top_xml' : top_xml, 'xml' : xml, 'title' : 'Record Overlay' }
+			{ 'top_xml' : top_xml, 'xml' : xml, 'title' : $("catStrings").getString('staff.cat.z3950.confim_overlay.title') }
 		);
 		//data.stash_retrieve();
-		if (fancy_prompt_data.fancy_status == 'incomplete') { alert('Overlay Aborted'); return false; }
+		if (fancy_prompt_data.fancy_status == 'incomplete') { alert($("catStrings").getString('staff.cat.z3950.confim_overlay.aborted')); return false; }
 		return true;
 	},
 
@@ -656,17 +661,17 @@
 		var obj = this;
 		obj.data.init({'via':'stash'});
 		if (!obj.data.marked_record) {
-			alert('Please mark a record for overlay from within the catalog and try this again.');
+			alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.try_again'));
 			return;
 		}
 
 		xulG.new_tab(
 			xulG.url_prefix(urls.XUL_MARC_EDIT), 
-			{ 'tab_name' : 'MARC Editor' }, 
+			{ 'tab_name' : $("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.tab_name') },
 			{ 
 				'record' : { 'marc' : my_marcxml },
 				'save' : {
-					'label' : 'Overlay Record',
+					'label' : $("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.overlay_record_label'),
 					'func' : function (new_marcxml) {
 						try {
 							if (! obj.confirm_overlay( [ obj.data.marked_record ] ) ) { return; }
@@ -674,9 +679,9 @@
 							if (typeof r.ilsevent != 'undefined') {
 								switch(Number(r.ilsevent)) {
 									case 1704 /* TCN_EXISTS */ :
-										var msg = 'A record with TCN ' + r.payload.tcn + ' already exists.\nFIXME: add record summary here';
-										var title = 'Import Collision';
-										var btn1 = typeof r.payload.new_tcn == 'undefined' ? null : 'Overlay with alternate TCN ' + r.payload.new_tcn;
+										var msg = $("catStrings").getFormattedString('staff.cat.z3950.spawn_marc_editor_for_overlay.same_tcn', [r.payload.tcn]);
+										var title = $("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.import_collision');
+										var btn1 = typeof r.payload.new_tcn == 'undefined' ? null : $("catStrings").getFormattedString('staff.cat.z3950.spawn_marc_editor_for_overlay.btn1_overlay', [r.payload.new_tcn]);
 										if (btn1) {
 											var robj = obj.network.simple_request(
 												'PERM_CHECK',[
@@ -687,12 +692,12 @@
 												]
 											);
 											if (typeof robj.ilsevent != 'undefined') {
-												obj.error.standard_unexpected_error_alert('check permission',E);
+												obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.permission_error'),E);
 											}
 											if (robj.length != 0) btn1 = null;
 										}
-										var btn2 = 'Cancel Import';
-										var p = obj.error.yns_alert(msg,title,btn1,btn2,null,'Check here to confirm this action');
+										var btn2 = $("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.btn2_cancel');
+										var p = obj.error.yns_alert(msg,title,btn1,btn2,null, $("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.confirm_action'));
 										obj.error.sdump('D_ERROR','option ' + p + 'chosen');
 										switch(p) {
 											case 0:
@@ -704,13 +709,13 @@
 												if (typeof r2.ilsevent != 'undefined') {
 													throw(r2);
 												} else {
-													alert('Record successfully overlayed with alternate TCN.');
+													alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.successful_overlay_with_new_TCN'));
 													obj.replace_tab_with_opac(r2.id());
 												}
 											break;
 											case 1:
 											default:
-												alert('Record overlay cancelled');
+												alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.cancelled_overlay'));
 											break;
 										}
 									break;
@@ -719,11 +724,11 @@
 									break;
 								}
 							} else {
-								alert('Record successfully overlayed.');
+								alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.success_overlay'));
 								obj.replace_tab_with_opac(r.id());
 							}
 						} catch(E) {
-							obj.error.standard_unexpected_error_alert('Record not likely overlayed.',E);
+							obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.spawn_marc_editor_for_overlay.overlay_error'),E);
 						}
 					}
 				}
@@ -788,7 +793,7 @@
 				}
 			}
 		} catch(E) {
-			obj.error.standard_unexpected_error_alert('Error retrieving stored z39.50 credentials',E);
+			obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.load_creds.z3950_cred_error'),E);
 		}
 	},
 
@@ -815,7 +820,7 @@
 			file.set_object(obj.creds);
 			file.close();
 		} catch(E) {
-			obj.error.standard_unexpected_error_alert('Problem storing z39.50 credentials.',E);
+			obj.error.standard_unexpected_error_alert($("catStrings").getString('staff.cat.z3950.save_creds.z3950_cred_error'),E);
 		}
 	},
 

Modified: trunk/Open-ILS/xul/staff_client/server/cat/z3950.xul
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/cat/z3950.xul	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/cat/z3950.xul	2008-06-13 11:36:57 UTC (rev 9824)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-	<!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+	<!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 
@@ -34,10 +34,12 @@
 	<script type="text/javascript" src="/xul/server/main/JSAN.js"/>
 	<script>
 	<![CDATA[
+		function $(id) { return document.getElementById(id); }
+		
 		function my_init() {
 			try {
 				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
-		                if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
+				if (typeof JSAN == 'undefined') { throw( $("commonStrings").getString('common.jsan.missing') ); }
 				JSAN.errorLevel = "die"; // none, warn, or die
 				JSAN.addRepository('/xul/server/');
 				JSAN.use('util.error'); g.error = new util.error();
@@ -57,8 +59,7 @@
 				}
 
 			} catch(E) {
-				var err_msg = "!! This software has encountered an error.  Please tell your friendly " +
-					"system administrator or software developer the following:\ncat/z3950.xul\n" + E + '\n';
+				var err_msg = $("commonStrings").getFormattedString('common.exception', ['cat/z3950.xul', E]);
 				try { g.error.sdump('D_ERROR',err_msg); } catch(E) { dump(err_msg); }
 				alert(err_msg);
 			}
@@ -76,6 +77,8 @@
 	</script>
 
     <messagecatalog id="circStrings" src="/xul/server/locale/<!--#echo var='locale' -->/circ.properties"/>
+     <messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale'-->/cat.properties" />
+     <messagecatalog id="commonStrings" src="/xul/server/locale/<!--#echo var='locale'-->/common.properties" />
 
 	<commandset id="cat_z3950_cmds">
 		<command id="cmd_broken" />
@@ -85,12 +88,12 @@
 	</commandset>
 
 	<groupbox flex="1">
-		<caption label="MARC Import via Z39.50"/>
+		<caption label="&staff.cat.z3950.marc_import.label;"/>
         <deck id="z3950_deck" flex="1">
             <hbox id="top_pane" persist="height" flex="1">
                 <vbox id="top_left_pane" persist="width" flex="1">
                     <groupbox id="first_pane" flex="1" class="my_overflow">
-                        <caption id="c2" label="Service and Credentials" class="shrinkable_groupbox"/>
+                        <caption id="c2" label="&staff.cat.z3950.service_credentials.label;" class="shrinkable_groupbox"/>
                         <grid flex="1">
                             <columns>
                                 <column/>
@@ -99,12 +102,13 @@
                             </columns>
                             <rows id="service_rows">
                                 <row>
-                                    <label value="Service"/>
-                                    <label value="Username"/>
-                                    <label value="Password"/>
+                                    <label value="&staff.cat.z3950.service.label;"/>
+                                    <label value="&staff.cat.z3950.username.label;"/>
+                                    <label value="&staff.cat.z3950.password.label;"/>
                                 </row>
                                 <row>
-                                    <checkbox id="native-evergreen-catalog_service" mytype="service_class" service="native-evergreen-catalog" label="Local Catalog" tooltiptext="Evergreen Native Catalog" /> 
+                                    <checkbox id="native-evergreen-catalog_service" mytype="service_class" service="native-evergreen-catalog"
+                                        label="&staff.cat.z3950.catalog_service.label;" tooltiptext="&staff.cat.z3950.catalog_service.tooltiptext;" /> 
                                     <textbox id="native-evergreen-catalog_username" hidden="true"/>
                                     <textbox id="native-evergreen-catalog_password" type="password" hidden="true"/>
                                 </row>
@@ -112,17 +116,17 @@
                         </grid>
                     </groupbox>
                     <hbox>
-                        <button id="save_creds" label="Save as Default" accesskey="D"/>
+                        <button id="save_creds" label="&staff.cat.z3950.save_creds.label;" accesskey="&staff.cat.z3950.save_creds.accesskey;"/>
                     </hbox>
                 </vbox>
                 <splitter collapse="before"><grippy/></splitter>
                 <vbox id="top_right_pane" persist="width" flex="1">
                     <groupbox id="second_pane" flex="1" class="my_overflow">
-                        <caption label="Query" class="shrinkable_groupbox"/>
+                        <caption label="&staff.cat.z3950.query.label;" class="shrinkable_groupbox"/>
                         <hbox>
                             <spacer flex="1"/>
                             <description>
-                                Tip: Click a search field label and then the "Save as Default" button to have that field focused by default.
+                                &staff.cat.z3950.query.description;
                             </description>
                             <spacer flex="1"/>
                         </hbox>
@@ -178,26 +182,26 @@
                         </grid>
                     </groupbox>
                     <hbox>
-                        <button id="clear" label="Clear Form" accesskey="C"/>
-                        <button id="search" label="Search" accesskey="S"/>
+                        <button id="clear" label="&staff.cat.z3950.clear.label;" accesskey="&staff.cat.z3950.clear.accesskey;"/>
+                        <button id="search" label="&staff.cat.z3950.search.label;" accesskey="&staff.cat.z3950.search.accesskey;"/>
                         <spacer flex="1"/>
-                        <button id="results_page" label="Results Page" accesskey="P"/>
+                        <button id="results_page" label="&staff.cat.z3950.results_page.label;" accesskey="&staff.cat.z3950.results_page.accesskey;"/>
                     </hbox>
                 </vbox>
             </hbox>
             <groupbox flex="1" id="third_pane" persist="height">
-                <caption label="Results" />
+                <caption label="&staff.cat.z3950.results_caption.label;"/>
                 <hbox id="result_message" />
                 <hbox>
-                    <button id="search_form" label="Search Form" accesskey="F" />
-                    <button id="page_next" label="Fetch More Results" accesskey="M" disabled="true"/>
-                    <button id="export" label="CSV to Clipboard" command="cmd_export" accesskey=""/>
-                    <button id="clip_button" command="sel_clip" label="Copy to Clipboard" disabled="true"/>
-                    <button id="save_cols_btn" command="save_columns" label="Save Columns" />
+                    <button id="search_form" label="&staff.cat.z3950.search_form.label;" accesskey="&staff.cat.z3950.search_form.accesskey;"/>
+                    <button id="page_next" label="&staff.cat.z3950.page_next.label;" accesskey="&staff.cat.z3950.page_next.accesskey;" disabled="true"/>
+                    <button id="export" label="&staff.cat.z3950.export.label;" command="cmd_export" accesskey=""/>
+                    <button id="clip_button" command="sel_clip" label="&staff.cat.z3950.clip_button.label;" disabled="true"/>
+                    <button id="save_cols_btn" command="save_columns" label="&staff.cat.z3950.save_cols_btn.label;"/>
                     <spacer flex="1"/>
-                    <button id="marc_view" label="MARC View" accesskey="V" disabled="true"/>
-                    <button id="marc_import_overlay" label="MARC Editor for Overlay" accesskey="O" disabled="true"/>
-                    <button id="marc_import" label="MARC Editor for Import" accesskey="I" disabled="true"/>
+                    <button id="marc_view" label="&staff.cat.z3950.marc_view.label;" accesskey="&staff.cat.z3950.marc_view.accesskey;" disabled="true"/>
+                    <button id="marc_import_overlay" label="&staff.cat.z3950.marc_import_overlay.label;" accesskey="&staff.cat.z3950.marc_import_overlay.accesskey;" disabled="true"/>
+                    <button id="marc_import" label="&staff.cat.z3950.marc_import.label;" accesskey="&staff.cat.z3950.marc_import.accesskey;" disabled="true"/>
                 </hbox>
                 <deck id="deck" flex="1">
                     <tree id="results" flex="1" enableColumnDrag="true" seltype="single"/>

Modified: trunk/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties
===================================================================
--- trunk/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties	2008-06-13 11:35:25 UTC (rev 9823)
+++ trunk/Open-ILS/xul/staff_client/server/locale/en-US/cat.properties	2008-06-13 11:36:57 UTC (rev 9824)
@@ -238,3 +238,143 @@
 staff.cat.record_buckets.cmd_sel_opac.catch.std_unex_err=Showing in OPAC
 staff.cat.record_buckets.submit.query_status=Searching...
 staff.cat.record_buckets.prep_record_for_list.std_unex_err=Could not retrieve this record: %1$s
+staff.cat.record_buckets_quick.copy_one_record=Copy this record into which bucket?
+staff.cat.record_buckets_quick.copy_multiple_records=Copy these %1$s items into which bucket?
+staff.cat.record_buckets_quick.initing_record_buckets_quick_xul=Trying to init record_buckets_quick.xul
+staff.cat.record_buckets_quick.name_of_bucket=What would you like to name the bucket?
+staff.cat.record_buckets_quick.name_of_bucket.title=Bucket Creation
+staff.cat.record_buckets_quick.bucket_creation_failure=Bucket creation failed.
+staff.cat.record_buckets_quick.add_to_bucket.addition_failed=Addition likely failed for bucket = %1$s and record id = %2$s
+staff.cat.spine_labels.copy=copy
+staff.cat.spine_labels.copies=copies
+staff.cat.spine_labels.generate.std_unexpeceted_err=Generate
+staff.cat.spine_labels.preview.title=Spine Labels
+staff.cat.spine_labels.preview.std_unexpected_err=Preview and Print
+staff.cat.util.replace_barcode.old_bc_window_prompt.prompt=Enter original barcode for the copy:
+staff.cat.util.replace_barcode.old_bc_window_prompt.title=Replace Barcode
+staff.cat.util.replace_barcode.error_alert=We were unable to retrieve an item with barcode "%1$s".
+staff.cat.util.replace_barcode.new_bc_window_prompt.prompt=Enter the replacement barcode for the copy:
+staff.cat.util.replace_barcode.new_bc_window_prompt.title=Replace Barcode
+staff.cat.util.replace_barcode.new_bc.failed=Rename aborted.  Blank for barcode not allowed.
+staff.cat.util.replace_barcode.testing_error=Error testing replacement barcode "%1$s".
+staff.cat.util.replace_barcode.insufficient_permission_for_rename=Rename aborted.  Insufficient permission.
+staff.cat.util.replace_barcode.item_rename_error=Error renaming item.
+staff.cat.util.replace_barcode.rename_error=Rename did not likely occur.
+staff.cat.util.transfer_copies.unmarked_volume_alert=Please mark a volume as the destination from within holdings maintenance and then try this again.
+staff.cat.util.transfer_copies.params_message=Transfer items from their original volumes to %1$s's volume labelled %2$s on the following record (and change their circ libs to match)?
+staff.cat.util.transfer_copies.transfer.label=Transfer
+staff.cat.util.transfer_copies.cancel.label=Cancel
+staff.cat.util.transfer_copies.cancel.accesskey=C
+staff.cat.util.transfer_copies.window_title=Item Transfer
+staff.cat.util.transfer_copies.aborted_transfer=Transfer Aborted
+staff.cat.util.transfer_copies.override_transfer_failure=Override Transfer Failure?
+staff.cat.util.transfer_copies.successful_transfer=Items transferred.
+staff.cat.util.transfer_copies.transfer_error=All items not likely transferred.
+staff.cat.util.spine_editor.tab_name=Spine Labels
+staff.cat.util.spine_editor.spine_editor_error=Spine Labels
+staff.cat.util.show_in_opac.unknown_barcode=%1$s is not cataloged
+staff.cat.util.show_in_opac.catalog_error_for_doc_id=Error opening catalog for document id = %1$s
+staff.cat.util.copy_editor.batch_in_title=Batch 
+staff.cat.util.copy_editor.edit_in_title=Edit
+staff.cat.util.copy_editor.view_in_title=View
+staff.cat.util.copy_editor.copy_attributes_in_title=Copy Attributes
+staff.cat.util.copy_editor.batch_edit=Batch Edit
+staff.cat.util.copy_editor.batch_view=Batch View
+staff.cat.util.copy_editor.edit=Edit
+staff.cat.util.copy_editor.view=View
+staff.cat.util.copy_editor.not_modified=Copies not modified.
+staff.cat.util.mark_item_damaged.af_message=Action failed.  One or more of these items is in a special status (Checked Out, In Transit, etc.) and cannot be changed to the Damaged status.
+staff.cat.util.mark_item_damaged.af_title=Action failed.
+staff.cat.util.mark_item_damaged.af_ok_label=OK
+staff.cat.util.mark_item_damaged.af_confirm_action=Check here to confirm this message
+staff.cat.util.mark_item_damaged.md_message='Change the status for these items to Damaged?  You will have to manually retrieve the last circulation if you need to bill a patron.  Barcodes: %1$s
+staff.cat.util.mark_item_damaged.md_title=Mark Damaged
+staff.cat.util.mark_item_damaged.md_ok_label=OK
+staff.cat.util.mark_item_damaged.md_cancel_label=Cancel
+staff.cat.util.mark_item_damaged.md_confirm_action=Check here to confirm this action
+staff.cat.util.mark_item_damaged.marking_error=Error marking item %1$s damaged.
+staff.cat.util.mark_item_damaged.one_item_damaged=Item marked Damaged
+staff.cat.util.mark_item_damaged.multiple_item_damaged=%1$s items marked Damaged.
+staff.cat.util.mark_item_missing.af_message=Action failed.  One or more of these items is in a special status (Checked Out, In Transit, etc.) and cannot be changed to the Missing status.
+staff.cat.util.mark_item_missing.af_title=Action failed.
+staff.cat.util.mark_item_missing.af_ok_label=OK
+staff.cat.util.mark_item_missing.af_confirm_action=Check here to confirm this message
+staff.cat.util.mark_item_missing.ms_message='Change the status for these items to Missing? Barcodes: %1$s
+staff.cat.util.mark_item_missing.ms_title=Mark Missing
+staff.cat.util.mark_item_missing.ms_ok_label=OK
+staff.cat.util.mark_item_missing.ms_cancel_label=Cancel
+staff.cat.util.mark_item_missing.ms_confirm_action=Check here to confirm this action
+staff.cat.util.mark_item_missing.marking_error=Error marking item %1$s missing.
+staff.cat.util.mark_item_missing.one_item_missing=Item marked Missing
+staff.cat.util.mark_item_missing.multiple_item_missing=%1$s items marked Missing.
+staff.cat.volume_buckets.window_tab_name=Volume Buckets
+staff.cat.volume_copy_creator.my_init.btn.label=Apply
+staff.cat.volume_copy_creator.render_volume_count_entry.message=You may not add more than %1$s items at a time for a given volume in this interface.
+staff.cat.volume_copy_creator.render_volume_count_entry.title=Maximum items exceeded.
+staff.cat.volume_copy_creator.render_volume_count_entry.ok_label=Ok
+staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.call_nums=Call Numbers
+staff.cat.volume_copy_creator.render_callnumber_copy_count_entry.num_of_copies=# of Copies
+staff.cat.volume_copy_creator.render_barcode_entry.alert_message="%1$s" is an invalid barcode.
+staff.cat.volume_copy_creator.render_barcode_entry.alert_title=Invalid Barcode
+staff.cat.volume_copy_creator.render_barcode_entry.alert_ok_button=OK
+staff.cat.volume_copy_creator.render_barcode_entry.alert_confirm=Check here to confirm this message.
+staff.cat.volume_copy_creator.stash_and_close.problem_with_volume=Problem finding or creating %1$s.  We will skip item creation for this volume.
+staff.cat.volume_copy_creator.stash_and_close.tree_err2=volume tree update 2
+staff.cat.volume_copy_creator.stash_and_close.tree_err3=volume tree update 3
+staff.cat.volume_copy_creator.load_prefs.err_retrieving_prefs=Error retrieving stored preferences
+staff.cat.volume_copy_creator.save_prefs.err_storing_prefs=Error storing preferences
+staff.cat.z3950.obj_list_init.list_construction_error=Failure during list construction.
+staff.cat.z3950.obj_controller_init.deck_label=Results View
+staff.cat.z3950.obj_controller_init.marc_view_error=Failure during marc view.
+staff.cat.z3950.obj_controller_init.marc_import_error=Failure during marc import.
+staff.cat.z3950.obj_controller_init.marc_import_overlay_error=Failure during marc import overlay.
+staff.cat.z3950.obj_controller_init.search_fields_error=Error setting up search fields.
+staff.cat.z3950.obj_controller_init.z39_service_error=Z39.50 services not likely retrieved.
+staff.cat.z3950.initial_search.no_search_selection=No services selected to search.
+staff.cat.z3950.initial_search.searching=Searching...
+staff.cat.z3950.initial_search.failed_search=Failure during initial search.
+staff.cat.z3950.page_next.more_results=Retrieving more results...
+staff.cat.z3950.page_next.subsequent_search_error=Failure during subsequent search.
+staff.cat.z3950.search.search_error=Failure during actual search.
+staff.cat.z3950.handle_results.null_server_error=Server Error: request returned null
+staff.cat.z3950.handle_results.server_error=Server Error: %1$s : %2$s
+staff.cat.z3950.handle_results.raw_query=Raw query: %1$s
+staff.cat.z3950.handle_results.showing_results=Showing %1$s of %2$s for %3$s
+staff.cat.z3950.handle_results.num_of_results=%1$s records found
+staff.cat.z3950.handle_results.result_error=Error retrieving results.
+staff.cat.z3950.handle_results.search_result_error=Failure during search result handling.
+staff.cat.z3950.replace_tab_with_opac.tab_name=Retrieving title...
+staff.cat.z3950.spawn_marc_editor.same_tcn=A record with TCN %1$s already exists.\nFIXME: add record summary here
+staff.cat.z3950.spawn_marc_editor.title=Import Collision
+staff.cat.z3950.spawn_marc_editor.btn1_overlay=Overlay
+staff.cat.z3950.spawn_marc_editor.btn2_import=Import with alternate TCN %1$s
+staff.cat.z3950.spawn_marc_editor.permission_error=check permission
+staff.cat.z3950.spawn_marc_editor.btn3_cancel_import=Cancel Import
+staff.cat.z3950.spawn_marc_editor.confrim_action=Check here to confirm this action
+staff.cat.z3950.spawn_marc_editor.successful_overlay=Record successfully overlaid.
+staff.cat.z3950.spawn_marc_editor.successful_import_with_new_tcn=Record successfully imported with alternate TCN.
+staff.cat.z3950.spawn_marc_editor.import_cancelled=Record import cancelled
+staff.cat.z3950.spawn_marc_editor.successful_import=Record successfully imported.
+staff.cat.z3950.spawn_marc_editor.import_error=Record not likely imported.
+staff.cat.z3950.confim_overlay.description=Overlay this record?
+staff.cat.z3950.confim_overlay.lead.label=Overlay
+staff.cat.z3950.confim_overlay.lead.accesskey=O
+staff.cat.z3950.confim_overlay.cancel.label=Cancel
+staff.cat.z3950.confim_overlay.cancel.accesskey=C
+staff.cat.z3950.confim_overlay.title=Record Overlay
+staff.cat.z3950.confim_overlay.aborted=Overlay Aborted
+staff.cat.z3950.spawn_marc_editor_for_overlay.try_again=Please mark a record for overlay from within the catalog and try this again.
+staff.cat.z3950.spawn_marc_editor_for_overlay.tab_name=MARC Editor
+staff.cat.z3950.spawn_marc_editor_for_overlay.overlay_record_label=Overlay Record
+staff.cat.z3950.spawn_marc_editor_for_overlay.same_tcn=A record with TCN %1$s already exists.\nFIXME: add record summary here
+staff.cat.z3950.spawn_marc_editor_for_overlay.import_collision=Import Collision
+staff.cat.z3950.spawn_marc_editor_for_overlay.btn1_overlay=Overlay with alternate TCN %1$s
+staff.cat.z3950.spawn_marc_editor_for_overlay.permission_error=check permission
+staff.cat.z3950.spawn_marc_editor_for_overlay.btn2_cancel=Cancel Import
+staff.cat.z3950.spawn_marc_editor_for_overlay.confirm_action=Check here to confirm this action
+staff.cat.z3950.spawn_marc_editor_for_overlay.successful_overlay_with_new_TCN=Record successfully overlaid with alternate TCN.
+staff.cat.z3950.spawn_marc_editor_for_overlay.cancelled_overlay=Record overlay cancelled
+staff.cat.z3950.spawn_marc_editor_for_overlay.success_overlay=Record successfully overlaid.
+staff.cat.z3950.spawn_marc_editor_for_overlay.overlay_error=Record not likely overlaid.
+staff.cat.z3950.load_creds.z3950_cred_error=Error retrieving stored z39.50 credentials
+staff.cat.z3950.save_creds.z3950_cred_error=Problem storing z39.50 credentials.



More information about the open-ils-commits mailing list