Commit large i18n patch from Craig Ricciuto
authordbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 13 Jun 2008 11:36:57 +0000 (11:36 +0000)
committerdbs <dbs@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Fri, 13 Jun 2008 11:36:57 +0000 (11:36 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@9824 dcc99617-32d9-48b4-a31d-7c20da2025e4

13 files changed:
Open-ILS/web/opac/locale/en-US/lang.dtd
Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul
Open-ILS/xul/staff_client/server/cat/record_buckets_quick.xul
Open-ILS/xul/staff_client/server/cat/spine_labels.js
Open-ILS/xul/staff_client/server/cat/spine_labels.xul
Open-ILS/xul/staff_client/server/cat/util.js
Open-ILS/xul/staff_client/server/cat/volume_buckets.xul
Open-ILS/xul/staff_client/server/cat/volume_copy_creator.js
Open-ILS/xul/staff_client/server/cat/volume_copy_creator.xul
Open-ILS/xul/staff_client/server/cat/volume_editor.xul
Open-ILS/xul/staff_client/server/cat/z3950.js
Open-ILS/xul/staff_client/server/cat/z3950.xul
Open-ILS/xul/staff_client/server/locale/en-US/cat.properties

index 36dded8..abac14e 100644 (file)
 <!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">
index 961fcf6..e81a0d4 100644 (file)
@@ -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">
 <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" />
                 <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" />
 </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>
+
index bd7d031..f242395 100644 (file)
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- 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">
 
                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);
                        }
                }
 
                                        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();
 
        ]]>
        </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>
index 4dd1299..2e8a90c 100644 (file)
@@ -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);
 
                                        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);
                        }
                }
 
                                                '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');
                                                        } 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);
                        }
                }
 
index e97a3cd..dcf1b15 100644 (file)
@@ -12,7 +12,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-       <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
        <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="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="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="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="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>
-                                       <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="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>
-                                       <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="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>
-                                       <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="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>
-                                       <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="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="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>
+                                       <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="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>
+                                       <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="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>
+                                       <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="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>
+                                       <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"/>
index b009b86..220eea9 100644 (file)
@@ -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 @@ cat.util.replace_barcode = function(old_bc) {
                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 @@ cat.util.replace_barcode = function(old_bc) {
                        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 @@ cat.util.replace_barcode = function(old_bc) {
                        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 @@ cat.util.replace_barcode = function(old_bc) {
                        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 @@ cat.util.replace_barcode = function(old_bc) {
                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 @@ cat.util.replace_barcode = function(old_bc) {
                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 @@ cat.util.transfer_copies = function(params) {
        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 @@ cat.util.transfer_copies = function(params) {
                        //+ '?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 @@ cat.util.transfer_copies = function(params) {
                        [ 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 @@ cat.util.transfer_copies = function(params) {
                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 @@ cat.util.spawn_spine_editor = function(selection_list) {
                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 @@ cat.util.show_in_opac = function(selection_list) {
                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 @@ cat.util.show_in_opac = function(selection_list) {
                        );
                }
        } 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 @@ cat.util.spawn_copy_editor = function(params) {
                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 @@ cat.util.spawn_copy_editor = function(params) {
             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 @@ cat.util.mark_item_damaged = function(copy_ids) {
                }
                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 @@ cat.util.mark_item_damaged = function(copy_ids) {
                                                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 @@ cat.util.mark_item_missing = function(copy_ids) {
                }
                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 @@ cat.util.mark_item_missing = function(copy_ids) {
                                                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]));
                        }
                }
 
index ced2ec6..9ab4179 100644 (file)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-       <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
        <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) {
        ]]>
        </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>
index 8c42e54..52d8810 100644 (file)
@@ -8,7 +8,7 @@ function my_init() {
                /* 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 @@ function my_init() {
                        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 @@ function my_init() {
                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 @@ g.render_volume_count_entry = function(row,ou_id) {
                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 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
        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 @@ g.render_callnumber_copy_count_entry = function(row,ou_id,count) {
                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 @@ g.render_barcode_entry = function(node,callnumber,count,ou_id) {
                                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 @@ g.stash_and_close = function() {
                                );
 
                                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 @@ g.stash_and_close = function() {
                     );
                 }
             } 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 @@ g.stash_and_close = function() {
                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 @@ g.load_prefs = function() {
 
                }
        } 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 @@ g.save_prefs = function () {
                );
                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);
        }
 }
 
index f6ad773..151093f 100644 (file)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-       <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 
        <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>
index 00171e8..3488512 100644 (file)
@@ -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);
                        }
 
        ]]>
        </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>
index 094cac3..0a9231b 100644 (file)
@@ -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 @@ cat.z3950.prototype = {
                                                        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 @@ cat.z3950.prototype = {
                                                                        } 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 @@ cat.z3950.prototype = {
                                                                                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 @@ cat.z3950.prototype = {
                                         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 @@ cat.z3950.prototype = {
                                         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 @@ cat.z3950.prototype = {
                                                     }
                                                 }
                                             } 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 @@ cat.z3950.prototype = {
                                                                                        },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 @@ cat.z3950.prototype = {
                        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 @@ cat.z3950.prototype = {
                                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 @@ cat.z3950.prototype = {
                        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 @@ cat.z3950.prototype = {
                        );
                        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 @@ cat.z3950.prototype = {
                        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 @@ cat.z3950.prototype = {
                 } 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 @@ cat.z3950.prototype = {
                 } 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 @@ cat.z3950.prototype = {
                };
                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 @@ cat.z3950.prototype = {
                                                        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 @@ cat.z3950.prototype = {
                                                                                                ]
                                                                                        );
                                                                                        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 @@ cat.z3950.prototype = {
                                                                                                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 @@ cat.z3950.prototype = {
                                                                                                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 @@ cat.z3950.prototype = {
                                                                        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 @@ cat.z3950.prototype = {
                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 @@ cat.z3950.prototype = {
                        // + '&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 @@ cat.z3950.prototype = {
                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 @@ cat.z3950.prototype = {
                                                        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 @@ cat.z3950.prototype = {
                                                                                                ]
                                                                                        );
                                                                                        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 @@ cat.z3950.prototype = {
                                                                                                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 @@ cat.z3950.prototype = {
                                                                        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 @@ cat.z3950.prototype = {
                                }
                        }
                } 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 @@ cat.z3950.prototype = {
                        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);
                }
        },
 
index e72e089..d485f2e 100644 (file)
@@ -11,7 +11,7 @@
 <!-- ///////////////////////////////////////////////////////////////////////////////////////////////////////////// -->
 <!-- LOCALIZATION -->
 <!DOCTYPE window PUBLIC "" ""[
-       <!--#include virtual="/opac/locale/en-US/lang.dtd"-->
+       <!--#include virtual="/opac/locale/${locale}/lang.dtd"-->
 ]>
 
 
        <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" />
        </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/>
                             </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>
                         </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>
                         </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"/>
index 2d829f3..e5de73a 100644 (file)
@@ -238,3 +238,143 @@ staff.cat.record_buckets.cmd_sel_opac.tab_name=Retrieving title...
 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.