From 6b2b8e72b7c9399334550aeb16c82e6ef41e6fff Mon Sep 17 00:00:00 2001 From: Demian Katz <demian.katz@villanova.edu> Date: Fri, 20 Sep 2013 09:41:21 -0400 Subject: [PATCH] Implemented "exclude facet" functionality. Progress on VUFIND-177. --- languages/en-gb.ini | 1547 +++++++++-------- languages/en.ini | 1 + .../VuFind/src/VuFind/Search/Base/Params.php | 10 +- .../src/VuFind/Search/Summon/Params.php | 6 +- .../src/VuFind/Search/UrlQueryHelper.php | 17 +- .../templates/Recommend/SideFacets.phtml | 9 +- .../templates/Recommend/SideFacets.phtml | 4 +- 7 files changed, 809 insertions(+), 785 deletions(-) diff --git a/languages/en-gb.ini b/languages/en-gb.ini index e97fca18dc8..56fde0820c9 100644 --- a/languages/en-gb.ini +++ b/languages/en-gb.ini @@ -1,774 +1,775 @@ -; For future reference: -;English = English -Access = Access -Account = Account -Add = Add -Add a Note = "Add a Note" -Add Tag = "Add Tag" -Add Tags = "Add Tags" -Add to another list = "Add to another list" -Add to Book Bag = "Add to Book Bag" -Add to favorites = "Add to Favourites" -Add your comment = "Add your comment" -Address = Address -add_comment_fail_blank = "Comment cannot be blank." -add_comment_success = "Comment added." -add_favorite_fail = "Error: Record not saved" -add_favorite_prefix = Add -add_favorite_suffix = "to favourites" -add_list_fail = "Error: List not created" -add_other_libraries = "Include articles at other libraries" -add_search = "Add Search Field" -add_search_group = "Add Search Group" -add_tag_error = "Error: Could Not Save Tags" -add_tag_note = "Spaces will separate tags. Use quotes for multi-word tags." -add_tag_success = "Tags Saved" -Advanced = Advanced -Advanced Search = "Advanced Search" -advSearchError_noRights = "I'm sorry, but you don't have permission to edit that search. Perhaps your browser session has expired?" -advSearchError_notAdvanced = "The search you have requested to edit is not an advanced search." -advSearchError_notFound = "The search you have requested was not found." -adv_search_all = "All Fields" -adv_search_author = Author -adv_search_callnumber = "Classmarks" -adv_search_filters = "Applied Filters" -adv_search_isn = ISBN/ISSN -adv_search_journaltitle = "Journal Title" -adv_search_label = "Search for" -adv_search_publisher = Publisher -adv_search_select_all = "select all" -adv_search_series = Series -adv_search_subject = Subject -adv_search_title = Title -adv_search_toc = "Table of Contents" -adv_search_year = "Year of Publication" -All Fields = "All Fields" -All Pages Loaded = "All Pages Loaded" -alphabrowse_matches = "Titles" -An error has occurred = "An error has occurred" -AND = AND -APA Citation = "APA Citation" -Ask a Librarian = "Ask a Librarian" -Audience = Audience -Audio = Audio -authentication_error_admin = "We cannot log you in at this time. Please contact your system administrator for assistance." -authentication_error_blank = "Login information cannot be blank." -authentication_error_denied = "Credentials do not match! Access denied." -authentication_error_invalid = "Invalid login -- please try again." -authentication_error_loggedout = "You have logged out." -authentication_error_technical = "We cannot log you in at this time. Please try again later." -Author = Author -Author Browse = "Author Browse" -Author Notes = "Author Notes" -Author Results for = "Author Results for" -Author Search Results = "Author Search Results" -Authors Related to Your Search = "Authors Related to Your Search" -Auto configuration is currently disabled = "Auto configuration is currently disabled" -auto_configure_description = "If this is a new installation, you may be able to fix the error using VuFind's Auto Configure tool." -auto_configure_disabled = "Auto configuration is disabled." -auto_configure_title = "Auto Configure" -Available = Available -Available Functionality = "Available Functionality" -Awards = Awards -Back to Record = "Back to Record" -Back to Search Results = "Back to Search Results" -Backtrace = Backtrace -Bag = Bag -Balance = Balance -basic_search_keep_filters = "Retain my current filters" -Be the first to leave a comment = "Be the first to leave a comment" -Be the first to tag this record = "Be the first to tag this record" -Bibliographic Details = "Bibliographic Details" -Bibliography = Bibliography -Book = Book -Book Bag = "Book Bag" -Book Cover = "Book Cover" -bookbag_confirm_empty = "Are you sure you want to empty your Book Bag?" -bookbag_delete = "Delete Selected Book Bag Items" -bookbag_delete_selected = "Delete Selected" -bookbag_email = "Email Selected Book Bag Items" -bookbag_email_selected = "Email Selected" -bookbag_export = "Export Selected Book Bag Items" -bookbag_export_selected = "Export Selected" -bookbag_full = "Full" -bookbag_full_msg = "Your Book Bag is Full" -bookbag_is_empty = "Your Book Bag is empty" -bookbag_print_selected = "Print Selected" -bookbag_save = "Save Selected Book Bag Items" -bookbag_save_selected = "Save Selected" -Bookmark = Bookmark -Books = Books -Braille = Braille -Browse = Browse -Browse Alphabetically = "Browse Alphabetically" -Browse for Authors = "Browse for Authors" -Browse Home = "Browse Home" -Browse the Catalog = "Browse the Catalogue" -Browse the Collection = "Browse the Collection" -Browse the Collection Alphabetically = "Browse the Collection Alphabetically" -browse_dewey = "Classmark (Dewey)" -browse_lcc = "Call Number (LC)" -bulk_email_success = "Your item(s) were e-mailed" -bulk_email_title = "Library Catalogue Items" -bulk_error_missing = "Some data was missing. Your request was not successful." -bulk_export_not_supported = "The record(s) you have selected do not support bulk export." -bulk_fail = "Sorry, an error has occurred. Please try again." -bulk_noitems_advice = "No items were selected. Please click on a checkbox next to an item and try again." -bulk_save_error = "Some data was missing. Your items were not saved." -bulk_save_success = "Your item(s) were saved successfully" -by = by -By = By -By Alphabetical = "By Alphabetical" -By Author = "By Author" -By Call Number = "By Classmark" -By Course = "By Course" -By Department = "By Department" -By Era = "By Era" -By Genre = "By Genre" -By Instructor = "By Instructor" -By Popularity = "By Popularity" -By Recent = "By Recent" -By Region = "By Region" -By Title = "By Title" -By Topic = "By Topic" -Call Number = "Classmark" -callnumber_abbrev = "Call #" -Cannot find record = "Cannot find record" -Cannot find similar records = "Cannot find similar records" -Cassette = Cassette -Catalog Results = "Catalogue Results" -cat_establish_account = "In order to establish your account profile, please enter the following information:" -cat_password_abbrev = "Catalogue Password" -cat_username_abbrev = "Catalogue Username" -CD = CD -Check Hold = "Check Hold" -Check Recall = "Check Recall" -Checked Out = "Checked Out" -Checked Out Items = "Checked Out Items" -Checkedout = "Checked Out" -Choose a Category to Begin Browsing = "Choose a Category to Begin Browsing" -Choose a Column to Begin Browsing = "Choose a Column to Begin Browsing" -Choose a List = "Choose a List" -citation_issue_abbrev = "no." -citation_multipage_abbrev = "pp." -citation_singlepage_abbrev = "p." -citation_volume_abbrev = "Vol." -Cite this = "Cite this" -close = close -Code = Code -Collection Browse = "Collection Browse" -Collection Items = "Collection Items" -Collections = Collections -collection_disambiguation = "Found Multiple Matching Collections" -collection_empty = "No items to display." -collection_view_record = "View Record" -Comments = Comments -comment_error_load = "Error: Could Not Redraw Comment List" -comment_error_save = "Error: Could Not Save Comment" -Configuration = "Configuration" -confirm_delete = "Are you sure you want to delete this?" -confirm_delete_brief = "Delete Item?" -confirm_delete_list_brief = "Delete List?" -confirm_delete_list_text = "Are you sure you want to delete this list?" -confirm_dialog_no = Cancel -confirm_dialog_yes = Confirm -confirm_hold_cancel_all_text = "Do you wish to cancel all your current holds?" -confirm_hold_cancel_selected_text = "Do you wish to cancel your selected holds?" -Contents = Contents -Contributors = "Contributors" -Copies = Copies -Copy = Copy -Corporate Author = "Corporate Author" -Course = Course -Course Reserves = "Course Reserves" -course_reserves_empty_list = "No matching Course Reserves found." -Cover Image = "Cover Image" -Create a List = "Create a List" -Create New Account = "Create New Account" -Created = Created -Date = Date -date_day_placeholder = "D" -date_from = "From" -date_month_placeholder = "M" -date_to = "To" -date_year_placeholder = "Y" -Days = Days -Debug Information = "Debug Information" -Delete = Delete -delete_comment_failure = "Could not delete comment." -delete_comment_success = "Comment deleted." -delete_list = "Delete List" -delete_selected = "Delete Selected" -delete_selected_favorites = "Delete Selected Favourites" -del_search = "Remove Search Group" -Department = Department -Description = Description -Desired Username = "Desired Username" -Details = "Staff View" -Displaying the top = "Displaying the top" -Document Inspector = "Document Inspector" -Due = Due -Due Date = "Due Date" -DVD = DVD -eBook = eBook -Edit = Edit -Edit this Advanced Search = "Edit this Advanced Search" -Edition = Edition -edit_list = "Edit List" -edit_list_fail = "Sorry, you are not permitted to edit this list" -edit_list_success = "List successfully updated." -Electronic = Electronic -Email = Email -Email Address = "Email Address" -Email address is invalid = "Email address is invalid" -Email Record = "Email Record" -Email this = "Email this" -Email this Search = "Email this Search" -email_failure = "Error - Message Cannot Be Sent" -email_link = "Link" -email_selected = "Email Selected" -email_selected_favorites = "Email Selected Favourites" -email_sending = "Sending Message..." -email_success = "Message Sent" -Empty = Empty -Empty Book Bag = "Empty Book Bag" -Enable Auto Config = "Enable Auto Config" -End Page = "End Page" -Era = Era -error_inconsistent_parameters = "Sorry, an error has occurred. Inconsistent parameters detected." -error_page_parameter_list_heading = "Request Parameters" -Exception = Exception -Excerpt = Excerpt -exclude_newspapers = "Exclude newspaper articles" -Expires = Expires -Export = Export -Export Favorites = "Export Favourites" -Export Items = "Export Items" -Export Record = "Export Record" -Export to = "Export to " -export_choose_format = "Please choose an export format." -export_download = "Download File" -export_exporting = "Creating Export File" -export_fail = "Your items were not exported" -export_invalid_format = "The selected export format is not supported by this record." -export_missing = "Some data was missing. Your items were not exported." -export_no_formats = "This record does not support export." -export_redirect = "Start export to %%service%%" -export_refworks = "Start export to RefWorks" -export_save = "Save File" -export_selected = "Export Selected" -export_selected_favorites = "Export Selected Favourites" -export_success = "Export Complete" -export_unsupported_format = "Unsupported Export Format" -FAQs = "FAQs" -Favorites = Favourites -fav_delete = "Delete Selected Favourites" -fav_delete_deleting = "Your favourite(s) are being deleted." -fav_delete_fail = "Sorry, an error has occurred. Your favourite(s) were not deleted." -fav_delete_missing = "Some data was missing. Your favourite(s) were not deleted." -fav_delete_success = "Your favourite(s) were deleted." -fav_delete_warn = "You are about to delete these favourites from all your lists - If you want to delete favourites from a specific list only, please select the list before clicking delete." -fav_email_fail = "Sorry, an error has occurred. Your favourite(s) were not e-mailed." -fav_email_missing = "Some data was missing. Your favourite(s) were not emailed." -fav_email_success = "Your favourite(s) were emailed as requested." -fav_export = "Export Favourites" -fav_list_delete = "List has been deleted" -fav_list_delete_cancel = "This list was not deleted" -fav_list_delete_fail = "Sorry, an error has occurred. Your list was not deleted." -Fee = Fee -Feedback = Feedback -Feedback Email = "Feedback Email" -feedback_name = "Name" -filter_wildcard = "Any" -Find = Find -Find More = "Find More" -Find New Items = "Find New Items" -Finding Aid = "Finding Aid" -Fine = Fine -Fines = Fines -fine_limit_patron = "You have reached your fines limit and cannot renew items" -First Name = "First Name" -fix_metadata = "Yes, fix the metadata; I'll wait" -for search = "for search" -Form Submitted! = "Form Submitted!" -Format = Format -found = found -From = "From" -Full description = "Full description" -fulltext_limit = "Limit to articles with full text available" -Genre = Genre -Geography = Geography -Get full text = "Get full text" -Get RSS Feed = "Get RSS Feed" -Globe = Globe -Go = "Go" -Go to Standard View = "Go to Standard View" -google_map_cluster = "Cluster" -google_map_cluster_points = "Cluster Points" -Grid = Grid -Group = Group -group_AND = "ALL Groups" -group_OR = "ANY Groups" -Has Illustrations = "Has Illustrations" -Help with Advanced Search = "Help with Advanced Search" -Help with Search Operators = "Help with Search Operators" -hierarchy_hide_tree = "Hide Full Hierarchy" -hierarchy_show_tree = "Show Full Hierarchy" -hierarchy_tree = "Context" -hierarchy_tree_error = "Sorry, we were unable to load the hierarchical tree" -hierarchy_view_context = "View Context" -History = History -history_delete = Delete -history_delete_link = Delete -history_empty_search = "Anything (empty search)" -history_limits = Limits -history_no_searches = "There are currently no searches in your history." -history_purge = "Purge my unsaved searches" -history_recent_searches = "Your Recent Searches" -history_results = Results -history_save = Save? -history_saved_searches = "Your Saved Searches" -history_save_link = Save -history_search = Search -history_time = Time -Holdings = Holdings -Holdings at Other Libraries = "Holdings at Other Libraries" -Holdings details from = "Holdings details from" -Holds = Holds -Holds and Recalls = "Holds and Recalls" -hold_available = "Available for Collection" -hold_cancel = "Cancel Hold" -hold_cancel_all = "Cancel All Holds" -hold_cancel_fail = "Your request was not cancelled. Please contact the issue desk for further assistance" -hold_cancel_selected = "Cancel Selected Holds" -hold_cancel_success = "Your request was successfully cancelled" -hold_cancel_success_items = "request(s) were successfully cancelled" -hold_date_invalid = "Please enter a valid date" -hold_date_past = "Please enter a date in the future" -hold_empty_selection = "No holds were selected" -hold_error_blocked = "You do not have sufficient privileges to place a hold on this item" -hold_error_fail = "Your request failed. Please contact the issue desk for further assistance" -hold_invalid_pickup = "An invalid pick up location was entered. Please try again" -hold_login = "for hold and recall information" -hold_place = "Place Request" -hold_place_fail_missing = "Your request failed. Some data was missing. Please contact the issue desk for further assistance" -hold_place_success = "Your request was successful" -hold_profile_html = "For hold and recall information, please establish your <a href="%%url%%">Library Catalog Profile</a>." -hold_queue_position = "Queue Position" -hold_required_by = "No longer required after" -hold_success = "Your request was successful" -Home = Home -home_browse = "Browse by" -Identifier = "Identifier" -Illustrated = Illustrated -ils_offline_holdings_message = "Holdings and item availability information is currently unavailable. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" -ils_offline_home_message = "Your account details and live item information will be unavailable during this time. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" -ils_offline_login_message = "Your account details will be unavailable during this time. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" -ils_offline_status = "Our Library Management System is currently under maintenance." -ils_offline_title = "System Under Maintenance" -Import Record = "Import Record" -Import to = "Import to " -in = in -In This Collection = "In This Collection" -information = "Information" -Institution = Institution -Institutional Login = "Institutional Login" -Instructor = Instructor -Internet = Internet -Invalid Patron Login = "Invalid Patron Login" -Invalid phone number. = "Invalid phone number." -Invalid Recipient Email Address = "Invalid Recipient Email Address" -Invalid Sender Email Address = "Invalid Sender Email Address" -in_collection_label = "In collection:" -ISBN = ISBN -ISBN/ISSN = "ISBN/ISSN" -ISSN = ISSN -Issue = Issue -Item Description = "Item Description" -Item removed from favorites = "Item removed from favourites" -Item removed from list = "Item removed from list" -Items = "Items" -items = items -items_added_to_bookbag = "item(s) added to your Book Bag" -items_already_in_bookbag = "item(s) are either already in your Book Bag or could not be added" -Journal = Journal -Journal Articles = "Journal Articles" -Journal Title = "Journal Title" -Journals = Journals -Jump to = "Jump to" -Keyword = Keyword -Keyword Filter = "Keyword Filter" -Kit = Kit -Language = Language -large = "Large" -Last Modified = "Last Modified" -Last Name = "Last Name" -less = less -Library = Library -Library Catalog Password = "Library Catalogue Password" -Library Catalog Profile = "Library Catalogue Profile" -Library Catalog Record = "Library Catalogue Record" -Library Catalog Search = "Library Catalogue Search" -Library Catalog Search Result = "Library Catalogue Search Result" -Library Catalog Username = "Library Catalogue Username" -Library Web Search = "Library Web Search" -lightbox_error = "Error: Cannot Load Popup Box" -Limit To = "Limit To" -List = List -list_access_denied = "You do not have permission to view this list." -list_edit_name_required = "List name is required." -Loading = Loading -load_tag_error = "Error: Could Not Load Tags" -Located = Located -Location = Location -Log Out = "Log Out" -Login = Login -login_disabled = "Login is not available at this time." -Logout = Logout -Main Author = "Main Author" -Manuscript = Manuscript -Map = Map -Map View = "Map View" -Maps = Maps -map_results_label = "At this location:" -Media Format = "Media Format" -medium = "Medium" -Message = Message -Message From Sender = "Message From Sender" -Metadata Prefix = "Metadata Prefix" -Microfilm = Microfilm -MLA Citation = "MLA Citation" -mobile_link = "You appear to be on a mobile device; switch to mobile view?" -more = more -More catalog results = "More catalogue results" -More options = "More options" -More Summon results = "More Summon results" -more_info_toggle = "Show/hide more info." -Most Recent Received Issues = "Most Recent Received Issues" -Multiple Call Numbers = "Multiple Classmarks" -Multiple Locations = "Multiple Locations" -Musical Score = "Musical Score" -My Favorites = "My Favourites" -My Fines = "My Fines" -My Holds = "My Holds" -My Profile = "My Profile" -MyResearch Help = "MyResearch Help" -Narrow Search = "Narrow Search" -navigate_back = "Back" -Need Help? = "Need Help?" -New Item Feed = "New Item Feed" -New Item Search = "New Item Search" -New Item Search Results = "New Item Search Results" -New Items = "New Items" -New Title = "New Title" -Newspaper = Newspaper -Next = Next -No citations are available for this record = "No citations are available for this record" -No Cover Image = "No Cover Image" -No dependency problems found = "No dependency problems found" -No excerpts were found for this record. = "No excerpts were found for this record." -No library account = "No library account" -No new item information is currently available. = "No new item information is currently available." -No Preference = "No Preference" -No reviews were found for this record = "No reviews were found for this record" -No Tags = "No Tags" -nohit_filters = "Filters currently applied to this search:" -nohit_heading = "No Results!" -nohit_no_filters = "No filters were applied to this search." -nohit_parse_error = "There seems to be a problem with your search query. Please check the syntax. If you are not trying to use advanced features, putting the query inside double quotes may help." -nohit_prefix = "Your search" -nohit_spelling = "Perhaps you should try some spelling variations" -nohit_suffix = "did not match any resources." -nohit_suggest = "You may want to try to revise your search phrase by removing some words or check your spelling." -NOT = NOT -Not Illustrated = "Not Illustrated" -Not On Reserve = "Not On Reserve" -Note = Note -Notes = Notes -note_760 = "Main series" -note_765 = "Translation of" -note_770 = "Has supplement" -note_772 = "Supplement to" -note_773 = "Contained in" -note_774 = "Constituent unit" -note_775 = "Other edition available" -note_777 = "Issued with" -note_780_0 = "Continues" -note_780_1 = "Continues in part" -note_780_2 = "Supersedes" -note_780_3 = "Supersedes in part" -note_780_4 = "Formed by" -note_780_5 = "Absorbed" -note_780_6 = "Absorbed in part" -note_780_7 = "Separated from" -note_785_0 = "Continued by" -note_785_1 = "Continued in part by" -note_785_2 = "Superseded by" -note_785_3 = "Superseded in part by" -note_785_4 = "Absorbed by" -note_785_5 = "Absorbed in part by" -note_785_6 = "Split into" -note_785_7 = "Merged with" -note_785_8 = "Changed back to" -not_applicable = "n/a" -no_description = "Description not available." -no_items_selected = "No Items were Selected" -Number = Number -OAI Server = "OAI Server" -of = of -On Reserve - Ask at Circulation Desk = "On Reserve - Ask at Circulation Desk" -On Reserve = "On Reserve" -Online Access = "Online Access" -on_reserve = "Reserves - Ask at Circulation" -OR = OR -or create a new list = "or create a new list" -original = "Original" -Other Authors = "Other Authors" -Other Editions = "Other Editions" -Other Libraries = "Other Libraries" -Password = Password -Password Again = "Password Again" -Password cannot be blank = "Password cannot be blank" -Passwords do not match = "Passwords do not match" -Past = Past -peer_reviewed_limit = "Limit to articles from peer-reviewed journals" -Phone Number = "Phone Number" -Photo = Photo -Physical Description = "Physical Description" -Physical Object = "Physical Object" -pick_up_location = "Collection Library" -Place a Hold = "Place a Hold" -Playing Time = "Playing Time" -Please check back soon = "Please check back soon" -Please contact the Library Reference Department for assistance = "Please contact the Library Reference Department for assistance" -Please enable JavaScript. = "Please enable JavaScript." -Posted by = "Posted by" -posted_on = "on" -Preferred Library = "Preferred Library" -Prev = Prev -Preview = "Preview" -Preview from = "Preview from" -Previous Title = "Previous Title" -Print = Print -print_selected = "Print Selected" -Private = Private -Production Credits = "Production Credits" -Profile = Profile -profile_update = "Your profile was updated as requested" -Provider = Provider -Public = Public -Publication = Publication -Publication Frequency = "Publication Frequency" -Published = Published -Published in = "Published in" -QR Code = "QR Code" -qrcode_hide = "Hide QR Code" -qrcode_show = "Show QR Code" -query time = "query time" -Range = Range -Range slider = "Range slider" -Read the full review online... = "Read the full review online..." -Recall This = "Recall This" -Record Citations = "Record Citations" -Record Count = "Record Count" -Region = Region -Related Author = "Related Author" -Related Items = "Related Items" -Related Subjects = "Related Subjects" -Remove Filters = "Remove Filters" -Remove from Book Bag = "Remove from Book Bag" -renew_all = "Renew All Items" -renew_determine_fail = "We were unable to determine if your item can be renewed. Please contact a member of staff." -renew_empty_selection = "No items were selected" -renew_error = "We were unable to renew your item(s) - Please contact a member of staff" -renew_fail = "This item could not be renewed" -renew_item = "Renew Item" -renew_item_due = "Item due within the next 24 hours" -renew_item_limit = "This item has reached its renewal limit" -renew_item_no = "This item cannot be renewed" -renew_item_overdue = "Item Overdue" -renew_item_requested ="This item has been requested by another user" -renew_selected = "Renew Selected Items" -renew_select_box = "Renew Item" -renew_success = "Renewal Successful" -Requests = "Requests" -request_place_text = "Place a Request" -request_submit_text = "Submit Request" -Reserves = Reserves -Reserves Search = "Reserves Search" -Reserves Search Results = "Reserves Search Results" -Results for = "Results for" -Results per page = "Results per page" -Resumption Token = "Resumption Token" -Review by = "Review by" -Reviews = Reviews -Save = Save -Save Comment = "Save Comment" -Saved in = "Saved in" -save_search = "Save Search" -save_search_remove = "Remove Saved Search" -scholarly_limit = "Limit to articles from scholarly journals" -Scroll to Load More = "Scroll to Load More" -Search = Search -Search For = "Search For" -Search For Items on Reserve = "Search For Items on Reserve" -Search History = "Search History" -Search Home = "Search Home" -Search Options = "Search Options" -Search Results = "Search Results" -search results of = "search results of" -Search Tips = "Search Tips" -Search Tools = "Search Tools" -Search Type = "Search Type" -search_AND = "ALL Terms" -search_groups = "Search Groups" -search_match = Match -search_NOT = "NO Terms" -search_OR = "ANY Terms" -search_save_success = "Search saved successfully." -search_unsave_success = "Saved search removed successfully." -see all = "see all" -See also = "See also" -Select this record = "Select this record" -Select your carrier = "Select your carrier" -Selected = "Selected" -select_page = "Select Page" -Send = Send -Send us your feedback! = "Send us your feedback!" -Sensor Image = "Sensor Image" -Serial = Serial -Series = Series -Set = Set -Showing = Showing -Similar Items = "Similar Items" -skip_confirm = "Are you sure you want to skip this step?" -skip_fix_metadata = "Do not fix the metadata at this time." -skip_step = "Skip this step" -Slide = Slide -sms_failure = "Error! Could not send message." -sms_phone_number = "10-Digit Phone Number" -sms_sending = "Sending message..." -sms_success = "Message sent." -Software = Software -Sorry, but the help you requested is unavailable in your language. = "Sorry, but the help you requested is unavailable in your language." -Sort = Sort -sort_author = Author -sort_author_author = Alphabetical -sort_author_relevance = Popularity -sort_callnumber = "Classmark" -sort_relevance = Relevance -sort_title = Title -sort_year = "Date Descending" -sort_year asc = "Date Ascending" -spell_expand_alt = "Expand Search" -spell_suggest = "Search alternatives" -Staff View = "Staff View" -Start a new Advanced Search = "Start a new Advanced Search" -Start a new Basic Search = "Start a new Basic Search" -Start Page = "Start Page" -starting from = "starting from" -Status = Status -status_unknown_message = "Live Status Unavailable" -Subcollection = Subcollection -Subject = Subject -Subject Area = "Subject Area" -Subject Recommendations = "Subject Recommendations" -Subjects = "Subjects" -Submit = Submit -Suggested Topics = "Suggested Topics" -Summary = Summary -Summon Results = "Summon Results" -summon_database_recommendations = "You may find additional resources here:" -Supplied by Amazon = "Supplied by Amazon" -Switch view to = "Switch view to" -switchquery_intro = "You may be able to get more results by adjusting your search query." -switchquery_lowercasebools = "If you are trying to use Boolean operators, they must be ALL CAPS" -switchquery_unwantedbools = "The words AND, OR and NOT may confuse the search; try adding quotes" -switchquery_unwantedquotes = "Removing quotes may allow a broader search" -switchquery_wildcard = "Adding a wildcard symbol may retrieve word variants" -System Unavailable = "System Unavailable" -Table of Contents = "Table of Contents" -Table of Contents unavailable = "Table of Contents unavailable" -Tag = Tag -Tags = Tags -test_fail = "Failed" -test_fix = "Fix" -test_ok = "OK" -Text this = "Text this" -Thank you for your feedback. = "Thank you for your feedback." -That email address is already used = "That email address is already used" -That username is already taken = "That username is already taken" -The record you selected is not part of any of your lists. = "The record you selected is not part of any of your lists." -The record you selected is not part of the selected list. = "The record you selected is not part of the selected list." -The system is currently unavailable due to system maintenance = "The system is currently unavailable due to system maintenance" -Theme = Theme -This email was sent from = "This email was sent from" -This field is required = "This field is required" -This item is already part of the following list/lists = "This item is already part of the following list/lists" -Title = Title -Title not available = "Title not available" -title_hold_place = "Place a Title Level Request" -To = "To" -too_many_favorites = "This list is too large to display all at once. Try rearranging your favourites into more lists or limiting using tags." -too_many_new_items = "There are too many new items to display in a single list. Try limiting your search." -too_many_reserves = "There are too many course reserves to display in a single list. Try limiting your search." -Topic = Topic -Topics = Topics -top_facet_additional_prefix = "Additional " -top_facet_suffix = "... within your search." -tree_search_limit_reached_html = "Your search returned too many results to display in the tree. Showing only the first <b>%%limit%%</b> items. For a full search click <a id="fullSearchLink" href="%%url%%" target="_blank">here.</a>" -University Library = "University Library" -Unknown = Unknown -Upgrade VuFind = "Upgrade VuFind" -upgrade_description = "If you are upgrading a previous VuFind version, you can load your old settings with this tool." -Use for = "Use for" -Use instead = "Use instead" -User Account = "User Account" -Username = Username -Username cannot be blank = "Username cannot be blank" -VHS = VHS -Video = Video -Video Clips = "Video Clips" -Videos = Videos -view already selected = "view already selected" -View Book Bag = "View Book Bag" -View Full Collection = "View Full Collection" -View Full Record = "View Full Record" -View online: Full view Book Preview from the Hathi Trust = "View online: Full view Book Preview from the Hathi Trust" -View Record = "View Record" -View Records = "View Records" -Volume = Volume -Volume Holdings = "Volume Holdings" -vudl_tab_docs = "Docs" -vudl_tab_pages = "Pages" -VuFind Configuration = "VuFind Configuration" -vufind_upgrade_fail = "We cannot upgrade VuFind at this time" -Warning: These citations may not always be 100% accurate = "Warning: These citations may not always be 100% accurate" -wcterms_broader = "Broader Subjects" -wcterms_exact = "Related Subjects" -wcterms_narrower = "Narrower Subjects" -Web = Web -widen_prefix = "Try widening your search to" -wiki_link = "Provided by Wikipedia" -with filters = "with filters" -with_selected = "with selected" -Year of Publication = "Year of Publication" -Yesterday = Yesterday -You do not have any fines = "You do not have any fines" -You do not have any holds or recalls placed = "You do not have any holds or recalls placed" -You do not have any items checked out = "You do not have any items checked out" -You do not have any saved resources = "You do not have any saved resources" -You must be logged in first = "You must be logged in first" -Your Account = "Your Account" -Your book bag is empty = "Your book bag is empty" -Your Checked Out Items = "Your Checked Out Items" -Your Comment = "Your Comment" -Your Favorites = "Your Favourites" -Your Fines = "Your Fines" -Your Holds and Recalls = "Your Holds and Recalls" -Your Lists = "Your Lists" -Your Profile = "Your Profile" -Your search terms = "Your search terms" -Your Tags = "Your Tags" -Zip = Zip +; For future reference: +;English = English +Access = Access +Account = Account +Add = Add +Add a Note = "Add a Note" +Add Tag = "Add Tag" +Add Tags = "Add Tags" +Add to another list = "Add to another list" +Add to Book Bag = "Add to Book Bag" +Add to favorites = "Add to Favourites" +Add your comment = "Add your comment" +Address = Address +add_comment_fail_blank = "Comment cannot be blank." +add_comment_success = "Comment added." +add_favorite_fail = "Error: Record not saved" +add_favorite_prefix = Add +add_favorite_suffix = "to favourites" +add_list_fail = "Error: List not created" +add_other_libraries = "Include articles at other libraries" +add_search = "Add Search Field" +add_search_group = "Add Search Group" +add_tag_error = "Error: Could Not Save Tags" +add_tag_note = "Spaces will separate tags. Use quotes for multi-word tags." +add_tag_success = "Tags Saved" +Advanced = Advanced +Advanced Search = "Advanced Search" +advSearchError_noRights = "I'm sorry, but you don't have permission to edit that search. Perhaps your browser session has expired?" +advSearchError_notAdvanced = "The search you have requested to edit is not an advanced search." +advSearchError_notFound = "The search you have requested was not found." +adv_search_all = "All Fields" +adv_search_author = Author +adv_search_callnumber = "Classmarks" +adv_search_filters = "Applied Filters" +adv_search_isn = ISBN/ISSN +adv_search_journaltitle = "Journal Title" +adv_search_label = "Search for" +adv_search_publisher = Publisher +adv_search_select_all = "select all" +adv_search_series = Series +adv_search_subject = Subject +adv_search_title = Title +adv_search_toc = "Table of Contents" +adv_search_year = "Year of Publication" +All Fields = "All Fields" +All Pages Loaded = "All Pages Loaded" +alphabrowse_matches = "Titles" +An error has occurred = "An error has occurred" +AND = AND +APA Citation = "APA Citation" +Ask a Librarian = "Ask a Librarian" +Audience = Audience +Audio = Audio +authentication_error_admin = "We cannot log you in at this time. Please contact your system administrator for assistance." +authentication_error_blank = "Login information cannot be blank." +authentication_error_denied = "Credentials do not match! Access denied." +authentication_error_invalid = "Invalid login -- please try again." +authentication_error_loggedout = "You have logged out." +authentication_error_technical = "We cannot log you in at this time. Please try again later." +Author = Author +Author Browse = "Author Browse" +Author Notes = "Author Notes" +Author Results for = "Author Results for" +Author Search Results = "Author Search Results" +Authors Related to Your Search = "Authors Related to Your Search" +Auto configuration is currently disabled = "Auto configuration is currently disabled" +auto_configure_description = "If this is a new installation, you may be able to fix the error using VuFind's Auto Configure tool." +auto_configure_disabled = "Auto configuration is disabled." +auto_configure_title = "Auto Configure" +Available = Available +Available Functionality = "Available Functionality" +Awards = Awards +Back to Record = "Back to Record" +Back to Search Results = "Back to Search Results" +Backtrace = Backtrace +Bag = Bag +Balance = Balance +basic_search_keep_filters = "Retain my current filters" +Be the first to leave a comment = "Be the first to leave a comment" +Be the first to tag this record = "Be the first to tag this record" +Bibliographic Details = "Bibliographic Details" +Bibliography = Bibliography +Book = Book +Book Bag = "Book Bag" +Book Cover = "Book Cover" +bookbag_confirm_empty = "Are you sure you want to empty your Book Bag?" +bookbag_delete = "Delete Selected Book Bag Items" +bookbag_delete_selected = "Delete Selected" +bookbag_email = "Email Selected Book Bag Items" +bookbag_email_selected = "Email Selected" +bookbag_export = "Export Selected Book Bag Items" +bookbag_export_selected = "Export Selected" +bookbag_full = "Full" +bookbag_full_msg = "Your Book Bag is Full" +bookbag_is_empty = "Your Book Bag is empty" +bookbag_print_selected = "Print Selected" +bookbag_save = "Save Selected Book Bag Items" +bookbag_save_selected = "Save Selected" +Bookmark = Bookmark +Books = Books +Braille = Braille +Browse = Browse +Browse Alphabetically = "Browse Alphabetically" +Browse for Authors = "Browse for Authors" +Browse Home = "Browse Home" +Browse the Catalog = "Browse the Catalogue" +Browse the Collection = "Browse the Collection" +Browse the Collection Alphabetically = "Browse the Collection Alphabetically" +browse_dewey = "Classmark (Dewey)" +browse_lcc = "Call Number (LC)" +bulk_email_success = "Your item(s) were e-mailed" +bulk_email_title = "Library Catalogue Items" +bulk_error_missing = "Some data was missing. Your request was not successful." +bulk_export_not_supported = "The record(s) you have selected do not support bulk export." +bulk_fail = "Sorry, an error has occurred. Please try again." +bulk_noitems_advice = "No items were selected. Please click on a checkbox next to an item and try again." +bulk_save_error = "Some data was missing. Your items were not saved." +bulk_save_success = "Your item(s) were saved successfully" +by = by +By = By +By Alphabetical = "By Alphabetical" +By Author = "By Author" +By Call Number = "By Classmark" +By Course = "By Course" +By Department = "By Department" +By Era = "By Era" +By Genre = "By Genre" +By Instructor = "By Instructor" +By Popularity = "By Popularity" +By Recent = "By Recent" +By Region = "By Region" +By Title = "By Title" +By Topic = "By Topic" +Call Number = "Classmark" +callnumber_abbrev = "Call #" +Cannot find record = "Cannot find record" +Cannot find similar records = "Cannot find similar records" +Cassette = Cassette +Catalog Results = "Catalogue Results" +cat_establish_account = "In order to establish your account profile, please enter the following information:" +cat_password_abbrev = "Catalogue Password" +cat_username_abbrev = "Catalogue Username" +CD = CD +Check Hold = "Check Hold" +Check Recall = "Check Recall" +Checked Out = "Checked Out" +Checked Out Items = "Checked Out Items" +Checkedout = "Checked Out" +Choose a Category to Begin Browsing = "Choose a Category to Begin Browsing" +Choose a Column to Begin Browsing = "Choose a Column to Begin Browsing" +Choose a List = "Choose a List" +citation_issue_abbrev = "no." +citation_multipage_abbrev = "pp." +citation_singlepage_abbrev = "p." +citation_volume_abbrev = "Vol." +Cite this = "Cite this" +close = close +Code = Code +Collection Browse = "Collection Browse" +Collection Items = "Collection Items" +Collections = Collections +collection_disambiguation = "Found Multiple Matching Collections" +collection_empty = "No items to display." +collection_view_record = "View Record" +Comments = Comments +comment_error_load = "Error: Could Not Redraw Comment List" +comment_error_save = "Error: Could Not Save Comment" +Configuration = "Configuration" +confirm_delete = "Are you sure you want to delete this?" +confirm_delete_brief = "Delete Item?" +confirm_delete_list_brief = "Delete List?" +confirm_delete_list_text = "Are you sure you want to delete this list?" +confirm_dialog_no = Cancel +confirm_dialog_yes = Confirm +confirm_hold_cancel_all_text = "Do you wish to cancel all your current holds?" +confirm_hold_cancel_selected_text = "Do you wish to cancel your selected holds?" +Contents = Contents +Contributors = "Contributors" +Copies = Copies +Copy = Copy +Corporate Author = "Corporate Author" +Course = Course +Course Reserves = "Course Reserves" +course_reserves_empty_list = "No matching Course Reserves found." +Cover Image = "Cover Image" +Create a List = "Create a List" +Create New Account = "Create New Account" +Created = Created +Date = Date +date_day_placeholder = "D" +date_from = "From" +date_month_placeholder = "M" +date_to = "To" +date_year_placeholder = "Y" +Days = Days +Debug Information = "Debug Information" +Delete = Delete +delete_comment_failure = "Could not delete comment." +delete_comment_success = "Comment deleted." +delete_list = "Delete List" +delete_selected = "Delete Selected" +delete_selected_favorites = "Delete Selected Favourites" +del_search = "Remove Search Group" +Department = Department +Description = Description +Desired Username = "Desired Username" +Details = "Staff View" +Displaying the top = "Displaying the top" +Document Inspector = "Document Inspector" +Due = Due +Due Date = "Due Date" +DVD = DVD +eBook = eBook +Edit = Edit +Edit this Advanced Search = "Edit this Advanced Search" +Edition = Edition +edit_list = "Edit List" +edit_list_fail = "Sorry, you are not permitted to edit this list" +edit_list_success = "List successfully updated." +Electronic = Electronic +Email = Email +Email Address = "Email Address" +Email address is invalid = "Email address is invalid" +Email Record = "Email Record" +Email this = "Email this" +Email this Search = "Email this Search" +email_failure = "Error - Message Cannot Be Sent" +email_link = "Link" +email_selected = "Email Selected" +email_selected_favorites = "Email Selected Favourites" +email_sending = "Sending Message..." +email_success = "Message Sent" +Empty = Empty +Empty Book Bag = "Empty Book Bag" +Enable Auto Config = "Enable Auto Config" +End Page = "End Page" +Era = Era +error_inconsistent_parameters = "Sorry, an error has occurred. Inconsistent parameters detected." +error_page_parameter_list_heading = "Request Parameters" +Exception = Exception +Excerpt = Excerpt +exclude_facet = "[exclude]" +exclude_newspapers = "Exclude newspaper articles" +Expires = Expires +Export = Export +Export Favorites = "Export Favourites" +Export Items = "Export Items" +Export Record = "Export Record" +Export to = "Export to " +export_choose_format = "Please choose an export format." +export_download = "Download File" +export_exporting = "Creating Export File" +export_fail = "Your items were not exported" +export_invalid_format = "The selected export format is not supported by this record." +export_missing = "Some data was missing. Your items were not exported." +export_no_formats = "This record does not support export." +export_redirect = "Start export to %%service%%" +export_refworks = "Start export to RefWorks" +export_save = "Save File" +export_selected = "Export Selected" +export_selected_favorites = "Export Selected Favourites" +export_success = "Export Complete" +export_unsupported_format = "Unsupported Export Format" +FAQs = "FAQs" +Favorites = Favourites +fav_delete = "Delete Selected Favourites" +fav_delete_deleting = "Your favourite(s) are being deleted." +fav_delete_fail = "Sorry, an error has occurred. Your favourite(s) were not deleted." +fav_delete_missing = "Some data was missing. Your favourite(s) were not deleted." +fav_delete_success = "Your favourite(s) were deleted." +fav_delete_warn = "You are about to delete these favourites from all your lists - If you want to delete favourites from a specific list only, please select the list before clicking delete." +fav_email_fail = "Sorry, an error has occurred. Your favourite(s) were not e-mailed." +fav_email_missing = "Some data was missing. Your favourite(s) were not emailed." +fav_email_success = "Your favourite(s) were emailed as requested." +fav_export = "Export Favourites" +fav_list_delete = "List has been deleted" +fav_list_delete_cancel = "This list was not deleted" +fav_list_delete_fail = "Sorry, an error has occurred. Your list was not deleted." +Fee = Fee +Feedback = Feedback +Feedback Email = "Feedback Email" +feedback_name = "Name" +filter_wildcard = "Any" +Find = Find +Find More = "Find More" +Find New Items = "Find New Items" +Finding Aid = "Finding Aid" +Fine = Fine +Fines = Fines +fine_limit_patron = "You have reached your fines limit and cannot renew items" +First Name = "First Name" +fix_metadata = "Yes, fix the metadata; I'll wait" +for search = "for search" +Form Submitted! = "Form Submitted!" +Format = Format +found = found +From = "From" +Full description = "Full description" +fulltext_limit = "Limit to articles with full text available" +Genre = Genre +Geography = Geography +Get full text = "Get full text" +Get RSS Feed = "Get RSS Feed" +Globe = Globe +Go = "Go" +Go to Standard View = "Go to Standard View" +google_map_cluster = "Cluster" +google_map_cluster_points = "Cluster Points" +Grid = Grid +Group = Group +group_AND = "ALL Groups" +group_OR = "ANY Groups" +Has Illustrations = "Has Illustrations" +Help with Advanced Search = "Help with Advanced Search" +Help with Search Operators = "Help with Search Operators" +hierarchy_hide_tree = "Hide Full Hierarchy" +hierarchy_show_tree = "Show Full Hierarchy" +hierarchy_tree = "Context" +hierarchy_tree_error = "Sorry, we were unable to load the hierarchical tree" +hierarchy_view_context = "View Context" +History = History +history_delete = Delete +history_delete_link = Delete +history_empty_search = "Anything (empty search)" +history_limits = Limits +history_no_searches = "There are currently no searches in your history." +history_purge = "Purge my unsaved searches" +history_recent_searches = "Your Recent Searches" +history_results = Results +history_save = Save? +history_saved_searches = "Your Saved Searches" +history_save_link = Save +history_search = Search +history_time = Time +Holdings = Holdings +Holdings at Other Libraries = "Holdings at Other Libraries" +Holdings details from = "Holdings details from" +Holds = Holds +Holds and Recalls = "Holds and Recalls" +hold_available = "Available for Collection" +hold_cancel = "Cancel Hold" +hold_cancel_all = "Cancel All Holds" +hold_cancel_fail = "Your request was not cancelled. Please contact the issue desk for further assistance" +hold_cancel_selected = "Cancel Selected Holds" +hold_cancel_success = "Your request was successfully cancelled" +hold_cancel_success_items = "request(s) were successfully cancelled" +hold_date_invalid = "Please enter a valid date" +hold_date_past = "Please enter a date in the future" +hold_empty_selection = "No holds were selected" +hold_error_blocked = "You do not have sufficient privileges to place a hold on this item" +hold_error_fail = "Your request failed. Please contact the issue desk for further assistance" +hold_invalid_pickup = "An invalid pick up location was entered. Please try again" +hold_login = "for hold and recall information" +hold_place = "Place Request" +hold_place_fail_missing = "Your request failed. Some data was missing. Please contact the issue desk for further assistance" +hold_place_success = "Your request was successful" +hold_profile_html = "For hold and recall information, please establish your <a href="%%url%%">Library Catalog Profile</a>." +hold_queue_position = "Queue Position" +hold_required_by = "No longer required after" +hold_success = "Your request was successful" +Home = Home +home_browse = "Browse by" +Identifier = "Identifier" +Illustrated = Illustrated +ils_offline_holdings_message = "Holdings and item availability information is currently unavailable. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" +ils_offline_home_message = "Your account details and live item information will be unavailable during this time. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" +ils_offline_login_message = "Your account details will be unavailable during this time. Please accept our apologies for any inconvenience this may cause and contact us for further assistance:" +ils_offline_status = "Our Library Management System is currently under maintenance." +ils_offline_title = "System Under Maintenance" +Import Record = "Import Record" +Import to = "Import to " +in = in +In This Collection = "In This Collection" +information = "Information" +Institution = Institution +Institutional Login = "Institutional Login" +Instructor = Instructor +Internet = Internet +Invalid Patron Login = "Invalid Patron Login" +Invalid phone number. = "Invalid phone number." +Invalid Recipient Email Address = "Invalid Recipient Email Address" +Invalid Sender Email Address = "Invalid Sender Email Address" +in_collection_label = "In collection:" +ISBN = ISBN +ISBN/ISSN = "ISBN/ISSN" +ISSN = ISSN +Issue = Issue +Item Description = "Item Description" +Item removed from favorites = "Item removed from favourites" +Item removed from list = "Item removed from list" +Items = "Items" +items = items +items_added_to_bookbag = "item(s) added to your Book Bag" +items_already_in_bookbag = "item(s) are either already in your Book Bag or could not be added" +Journal = Journal +Journal Articles = "Journal Articles" +Journal Title = "Journal Title" +Journals = Journals +Jump to = "Jump to" +Keyword = Keyword +Keyword Filter = "Keyword Filter" +Kit = Kit +Language = Language +large = "Large" +Last Modified = "Last Modified" +Last Name = "Last Name" +less = less +Library = Library +Library Catalog Password = "Library Catalogue Password" +Library Catalog Profile = "Library Catalogue Profile" +Library Catalog Record = "Library Catalogue Record" +Library Catalog Search = "Library Catalogue Search" +Library Catalog Search Result = "Library Catalogue Search Result" +Library Catalog Username = "Library Catalogue Username" +Library Web Search = "Library Web Search" +lightbox_error = "Error: Cannot Load Popup Box" +Limit To = "Limit To" +List = List +list_access_denied = "You do not have permission to view this list." +list_edit_name_required = "List name is required." +Loading = Loading +load_tag_error = "Error: Could Not Load Tags" +Located = Located +Location = Location +Log Out = "Log Out" +Login = Login +login_disabled = "Login is not available at this time." +Logout = Logout +Main Author = "Main Author" +Manuscript = Manuscript +Map = Map +Map View = "Map View" +Maps = Maps +map_results_label = "At this location:" +Media Format = "Media Format" +medium = "Medium" +Message = Message +Message From Sender = "Message From Sender" +Metadata Prefix = "Metadata Prefix" +Microfilm = Microfilm +MLA Citation = "MLA Citation" +mobile_link = "You appear to be on a mobile device; switch to mobile view?" +more = more +More catalog results = "More catalogue results" +More options = "More options" +More Summon results = "More Summon results" +more_info_toggle = "Show/hide more info." +Most Recent Received Issues = "Most Recent Received Issues" +Multiple Call Numbers = "Multiple Classmarks" +Multiple Locations = "Multiple Locations" +Musical Score = "Musical Score" +My Favorites = "My Favourites" +My Fines = "My Fines" +My Holds = "My Holds" +My Profile = "My Profile" +MyResearch Help = "MyResearch Help" +Narrow Search = "Narrow Search" +navigate_back = "Back" +Need Help? = "Need Help?" +New Item Feed = "New Item Feed" +New Item Search = "New Item Search" +New Item Search Results = "New Item Search Results" +New Items = "New Items" +New Title = "New Title" +Newspaper = Newspaper +Next = Next +No citations are available for this record = "No citations are available for this record" +No Cover Image = "No Cover Image" +No dependency problems found = "No dependency problems found" +No excerpts were found for this record. = "No excerpts were found for this record." +No library account = "No library account" +No new item information is currently available. = "No new item information is currently available." +No Preference = "No Preference" +No reviews were found for this record = "No reviews were found for this record" +No Tags = "No Tags" +nohit_filters = "Filters currently applied to this search:" +nohit_heading = "No Results!" +nohit_no_filters = "No filters were applied to this search." +nohit_parse_error = "There seems to be a problem with your search query. Please check the syntax. If you are not trying to use advanced features, putting the query inside double quotes may help." +nohit_prefix = "Your search" +nohit_spelling = "Perhaps you should try some spelling variations" +nohit_suffix = "did not match any resources." +nohit_suggest = "You may want to try to revise your search phrase by removing some words or check your spelling." +NOT = NOT +Not Illustrated = "Not Illustrated" +Not On Reserve = "Not On Reserve" +Note = Note +Notes = Notes +note_760 = "Main series" +note_765 = "Translation of" +note_770 = "Has supplement" +note_772 = "Supplement to" +note_773 = "Contained in" +note_774 = "Constituent unit" +note_775 = "Other edition available" +note_777 = "Issued with" +note_780_0 = "Continues" +note_780_1 = "Continues in part" +note_780_2 = "Supersedes" +note_780_3 = "Supersedes in part" +note_780_4 = "Formed by" +note_780_5 = "Absorbed" +note_780_6 = "Absorbed in part" +note_780_7 = "Separated from" +note_785_0 = "Continued by" +note_785_1 = "Continued in part by" +note_785_2 = "Superseded by" +note_785_3 = "Superseded in part by" +note_785_4 = "Absorbed by" +note_785_5 = "Absorbed in part by" +note_785_6 = "Split into" +note_785_7 = "Merged with" +note_785_8 = "Changed back to" +not_applicable = "n/a" +no_description = "Description not available." +no_items_selected = "No Items were Selected" +Number = Number +OAI Server = "OAI Server" +of = of +On Reserve - Ask at Circulation Desk = "On Reserve - Ask at Circulation Desk" +On Reserve = "On Reserve" +Online Access = "Online Access" +on_reserve = "Reserves - Ask at Circulation" +OR = OR +or create a new list = "or create a new list" +original = "Original" +Other Authors = "Other Authors" +Other Editions = "Other Editions" +Other Libraries = "Other Libraries" +Password = Password +Password Again = "Password Again" +Password cannot be blank = "Password cannot be blank" +Passwords do not match = "Passwords do not match" +Past = Past +peer_reviewed_limit = "Limit to articles from peer-reviewed journals" +Phone Number = "Phone Number" +Photo = Photo +Physical Description = "Physical Description" +Physical Object = "Physical Object" +pick_up_location = "Collection Library" +Place a Hold = "Place a Hold" +Playing Time = "Playing Time" +Please check back soon = "Please check back soon" +Please contact the Library Reference Department for assistance = "Please contact the Library Reference Department for assistance" +Please enable JavaScript. = "Please enable JavaScript." +Posted by = "Posted by" +posted_on = "on" +Preferred Library = "Preferred Library" +Prev = Prev +Preview = "Preview" +Preview from = "Preview from" +Previous Title = "Previous Title" +Print = Print +print_selected = "Print Selected" +Private = Private +Production Credits = "Production Credits" +Profile = Profile +profile_update = "Your profile was updated as requested" +Provider = Provider +Public = Public +Publication = Publication +Publication Frequency = "Publication Frequency" +Published = Published +Published in = "Published in" +QR Code = "QR Code" +qrcode_hide = "Hide QR Code" +qrcode_show = "Show QR Code" +query time = "query time" +Range = Range +Range slider = "Range slider" +Read the full review online... = "Read the full review online..." +Recall This = "Recall This" +Record Citations = "Record Citations" +Record Count = "Record Count" +Region = Region +Related Author = "Related Author" +Related Items = "Related Items" +Related Subjects = "Related Subjects" +Remove Filters = "Remove Filters" +Remove from Book Bag = "Remove from Book Bag" +renew_all = "Renew All Items" +renew_determine_fail = "We were unable to determine if your item can be renewed. Please contact a member of staff." +renew_empty_selection = "No items were selected" +renew_error = "We were unable to renew your item(s) - Please contact a member of staff" +renew_fail = "This item could not be renewed" +renew_item = "Renew Item" +renew_item_due = "Item due within the next 24 hours" +renew_item_limit = "This item has reached its renewal limit" +renew_item_no = "This item cannot be renewed" +renew_item_overdue = "Item Overdue" +renew_item_requested ="This item has been requested by another user" +renew_selected = "Renew Selected Items" +renew_select_box = "Renew Item" +renew_success = "Renewal Successful" +Requests = "Requests" +request_place_text = "Place a Request" +request_submit_text = "Submit Request" +Reserves = Reserves +Reserves Search = "Reserves Search" +Reserves Search Results = "Reserves Search Results" +Results for = "Results for" +Results per page = "Results per page" +Resumption Token = "Resumption Token" +Review by = "Review by" +Reviews = Reviews +Save = Save +Save Comment = "Save Comment" +Saved in = "Saved in" +save_search = "Save Search" +save_search_remove = "Remove Saved Search" +scholarly_limit = "Limit to articles from scholarly journals" +Scroll to Load More = "Scroll to Load More" +Search = Search +Search For = "Search For" +Search For Items on Reserve = "Search For Items on Reserve" +Search History = "Search History" +Search Home = "Search Home" +Search Options = "Search Options" +Search Results = "Search Results" +search results of = "search results of" +Search Tips = "Search Tips" +Search Tools = "Search Tools" +Search Type = "Search Type" +search_AND = "ALL Terms" +search_groups = "Search Groups" +search_match = Match +search_NOT = "NO Terms" +search_OR = "ANY Terms" +search_save_success = "Search saved successfully." +search_unsave_success = "Saved search removed successfully." +see all = "see all" +See also = "See also" +Select this record = "Select this record" +Select your carrier = "Select your carrier" +Selected = "Selected" +select_page = "Select Page" +Send = Send +Send us your feedback! = "Send us your feedback!" +Sensor Image = "Sensor Image" +Serial = Serial +Series = Series +Set = Set +Showing = Showing +Similar Items = "Similar Items" +skip_confirm = "Are you sure you want to skip this step?" +skip_fix_metadata = "Do not fix the metadata at this time." +skip_step = "Skip this step" +Slide = Slide +sms_failure = "Error! Could not send message." +sms_phone_number = "10-Digit Phone Number" +sms_sending = "Sending message..." +sms_success = "Message sent." +Software = Software +Sorry, but the help you requested is unavailable in your language. = "Sorry, but the help you requested is unavailable in your language." +Sort = Sort +sort_author = Author +sort_author_author = Alphabetical +sort_author_relevance = Popularity +sort_callnumber = "Classmark" +sort_relevance = Relevance +sort_title = Title +sort_year = "Date Descending" +sort_year asc = "Date Ascending" +spell_expand_alt = "Expand Search" +spell_suggest = "Search alternatives" +Staff View = "Staff View" +Start a new Advanced Search = "Start a new Advanced Search" +Start a new Basic Search = "Start a new Basic Search" +Start Page = "Start Page" +starting from = "starting from" +Status = Status +status_unknown_message = "Live Status Unavailable" +Subcollection = Subcollection +Subject = Subject +Subject Area = "Subject Area" +Subject Recommendations = "Subject Recommendations" +Subjects = "Subjects" +Submit = Submit +Suggested Topics = "Suggested Topics" +Summary = Summary +Summon Results = "Summon Results" +summon_database_recommendations = "You may find additional resources here:" +Supplied by Amazon = "Supplied by Amazon" +Switch view to = "Switch view to" +switchquery_intro = "You may be able to get more results by adjusting your search query." +switchquery_lowercasebools = "If you are trying to use Boolean operators, they must be ALL CAPS" +switchquery_unwantedbools = "The words AND, OR and NOT may confuse the search; try adding quotes" +switchquery_unwantedquotes = "Removing quotes may allow a broader search" +switchquery_wildcard = "Adding a wildcard symbol may retrieve word variants" +System Unavailable = "System Unavailable" +Table of Contents = "Table of Contents" +Table of Contents unavailable = "Table of Contents unavailable" +Tag = Tag +Tags = Tags +test_fail = "Failed" +test_fix = "Fix" +test_ok = "OK" +Text this = "Text this" +Thank you for your feedback. = "Thank you for your feedback." +That email address is already used = "That email address is already used" +That username is already taken = "That username is already taken" +The record you selected is not part of any of your lists. = "The record you selected is not part of any of your lists." +The record you selected is not part of the selected list. = "The record you selected is not part of the selected list." +The system is currently unavailable due to system maintenance = "The system is currently unavailable due to system maintenance" +Theme = Theme +This email was sent from = "This email was sent from" +This field is required = "This field is required" +This item is already part of the following list/lists = "This item is already part of the following list/lists" +Title = Title +Title not available = "Title not available" +title_hold_place = "Place a Title Level Request" +To = "To" +too_many_favorites = "This list is too large to display all at once. Try rearranging your favourites into more lists or limiting using tags." +too_many_new_items = "There are too many new items to display in a single list. Try limiting your search." +too_many_reserves = "There are too many course reserves to display in a single list. Try limiting your search." +Topic = Topic +Topics = Topics +top_facet_additional_prefix = "Additional " +top_facet_suffix = "... within your search." +tree_search_limit_reached_html = "Your search returned too many results to display in the tree. Showing only the first <b>%%limit%%</b> items. For a full search click <a id="fullSearchLink" href="%%url%%" target="_blank">here.</a>" +University Library = "University Library" +Unknown = Unknown +Upgrade VuFind = "Upgrade VuFind" +upgrade_description = "If you are upgrading a previous VuFind version, you can load your old settings with this tool." +Use for = "Use for" +Use instead = "Use instead" +User Account = "User Account" +Username = Username +Username cannot be blank = "Username cannot be blank" +VHS = VHS +Video = Video +Video Clips = "Video Clips" +Videos = Videos +view already selected = "view already selected" +View Book Bag = "View Book Bag" +View Full Collection = "View Full Collection" +View Full Record = "View Full Record" +View online: Full view Book Preview from the Hathi Trust = "View online: Full view Book Preview from the Hathi Trust" +View Record = "View Record" +View Records = "View Records" +Volume = Volume +Volume Holdings = "Volume Holdings" +vudl_tab_docs = "Docs" +vudl_tab_pages = "Pages" +VuFind Configuration = "VuFind Configuration" +vufind_upgrade_fail = "We cannot upgrade VuFind at this time" +Warning: These citations may not always be 100% accurate = "Warning: These citations may not always be 100% accurate" +wcterms_broader = "Broader Subjects" +wcterms_exact = "Related Subjects" +wcterms_narrower = "Narrower Subjects" +Web = Web +widen_prefix = "Try widening your search to" +wiki_link = "Provided by Wikipedia" +with filters = "with filters" +with_selected = "with selected" +Year of Publication = "Year of Publication" +Yesterday = Yesterday +You do not have any fines = "You do not have any fines" +You do not have any holds or recalls placed = "You do not have any holds or recalls placed" +You do not have any items checked out = "You do not have any items checked out" +You do not have any saved resources = "You do not have any saved resources" +You must be logged in first = "You must be logged in first" +Your Account = "Your Account" +Your book bag is empty = "Your book bag is empty" +Your Checked Out Items = "Your Checked Out Items" +Your Comment = "Your Comment" +Your Favorites = "Your Favourites" +Your Fines = "Your Fines" +Your Holds and Recalls = "Your Holds and Recalls" +Your Lists = "Your Lists" +Your Profile = "Your Profile" +Your search terms = "Your search terms" +Your Tags = "Your Tags" +Zip = Zip zoom = "Zoom" \ No newline at end of file diff --git a/languages/en.ini b/languages/en.ini index 2b9aa0cf1dc..ff53d494354 100644 --- a/languages/en.ini +++ b/languages/en.ini @@ -239,6 +239,7 @@ error_inconsistent_parameters = "Sorry, an error has occurred. Inconsistent para error_page_parameter_list_heading = "Request Parameters" Exception = Exception Excerpt = Excerpt +exclude_facet = "[exclude]" exclude_newspapers = "Exclude newspaper articles" Expires = Expires Export = Export diff --git a/module/VuFind/src/VuFind/Search/Base/Params.php b/module/VuFind/src/VuFind/Search/Base/Params.php index e7af34703ba..fa5defef2d7 100644 --- a/module/VuFind/src/VuFind/Search/Base/Params.php +++ b/module/VuFind/src/VuFind/Search/Base/Params.php @@ -951,6 +951,13 @@ class Params implements ServiceLocatorAwareInterface $list = array(); // Loop through all the current filter fields foreach ($this->filterList as $field => $values) { + $firstChar = substr($field, 0, 1); + if ($firstChar == '-') { + $operator = 'NOT'; + $field = substr($field, 1); + } else { + $operator = 'AND'; + } // and each value currently used for that field $translate = in_array($field, $this->getOptions()->getTranslatedFacets()); @@ -964,7 +971,8 @@ class Params implements ServiceLocatorAwareInterface 'value' => $value, 'displayText' => $translate ? $this->translate($value) : $value, - 'field' => $field + 'field' => $field, + 'operator' => $operator, ); } } diff --git a/module/VuFind/src/VuFind/Search/Summon/Params.php b/module/VuFind/src/VuFind/Search/Summon/Params.php index 897ee262e3f..ef348c0aec9 100644 --- a/module/VuFind/src/VuFind/Search/Summon/Params.php +++ b/module/VuFind/src/VuFind/Search/Summon/Params.php @@ -234,7 +234,11 @@ class Params extends \VuFind\Search\Base\Params ->add('rangeFilters', "{$filt['field']},{$from}:{$to}"); } else { // Standard case: - $params->add('filters', "{$filt['field']},{$safeValue}"); + $fq = "{$filt['field']},{$safeValue}"; + if ($filt['operator'] == 'NOT') { + $fq .= ',true'; + } + $params->add('filters', $fq); } } } diff --git a/module/VuFind/src/VuFind/Search/UrlQueryHelper.php b/module/VuFind/src/VuFind/Search/UrlQueryHelper.php index 7372b9efa3e..8df3e3e2d57 100644 --- a/module/VuFind/src/VuFind/Search/UrlQueryHelper.php +++ b/module/VuFind/src/VuFind/Search/UrlQueryHelper.php @@ -233,15 +233,17 @@ class UrlQueryHelper /** * Add a facet to the parameters. * - * @param string $field Facet field - * @param string $value Facet value + * @param string $field Facet field + * @param string $value Facet value + * @param string $operator Facet type to add (AND, OR, NOT) * * @return string */ - public function addFacet($field, $value) + public function addFacet($field, $value, $operator = 'AND') { // Facets are just a special case of filters: - return $this->addFilter($field . ':"' . $value . '"'); + $prefix = ($operator == 'NOT') ? '-' : ''; + return $this->addFilter($prefix . $field . ':"' . $value . '"'); } /** @@ -288,10 +290,15 @@ class UrlQueryHelper * * @return string */ - public function removeFacet($field, $value, $escape = true) + public function removeFacet($field, $value, $escape = true, $operator = 'AND') { $params = $this->getParamArray(); + // Account for operators: + if ($operator == 'NOT') { + $field = '-' . $field; + } + // Remove the filter: $newFilter = array(); if (isset($params['filter']) && is_array($params['filter'])) { diff --git a/themes/blueprint/templates/Recommend/SideFacets.phtml b/themes/blueprint/templates/Recommend/SideFacets.phtml index 375a3a5b692..9f3cbff38bd 100644 --- a/themes/blueprint/templates/Recommend/SideFacets.phtml +++ b/themes/blueprint/templates/Recommend/SideFacets.phtml @@ -21,13 +21,13 @@ if (isset($filter['specialType']) && $filter['specialType'] == 'keyword') { $removeLink = $this->currentPath().$results->getUrlQuery()->replaceTerm($filter['value'], ''); } else { - $removeLink = $this->currentPath().$results->getUrlQuery()->removeFacet($filter['field'], $filter['value']); + $removeLink = $this->currentPath().$results->getUrlQuery()->removeFacet($filter['field'], $filter['value'], true, $filter['operator']); } if ($filter['displayText'] == '[* TO *]') $filter['displayText'] = $this->translate('filter_wildcard'); ?> <li> <a href="<?=$removeLink?>"><img src="<?=$this->imageLink('silk/delete.png')?>" alt="Delete"/></a> - <a href="<?=$removeLink?>"><?=$this->transEsc($field)?>: <?=$this->escapeHtml($filter['displayText'])?></a> + <a href="<?=$removeLink?>"><? if ($filter['operator'] == 'NOT') echo $this->transEsc('NOT') . ' '; ?><?=$this->transEsc($field)?>: <?=$this->escapeHtml($filter['displayText'])?></a> </li> <? endforeach; ?> <? endforeach; ?> @@ -64,7 +64,10 @@ <? if ($thisFacet['isApplied']): ?> <dd><?=$this->escapeHtml($thisFacet['displayText'])?> <img src="<?=$this->imageLink('silk/tick.png')?>" alt="Selected"/></dd> <? else: ?> - <dd><a href="<?=$this->currentPath().$results->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>)</dd> + <dd> + <a href="<?=$this->currentPath().$results->getUrlQuery()->addFacet($title, $thisFacet['value'])?>"><?=$this->escapeHtml($thisFacet['displayText'])?></a> (<?=$this->escapeHtml($thisFacet['count'])?>) + <a href="<?=$this->currentPath().$results->getUrlQuery()->addFacet($title, $thisFacet['value'], 'NOT')?>"><?=$this->transEsc('exclude_facet')?></a> + </dd> <? endif; ?> <? endforeach; ?> <? if ($i > 5): ?><dd><a href="#" onclick="lessFacets('<?=$this->escapeHtml($title)?>'); return false;"><?=$this->transEsc('less')?> ...</a></dd><? endif; ?> diff --git a/themes/jquerymobile/templates/Recommend/SideFacets.phtml b/themes/jquerymobile/templates/Recommend/SideFacets.phtml index 361f90c5d23..91ed4b99df3 100644 --- a/themes/jquerymobile/templates/Recommend/SideFacets.phtml +++ b/themes/jquerymobile/templates/Recommend/SideFacets.phtml @@ -5,11 +5,11 @@ <? $i = 0; foreach ($filterList as $field => $filters): ?> <? foreach ($filters as $filter): ?> <? - $removeLink = $this->currentPath().$results->getUrlQuery()->removeFacet($filter['field'], $filter['value']); + $removeLink = $this->currentPath().$results->getUrlQuery()->removeFacet($filter['field'], $filter['value'], true, $filter['operator']); if ($filter['displayText'] == '[* TO *]') $filter['displayText'] = $this->translate('filter_wildcard'); ?> <li data-icon="minus"> - <a data-icon="minus" rel="external" href="<?=$removeLink?>"><?=$i++ > 0 ? $this->transEsc("AND") . ' ' : ''?><?=$this->transEsc($field)?>: <?=$this->escapeHtml($filter['displayText'])?></a> + <a data-icon="minus" rel="external" href="<?=$removeLink?>"><?=$i++ > 0 ? $this->transEsc("AND") . ' ' : ''?><? if ($filter['operator'] == 'NOT') echo $this->transEsc('NOT') . ' '; ?><?=$this->transEsc($field)?>: <?=$this->escapeHtml($filter['displayText'])?></a> </li> <? endforeach; ?> <? endforeach; ?> -- GitLab