diff --git a/CHANGELOG.md b/CHANGELOG.md index 4789d8e4501..290d13ea333 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,9 +35,9 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We added an option to mass append to fields via the Quality -> set/clear/append/rename fields dialog. [#2721](https://github.com/JabRef/jabref/issues/2721) - We added a check on startup to ensure JabRef is run with an adequate Java version. [3310](https://github.com/JabRef/jabref/issues/3310) - In the preference, all installed java Look and Feels are now listed and selectable +- We added an ID fetcher for [IACR eprints](https://eprint.iacr.org/). [#3473](https://github.com/JabRef/jabref/pull/3473) - We added a clear option to the right-click menu of the text field in the entry editor. [koppor#198](https://github.com/koppor/jabref/issues/198) - ### Fixed - We fixed the translation of \textendash and \textquotesingle in the entry preview [#3307](https://github.com/JabRef/jabref/issues/3307) - We fixed an issue where JabRef would not terminated after asking to collect anonymous statistics [#2955 comment](https://github.com/JabRef/jabref/issues/2955#issuecomment-334591123) diff --git a/src/main/java/org/jabref/logic/importer/WebFetchers.java b/src/main/java/org/jabref/logic/importer/WebFetchers.java index 628ebb41953..de2ec910a0d 100644 --- a/src/main/java/org/jabref/logic/importer/WebFetchers.java +++ b/src/main/java/org/jabref/logic/importer/WebFetchers.java @@ -13,6 +13,7 @@ import org.jabref.logic.importer.fetcher.DoiFetcher; import org.jabref.logic.importer.fetcher.GoogleScholar; import org.jabref.logic.importer.fetcher.GvkFetcher; +import org.jabref.logic.importer.fetcher.IacrEprintFetcher; import org.jabref.logic.importer.fetcher.IsbnFetcher; import org.jabref.logic.importer.fetcher.LibraryOfCongress; import org.jabref.logic.importer.fetcher.MathSciNet; @@ -90,6 +91,7 @@ public static List getIdBasedFetchers(ImportFormatPreferences im list.add(new MathSciNet(importFormatPreferences)); list.add(new CrossRef()); list.add(new LibraryOfCongress()); + list.add(new IacrEprintFetcher(importFormatPreferences)); list.sort(Comparator.comparing(WebFetcher::getName)); return list; } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/IacrEprintFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/IacrEprintFetcher.java new file mode 100644 index 00000000000..8da8608dba1 --- /dev/null +++ b/src/main/java/org/jabref/logic/importer/fetcher/IacrEprintFetcher.java @@ -0,0 +1,201 @@ +package org.jabref.logic.importer.fetcher; + +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.time.DateTimeException; +import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; +import java.time.temporal.TemporalAccessor; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.Optional; +import java.util.function.Predicate; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.jabref.logic.importer.FetcherException; +import org.jabref.logic.importer.IdBasedFetcher; +import org.jabref.logic.importer.ImportFormatPreferences; +import org.jabref.logic.importer.ParseException; +import org.jabref.logic.importer.fileformat.BibtexParser; +import org.jabref.logic.l10n.Localization; +import org.jabref.logic.net.URLDownload; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.FieldName; + +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +public class IacrEprintFetcher implements IdBasedFetcher { + + public static final String NAME = "IACR eprints"; + + private static final Log LOGGER = LogFactory.getLog(IacrEprintFetcher.class); + private static final Pattern DATE_FROM_WEBSITE_AFTER_2000_PATTERN = Pattern.compile("[a-z ]+(\\d{1,2} [A-Za-z][a-z]{2} \\d{4})"); + private static final DateTimeFormatter DATE_FORMAT_WEBSITE_AFTER_2000 = DateTimeFormatter.ofPattern("d MMM yyyy", Locale.US); + private static final Pattern DATE_FROM_WEBSITE_BEFORE_2000_PATTERN = Pattern.compile("[A-Za-z ]+? ([A-Za-z][a-z]{2,10} \\d{1,2}(th|st|nd|rd)?, \\d{4})\\.?"); + private static final DateTimeFormatter DATE_FORMAT_WEBSITE_BEFORE_2000_LONG_MONTHS = DateTimeFormatter.ofPattern("MMMM d['th']['st']['nd']['rd'] yyyy", Locale.US); + private static final DateTimeFormatter DATE_FORMAT_WEBSITE_BEFORE_2000_SHORT_MONTHS = DateTimeFormatter.ofPattern("MMM d['th']['st']['nd']['rd'] yyyy", Locale.US); + private static final DateTimeFormatter DATE_FORMAT_BIBTEX = DateTimeFormatter.ISO_LOCAL_DATE; + private static final Predicate IDENTIFIER_PREDICATE = Pattern.compile("\\d{4}/\\d{3,5}").asPredicate(); + private static final String CITATION_URL_PREFIX = "https://eprint.iacr.org/eprint-bin/cite.pl?entry="; + private static final String DESCRIPTION_URL_PREFIX = "https://eprint.iacr.org/"; + private static final Charset WEBSITE_CHARSET = StandardCharsets.ISO_8859_1; + + private final ImportFormatPreferences prefs; + + public IacrEprintFetcher(ImportFormatPreferences prefs) { + this.prefs = prefs; + } + + @Override + public Optional performSearchById(String identifier) throws FetcherException { + String identifierWithoutLettersAndSpaces = identifier.replaceAll("[^0-9/]", " ").trim(); + + if (!IDENTIFIER_PREDICATE.test(identifierWithoutLettersAndSpaces)) { + throw new FetcherException(Localization.lang("Invalid identifier: '%0'.", identifier)); + } + + Optional entry = createEntryFromIacrCitation(identifierWithoutLettersAndSpaces); + + if (entry.isPresent()) { + setAdditionalFields(entry.get(), identifierWithoutLettersAndSpaces); + } + + return entry; + } + + private Optional createEntryFromIacrCitation(String validIdentifier) throws FetcherException { + String bibtexCitationHtml = getHtml(CITATION_URL_PREFIX + validIdentifier); + if (bibtexCitationHtml.contains("No such report found")) { + throw new FetcherException(Localization.lang("No results found.")); + } + String actualEntry = getRequiredValueBetween("
", "
", bibtexCitationHtml); + + try { + return BibtexParser.singleFromString(actualEntry, prefs); + } catch (ParseException e) { + throw new FetcherException(Localization.lang("Entry from %0 could not be parsed.", "IACR"), e); + } + } + + private void setAdditionalFields(BibEntry entry, String identifier) throws FetcherException { + String entryUrl = DESCRIPTION_URL_PREFIX + identifier; + String descriptiveHtml = getHtml(entryUrl); + entry.setField(FieldName.ABSTRACT, getAbstract(descriptiveHtml)); + String dateStringAsInHtml = getRequiredValueBetween("Date: ", "

", descriptiveHtml); + entry.setField(FieldName.DATE, getLatestDate(dateStringAsInHtml)); + + if (isFromOrAfterYear2000(entry)) { + String version = getVersion(identifier, descriptiveHtml); + entry.setField(FieldName.VERSION, version); + entry.setField(FieldName.URL, entryUrl + "/" + version); + } else { + // No version information for entries before year 2000 + entry.setField(FieldName.URL, entryUrl); + } + } + + private String getVersion(String identifier, String descriptiveHtml) throws FetcherException { + String startOfVersionString = "Version: Abstract: ", "

", descriptiveHtml); + // for some reason, all spaces are doubled... + abstractText = abstractText.replaceAll("\\s(\\s)", "$1"); + return abstractText; + } + + private String getLatestDate(String dateStringAsInHtml) throws FetcherException { + if (dateStringAsInHtml.contains("withdrawn")) { + throw new FetcherException(Localization.lang("This paper has been withdrawn.")); + } + String[] rawDates = dateStringAsInHtml.split(", \\D"); + List formattedDates = new ArrayList<>(); + for (String rawDate : rawDates) { + TemporalAccessor date = parseSingleDateFromWebsite(rawDate); + if (date != null) { + formattedDates.add(DATE_FORMAT_BIBTEX.format(date)); + } + } + + if (formattedDates.isEmpty()) { + throw new FetcherException(Localization.lang("Entry from %0 could not be parsed.", "IACR")); + } + + Collections.sort(formattedDates, Collections.reverseOrder()); + return formattedDates.get(0); + } + + private TemporalAccessor parseSingleDateFromWebsite(String dateStringFromWebsite) { + TemporalAccessor date = null; + // Some entries contain double spaces in the date string (which would break our regexs below) + String dateStringWithoutDoubleSpaces = dateStringFromWebsite.replaceAll("\\s\\s+", " "); + + Matcher dateMatcherAfter2000 = DATE_FROM_WEBSITE_AFTER_2000_PATTERN.matcher(dateStringWithoutDoubleSpaces.trim()); + if (dateMatcherAfter2000.find()) { + try { + date = DATE_FORMAT_WEBSITE_AFTER_2000.parse(dateMatcherAfter2000.group(1)); + } catch (DateTimeParseException e) { + LOGGER.warn("Date from IACR could not be parsed", e); + } + } + + // Entries before year 2000 use a variety of date formats - fortunately, we can match them with only two different + // date formats (each of which differ from the unified format of post-2000 entries). + Matcher dateMatcherBefore2000 = DATE_FROM_WEBSITE_BEFORE_2000_PATTERN.matcher(dateStringWithoutDoubleSpaces.trim()); + if (dateMatcherBefore2000.find()) { + String dateWithoutComma = dateMatcherBefore2000.group(1).replace(",", ""); + try { + date = DATE_FORMAT_WEBSITE_BEFORE_2000_LONG_MONTHS.parse(dateWithoutComma); + } catch (DateTimeParseException e) { + try { + date = DATE_FORMAT_WEBSITE_BEFORE_2000_SHORT_MONTHS.parse(dateWithoutComma); + } catch (DateTimeException e1) { + LOGGER.warn("Date from IACR could not be parsed", e); + LOGGER.warn("Date from IACR could not be parsed", e1); + } + } + } + + return date; + } + + private String getHtml(String url) throws FetcherException { + try { + URLDownload download = new URLDownload(url); + return download.asString(WEBSITE_CHARSET); + } catch (IOException e) { + throw new FetcherException(Localization.lang("Could not retrieve entry data from '%0'.", url), e); + } + } + + private String getRequiredValueBetween(String from, String to, String haystack) throws FetcherException { + String value = StringUtils.substringBetween(haystack, from, to); + if (value == null) { + throw new FetcherException(Localization.lang("Entry from %0 could not be parsed.", "IACR")); + } else { + return value; + } + } + + private boolean isFromOrAfterYear2000(BibEntry entry) throws FetcherException { + Optional yearField = entry.getField(FieldName.YEAR); + if (yearField.isPresent()) { + return Integer.parseInt(yearField.get()) > 2000; + } + throw new FetcherException(Localization.lang("Entry from %0 could not be parsed.", "IACR")); + } + + @Override + public String getName() { + return NAME; + } +} diff --git a/src/main/resources/l10n/JabRef_da.properties b/src/main/resources/l10n/JabRef_da.properties index 65fb216a377..c77caa4c4ab 100644 --- a/src/main/resources/l10n/JabRef_da.properties +++ b/src/main/resources/l10n/JabRef_da.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 indeholder regulærudtrykket %1 %0\ contains\ the\ term\ %1=%0 indeholder udtrykket %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hint\: For kun at søge i specifikke felter, skriv f.eks.\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index d5bb4051ae1..5ac3e42931c 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 den regulären Ausdruck %1 enthält %0\ contains\ the\ term\ %1=%0 den Ausdruck %1 enthält @@ -592,7 +591,7 @@ Underline=Unterstreichung Empty\ Highlight=Leere Hervorhebung Empty\ Marking=Leere Markierung Empty\ Underline=Leere Unterstreichung -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=Der markierte Bereich enthält keinen lesbaren Text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hinweis\: Um ausschließlich bestimmte Felder zu durchsuchen, geben Sie z.B. ein\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Terminal öffnen Use\ default\ terminal\ emulator=Standard Terminal-Emulator verwenden Execute\ command=Befehl ausführen Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Hinweis\: %0 als Platzhalter für den Speicherort der Bibliothek benutzen. -Executing\ command\ "%0"...=Ausführung des Kommandos "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Während der Ausführung des Befehls "%0" ist ein Fehler aufgetreten. +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Formatiere ISSN Countries\ and\ territories\ in\ English=Länder und Territorien in Englisch @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=Integrierte JabRef-Liste IEEE\ built\ in\ list=Integrierte IEEE-Liste Event\ log=Ereignisprotokoll -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=Sie erhalten nun Einsicht in die Interna von JabRef. Diese Informationen kann dabei helfen die eigentliche Ursache eines Problems zu ergründen. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=In die Zwischenablage kopiert Copy\ Log=Log kopieren Clear\ Log=Log löschen @@ -2232,7 +2231,7 @@ shared=geteilt should\ contain\ an\ integer\ or\ a\ literal=Sollte einen Integer oder einen Literal enthalten should\ have\ the\ first\ letter\ capitalized=Sollte den ersten Buchstaben großgeschrieben haben Tools=Werkzeuge -What's\ new\ in\ this\ version?=Neuerungen in dieser Version +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Wollen Sie helfen? Make\ a\ donation=Spenden get\ involved=Engagieren Sie sich @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Entfernen aller Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=JabRef kann nicht mit Java 9 verwendet werden. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Die verwendete Java Installation (%0) wird nicht unterstützt. Bitte installieren Sie Version %1 oder neuer. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties index efd66fd2644..78d7c914a54 100644 --- a/src/main/resources/l10n/JabRef_el.properties +++ b/src/main/resources/l10n/JabRef_el.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 περιέχει την συνήθη έκφραση %1 %0\ contains\ the\ term\ %1=%0 περιέχει τον όρο %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hint\: To search specific fields only, enter for example\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 6d5559a6ca4..abd463a6c6a 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -2350,3 +2350,8 @@ Remove\ hyphenated\ line\ breaks=Remove hyphenated line breaks Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyphenated line breaks in the field content. Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. + +Could\ not\ retrieve\ entry\ data\ from\ '%0'.=Could not retrieve entry data from '%0'. +Entry\ from\ %0\ could\ not\ be\ parsed.=Entry from %0 could not be parsed. +Invalid\ identifier\:\ '%0'.=Invalid identifier: '%0'. +This\ paper\ has\ been\ withdrawn.=This paper has been withdrawn. diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties index bfe3990d2ec..2aa6e82dcad 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 contiene la expresión regular %1 %0\ contains\ the\ term\ %1=%0%nbsp;contiene el término %1 @@ -592,7 +591,7 @@ Underline=Subrayado Empty\ Highlight=Resaltado vacío Empty\ Marking=Marcado vacío Empty\ Underline=Subrayado vacío -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=¡El área marcada no contiente ningún texto legible\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Pista \: Para buscar sólo campos específicos, introduzca, por ejemplo, \:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Abrir consola Use\ default\ terminal\ emulator=Usar emulador de consola por defecto Execute\ command=Ejecutar comando Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Nota\:usar el marcador %0 para la ubicación de la biblioteca abierta -Executing\ command\ "%0"...=Ejecutando el comando "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error durante la ejecución del comando "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformatear ISSN Countries\ and\ territories\ in\ English=Países y territorios en inglés. @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=Lista preinstalada de JabRef IEEE\ built\ in\ list=Lista preinstalada de IEEE Event\ log=Registro de eventos -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=Esta es una visión de las interioridades de JabRef. Esta información puede ser útil para diagnosticar la causa principal del problema. Puede informar a los desarrolladores acerca del problema si lo desea. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Registro copiado al portapapeles Copy\ Log=Copiar registro Clear\ Log=Limpiar registro @@ -2232,7 +2231,7 @@ shared=compartido should\ contain\ an\ integer\ or\ a\ literal=debería contener un entero o un literal should\ have\ the\ first\ letter\ capitalized=debería tener la primera letra mayúscula Tools=Herramientas -What's\ new\ in\ this\ version?=¿Qué hay de nuevo en esta versión? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=¿Desea ayudar? Make\ a\ donation=Haga una donación get\ involved=participe @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_fa.properties b/src/main/resources/l10n/JabRef_fa.properties index 39b21500ffc..91e7c862189 100644 --- a/src/main/resources/l10n/JabRef_fa.properties +++ b/src/main/resources/l10n/JabRef_fa.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 contains the regular expression %1 %0\ contains\ the\ term\ %1=%0 contains the term %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hint\: To search specific fields only, enter for example\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index b53312f63a1..c8319b02ae5 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 contient l'expression régulière %1 %0\ contains\ the\ term\ %1=%0 contient le terme %1 @@ -592,7 +591,7 @@ Underline=Souligner Empty\ Highlight=Annuler le surlignement Empty\ Marking=Annuler l'étiquetage Empty\ Underline=Annuler le soulignement -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=La zone marquée ne contient aucun texte lisible \! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Astuce \: Pour chercher uniquement dans des champs spécifiques, entrez par exemple \:

author\=smith and title\=électrique @@ -2093,8 +2092,8 @@ Open\ console=Ouvrir la console Use\ default\ terminal\ emulator=Utilise l'émulateur de terminal par défaut Execute\ command=Lance une commande Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note \: Utiliser le paramètre %0 comme localisation du fichier ouverte. -Executing\ command\ "%0"...=Exécution de la commande "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Une erreur est survenue lors de l'exécution de la commande "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformater l'ISSN Countries\ and\ territories\ in\ English=Pays et territoires en anglais @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=Liste interne de JabRef IEEE\ built\ in\ list=List interne de IEEE Event\ log=Journal des évènements -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=Nous vous donnons à présent un aperçu du fonctionnemment interne de JabRef. Cette information pourrait être utile pour diagnostiquer la cause du problème. S'il vous plaît, informez les développeurs des anomalies rencontrées. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Journal copié dans le presse-papiers. Copy\ Log=Copier le journal Clear\ Log=Vider le journal @@ -2232,7 +2231,7 @@ shared=partagé should\ contain\ an\ integer\ or\ a\ literal=doit contenir un nombre entier ou en toutes lettres should\ have\ the\ first\ letter\ capitalized=doit avoir une première lettre en majuscule Tools=Outils -What's\ new\ in\ this\ version?=Quoi de neuf dans cette version ? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Vous voulez aider ? Make\ a\ donation=Faire un don get\ involved=S'impliquer @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Supprime du con Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Notez qu'actuellement, JabRef ne fonctionne pas avec Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Votre version actuelle de Java (%0) n'est pas supportée. Installez la version %1 ou supérieure, s'il vous plaît. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_in.properties b/src/main/resources/l10n/JabRef_in.properties index bb5ec33dd9a..d21016674fc 100644 --- a/src/main/resources/l10n/JabRef_in.properties +++ b/src/main/resources/l10n/JabRef_in.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 mengandung Ekspresi Reguler %1 %0\ contains\ the\ term\ %1=% mengandung istilah %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Sarant\: untuk mencari hanya bidang tertentu, misal tulis\:

author\=smith dan title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index 3c524a8958a..4d402ff77ea 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 contiene l'espressione regolare %1 %0\ contains\ the\ term\ %1=%0 contiene il termine %1 @@ -592,7 +591,7 @@ Underline=Sottolinea Empty\ Highlight=Evidenziazione vuota Empty\ Marking=Contrassegno vuoto Empty\ Underline=Sottolineatura vuota -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=L'area marcata non contiene alcun testo leggibile\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Suggerimento\: Per ricercare in un campo specifico digitare, per esempio\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Apri la console Use\ default\ terminal\ emulator=Usa l'emulatore di terminale predefinito Execute\ command=Esegui il comando Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Nota\: Usa il segnaposto %0 come posizione nel file di libreria aperto. -Executing\ command\ "%0"...=Esegui il comando "%0" -Error\ occured\ while\ executing\ the\ command\ "%0".=È avvenuto un errore eseguendo il comando "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Riformatta ISSN Countries\ and\ territories\ in\ English=Paesi e territori in inglese @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=Liste predefinite di JabRef IEEE\ built\ in\ list=Liste predefinite di IEEE Event\ log=Log degli eventi -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=Ora ti daremo un'idea del funzionamento interno di JabRef. Questa informazione potrà essere utile per diagnosticare la causa originale del problema. Per favore, sentitevi liberi di informare gli sviluppatori di qualsiasi problema. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copiato negli appunti. Copy\ Log=Copia il log Clear\ Log=Cancello il log @@ -2232,7 +2231,7 @@ shared=condiviso should\ contain\ an\ integer\ or\ a\ literal=deve contenere almeno un intero o una lettera should\ have\ the\ first\ letter\ capitalized=la prima lettera deve essere maiuscola Tools=Strumenti -What's\ new\ in\ this\ version?=Cosa c'è di nuovo in questa versione? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Ti serve aiuto? Make\ a\ donation=Fai una donazione get\ involved=collabora con noi @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index 923f52a7186..b7fb23d8406 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0には,正規表現%1が含まれています %0\ contains\ the\ term\ %1=%0には,用語%1が含まれています @@ -592,7 +591,7 @@ Underline=下線 Empty\ Highlight=着色を取り除く Empty\ Marking=標識を取り除く Empty\ Underline=下線を取り除く -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=標識した領域に文が含まれていません! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=ヒント:特定のフィールドのみを検索するには,たとえば:

author\=smith and title\=electricalと入力してください @@ -2093,8 +2092,8 @@ Open\ console=コンソールを開く Use\ default\ terminal\ emulator=既定の擬似端末を使用する Execute\ command=コマンドを実行 Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=【註】開かれたデータベースの場所のプレイスホルダーに%0を使用します. -Executing\ command\ "%0"...=コマンド「%0」を実行… -Error\ occured\ while\ executing\ the\ command\ "%0".=コマンド「%0」を実行中にエラーが発生しました +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=ISSNを再構成 Countries\ and\ territories\ in\ English=英語での国名・地域名 @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef組込リスト IEEE\ built\ in\ list=IEEE組込リスト Event\ log=イベントログ -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=これからJabRef内部の内部動作についての情報を提供します.この情報は,問題の根本原因を診断するために役立つことがあります.お気軽に問題を開発者に相談してください. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=ログがクリップボードにコピーされました. Copy\ Log=ログをコピー Clear\ Log=ログを消去 @@ -2232,7 +2231,7 @@ shared=共有中 should\ contain\ an\ integer\ or\ a\ literal=整数または文字を含んでいなくてはなりません should\ have\ the\ first\ letter\ capitalized=最初の文字を大文字にしなくてはなりません Tools=ツール -What's\ new\ in\ this\ version?=このバージョンの新しいところは? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=手助けが必要ですか? Make\ a\ donation=寄付をするには get\ involved=参加するには @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_nl.properties b/src/main/resources/l10n/JabRef_nl.properties index a69b9b16eea..eedee3f7ff6 100644 --- a/src/main/resources/l10n/JabRef_nl.properties +++ b/src/main/resources/l10n/JabRef_nl.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 bevat de regular expression %1 %0\ contains\ the\ term\ %1=%0 bevat de term %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hint\: Om specifieke velden alleen te zoeken, geef bijvoorbeeld in\:

auteur\=smith en titel\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_no.properties b/src/main/resources/l10n/JabRef_no.properties index 0cb1b3d93dc..349423b6b26 100644 --- a/src/main/resources/l10n/JabRef_no.properties +++ b/src/main/resources/l10n/JabRef_no.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 inneholder regulæruttrykket %1 %0\ contains\ the\ term\ %1=%0 inneholder uttrykket %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Hint\: For bare å søke i spesifikke felt, skriv f. eks.\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 5e86acde3f7..fb9f6b86cc9 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 contém a Expressão Regular %1 %0\ contains\ the\ term\ %1=%0 contém o termo %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Dica\: Para procurar apenas campos específicos, digite por exemplo\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index 0d88417877c..497d2ea6dbe 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 содержит регулярное выражение %1 %0\ contains\ the\ term\ %1=%0 содержит условие %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Подсказка\: Для поиска только по определенным полям, напр.\:

автор\=smith и заглавие\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Открыть консоль Use\ default\ terminal\ emulator=Использовать эмуляцию терминала по умолчанию Execute\ command=Выполнить команду Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Примечание. Используйте подстановочный знак %0 для указания расположения открытой БД. -Executing\ command\ "%0"...=Выполнение команды "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Ошибка при выполнении команды "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Переформатировать ISSN Countries\ and\ territories\ in\ English=Страны и территории на английском @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_sv.properties b/src/main/resources/l10n/JabRef_sv.properties index 662d343d04f..8b53a6b1a37 100644 --- a/src/main/resources/l10n/JabRef_sv.properties +++ b/src/main/resources/l10n/JabRef_sv.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 innehåller det reguljära uttrycket %1 %0\ contains\ the\ term\ %1=%0 innehåller termen %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Tips\: För att söka i specifika fält, skriv t.ex.\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Öppna konsoll Use\ default\ terminal\ emulator=Använd standardterminalen Execute\ command=Kör kommando Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Använd %0 för att infoga mappen för databasfilen. -Executing\ command\ "%0"...=Kör kommandot "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Fel när kommandot "%0" kördes. +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Formattera om ISSN Countries\ and\ territories\ in\ English=Länder och territorier på engelska @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=delad should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index c25ac1fcf76..4d5c2cb9551 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 şu Düzenli İfadeyi içeriyor %1 %0\ contains\ the\ term\ %1=%0 şu terimi içeriyor %1 @@ -592,7 +591,7 @@ Underline=Altını çiz Empty\ Highlight=Boş vurgulama Empty\ Marking=Boş işaretleme Empty\ Underline=Boş altını çizme -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=İşaretlenmiş alan herhangi bir okunabilir metin içermiyor\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=İpucu\: Yalnızca belirli alanları aramak için, örneğin şunu giriniz\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Konsolu aç Use\ default\ terminal\ emulator=Öntanımlı uçbirim öykünücüsünü kullan Execute\ command=Komutu çalıştır Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Not\:Açık veritabanının konumu için %0 yer tutucusunu kullan. -Executing\ command\ "%0"...="%0" komutu çalıştırılıyor... -Error\ occured\ while\ executing\ the\ command\ "%0".="%0" komutu çalıştırılırken hata oluştu. +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=ISSN'i yeniden biçimlendir Countries\ and\ territories\ in\ English=Ülke ve bölgeler İngilizce @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef yerleşik listesi IEEE\ built\ in\ list=IEEE yerleşik listesi Event\ log=Olay kayıt dosyası -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=Biz şimdi size JabRef'in iç çalışma düzeneği hakkında içgörü veriyoruz. Bu bilgi bir sorunun temel nedenini tanımada yararlı olabilir. Lütfen bir sorun hakkında geliştiricileri bilgilendirmekten çekinmeyin. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Kayıt dosyası panoya kopyalandı. Copy\ Log=Kayıt Dosyasını Kopyala Clear\ Log=Kayıt Dosyasını Temizle @@ -2232,7 +2231,7 @@ shared=paylaşıldı should\ contain\ an\ integer\ or\ a\ literal=bir tamsayı ya da harf içermelidir should\ have\ the\ first\ letter\ capitalized=İlk harf büyük olmalıdır Tools=Araçlar -What's\ new\ in\ this\ version?=Bu sürümde neler yeni? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Yardım etmek ister misiniz? Make\ a\ donation=Bağışta bulun get\ involved=katkıda bulun @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_vi.properties b/src/main/resources/l10n/JabRef_vi.properties index 9b61b66c004..3db118c11b3 100644 --- a/src/main/resources/l10n/JabRef_vi.properties +++ b/src/main/resources/l10n/JabRef_vi.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 chứa biểu thức chính tắc %1 %0\ contains\ the\ term\ %1=%0 chứa thuật ngữ %1 @@ -592,7 +591,7 @@ Underline=Underline Empty\ Highlight=Empty Highlight Empty\ Marking=Empty Marking Empty\ Underline=Empty Underline -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=Gợi ý\: Để chỉ tìm kiếm các dữ liệu đặc thù, nhập, ví dụ như\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=Open console Use\ default\ terminal\ emulator=Use default terminal emulator Execute\ command=Execute command Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=Note\: Use the placeholder %0 for the location of the opened library file. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/JabRef_zh.properties b/src/main/resources/l10n/JabRef_zh.properties index 38be397849f..dd8803dff4c 100644 --- a/src/main/resources/l10n/JabRef_zh.properties +++ b/src/main/resources/l10n/JabRef_zh.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com %0\ contains\ the\ regular\ expression\ %1=%0 包含正则表达式 %1 %0\ contains\ the\ term\ %1=%0 包含词组 %1 @@ -592,7 +591,7 @@ Underline=下划线 Empty\ Highlight=清除高亮 Empty\ Marking=清除标记 Empty\ Underline=清除下划线 -The\ marked\ area\ does\ not\ contain\ any\ legible\ text\!=The marked area does not contain any legible text\! +The\ marked\ area\ does\ not\ contain\ any\ legible\ text!= Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:

author\=smith\ and\ title\=electrical=提示\: 若想只搜索特定域的话,可以像这样写\:

author\=smith and title\=electrical @@ -2093,8 +2092,8 @@ Open\ console=打开终端程序 Use\ default\ terminal\ emulator=使用默认的模拟终端 Execute\ command=执行命令 Note\:\ Use\ the\ placeholder\ %0\ for\ the\ location\ of\ the\ opened\ library\ file.=注意\: 使用 %0 占位符来表示当前打开的文献库文件位置. -Executing\ command\ "%0"...=Executing command "%0"... -Error\ occured\ while\ executing\ the\ command\ "%0".=Error occured while executing the command "%0". +Executing\ command\ \"%0\"...= +Error\ occured\ while\ executing\ the\ command\ \"%0\".= Reformat\ ISSN=Reformat ISSN Countries\ and\ territories\ in\ English=Countries and territories in English @@ -2142,7 +2141,7 @@ JabRef\ built\ in\ list=JabRef built in list IEEE\ built\ in\ list=IEEE built in list Event\ log=Event log -We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef's\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.=We now give you insight into the inner workings of JabRef's internals. This information might be helpful to diagnose the root cause of a problem. Please feel free to inform the developers about an issue. +We\ now\ give\ you\ insight\ into\ the\ inner\ workings\ of\ JabRef\'s\ internals.\ This\ information\ might\ be\ helpful\ to\ diagnose\ the\ root\ cause\ of\ a\ problem.\ Please\ feel\ free\ to\ inform\ the\ developers\ about\ an\ issue.= Log\ copied\ to\ clipboard.=Log copied to clipboard. Copy\ Log=Copy Log Clear\ Log=Clear Log @@ -2232,7 +2231,7 @@ shared=shared should\ contain\ an\ integer\ or\ a\ literal=should contain an integer or a literal should\ have\ the\ first\ letter\ capitalized=should have the first letter capitalized Tools=Tools -What's\ new\ in\ this\ version?=What's new in this version? +What\'s\ new\ in\ this\ version?= Want\ to\ help?=Want to help? Make\ a\ donation=Make a donation get\ involved=get involved @@ -2352,3 +2351,7 @@ Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Removes all hyp Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Note that currently, JabRef does not run with Java 9. Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Your current Java version (%0) is not supported. Please install version %1 or higher. +Could\ not\ retrieve\ entry\ data\ from\ '%0'.= +Entry\ from\ %0\ could\ not\ be\ parsed.= +Invalid\ identifier\:\ '%0'.= +This\ paper\ has\ been\ withdrawn.= diff --git a/src/main/resources/l10n/Menu_da.properties b/src/main/resources/l10n/Menu_da.properties index bb80a34d8ce..c6bd502aac6 100644 --- a/src/main/resources/l10n/Menu_da.properties +++ b/src/main/resources/l10n/Menu_da.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Forkort tidsskriftsnavn (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Forkort tidsskriftsnavn (MEDLINE) About\ JabRef=Om &JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_de.properties b/src/main/resources/l10n/Menu_de.properties index a595bdf505b..06c85b4b945 100644 --- a/src/main/resources/l10n/Menu_de.properties +++ b/src/main/resources/l10n/Menu_de.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Zeitschriftentitel abkürzen (&ISO) Abbreviate\ journal\ names\ (MEDLINE)=Zeitschriftentitel abkürzen (&MEDLINE) About\ JabRef=Über &JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=DOI-URL kopieren Copy\ citation=Kopiere Zitation Default\ table\ font\ size=Standard Tabellenschriftgröße Show\ document\ viewer=Zeige Dokumentenbetrachter - diff --git a/src/main/resources/l10n/Menu_el.properties b/src/main/resources/l10n/Menu_el.properties index c2302c3ab36..aa9d6a00231 100644 --- a/src/main/resources/l10n/Menu_el.properties +++ b/src/main/resources/l10n/Menu_el.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Συντομογραφίες ονομάτων περιοδικών (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Συντομογραφίες ονομάτων περιοδικών (MEDLINE) About\ JabRef=&Σχετικά με το JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_es.properties b/src/main/resources/l10n/Menu_es.properties index de1f91fadb0..dcff4064fbb 100644 --- a/src/main/resources/l10n/Menu_es.properties +++ b/src/main/resources/l10n/Menu_es.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Abreviar nombres de revistas (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Abreviar nombres de revista (MEDLINE) About\ JabRef=&Acerca de JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copiar la url del DOI Copy\ citation=Copiar cita Default\ table\ font\ size=Tamaño de fuente por defecto para tabla Show\ document\ viewer=Mostrar visor de documentos - diff --git a/src/main/resources/l10n/Menu_fa.properties b/src/main/resources/l10n/Menu_fa.properties index 8b31da483e3..5b76d43a384 100644 --- a/src/main/resources/l10n/Menu_fa.properties +++ b/src/main/resources/l10n/Menu_fa.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=مخفف‌سازی نام ژورنال‌ها Abbreviate\ journal\ names\ (MEDLINE)=خلاصه نام ژورنال‌ها (MEDLINE) About\ JabRef=درباره‌ی JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_fr.properties b/src/main/resources/l10n/Menu_fr.properties index 2a0b49f8411..8a4e5378c93 100644 --- a/src/main/resources/l10n/Menu_fr.properties +++ b/src/main/resources/l10n/Menu_fr.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Abréger les noms de journaux (IS&O) Abbreviate\ journal\ names\ (MEDLINE)=Abréger les noms de journaux (MEDLI&NE) About\ JabRef=A &propos de JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copier l'URL du DOI Copy\ citation=Copier la citation Default\ table\ font\ size=Taille de police par défaut Show\ document\ viewer=Ouvrir l'afficheur de document - diff --git a/src/main/resources/l10n/Menu_in.properties b/src/main/resources/l10n/Menu_in.properties index 04b64ae3180..86ebc72fbd6 100644 --- a/src/main/resources/l10n/Menu_in.properties +++ b/src/main/resources/l10n/Menu_in.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Singkatan nama jurnal (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Singkatan nama jurnal (MEDLINE) About\ JabRef=Tentang JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_it.properties b/src/main/resources/l10n/Menu_it.properties index fd8e2a4139e..3c895298a6b 100644 --- a/src/main/resources/l10n/Menu_it.properties +++ b/src/main/resources/l10n/Menu_it.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Abbrevia nomi delle riviste (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Abbrevia nomi delle riviste (MEDLINE) About\ JabRef=&Informazioni su JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copia l'url del DOI Copy\ citation=Copia la citazione Default\ table\ font\ size=Font predefinito per le tabelle Show\ document\ viewer=Mostra il visualizzatore dei documenti - diff --git a/src/main/resources/l10n/Menu_ja.properties b/src/main/resources/l10n/Menu_ja.properties index 200d6a61c51..6cbeceac326 100644 --- a/src/main/resources/l10n/Menu_ja.properties +++ b/src/main/resources/l10n/Menu_ja.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=学術誌名を短縮形に(ISO) Abbreviate\ journal\ names\ (MEDLINE)=学術誌名を短縮形に(MEDLINE) About\ JabRef=JabRefについて(&A) @@ -135,4 +134,3 @@ Copy\ DOI\ url=DOIのURLをコピー Copy\ citation=引用をコピー Default\ table\ font\ size=表の既定フォント寸法 Show\ document\ viewer=文書ビューアを表示 - diff --git a/src/main/resources/l10n/Menu_nl.properties b/src/main/resources/l10n/Menu_nl.properties index 0664e06a177..5801a8820b2 100644 --- a/src/main/resources/l10n/Menu_nl.properties +++ b/src/main/resources/l10n/Menu_nl.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Kort namen van tijdschriften af (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Kort namen van tijdschriften af (MEDLINE) About\ JabRef=Over JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_no.properties b/src/main/resources/l10n/Menu_no.properties index e6da3994555..475ae646951 100644 --- a/src/main/resources/l10n/Menu_no.properties +++ b/src/main/resources/l10n/Menu_no.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Forkort journalnavn (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Forkort journalnavn (MEDLINE) About\ JabRef=Om &JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_pt_BR.properties b/src/main/resources/l10n/Menu_pt_BR.properties index c07cf67a61c..f29ef7d8420 100644 --- a/src/main/resources/l10n/Menu_pt_BR.properties +++ b/src/main/resources/l10n/Menu_pt_BR.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Abreviar nomes de periódico(ISO) Abbreviate\ journal\ names\ (MEDLINE)=Abreviar nomes de periódico(MEDLINE) About\ JabRef=Sobre &JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copiar URL do DOI Copy\ citation=Copiar citação Default\ table\ font\ size=Tamanho padrão da fonte da tabela Show\ document\ viewer=Mostrar visualizador de documentos - diff --git a/src/main/resources/l10n/Menu_ru.properties b/src/main/resources/l10n/Menu_ru.properties index a5854f11898..32389f09d70 100644 --- a/src/main/resources/l10n/Menu_ru.properties +++ b/src/main/resources/l10n/Menu_ru.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Сокращения названий журналов (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Сокращения названий журналов (MEDLINE) About\ JabRef=О программе JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Копировать URL-адрес DOI Copy\ citation=Копировать цитату Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_sv.properties b/src/main/resources/l10n/Menu_sv.properties index b98e1389c88..fb803caaf24 100644 --- a/src/main/resources/l10n/Menu_sv.properties +++ b/src/main/resources/l10n/Menu_sv.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Förkorta tidskriftsnamn (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Förkorta tidskriftsnamn (MEDLINE) About\ JabRef=&Om JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Copy DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_tr.properties b/src/main/resources/l10n/Menu_tr.properties index 306098e308e..ffbcd87f432 100644 --- a/src/main/resources/l10n/Menu_tr.properties +++ b/src/main/resources/l10n/Menu_tr.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Dergi adlarını kısalt (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Dergi adlarını kısalt (MEDLINE) About\ JabRef=JabRef H&akkında @@ -135,4 +134,3 @@ Copy\ DOI\ url=DOI url'sini kopyala Copy\ citation=Atıf'ı kopyala Default\ table\ font\ size=Öntanımlı tablo yazıtipi boyutu Show\ document\ viewer=Belge görüntüleyiciyi göster - diff --git a/src/main/resources/l10n/Menu_vi.properties b/src/main/resources/l10n/Menu_vi.properties index 32f33bcc81f..e3c593bb60e 100644 --- a/src/main/resources/l10n/Menu_vi.properties +++ b/src/main/resources/l10n/Menu_vi.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=Viết tắt tên các tạp chí (ISO) Abbreviate\ journal\ names\ (MEDLINE)=Viết tắt tên các tạp chí (MEDLINE) About\ JabRef=Nói về JabRef @@ -135,4 +134,3 @@ Copy\ DOI\ url=Sao chép DOI url Copy\ citation=Copy citation Default\ table\ font\ size=Default table font size Show\ document\ viewer=Show document viewer - diff --git a/src/main/resources/l10n/Menu_zh.properties b/src/main/resources/l10n/Menu_zh.properties index e2110d95ed2..ae6fa0941d2 100644 --- a/src/main/resources/l10n/Menu_zh.properties +++ b/src/main/resources/l10n/Menu_zh.properties @@ -1,4 +1,3 @@ -#X-Generator: crowdin.com Abbreviate\ journal\ names\ (ISO)=缩写期刊名称 (ISO) Abbreviate\ journal\ names\ (MEDLINE)=缩写期刊名称 (MEDLINE) About\ JabRef=关于 JabRef (&A) @@ -135,4 +134,3 @@ Copy\ DOI\ url=拷贝 DOI URL Copy\ citation=复制 Citation Default\ table\ font\ size=默认表格字号 Show\ document\ viewer=打开文档查看器 - diff --git a/src/test/java/org/jabref/logic/importer/fetcher/IacrEprintFetcherTest.java b/src/test/java/org/jabref/logic/importer/fetcher/IacrEprintFetcherTest.java new file mode 100644 index 00000000000..cf7b0a1464b --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fetcher/IacrEprintFetcherTest.java @@ -0,0 +1,187 @@ +package org.jabref.logic.importer.fetcher; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; +import java.util.Optional; +import java.util.stream.Stream; + +import org.jabref.logic.importer.FetcherException; +import org.jabref.logic.importer.ImportFormatPreferences; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.BiblatexEntryTypes; +import org.jabref.model.entry.FieldName; +import org.jabref.testutils.category.FetcherTest; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.MethodSource; +import org.mockito.Answers; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertNotEquals; +import static org.junit.jupiter.api.Assertions.assertThrows; +import static org.junit.jupiter.api.Assertions.assertTrue; +import static org.mockito.Mockito.mock; + +@FetcherTest +public class IacrEprintFetcherTest { + + private IacrEprintFetcher fetcher; + private BibEntry abram2017; + private BibEntry beierle2016; + private BibEntry delgado2017; + + @BeforeEach + public void setUp() { + fetcher = new IacrEprintFetcher(mock(ImportFormatPreferences.class, Answers.RETURNS_DEEP_STUBS)); + + abram2017 = new BibEntry(); + abram2017.setType(BiblatexEntryTypes.MISC); + abram2017.setField("bibtexkey", "cryptoeprint:2017:1118"); + abram2017.setField(FieldName.ABSTRACT, "dummy"); + abram2017.setField(FieldName.AUTHOR, "Ittai Abraham and Dahlia Malkhi and Kartik Nayak and Ling Ren and Alexander Spiegelman"); + abram2017.setField(FieldName.DATE, "2017-11-18"); + abram2017.setField(FieldName.HOWPUBLISHED, "Cryptology ePrint Archive, Report 2017/1118"); + abram2017.setField(FieldName.NOTE, "\\url{https://eprint.iacr.org/2017/1118}"); + abram2017.setField(FieldName.TITLE, "Solida: A Blockchain Protocol Based on Reconfigurable Byzantine Consensus"); + abram2017.setField(FieldName.URL, "https://eprint.iacr.org/2017/1118/20171124:064527"); + abram2017.setField(FieldName.VERSION, "20171124:064527"); + abram2017.setField(FieldName.YEAR, "2017"); + + beierle2016 = new BibEntry(); + beierle2016.setType(BiblatexEntryTypes.MISC); + beierle2016.setField("bibtexkey", "cryptoeprint:2016:119"); + beierle2016.setField(FieldName.ABSTRACT, "dummy"); + beierle2016.setField(FieldName.AUTHOR, "Christof Beierle and Thorsten Kranz and Gregor Leander"); + beierle2016.setField(FieldName.DATE, "2017-02-17"); + beierle2016.setField(FieldName.HOWPUBLISHED, "Cryptology ePrint Archive, Report 2016/119"); + beierle2016.setField(FieldName.NOTE, "\\url{https://eprint.iacr.org/2016/119}"); + beierle2016.setField(FieldName.TITLE, "Lightweight Multiplication in GF(2^n) with Applications to MDS Matrices"); + beierle2016.setField(FieldName.URL, "https://eprint.iacr.org/2016/119/20170217:150415"); + beierle2016.setField(FieldName.VERSION, "20170217:150415"); + beierle2016.setField(FieldName.YEAR, "2016"); + + delgado2017 = new BibEntry(); + delgado2017.setType(BiblatexEntryTypes.MISC); + delgado2017.setField("bibtexkey", "cryptoeprint:2017:1095"); + delgado2017.setField(FieldName.ABSTRACT, "dummy"); + delgado2017.setField(FieldName.AUTHOR, "Sergi Delgado-Segura and Cristina Pérez-Solà and Guillermo Navarro-Arribas and Jordi Herrera-Joancomartí"); + delgado2017.setField(FieldName.DATE, "2017-11-10"); + delgado2017.setField(FieldName.HOWPUBLISHED, "Cryptology ePrint Archive, Report 2017/1095"); + delgado2017.setField(FieldName.NOTE, "\\url{https://eprint.iacr.org/2017/1095}"); + delgado2017.setField(FieldName.TITLE, "Analysis of the Bitcoin UTXO set"); + delgado2017.setField(FieldName.URL, "https://eprint.iacr.org/2017/1095/20171110:183926"); + delgado2017.setField(FieldName.VERSION, "20171110:183926"); + delgado2017.setField(FieldName.YEAR, "2017"); + } + + @Test + public void searchByIdWithValidId1() throws FetcherException { + Optional fetchedEntry = fetcher.performSearchById("Report 2017/1118 "); + assertFalse(fetchedEntry.get().getField(FieldName.ABSTRACT).get().isEmpty()); + fetchedEntry.get().setField(FieldName.ABSTRACT, "dummy"); + assertEquals(Optional.of(abram2017), fetchedEntry); + } + + @Test + public void searchByIdWithValidId2() throws FetcherException { + Optional fetchedEntry = fetcher.performSearchById("iacr ePrint 2016/119"); + assertFalse(fetchedEntry.get().getField(FieldName.ABSTRACT).get().isEmpty()); + fetchedEntry.get().setField(FieldName.ABSTRACT, "dummy"); + assertEquals(Optional.of(beierle2016), fetchedEntry); + } + + @Test + public void searchByIdWithValidIdAndNonAsciiChars() throws FetcherException { + Optional fetchedEntry = fetcher.performSearchById("some random 2017/1095 stuff around the id"); + assertFalse(fetchedEntry.get().getField(FieldName.ABSTRACT).get().isEmpty()); + fetchedEntry.get().setField(FieldName.ABSTRACT, "dummy"); + assertEquals(Optional.of(delgado2017), fetchedEntry); + } + + @Test + public void searchByIdWithEmptyIdFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("")); + } + + @Test + public void searchByIdWithInvalidReportNumberFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("2016/1")); + } + + @Test + public void searchByIdWithInvalidYearFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("16/115")); + } + + @Test + public void searchByIdWithInvalidIdFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("asdf")); + } + + @Test + public void searchForNonexistentIdFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("2016/6425")); + } + + @Test + public void testGetName() { + assertEquals(IacrEprintFetcher.NAME, fetcher.getName()); + } + + @Test + public void searchByIdForWithdrawnPaperFails() { + assertThrows(FetcherException.class, () -> fetcher.performSearchById("1998/016")); + } + + @Test + public void searchByIdWithOldHtmlFormatAndCheckDate() throws FetcherException { + Optional fetchedEntry = fetcher.performSearchById("1997/006"); + assertEquals(Optional.of("1997-05-04"), fetchedEntry.get().getField(FieldName.DATE)); + } + + @DisplayName("Get all entries with old HTML format (except withdrawn ones)") + @ParameterizedTest(name = "Fetch for id: {0}") + @MethodSource("allNonWithdrawnIdsWithOldHtmlFormat") + @Disabled("Takes a lot of time - should only be called manually") + public void searchByIdWithOldHtmlFormatWithoutDateCheck(String id) throws FetcherException { + Optional fetchedEntry = fetcher.performSearchById(id); + assertTrue(fetchedEntry.isPresent(), "Expected to get an entry for id " + id); + assertNotEquals(Optional.empty(), fetchedEntry.get().getField(FieldName.DATE), "Expected non empty date field, entry is\n" + fetchedEntry.toString()); + assertTrue(fetchedEntry.get().getField(FieldName.DATE).get().length() == 10, "Expected yyyy-MM-dd date format, entry is\n" + fetchedEntry.toString()); + assertNotEquals(Optional.empty(), fetchedEntry.get().getField(FieldName.ABSTRACT), "Expected non empty abstract field, entry is\n" + fetchedEntry.toString()); + } + + /** + * Helper method for allNonWithdrawnIdsWithOldHtmlFormat. + * + * @param year The year of the generated IDs (e.g. 1996) + * @param maxId The maximum ID to generate in the given year (e.g. 112) + * @return A list of IDs in the from yyyy/iii (e.g. [1996/001, 1996/002, ..., 1996/112] + */ + private static List getIdsFor(int year, int maxId) { + List result = new ArrayList<>(); + for (int i = 1; i <= maxId; i++) { + result.add(String.format("%04d/%03d", year, i)); + } + return result; + } + + // Parameter provider (method name is passed as a string) + @SuppressWarnings("unused") + private static Stream allNonWithdrawnIdsWithOldHtmlFormat() { + Collection withdrawnIds = Arrays.asList("1998/016", "1999/006"); + List ids = new ArrayList<>(); + ids.addAll(getIdsFor(1996, 16)); + ids.addAll(getIdsFor(1997, 15)); + ids.addAll(getIdsFor(1998, 26)); + ids.addAll(getIdsFor(1999, 24)); + ids.removeAll(withdrawnIds); + return ids.stream(); + } +}