2006-06-19 15:00:13 +00:00
pane.collections.delete = Are you sure you want to delete the selected project?
pane.collections.delete.multiple = Are you sure you want to delete the selected projects?
pane.collections.rename = Rename Project:
2006-06-21 23:22:37 +00:00
pane.collections.library = My Library
2006-06-19 15:00:13 +00:00
pane.collections.untitled = Untitled Project
2006-06-05 17:47:36 +00:00
2006-06-21 23:22:37 +00:00
pane.items.delete = Are you sure you want to delete the selected item?
pane.items.delete.multiple = Are you sure you want to delete the selected items?
2006-08-02 17:57:16 +00:00
pane.items.delete.title = Delete
pane.items.delete.attached = Erase attached notes and files
2006-06-21 23:22:37 +00:00
pane.items.menu.remove = Remove Selected Item...
pane.items.menu.remove.multiple = Remove Selected Items...
2006-07-26 15:28:31 +00:00
pane.items.menu.export = Export Selected Item...
pane.items.menu.export.multiple = Export Selected Items...
pane.items.menu.createBib = Create Bibliography From Selected Item...
pane.items.menu.createBib.multiple = Create Bibliography From Selected Items...
2006-06-21 23:22:37 +00:00
pane.item.selected.zero = No items selected
pane.item.selected.multiple = %1 items selected
pane.item.changeType = Are you sure you want to change the item type? Certain fields may be lost.
pane.item.notes.untitled = Untitled Note
2006-07-27 18:08:09 +00:00
pane.item.notes.delete.confirm = Are you sure you want to delete this note?
2006-06-21 23:22:37 +00:00
pane.item.notes.count.singular = %1 note
pane.item.notes.count.plural = %1 notes
2006-07-27 18:08:09 +00:00
pane.item.files.delete.confirm = Are you sure you want to delete this file?
pane.item.files.count.singular = %1 file
pane.item.files.count.plural = %1 files
2006-08-02 17:57:16 +00:00
pane.item.files.select = Select a File
2006-06-05 17:47:36 +00:00
2006-05-19 13:53:37 +00:00
itemFields.title = Title
itemFields.dateAdded = Date Added
itemFields.dateModified = Modified
itemFields.source = Source
itemFields.rights = Rights
2006-06-08 21:30:22 +00:00
itemFields.notes = Notes
2006-08-06 16:10:28 +00:00
itemFields.seriesTitle = Series Title
2006-05-19 13:53:37 +00:00
itemFields.volume = Volume
2006-08-06 16:10:28 +00:00
itemFields.issue = Issue
2006-05-19 13:53:37 +00:00
itemFields.edition = Edition
itemFields.place = Place
itemFields.publisher = Publisher
itemFields.year = Year
itemFields.pages = Pages
itemFields.ISBN = ISBN
2006-08-06 16:10:28 +00:00
itemFields.publicationTitle = Publication Title
2006-05-19 13:53:37 +00:00
itemFields.ISSN = ISSN
2006-06-24 08:28:37 +00:00
itemFields.date = Date
itemFields.section = Section
itemFields.thesisType = Type
itemFields.accessionNumber = Accession Number
itemFields.archiveLocation = Location in Archive
itemFields.medium = Medium
itemFields.distributor = Distributor
itemFields.url = URL
itemFields.type = Type
2006-06-25 18:10:27 +00:00
itemFields.callNumber = Call Number
itemFields.extra = Extra
2006-07-31 04:31:44 +00:00
itemFields.journalAbbreviation = Journal Abbreviation
2006-08-06 16:10:28 +00:00
itemFields.DOI = DOI
itemFields.lastModified = Last Modified
2006-05-18 21:15:02 +00:00
Fixes #29, independent notes
- Added 'note' item type
- Updated API to support independent note creation
Notes are, more or less, just regular items, with an item type of 1. They're created through Scholar.Notes.add(text, sourceItemID), which returns the itemID of the new note. sourceItemID is optional--if left out, an independent note will be created. (There's currently nothing stopping you from doing getNewItemByType(1) yourself, but the note would be contentless and broken, so you shouldn't do that.) Note data could've been stuffed into itemData, but I kept it separate in itemNotes to keep metadata searching faster and to keep things cleaner.
Methods calls that can be called on all items:
isNote() (same as testing for itemTypeID 1)
Method calls that can be called on source items only:
numNotes()
getNotes() (array of note itemIDs for a source)
Method calls that can be called on note items only:
updateNote(text)
setNoteSource(sourceItemID) (for changing source--use empty or false to make independent, which is currently what happens when you delete a note--will get option with #91)
getNote() (note content)
getNoteSource() (sourceItemID of a note)
Calling the above methods on the wrong item types will throw an error.
*** This will break note creation/display until David updates interface code. ***
2006-06-27 15:14:07 +00:00
itemTypes.note = Note
2006-05-19 13:53:37 +00:00
itemTypes.book = Book
2006-06-24 08:28:37 +00:00
itemTypes.bookSection = Book Section
2006-05-22 18:51:22 +00:00
itemTypes.journalArticle = Journal Article
2006-06-24 08:28:37 +00:00
itemTypes.magazineArticle = Magazine Article
itemTypes.newspaperArticle = Newspaper Article
itemTypes.thesis = Thesis
itemTypes.letter = Letter
itemTypes.manuscript = Manuscript
itemTypes.interview = Interview
itemTypes.film = Film
itemTypes.artwork = Artwork
itemTypes.website = Website
Addresses #17, add filesystem/ability to store files
Not finished, but enough to give David something to work with
No BLOBs -- just linking/importing of files and loaded documents
New Scholar.Item methods:
incrementFileCount() (used internally)
decrementFileCount() (used internally)
isFile()
numFiles()
getFile() -- returns nsILocalFile or false if associated file doesn't exist (note: always returns false for items with LINK_MODE_LINKED_URL, since they have no files -- use getFileURL() instead)
getFileURL() -- returns URL string
getFileLinkMode() -- compare to Scholar.Files.LINK_MODE_* constants: LINKED_FILE, IMPORTED_FILE, LINKED_URL, IMPORTED_URL
getFileMimeType() -- mime type of file (e.g. text/plain)
getFileCharset() -- charsetID of file
getFiles() -- array of file itemIDs this file is a source for
New Scholar.Files methods:
importFromFile(nsIFile file [, int sourceItemID])
linkFromFile(nsIFile file [, int sourceItemID])
importFromDocument(nsIDOMDocument document [, int sourceItemID])
linkFromDocument(nsIDOMDocument document [, int sourceItemID])
New class Scholar.FileTypes -- partially implemented, not yet used
New class Scholar.CharacterSets -- same as other *Types classes:
getID(idOrName)
getName(idOrName)
getTypes() (aliased to getAll(), which I'll probably change the others to as well)
Charsets table with all official character sets (copied from Mozilla source)
Renamed Item.setNoteSource() to setSource() and Item.getNoteSource() to getSource() and adjusted to handle both notes and files
2006-07-27 09:16:02 +00:00
itemTypes.file = File
2006-05-22 18:51:22 +00:00
creatorTypes.author = Author
creatorTypes.contributor = Contributor
2006-06-02 18:22:34 +00:00
creatorTypes.editor = Editor
2006-07-31 04:31:44 +00:00
creatorTypes.translator = Translator
2006-06-02 18:22:34 +00:00
2006-06-27 02:03:10 +00:00
ingester.scraping = Saving Item...
ingester.scrapeComplete = Item Saved.
ingester.scrapeError = Could Not Save Item.
2006-08-01 23:10:31 +00:00
ingester.scrapeErrorDescription = An error occurred while saving this item. Please try again. If this error persists, contact the translator author.
db.dbCorruptedNoBackup = The Scholar database appears to have become corrupted, and no automatic backup is available.\n\nA new database file has been created. The damaged file was saved in your Scholar directory.
db.dbRestored = The Scholar database appears to have become corrupted.\n\nYour data was restored from the last automatic backup made on %1 at %2. The damaged file was saved in your Scholar directory.
2006-08-02 21:06:58 +00:00
db.dbRestoreFailed = The Scholar database appears to have become corrupted, and an attempt to restore from the last automatic backup failed.\n\nA new database file has been created. The damaged file was saved in your Scholar directory.
fileInterface.itemsImported = Importing items...
Closes #7, Add advanced search functionality to data layer
Implemented advanced/saved search architecture -- to use, you create a new search with var search = new Scholar.Search(), add conditions to it with addCondition(condition, operator, value), and run it with search(). The standard conditions with their respective operators can be retrieved with Scholar.SearchConditions.getStandardConditions(). Others are for special search flags and can be specified as follows (condition, operator, value):
'context', null, collectionIDToSearchWithin
'recursive', 'true'|'false' (as strings!--defaults to false if not specified, though, so should probably just be removed if not wanted), null
'joinMode', 'any'|'all', null
For standard conditions, currently only 'title' and the itemData fields are supported -- more coming soon.
Localized strings created for the standard search operators
API:
search.setName(name) -- must be called before save() on new searches
search.load(savedSearchID)
search.save() -- saves search to DB and returns a savedSearchID
search.addCondition(condition, operator, value)
search.updateCondition(searchConditionID, condition, operator, value)
search.removeCondition(searchConditionID)
search.getSearchCondition(searchConditionID) -- returns a specific search condition used in the search
search.getSearchConditions() -- returns search conditions used in the search
search.search() -- runs search and returns an array of item ids for results
search.getSQL() -- will be used by Dan for search-within-search
Scholar.Searches.getAll() -- returns an array of saved searches with 'id' and 'name', in alphabetical order
Scholar.Searches.erase(savedSearchID) -- deletes a given saved search from the DB
Scholar.SearchConditions.get(condition) -- get condition data (operators, etc.)
Scholar.SearchConditions.getStandardConditions() -- retrieve conditions for use in drop-down menu (as opposed to special search flags)
Scholar.SearchConditions.hasOperator() -- used by Dan for error-checking
2006-08-08 02:04:02 +00:00
fileInterface.itemsExported = Exporting items...
searchOperator.is = is
searchOperator.isNot = is not
searchOperator.contains = contains
searchOperator.doesNotContain = does not contain
searchOperator.lessThan = is less than
searchOperator.greaterThan = is greater than
searchOperator.isBefore = is before
searchOperator.isAfter = is after