- In saved searches, use librayID_key hashes rather than ids for collections and saved searches (fixes inconsistent references across machines going forward, though it can't fix references that are already incorrect)
- Make "Saved Search" a separate search condition from 'Collection' in drop-down menu - Better handle invalid search conditions - (Dev) Saved search conditions are now 'collection' and 'savedSearch' rather than 'collectionID' and 'savedSearchID', though the latter can be used as shortcuts when adding This could use some testing.
This commit is contained in:
parent
f6c8494a6b
commit
9c5c02ef50
47 changed files with 198 additions and 113 deletions
|
@ -96,7 +96,7 @@ var ZoteroAdvancedSearch = new function() {
|
|||
}
|
||||
|
||||
var s = _searchBox.search.clone();
|
||||
s.setName(name.value);
|
||||
s.name = name.value;
|
||||
s.save();
|
||||
}
|
||||
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
conditionsBox.removeChild(conditionsBox.firstChild);
|
||||
|
||||
var conditions = this.search.getSearchConditions();
|
||||
|
||||
for(var id in conditions)
|
||||
{
|
||||
// Checkboxes
|
||||
|
@ -361,12 +362,10 @@
|
|||
|
||||
// Generate drop-down menu instead of textbox for certain conditions
|
||||
switch (conditionsMenu.value){
|
||||
case 'collectionID':
|
||||
var merged = [];
|
||||
|
||||
case 'collection':
|
||||
var rows = [];
|
||||
var cols = Zotero.getCollections(false, true);
|
||||
for (var i in cols)
|
||||
{
|
||||
for (var i in cols) {
|
||||
// Indent subcollections
|
||||
var indent = '';
|
||||
if (cols[i].level) {
|
||||
|
@ -375,19 +374,20 @@
|
|||
}
|
||||
indent += '- ';
|
||||
}
|
||||
merged.push([indent + cols[i].getName(), 'C' + cols[i].getID()]);
|
||||
rows.push([indent + cols[i].name, 'C' + Zotero.Collections.getLibraryKeyHash(cols[i])]);
|
||||
}
|
||||
this.createValueMenu(rows);
|
||||
break;
|
||||
|
||||
case 'savedSearch':
|
||||
var rows = [];
|
||||
var searches = Zotero.Searches.getAll();
|
||||
for (var i in searches)
|
||||
{
|
||||
if (searches[i]['id'] != this.parent.search.getID())
|
||||
{
|
||||
merged.push([searches[i]['name'], 'S' + searches[i]['id']]);
|
||||
for (var i in searches) {
|
||||
if (searches[i].id != this.parent.search.id) {
|
||||
rows.push([searches[i].name, 'S' + Zotero.Searches.getLibraryKeyHash(searches[i])]);
|
||||
}
|
||||
}
|
||||
|
||||
this.createValueMenu(merged);
|
||||
this.createValueMenu(rows);
|
||||
break;
|
||||
|
||||
case 'itemTypeID':
|
||||
|
@ -446,7 +446,9 @@
|
|||
var operatorsList = this.id('operatorsmenu');
|
||||
|
||||
// Drop-down menu
|
||||
if (conditionsMenu.value == 'collectionID' || conditionsMenu.value == 'itemTypeID'
|
||||
if (conditionsMenu.value == 'collection'
|
||||
|| conditionsMenu.value == 'savedSearch'
|
||||
|| conditionsMenu.value == 'itemTypeID'
|
||||
|| conditionsMenu.value == 'fileTypeID') {
|
||||
this.id('valuefield').hidden = true;
|
||||
this.id('valuemenu').hidden = false;
|
||||
|
@ -515,21 +517,18 @@
|
|||
var prefix = '';
|
||||
|
||||
// Handle special conditions
|
||||
switch (condition['condition'])
|
||||
{
|
||||
case 'savedSearchID':
|
||||
this.id('conditionsmenu').value = 'collectionID';
|
||||
switch (condition.condition) {
|
||||
case 'savedSearch':
|
||||
prefix = 'S';
|
||||
break;
|
||||
|
||||
case 'collectionID':
|
||||
case 'collection':
|
||||
prefix = 'C';
|
||||
// fall through
|
||||
|
||||
default:
|
||||
this.id('conditionsmenu').value = condition['condition'];
|
||||
break;
|
||||
}
|
||||
|
||||
this.id('conditionsmenu').value = condition.condition;
|
||||
|
||||
// Convert datetimes from UTC to localtime
|
||||
if ((condition['condition']=='accessDate' ||
|
||||
condition['condition']=='dateAdded' ||
|
||||
|
@ -591,16 +590,16 @@
|
|||
|
||||
// Handle special C1234 and S5678 form for
|
||||
// collections and searches
|
||||
else if (this.id('conditionsmenu').value=='collectionID')
|
||||
else if (this.id('conditionsmenu').value == 'collection' || this.id('conditionsmenu').value == 'savedSearch')
|
||||
{
|
||||
var letter = this.id('valuemenu').value.substr(0,1);
|
||||
if (letter=='C')
|
||||
{
|
||||
condition = 'collectionID';
|
||||
condition = 'collection';
|
||||
}
|
||||
else if (letter=='S')
|
||||
{
|
||||
condition = 'savedSearchID';
|
||||
condition = 'savedSearch';
|
||||
}
|
||||
var value = this.id('valuemenu').value.substr(1);
|
||||
}
|
||||
|
|
|
@ -21,6 +21,13 @@ function doUnload()
|
|||
|
||||
function doAccept()
|
||||
{
|
||||
document.getElementById('search-box').search.setName(document.getElementById('search-name').value);
|
||||
document.getElementById('search-box').search.name = document.getElementById('search-name').value;
|
||||
try {
|
||||
io.dataOut = document.getElementById('search-box').save();
|
||||
}
|
||||
catch (e) {
|
||||
Zotero.debug(e, 1);
|
||||
Components.utils.reportError(e);
|
||||
throw (e);
|
||||
}
|
||||
}
|
|
@ -2492,6 +2492,21 @@ Zotero.Schema = new function(){
|
|||
Zotero.DB.query("DELETE FROM tags WHERE TRIM(name)=''");
|
||||
}
|
||||
|
||||
if (i==67) {
|
||||
var rows = Zotero.DB.query("SELECT * FROM savedSearchConditions WHERE condition='collectionID'");
|
||||
for each(var row in rows) {
|
||||
var c = Zotero.Collections.get(row.value);
|
||||
var newVal = c ? '0_' + c.key : null;
|
||||
Zotero.DB.query("UPDATE savedSearchConditions SET condition='collection', value=? WHERE savedSearchID=? AND searchConditionID=?", [newVal, row.savedSearchID, row.searchConditionID]);
|
||||
}
|
||||
var rows = Zotero.DB.query("SELECT * FROM savedSearchConditions WHERE condition='savedSearchID'");
|
||||
for each(var row in rows) {
|
||||
var c = Zotero.Searches.get(row.value);
|
||||
var newVal = c ? '0_' + c.key : null;
|
||||
Zotero.DB.query("UPDATE savedSearchConditions SET condition='savedSearch', value=? WHERE savedSearchID=? AND searchConditionID=?", [newVal, row.savedSearchID, row.searchConditionID]);
|
||||
}
|
||||
}
|
||||
|
||||
Zotero.wait();
|
||||
}
|
||||
|
||||
|
|
|
@ -210,9 +210,9 @@ Zotero.Search.prototype.load = function() {
|
|||
var [condition, mode] =
|
||||
Zotero.SearchConditions.parseCondition(conditions[i]['condition']);
|
||||
|
||||
if (!Zotero.SearchConditions.get(condition)){
|
||||
Zotero.debug("Invalid saved search condition '"
|
||||
+ condition + "' -- skipping", 2);
|
||||
var cond = Zotero.SearchConditions.get(condition);
|
||||
if (!cond || cond.noLoad) {
|
||||
Zotero.debug("Invalid saved search condition '" + condition + "' -- skipping", 2);
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -407,6 +407,30 @@ Zotero.Search.prototype.addCondition = function(condition, operator, value, requ
|
|||
}
|
||||
return false;
|
||||
}
|
||||
// Shortcut to add a collection
|
||||
else if (condition == 'collectionID') {
|
||||
var c = Zotero.Collections.get(value);
|
||||
if (!c) {
|
||||
var msg = "Collection " + value + " not found";
|
||||
Zotero.debug(msg, 2);
|
||||
Components.utils.reportError(msg);
|
||||
return;
|
||||
}
|
||||
var lkh = Zotero.Collections.getLibraryKeyHash(c);
|
||||
return this.addCondition('collection', operator, lkh, required);
|
||||
}
|
||||
// Shortcut to add a saved search
|
||||
else if (condition == 'savedSearchID') {
|
||||
var s = Zotero.Searches.get(value);
|
||||
if (!s) {
|
||||
var msg = "Saved search " + value + " not found";
|
||||
Zotero.debug(msg, 2);
|
||||
Components.utils.reportError(msg);
|
||||
return;
|
||||
}
|
||||
var lkh = Zotero.Searches.getLibraryKeyHash(s);
|
||||
return this.addCondition('savedSearch', operator, lkh, required);
|
||||
}
|
||||
|
||||
var searchConditionID = ++this._maxSearchConditionID;
|
||||
|
||||
|
@ -499,17 +523,16 @@ Zotero.Search.prototype.getSearchConditions = function(){
|
|||
this.load();
|
||||
}
|
||||
var conditions = [];
|
||||
var i = 1;
|
||||
for each(var condition in this._conditions) {
|
||||
conditions[i] = {
|
||||
id: i,
|
||||
for (var id in this._conditions) {
|
||||
var condition = this._conditions[id];
|
||||
conditions[id] = {
|
||||
id: id,
|
||||
condition: condition.condition,
|
||||
mode: condition.mode,
|
||||
operator: condition.operator,
|
||||
value: condition.value,
|
||||
required: condition.required
|
||||
};
|
||||
i++;
|
||||
}
|
||||
return conditions;
|
||||
}
|
||||
|
@ -938,7 +961,8 @@ Zotero.Search.prototype._buildQuery = function(){
|
|||
for (var i in this._conditions){
|
||||
var data = Zotero.SearchConditions.get(this._conditions[i]['condition']);
|
||||
|
||||
if (data['table']){
|
||||
// Has a table or explicitly unspecial
|
||||
if (data.table || (!data.special && typeof data.special != 'undefined')) {
|
||||
conditions.push({
|
||||
name: data['name'],
|
||||
alias: data['name']!=this._conditions[i]['condition']
|
||||
|
@ -1041,8 +1065,6 @@ Zotero.Search.prototype._buildQuery = function(){
|
|||
//
|
||||
if (condition['table']){
|
||||
switch (condition['table']){
|
||||
case 'savedSearches':
|
||||
break;
|
||||
default:
|
||||
condSelectSQL += 'itemID '
|
||||
switch (condition['operator']){
|
||||
|
@ -1093,19 +1115,26 @@ Zotero.Search.prototype._buildQuery = function(){
|
|||
openParens++;
|
||||
break;
|
||||
|
||||
case 'collectionID':
|
||||
var q = ['?'];
|
||||
var p = [{int:condition['value']}];
|
||||
|
||||
// Search descendent collections if recursive search
|
||||
if (recursive){
|
||||
var col = Zotero.Collections.get(condition['value']);
|
||||
case 'collection':
|
||||
var col;
|
||||
if (condition.value) {
|
||||
var lkh = Zotero.Collections.parseLibraryKeyHash(condition.value);
|
||||
if (lkh) {
|
||||
col = Zotero.Collections.getByLibraryAndKey(lkh.libraryID, lkh.key);
|
||||
}
|
||||
}
|
||||
if (!col) {
|
||||
var msg = "Collection " + condition['value'] + " specified in saved search doesn't exist";
|
||||
var msg = "Collection " + condition.value + " specified in saved search doesn't exist";
|
||||
Zotero.debug(msg, 2);
|
||||
Zotero.log(msg, 'warning', 'chrome://zotero/content/xpcom/search.js');
|
||||
continue;
|
||||
}
|
||||
|
||||
var q = ['?'];
|
||||
var p = [col.id];
|
||||
|
||||
// Search descendent collections if recursive search
|
||||
if (recursive){
|
||||
var descendents = col.getDescendents(false, 'collection');
|
||||
if (descendents){
|
||||
for (var k in descendents){
|
||||
|
@ -1121,14 +1150,26 @@ Zotero.Search.prototype._buildQuery = function(){
|
|||
skipOperators = true;
|
||||
break;
|
||||
|
||||
case 'savedSearchID':
|
||||
case 'savedSearch':
|
||||
condSQL += "itemID ";
|
||||
if (condition['operator']=='isNot'){
|
||||
condSQL += "NOT ";
|
||||
}
|
||||
condSQL += "IN (";
|
||||
var search = new Zotero.Search();
|
||||
search.id = condition.value;
|
||||
|
||||
var search;
|
||||
if (condition.value) {
|
||||
var lkh = Zotero.Searches.parseLibraryKeyHash(condition.value);
|
||||
if (lkh) {
|
||||
search = Zotero.Searches.getByLibraryAndKey(lkh.libraryID, lkh.key);
|
||||
}
|
||||
}
|
||||
if (!search) {
|
||||
var msg = "Search " + condition.value + " specified in saved search doesn't exist";
|
||||
Zotero.debug(msg, 2);
|
||||
Zotero.log(msg, 'warning', 'chrome://zotero/content/xpcom/search.js');
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check if there are any post-search filters
|
||||
var hasFilter = search.hasPostSearchFilter();
|
||||
|
@ -1655,8 +1696,9 @@ Zotero.SearchConditions = new function(){
|
|||
* Define and set up the available advanced search conditions
|
||||
*
|
||||
* Flags:
|
||||
* - special
|
||||
* - template
|
||||
* - special (don't show in search window menu)
|
||||
* - template (special handling)
|
||||
* - noLoad (can't load from saved search)
|
||||
*/
|
||||
function _init(){
|
||||
var conditions = [
|
||||
|
@ -1724,18 +1766,6 @@ Zotero.SearchConditions = new function(){
|
|||
}
|
||||
},
|
||||
|
||||
// Saved search to search within
|
||||
{
|
||||
name: 'savedSearchID',
|
||||
operators: {
|
||||
is: true,
|
||||
isNot: true
|
||||
},
|
||||
table: 'savedSearches',
|
||||
field: 'savedSearchID',
|
||||
special: true
|
||||
},
|
||||
|
||||
{
|
||||
name: 'quicksearch',
|
||||
operators: {
|
||||
|
@ -1743,25 +1773,48 @@ Zotero.SearchConditions = new function(){
|
|||
isNot: true,
|
||||
contains: true,
|
||||
doesNotContain: true
|
||||
}
|
||||
},
|
||||
noLoad: true
|
||||
},
|
||||
|
||||
// Quicksearch block markers
|
||||
{
|
||||
name: 'blockStart'
|
||||
name: 'blockStart',
|
||||
noLoad: true
|
||||
},
|
||||
|
||||
{
|
||||
name: 'blockEnd'
|
||||
name: 'blockEnd',
|
||||
noLoad: true
|
||||
},
|
||||
|
||||
// Shortcuts for adding collections and searches by id
|
||||
{
|
||||
name: 'collectionID',
|
||||
operators: {
|
||||
is: true,
|
||||
isNot: true
|
||||
},
|
||||
noLoad: true
|
||||
},
|
||||
|
||||
{
|
||||
name: 'savedSearchID',
|
||||
operators: {
|
||||
is: true,
|
||||
isNot: true
|
||||
},
|
||||
noLoad: true
|
||||
},
|
||||
|
||||
|
||||
//
|
||||
// Standard conditions
|
||||
//
|
||||
|
||||
// Collection id to search within
|
||||
{
|
||||
name: 'collectionID',
|
||||
name: 'collection',
|
||||
operators: {
|
||||
is: true,
|
||||
isNot: true
|
||||
|
@ -1770,6 +1823,16 @@ Zotero.SearchConditions = new function(){
|
|||
field: 'collectionID'
|
||||
},
|
||||
|
||||
// Saved search to search within
|
||||
{
|
||||
name: 'savedSearch',
|
||||
operators: {
|
||||
is: true,
|
||||
isNot: true
|
||||
},
|
||||
special: false
|
||||
},
|
||||
|
||||
{
|
||||
name: 'dateAdded',
|
||||
operators: {
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=بعد
|
|||
searchOperator.isInTheLast=في الآخر
|
||||
|
||||
searchConditions.tooltip.fields=الحقول:
|
||||
searchConditions.collectionID=مجموعة
|
||||
searchConditions.collection=مجموعة
|
||||
searchConditions.itemTypeID=نوع الموضوع
|
||||
searchConditions.tag=وسم
|
||||
searchConditions.note=ملاحظة
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=е след
|
|||
searchOperator.isInTheLast=е в последните
|
||||
|
||||
searchConditions.tooltip.fields=Полета:
|
||||
searchConditions.collectionID=Колекция
|
||||
searchConditions.collection=Колекция
|
||||
searchConditions.itemTypeID=Тип на обекта
|
||||
searchConditions.tag=Отметка
|
||||
searchConditions.note=Бележка
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=és després
|
|||
searchOperator.isInTheLast=és en l'últim
|
||||
|
||||
searchConditions.tooltip.fields=Camps:
|
||||
searchConditions.collectionID=Col·lecció
|
||||
searchConditions.collection=Col·lecció
|
||||
searchConditions.itemTypeID=Tipus d'element
|
||||
searchConditions.tag=Etiqueta
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=je za
|
|||
searchOperator.isInTheLast=je naposledy
|
||||
|
||||
searchConditions.tooltip.fields=Pole:
|
||||
searchConditions.collectionID=Kolekce
|
||||
searchConditions.collection=Kolekce
|
||||
searchConditions.itemTypeID=Typ položky
|
||||
searchConditions.tag=Štítek
|
||||
searchConditions.note=Poznámka
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=Er efter
|
|||
searchOperator.isInTheLast=Er tilsidst
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Samling
|
||||
searchConditions.collection=Samling
|
||||
searchConditions.itemTypeID=Element Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Notat
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=ist nach
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Sammlung
|
||||
searchConditions.collection=Sammlung
|
||||
searchConditions.itemTypeID=Art des Eintrags
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Notiz
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=ist nach
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Sammlung
|
||||
searchConditions.collection=Sammlung
|
||||
searchConditions.itemTypeID=Art des Eintrags
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Notiz
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=ist nach
|
|||
searchOperator.isInTheLast=ist in den letzten
|
||||
|
||||
searchConditions.tooltip.fields=Felder:
|
||||
searchConditions.collectionID=Sammlung
|
||||
searchConditions.collection=Sammlung
|
||||
searchConditions.itemTypeID=Art des Eintrags
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Notiz
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -107,7 +107,7 @@
|
|||
<!ENTITY zotero.preferences.charset.importCharset "Import Character Encoding">
|
||||
<!ENTITY zotero.preferences.charset.displayExportOption "Display character encoding option on export">
|
||||
|
||||
<!ENTITY zotero.preferences.dataDir "Storage Location">
|
||||
<!ENTITY zotero.preferences.dataDir "Data Directory Location">
|
||||
<!ENTITY zotero.preferences.dataDir.useProfile "Use Firefox profile directory">
|
||||
<!ENTITY zotero.preferences.dataDir.custom "Custom:">
|
||||
<!ENTITY zotero.preferences.dataDir.choose "Choose...">
|
||||
|
|
|
@ -432,7 +432,8 @@ searchOperator.isAfter = is after
|
|||
searchOperator.isInTheLast = is in the last
|
||||
|
||||
searchConditions.tooltip.fields = Fields:
|
||||
searchConditions.collectionID = Collection
|
||||
searchConditions.collection = Collection
|
||||
searchConditions.savedSearch = Saved Search
|
||||
searchConditions.itemTypeID = Item Type
|
||||
searchConditions.tag = Tag
|
||||
searchConditions.note = Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=es posterior al
|
|||
searchOperator.isInTheLast=en los últimos
|
||||
|
||||
searchConditions.tooltip.fields=Campos:
|
||||
searchConditions.collectionID=Colección
|
||||
searchConditions.collection=Colección
|
||||
searchConditions.itemTypeID=Tipo de ítem
|
||||
searchConditions.tag=Marca
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=est après
|
|||
searchOperator.isInTheLast=est dans les derniers
|
||||
|
||||
searchConditions.tooltip.fields=Champs :
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Type d'élément
|
||||
searchConditions.tag=Marqueur
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=é despois
|
|||
searchOperator.isInTheLast=é no último
|
||||
|
||||
searchConditions.tooltip.fields=Campos:
|
||||
searchConditions.collectionID=Colección:
|
||||
searchConditions.collection=Colección:
|
||||
searchConditions.itemTypeID=Tipo de Artigo
|
||||
searchConditions.tag=Etiqueta
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=:שדות
|
||||
searchConditions.collectionID=אוסף
|
||||
searchConditions.collection=אוסף
|
||||
searchConditions.itemTypeID=סוג פריט
|
||||
searchConditions.tag=תג
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=utána következis
|
|||
searchOperator.isInTheLast=az utolsó
|
||||
|
||||
searchConditions.tooltip.fields=Mezők:
|
||||
searchConditions.collectionID=Gyűjtemény
|
||||
searchConditions.collection=Gyűjtemény
|
||||
searchConditions.itemTypeID=Elemtípus
|
||||
searchConditions.tag=Címke
|
||||
searchConditions.note=Jegyzet
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=er á eftir
|
|||
searchOperator.isInTheLast=er í síðustu
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Safn
|
||||
searchConditions.collection=Safn
|
||||
searchConditions.itemTypeID=Tegund færslu
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Athugasemd
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=è dopo
|
|||
searchOperator.isInTheLast=è alla fine
|
||||
|
||||
searchConditions.tooltip.fields=Campi:
|
||||
searchConditions.collectionID=Collezione
|
||||
searchConditions.collection=Collezione
|
||||
searchConditions.itemTypeID=Tipo di elemento
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=が次より後:
|
|||
searchOperator.isInTheLast=が次の期間の間にある:
|
||||
|
||||
searchConditions.tooltip.fields=フィールド:
|
||||
searchConditions.collectionID=コレクション
|
||||
searchConditions.collection=コレクション
|
||||
searchConditions.itemTypeID=アイテムの種類
|
||||
searchConditions.tag=タグ
|
||||
searchConditions.note=メモ
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=다음보다 이후에
|
|||
searchOperator.isInTheLast=맨 마지막에
|
||||
|
||||
searchConditions.tooltip.fields=필드:
|
||||
searchConditions.collectionID=수집품
|
||||
searchConditions.collection=수집품
|
||||
searchConditions.itemTypeID=항목 형식
|
||||
searchConditions.tag=태그
|
||||
searchConditions.note=노트
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Тэмдэглэл
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=er etter
|
|||
searchOperator.isInTheLast=er i den siste
|
||||
|
||||
searchConditions.tooltip.fields=Felter:
|
||||
searchConditions.collectionID=Samling
|
||||
searchConditions.collection=Samling
|
||||
searchConditions.itemTypeID=Elementtype
|
||||
searchConditions.tag=Tagg
|
||||
searchConditions.note=Notat
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is na
|
|||
searchOperator.isInTheLast=is in de laatste
|
||||
|
||||
searchConditions.tooltip.fields=Velden:
|
||||
searchConditions.collectionID=Verzameling
|
||||
searchConditions.collection=Verzameling
|
||||
searchConditions.itemTypeID=Object type
|
||||
searchConditions.tag=Label
|
||||
searchConditions.note=Aantekening
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=jest po
|
|||
searchOperator.isInTheLast=nie jest ostanie
|
||||
|
||||
searchConditions.tooltip.fields=Pola:
|
||||
searchConditions.collectionID=Kolekcja
|
||||
searchConditions.collection=Kolekcja
|
||||
searchConditions.itemTypeID=Typ elementu
|
||||
searchConditions.tag=Etykieta
|
||||
searchConditions.note=Notatka
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=é depois
|
|||
searchOperator.isInTheLast=está em último
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Coleção
|
||||
searchConditions.collection=Coleção
|
||||
searchConditions.itemTypeID=Tipo de ítem
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=está depois de
|
|||
searchOperator.isInTheLast=está na(o) última(o)
|
||||
|
||||
searchConditions.tooltip.fields=Campos:
|
||||
searchConditions.collectionID=Colecção
|
||||
searchConditions.collection=Colecção
|
||||
searchConditions.itemTypeID=Tipo de Item
|
||||
searchConditions.tag=Etiqueta
|
||||
searchConditions.note=Nota
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=este după
|
|||
searchOperator.isInTheLast=este în ultima
|
||||
|
||||
searchConditions.tooltip.fields=Câmpuri:
|
||||
searchConditions.collectionID=Colecţie
|
||||
searchConditions.collection=Colecţie
|
||||
searchConditions.itemTypeID=Tip înregistrare
|
||||
searchConditions.tag=Etichetă
|
||||
searchConditions.note=Notă
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=после
|
|||
searchOperator.isInTheLast=в прошлом
|
||||
|
||||
searchConditions.tooltip.fields=Поля:
|
||||
searchConditions.collectionID=Подборка
|
||||
searchConditions.collection=Подборка
|
||||
searchConditions.itemTypeID=Тип документа
|
||||
searchConditions.tag=Тег
|
||||
searchConditions.note=Заметка
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=je po
|
|||
searchOperator.isInTheLast=je v posledných
|
||||
|
||||
searchConditions.tooltip.fields=Polia:
|
||||
searchConditions.collectionID=Kolekcia
|
||||
searchConditions.collection=Kolekcia
|
||||
searchConditions.itemTypeID=Typ položky
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Poznámka
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=je za
|
|||
searchOperator.isInTheLast=je v zadnjih
|
||||
|
||||
searchConditions.tooltip.fields=Polja:
|
||||
searchConditions.collectionID=Zbirka
|
||||
searchConditions.collection=Zbirka
|
||||
searchConditions.itemTypeID=Vrsta vnosa
|
||||
searchConditions.tag=Značka
|
||||
searchConditions.note=Opomba
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=је после
|
|||
searchOperator.isInTheLast=је у задњих
|
||||
|
||||
searchConditions.tooltip.fields=Поља:
|
||||
searchConditions.collectionID=Колекција
|
||||
searchConditions.collection=Колекција
|
||||
searchConditions.itemTypeID=Врста ставке
|
||||
searchConditions.tag=Ознака
|
||||
searchConditions.note=Белешка
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=är efter
|
|||
searchOperator.isInTheLast=är i den sista
|
||||
|
||||
searchConditions.tooltip.fields=Fält:
|
||||
searchConditions.collectionID=Samling
|
||||
searchConditions.collection=Samling
|
||||
searchConditions.itemTypeID=Posttyp
|
||||
searchConditions.tag=Etikett
|
||||
searchConditions.note=Anteckning
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=is after
|
|||
searchOperator.isInTheLast=is in the last
|
||||
|
||||
searchConditions.tooltip.fields=Fields:
|
||||
searchConditions.collectionID=Collection
|
||||
searchConditions.collection=Collection
|
||||
searchConditions.itemTypeID=Item Type
|
||||
searchConditions.tag=Tag
|
||||
searchConditions.note=Note
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=sonra
|
|||
searchOperator.isInTheLast=son
|
||||
|
||||
searchConditions.tooltip.fields=Alanlar:
|
||||
searchConditions.collectionID=Derme
|
||||
searchConditions.collection=Derme
|
||||
searchConditions.itemTypeID=Eser Türü
|
||||
searchConditions.tag=Etiket
|
||||
searchConditions.note=Not
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=sau
|
|||
searchOperator.isInTheLast=trong vòng
|
||||
|
||||
searchConditions.tooltip.fields=Trường:
|
||||
searchConditions.collectionID=Bộ sưu tập
|
||||
searchConditions.collection=Bộ sưu tập
|
||||
searchConditions.itemTypeID=Kiểu Biểu ghi
|
||||
searchConditions.tag=Thẻ
|
||||
searchConditions.note=Ghi chép
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=晚于
|
|||
searchOperator.isInTheLast=在最近
|
||||
|
||||
searchConditions.tooltip.fields=字段
|
||||
searchConditions.collectionID=分类
|
||||
searchConditions.collection=分类
|
||||
searchConditions.itemTypeID=条目类型
|
||||
searchConditions.tag=标签
|
||||
searchConditions.note=笔记
|
||||
|
|
|
@ -432,7 +432,7 @@ searchOperator.isAfter=晚於
|
|||
searchOperator.isInTheLast=在最近
|
||||
|
||||
searchConditions.tooltip.fields=欄位:
|
||||
searchConditions.collectionID=收集
|
||||
searchConditions.collection=收集
|
||||
searchConditions.itemTypeID=項目類型
|
||||
searchConditions.tag=標籤
|
||||
searchConditions.note=筆記
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
-- 66
|
||||
-- 67
|
||||
|
||||
-- This file creates tables containing user-specific data for new users --
|
||||
-- any changes made here must be mirrored in transition steps in schema.js::_migrateSchema()
|
||||
|
|
Loading…
Reference in a new issue