From d7a57b8b14e074dd9f74ba6bf291d0f5a9c36476 Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Sun, 26 Apr 2020 18:34:54 +0200 Subject: [PATCH 01/19] Backward compatibility for 4.3.1 (#6296) --- JabRef-downgrade-regpatch.reg | Bin 0 -> 356 bytes .../migrations/PreferencesMigrations.java | 66 +++++++++++++++++ .../jabref/preferences/JabRefPreferences.java | 12 ++- .../migrations/PreferencesMigrationsTest.java | 69 ++++++++++++++++++ 4 files changed, 143 insertions(+), 4 deletions(-) create mode 100644 JabRef-downgrade-regpatch.reg diff --git a/JabRef-downgrade-regpatch.reg b/JabRef-downgrade-regpatch.reg new file mode 100644 index 0000000000000000000000000000000000000000..284394cfc8bd62671ac9bf91489ab638970776eb GIT binary patch literal 356 zcmaiw-%A2f5QV?zp#MR9S9|fXrwGD8Wlba62yIv0C^yz$>_4A=dsTW7<1*YibI#0} zdw0LjWGqO?*|MZYM9R$Ck`)D|m3!Gtl#6SO columnNames = preferences.getStringList(JabRefPreferences.COLUMN_NAMES); List columnWidths = preferences.getStringList(JabRefPreferences.COLUMN_WIDTHS) .stream() @@ -371,4 +382,59 @@ static void upgradeColumnPreferences(JabRefPreferences preferences) { .collect(Collectors.toList())); } } + + static void changeColumnVariableNamesFor51(JabRefPreferences preferences) { + // The variable names have to be hardcoded, because they have changed between 5.0 and 5.1 + List oldColumnNames = preferences.getStringList("columnNames"); + List columnNames = preferences.getStringList(JabRefPreferences.COLUMN_NAMES); + if (!oldColumnNames.isEmpty() && columnNames.isEmpty()) { + preferences.putStringList(JabRefPreferences.COLUMN_NAMES, preferences.getStringList("columnNames")); + preferences.putStringList(JabRefPreferences.COLUMN_WIDTHS, preferences.getStringList("columnWidths")); + preferences.putStringList(JabRefPreferences.COLUMN_SORT_TYPES, preferences.getStringList("columnSortTypes")); + preferences.putStringList(JabRefPreferences.COLUMN_SORT_ORDER, preferences.getStringList("columnSortOrder")); + } + } + + /** + * In 5.0 the format of column names have changed. That made newer versions of JabRef preferences incompatible with + * earlier versions of JabRef. As some complains came up, we decided to change the variable names and to clear the + * variable contents if they are unreadable, so former versions of JabRef would automatically create preferences + * they can deal with. + */ + static void restoreVariablesForBackwardCompatibility(JabRefPreferences preferences) { + List oldColumnNames = preferences.getStringList(JabRefPreferences.COLUMN_NAMES); + List fieldColumnNames = oldColumnNames.stream() + .filter(columnName -> columnName.startsWith("field:") || columnName.startsWith("special:")) + .map(columnName -> { + if (columnName.startsWith("field:")) { + return columnName.substring(6); + } else { // special + return columnName.substring(8); + } + }).collect(Collectors.toList()); + + if (!fieldColumnNames.isEmpty()) { + preferences.putStringList("columnNames", fieldColumnNames); + + List fieldColumnWidths = new ArrayList<>(Collections.emptyList()); + for (int i = 0; i < fieldColumnNames.size(); i++) { + fieldColumnWidths.add("100"); + } + preferences.putStringList("columnWidths", fieldColumnWidths); + + preferences.put("columnSortTypes", ""); + preferences.put("columnSortOrder", ""); + } + + // Ensure font size is a parsable int variable + try { + // some versions stored the font size as double to the **same** key + // since the preference store is type-safe, we need to add this workaround + String fontSizeAsString = preferences.get(JabRefPreferences.MAIN_FONT_SIZE); + int fontSizeAsInt = (int) Math.round(Double.parseDouble(fontSizeAsString)); + preferences.putInt(JabRefPreferences.MAIN_FONT_SIZE, fontSizeAsInt); + } catch (ClassCastException e) { + // already an integer + } + } } diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index ce792463db4..d6fc664ba94 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -147,10 +147,14 @@ public class JabRefPreferences implements PreferencesService { public static final String EXPORT_TERTIARY_SORT_FIELD = "exportTerSort"; public static final String EXPORT_TERTIARY_SORT_DESCENDING = "exportTerDescending"; public static final String NEWLINE = "newline"; - public static final String COLUMN_NAMES = "columnNames"; - public static final String COLUMN_WIDTHS = "columnWidths"; - public static final String COLUMN_SORT_TYPES = "columnSortTypes"; - public static final String COLUMN_SORT_ORDER = "columnSortOrder"; + + // Variable names have changed to ensure backward compatibility with pre 5.0 releases of JabRef + // Pre 5.1: columnNames, columnWidths, columnSortTypes, columnSortOrder + public static final String COLUMN_NAMES = "mainTableColumnNames"; + public static final String COLUMN_WIDTHS = "mainTableColumnWidths"; + public static final String COLUMN_SORT_TYPES = "mainTableColumnSortTypes"; + public static final String COLUMN_SORT_ORDER = "mainTableColumnSortOrder"; + public static final String SIDE_PANE_COMPONENT_PREFERRED_POSITIONS = "sidePaneComponentPreferredPositions"; public static final String SIDE_PANE_COMPONENT_NAMES = "sidePaneComponentNames"; public static final String XMP_PRIVACY_FILTERS = "xmpPrivacyFilters"; diff --git a/src/test/java/org/jabref/migrations/PreferencesMigrationsTest.java b/src/test/java/org/jabref/migrations/PreferencesMigrationsTest.java index 140aa4d3cae..78d3fc37a6b 100644 --- a/src/test/java/org/jabref/migrations/PreferencesMigrationsTest.java +++ b/src/test/java/org/jabref/migrations/PreferencesMigrationsTest.java @@ -1,6 +1,7 @@ package org.jabref.migrations; import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.prefs.Preferences; @@ -219,4 +220,72 @@ void testUpgradeColumnPreferencesFromWithoutTypes() { verify(prefs).putStringList(JabRefPreferences.COLUMN_WIDTHS, updatedWidths); verify(prefs).putStringList(JabRefPreferences.COLUMN_SORT_TYPES, newSortTypes); } + + @Test + void testChangeColumnPreferencesVariableNamesFor51() { + List columnNames = Arrays.asList("entrytype", "author/editor", "title", "year", "journal/booktitle", "bibtexkey", "printed"); + List columnWidths = Arrays.asList("75", "300", "470", "60", "130", "100", "30"); + + // The variable names have to be hardcoded, because they have changed between 5.0 and 5.1 + when(prefs.getStringList("columnNames")).thenReturn(columnNames); + when(prefs.getStringList("columnWidths")).thenReturn(columnWidths); + when(prefs.getStringList("mainTableColumnSortTypes")).thenReturn(columnNames); + when(prefs.getStringList("mainTableColumnSortOrder")).thenReturn(columnWidths); + + when(prefs.getStringList(JabRefPreferences.COLUMN_NAMES)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_WIDTHS)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_SORT_TYPES)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_SORT_ORDER)).thenReturn(Collections.emptyList()); + + PreferencesMigrations.changeColumnVariableNamesFor51(prefs); + + verify(prefs).putStringList(JabRefPreferences.COLUMN_NAMES, columnNames); + verify(prefs).putStringList(JabRefPreferences.COLUMN_WIDTHS, columnWidths); + verify(prefs).putStringList(JabRefPreferences.COLUMN_NAMES, columnNames); + verify(prefs).putStringList(JabRefPreferences.COLUMN_WIDTHS, columnWidths); + } + + @Test + void testChangeColumnPreferencesVariableNamesBackwardsCompatibility() { + List columnNames = Arrays.asList("entrytype", "author/editor", "title", "year", "journal/booktitle", "bibtexkey", "printed"); + List columnWidths = Arrays.asList("75", "300", "470", "60", "130", "100", "30"); + + // The variable names have to be hardcoded, because they have changed between 5.0 and 5.1 + when(prefs.getStringList("columnNames")).thenReturn(columnNames); + when(prefs.getStringList("columnWidths")).thenReturn(columnWidths); + when(prefs.getStringList("mainTableColumnSortTypes")).thenReturn(columnNames); + when(prefs.getStringList("mainTableColumnSortOrder")).thenReturn(columnWidths); + + when(prefs.getStringList(JabRefPreferences.COLUMN_NAMES)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_WIDTHS)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_SORT_TYPES)).thenReturn(Collections.emptyList()); + when(prefs.getStringList(JabRefPreferences.COLUMN_SORT_ORDER)).thenReturn(Collections.emptyList()); + + PreferencesMigrations.upgradeColumnPreferences(prefs); + + verify(prefs, never()).put("columnNames", "anyString"); + verify(prefs, never()).put("columnWidths", "anyString"); + verify(prefs, never()).put("mainTableColumnSortTypes", "anyString"); + verify(prefs, never()).put("mainTableColumnSortOrder", "anyString"); + } + + @Test + void testRestoreColumnVariablesForBackwardCompatibility() { + List updatedNames = Arrays.asList("groups", "files", "linked_id", "field:entrytype", "field:author/editor", "field:title", "field:year", "field:journal/booktitle", "field:bibtexkey", "special:printed"); + List columnNames = Arrays.asList("entrytype", "author/editor", "title", "year", "journal/booktitle", "bibtexkey", "printed"); + List columnWidths = Arrays.asList("100", "100", "100", "100", "100", "100", "100"); + + when(prefs.getStringList(JabRefPreferences.COLUMN_NAMES)).thenReturn(updatedNames); + + when(prefs.get(JabRefPreferences.MAIN_FONT_SIZE)).thenReturn("11.2"); + + PreferencesMigrations.restoreVariablesForBackwardCompatibility(prefs); + + verify(prefs).putStringList("columnNames", columnNames); + verify(prefs).putStringList("columnWidths", columnWidths); + verify(prefs).put("columnSortTypes", ""); + verify(prefs).put("columnSortOrder", ""); + + verify(prefs).putInt(JabRefPreferences.MAIN_FONT_SIZE, 11); + } } From 148635860dba5a3bbc44bdd7a5142b78acf232bf Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 26 Apr 2020 19:51:58 +0200 Subject: [PATCH 02/19] Add Info plist to mac resources (#5986) * add Info plist to mac resources Based on https://hg.openjdk.java.net/jdk/jdk/file/tip/src/jdk.incubator.jpackage/macosx/classes/jdk/incubator/jpackage/internal/resources/Runtime-Info.plist.template * rename to Runtime-Info.plist * Rename Runtime-Info.plist to Runtime-Info.plist.template * Create Info-lite.plist.template Try with this file * Update Runtime-Info.plist.template * Try to load resources already for image creation * experiment with tempalte and plist without template Co-authored-by: Tobias Diez --- buildres/mac/Info-lite.plist.template | 39 ++++++++++++++++++++++++ buildres/mac/Runtime-Info.plist | 26 ++++++++++++++++ buildres/mac/Runtime-Info.plist.template | 26 ++++++++++++++++ buildres/mac/info-lite.plist | 39 ++++++++++++++++++++++++ 4 files changed, 130 insertions(+) create mode 100644 buildres/mac/Info-lite.plist.template create mode 100644 buildres/mac/Runtime-Info.plist create mode 100644 buildres/mac/Runtime-Info.plist.template create mode 100644 buildres/mac/info-lite.plist diff --git a/buildres/mac/Info-lite.plist.template b/buildres/mac/Info-lite.plist.template new file mode 100644 index 00000000000..509eb841ef9 --- /dev/null +++ b/buildres/mac/Info-lite.plist.template @@ -0,0 +1,39 @@ + + + + + LSMinimumSystemVersion + 10.9 + CFBundleDevelopmentRegion + English + CFBundleAllowMixedLocalizations + + CFBundleExecutable + DEPLOY_LAUNCHER_NAME + CFBundleIconFile + DEPLOY_ICON_FILE + CFBundleIdentifier + DEPLOY_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DEPLOY_BUNDLE_NAME + CFBundlePackageType + APPL + CFBundleShortVersionString + DEPLOY_BUNDLE_SHORT_VERSION + CFBundleSignature + ???? + + LSApplicationCategoryType + Unknown + CFBundleVersion + DEPLOY_BUNDLE_CFBUNDLE_VERSION + NSHumanReadableCopyright + DEPLOY_BUNDLE_COPYRIGHTDEPLOY_FILE_ASSOCIATIONS + NSHighResolutionCapable + true + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/buildres/mac/Runtime-Info.plist b/buildres/mac/Runtime-Info.plist new file mode 100644 index 00000000000..76fb7eeb134 --- /dev/null +++ b/buildres/mac/Runtime-Info.plist @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + libjli.dylib + CFBundleIdentifier + CF_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 7.0 + CFBundleName + CF_BUNDLE_NAME + CFBundlePackageType + BNDL + CFBundleShortVersionString + CF_BUNDLE_SHORT_VERSION_STRING + CFBundleSignature + ???? + CFBundleVersion + CF_BUNDLE_VERSION + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/buildres/mac/Runtime-Info.plist.template b/buildres/mac/Runtime-Info.plist.template new file mode 100644 index 00000000000..76fb7eeb134 --- /dev/null +++ b/buildres/mac/Runtime-Info.plist.template @@ -0,0 +1,26 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + libjli.dylib + CFBundleIdentifier + CF_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 7.0 + CFBundleName + CF_BUNDLE_NAME + CFBundlePackageType + BNDL + CFBundleShortVersionString + CF_BUNDLE_SHORT_VERSION_STRING + CFBundleSignature + ???? + CFBundleVersion + CF_BUNDLE_VERSION + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/buildres/mac/info-lite.plist b/buildres/mac/info-lite.plist new file mode 100644 index 00000000000..509eb841ef9 --- /dev/null +++ b/buildres/mac/info-lite.plist @@ -0,0 +1,39 @@ + + + + + LSMinimumSystemVersion + 10.9 + CFBundleDevelopmentRegion + English + CFBundleAllowMixedLocalizations + + CFBundleExecutable + DEPLOY_LAUNCHER_NAME + CFBundleIconFile + DEPLOY_ICON_FILE + CFBundleIdentifier + DEPLOY_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DEPLOY_BUNDLE_NAME + CFBundlePackageType + APPL + CFBundleShortVersionString + DEPLOY_BUNDLE_SHORT_VERSION + CFBundleSignature + ???? + + LSApplicationCategoryType + Unknown + CFBundleVersion + DEPLOY_BUNDLE_CFBUNDLE_VERSION + NSHumanReadableCopyright + DEPLOY_BUNDLE_COPYRIGHTDEPLOY_FILE_ASSOCIATIONS + NSHighResolutionCapable + true + NSSupportsAutomaticGraphicsSwitching + + + From ce05e1efbd274c4a1dd918e7bafe08e80ba7d659 Mon Sep 17 00:00:00 2001 From: Mootez Saad <34676841+MootezSaaD@users.noreply.github.com> Date: Sun, 26 Apr 2020 20:05:45 +0100 Subject: [PATCH 03/19] Change blue and red colors in Merge entries dialog in Dark theme (#6356) --- CHANGELOG.md | 2 +- src/main/java/org/jabref/gui/mergeentries/MergeEntries.css | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e4e2f17e1..e18d228a6d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -91,7 +91,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed an issue where an exception was thrown when adding a save action without a selected formatter in the library properties [#6069](https://github.com/JabRef/jabref/issues/6069) - We fixed an issue where JabRef's icon was missing in the Export to clipboard Dialog. [#6286](https://github.com/JabRef/jabref/issues/6286) - We fixed an issue when an "Abstract field" was duplicating text, when importing from RIS file (Neurons) [#6065](https://github.com/JabRef/jabref/issues/6065) - +- We fixed an issue where the blue and red text colors in the Merge entries dialog were not quite visible [#6334](https://github.com/JabRef/jabref/issues/6334) ### Removed diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css index 4481810193c..82f5ca6d3ee 100644 --- a/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css +++ b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css @@ -3,10 +3,10 @@ } .text-added { - -fx-fill: blue; + -fx-fill: #54A3F2; } .text-removed { - -fx-fill: red; + -fx-fill: #FA5B68; } From 60cc300801ae2da8aeda0146846ed9bacc581472 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:13:27 +0200 Subject: [PATCH 04/19] Bump classgraph from 4.8.71 to 4.8.77 (#6363) Bumps [classgraph](https://github.com/classgraph/classgraph) from 4.8.71 to 4.8.77. - [Release notes](https://github.com/classgraph/classgraph/releases) - [Commits](https://github.com/classgraph/classgraph/compare/classgraph-4.8.71...classgraph-4.8.77) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 501ed8f6743..4136854d99c 100644 --- a/build.gradle +++ b/build.gradle @@ -200,7 +200,7 @@ dependencies { implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.6' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.16' - testImplementation 'io.github.classgraph:classgraph:4.8.71' + testImplementation 'io.github.classgraph:classgraph:4.8.77' testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2' testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.6.2' testImplementation 'org.junit.platform:junit-platform-launcher:1.6.2' From bf9ab1f6d196e08897ab247cc587520ad8e9ec17 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:15:44 +0200 Subject: [PATCH 05/19] Bump org.beryx.jlink from 2.17.7 to 2.17.8 (#6362) Bumps org.beryx.jlink from 2.17.7 to 2.17.8. Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 4136854d99c..27c1ed919bd 100644 --- a/build.gradle +++ b/build.gradle @@ -22,7 +22,7 @@ plugins { id 'com.github.ben-manes.versions' version '0.28.0' id 'org.javamodularity.moduleplugin' version '1.5.0' id 'org.openjfx.javafxplugin' version '0.0.8' - id 'org.beryx.jlink' version '2.17.7' + id 'org.beryx.jlink' version '2.17.8' // nicer test outputs during running and completion id 'com.adarshr.test-logger' version '2.0.0' From 095af816842bcb10236d8c5d5abc7124006a11ec Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:16:17 +0200 Subject: [PATCH 06/19] Bump flexmark from 0.61.16 to 0.61.20 (#6359) Bumps [flexmark](https://github.com/vsch/flexmark-java) from 0.61.16 to 0.61.20. - [Release notes](https://github.com/vsch/flexmark-java/releases) - [Commits](https://github.com/vsch/flexmark-java/compare/0.61.16...0.61.20) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 27c1ed919bd..6707d21813b 100644 --- a/build.gradle +++ b/build.gradle @@ -196,7 +196,7 @@ dependencies { exclude module: "log4j-core" } - implementation 'com.vladsch.flexmark:flexmark:0.61.16' + implementation 'com.vladsch.flexmark:flexmark:0.61.20' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.6' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.16' From 36722c7e204b63bb4700628aa02852a978574e0c Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:16:31 +0200 Subject: [PATCH 07/19] Bump flexmark-ext-gfm-tasklist from 0.61.16 to 0.61.20 (#6364) Bumps [flexmark-ext-gfm-tasklist](https://github.com/vsch/flexmark-java) from 0.61.16 to 0.61.20. - [Release notes](https://github.com/vsch/flexmark-java/releases) - [Commits](https://github.com/vsch/flexmark-java/compare/0.61.16...0.61.20) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6707d21813b..9831f41634f 100644 --- a/build.gradle +++ b/build.gradle @@ -198,7 +198,7 @@ dependencies { implementation 'com.vladsch.flexmark:flexmark:0.61.20' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.6' - implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.16' + implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.20' testImplementation 'io.github.classgraph:classgraph:4.8.77' testImplementation 'org.junit.jupiter:junit-jupiter:5.6.2' From 8abcbdcb9a13dbac884789745a304d5ef0b3081b Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:17:14 +0200 Subject: [PATCH 08/19] Bump checkstyle from 8.31 to 8.32 (#6360) Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 8.31 to 8.32. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-8.31...checkstyle-8.32) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 9831f41634f..6291f4e204a 100644 --- a/build.gradle +++ b/build.gradle @@ -216,7 +216,7 @@ dependencies { testImplementation "org.testfx:testfx-junit5:4.0.17-alpha-SNAPSHOT" testImplementation "org.hamcrest:hamcrest-library:2.2" - checkstyle 'com.puppycrawl.tools:checkstyle:8.31' + checkstyle 'com.puppycrawl.tools:checkstyle:8.32' xjc group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '2.3.2' jython 'org.python:jython-standalone:2.7.2' } From c0e1a42607bdb5615709b5e067b1b0365559cc09 Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Mon, 27 Apr 2020 12:47:52 +0200 Subject: [PATCH 09/19] Bump flexmark-ext-gfm-strikethrough from 0.61.6 to 0.61.20 (#6361) Bumps [flexmark-ext-gfm-strikethrough](https://github.com/vsch/flexmark-java) from 0.61.6 to 0.61.20. - [Release notes](https://github.com/vsch/flexmark-java/releases) - [Commits](https://github.com/vsch/flexmark-java/compare/0.61.6...0.61.20) Signed-off-by: dependabot-preview[bot] Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 6291f4e204a..4ec9f6d185e 100644 --- a/build.gradle +++ b/build.gradle @@ -197,7 +197,7 @@ dependencies { } implementation 'com.vladsch.flexmark:flexmark:0.61.20' - implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.6' + implementation 'com.vladsch.flexmark:flexmark-ext-gfm-strikethrough:0.61.20' implementation 'com.vladsch.flexmark:flexmark-ext-gfm-tasklist:0.61.20' testImplementation 'io.github.classgraph:classgraph:4.8.77' From 5292a702bd6e1fbbd1dc098ac229dded5a0934cc Mon Sep 17 00:00:00 2001 From: Grzegorz Popiel Date: Mon, 27 Apr 2020 12:49:50 +0200 Subject: [PATCH 10/19] Fix wrong button order (Apply and Cancel) in ManageProtectedTermsDialog. (#6358) * Fix wrong button order (Apply and Cancel) in ManageProtectedTermsDialog. * Fix code style. Change button text 'Apply' to 'Save'. --- CHANGELOG.md | 1 + .../jabref/gui/protectedterms/ManageProtectedTermsDialog.fxml | 2 +- .../jabref/gui/protectedterms/ManageProtectedTermsDialog.java | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e18d228a6d4..44608f73db7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve ### Fixed +- We fixed wrong button order (Apply and Cancel) in ManageProtectedTermsDialog. - We greatly improved the performance of the overall application and many operations. [#5071](https://github.com/JabRef/jabref/issues/5071) - We fixed an issue where sort by priority was broken. [#6222](https://github.com/JabRef/jabref/issues/6222) - We fixed an issue where opening a library from the recent libraries menu was not possible. [#5939](https://github.com/JabRef/jabref/issues/5939) diff --git a/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.fxml b/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.fxml index 0b23bc0ccaf..8afa8a733c1 100644 --- a/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.fxml +++ b/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.fxml @@ -31,6 +31,6 @@ + - diff --git a/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.java b/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.java index 474304d2383..74cff7197ae 100644 --- a/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.java +++ b/src/main/java/org/jabref/gui/protectedterms/ManageProtectedTermsDialog.java @@ -3,7 +3,7 @@ import javax.inject.Inject; import javafx.fxml.FXML; -import javafx.scene.control.ButtonType; +import javafx.scene.control.ButtonBar; import javafx.scene.control.ContextMenu; import javafx.scene.control.MenuItem; import javafx.scene.control.TableColumn; @@ -48,7 +48,7 @@ public ManageProtectedTermsDialog() { .setAsDialogPane(this); setResultConverter(button -> { - if (button == ButtonType.APPLY) { + if (button.getButtonData() == ButtonBar.ButtonData.OK_DONE) { viewModel.save(); } return null; From 4fece2f81781187a25ce024bb349a522c6c119be Mon Sep 17 00:00:00 2001 From: Christoph Date: Mon, 27 Apr 2020 20:55:05 +0200 Subject: [PATCH 11/19] Try with info.plist.template also (#6366) * Try with info.plist.template also * Finally fixes #5935 --- CHANGELOG.md | 1 + buildres/mac/Info.plist | 39 ++++++++++++++++++++++++++++++++ buildres/mac/Info.plist.template | 39 ++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100644 buildres/mac/Info.plist create mode 100644 buildres/mac/Info.plist.template diff --git a/CHANGELOG.md b/CHANGELOG.md index 44608f73db7..89df55d3d63 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed the display of icon both in the main table and linked file editor. [#6169](https://github.com/JabRef/jabref/issues/6169) - We fixed the paste entry command in the menu and toolbar, that did not do anything. [#6293](https://github.com/JabRef/jabref/issues/6293) - We fixed an issue where the windows installer did not create an entry in the start menu [bug report in the forum](https://discourse.jabref.org/t/error-while-fetching-from-doi/2018/3) +- We fixed an issue where JabRef switched to discrete graphics under macOS [#5935](https://github.com/JabRef/jabref/issues/5935) ### Removed diff --git a/buildres/mac/Info.plist b/buildres/mac/Info.plist new file mode 100644 index 00000000000..509eb841ef9 --- /dev/null +++ b/buildres/mac/Info.plist @@ -0,0 +1,39 @@ + + + + + LSMinimumSystemVersion + 10.9 + CFBundleDevelopmentRegion + English + CFBundleAllowMixedLocalizations + + CFBundleExecutable + DEPLOY_LAUNCHER_NAME + CFBundleIconFile + DEPLOY_ICON_FILE + CFBundleIdentifier + DEPLOY_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DEPLOY_BUNDLE_NAME + CFBundlePackageType + APPL + CFBundleShortVersionString + DEPLOY_BUNDLE_SHORT_VERSION + CFBundleSignature + ???? + + LSApplicationCategoryType + Unknown + CFBundleVersion + DEPLOY_BUNDLE_CFBUNDLE_VERSION + NSHumanReadableCopyright + DEPLOY_BUNDLE_COPYRIGHTDEPLOY_FILE_ASSOCIATIONS + NSHighResolutionCapable + true + NSSupportsAutomaticGraphicsSwitching + + + diff --git a/buildres/mac/Info.plist.template b/buildres/mac/Info.plist.template new file mode 100644 index 00000000000..509eb841ef9 --- /dev/null +++ b/buildres/mac/Info.plist.template @@ -0,0 +1,39 @@ + + + + + LSMinimumSystemVersion + 10.9 + CFBundleDevelopmentRegion + English + CFBundleAllowMixedLocalizations + + CFBundleExecutable + DEPLOY_LAUNCHER_NAME + CFBundleIconFile + DEPLOY_ICON_FILE + CFBundleIdentifier + DEPLOY_BUNDLE_IDENTIFIER + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DEPLOY_BUNDLE_NAME + CFBundlePackageType + APPL + CFBundleShortVersionString + DEPLOY_BUNDLE_SHORT_VERSION + CFBundleSignature + ???? + + LSApplicationCategoryType + Unknown + CFBundleVersion + DEPLOY_BUNDLE_CFBUNDLE_VERSION + NSHumanReadableCopyright + DEPLOY_BUNDLE_COPYRIGHTDEPLOY_FILE_ASSOCIATIONS + NSHighResolutionCapable + true + NSSupportsAutomaticGraphicsSwitching + + + From 2f848f70dd3dafa8705f2c4eee91602c1a471f5e Mon Sep 17 00:00:00 2001 From: "dependabot-preview[bot]" <27856297+dependabot-preview[bot]@users.noreply.github.com> Date: Tue, 28 Apr 2020 09:12:24 +0200 Subject: [PATCH 12/19] Bump java-diff-utils from 4.5 to 4.7 (#6365) * Bump java-diff-utils from 4.5 to 4.7 Bumps [java-diff-utils](https://github.com/java-diff-utils/java-diff-utils) from 4.5 to 4.7. - [Release notes](https://github.com/java-diff-utils/java-diff-utils/releases) - [Changelog](https://github.com/java-diff-utils/java-diff-utils/blob/master/CHANGELOG.md) - [Commits](https://github.com/java-diff-utils/java-diff-utils/compare/java-diff-utils-parent-4.5...java-diff-utils-parent-4.7) Signed-off-by: dependabot-preview[bot] * Update DiffHighlighting.java * Update DiffHighlighting.java Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com> Co-authored-by: Tobias Diez --- build.gradle | 2 +- .../gui/mergeentries/DiffHighlighting.java | 17 ++--------------- 2 files changed, 3 insertions(+), 16 deletions(-) diff --git a/build.gradle b/build.gradle index 4ec9f6d185e..9a97c2aab6d 100644 --- a/build.gradle +++ b/build.gradle @@ -133,7 +133,7 @@ dependencies { libreoffice 'org.libreoffice:ridl:6.4.3' libreoffice 'org.libreoffice:unoil:6.4.3' - implementation 'io.github.java-diff-utils:java-diff-utils:4.5' + implementation 'io.github.java-diff-utils:java-diff-utils:4.7' implementation 'info.debatty:java-string-similarity:1.2.1' antlr3 'org.antlr:antlr:3.5.2' diff --git a/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java index 4b93edbb8c8..514ce4fe370 100644 --- a/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java +++ b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java @@ -8,7 +8,6 @@ import javafx.scene.text.Text; import com.github.difflib.DiffUtils; -import com.github.difflib.algorithm.DiffException; import com.github.difflib.patch.AbstractDelta; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -23,13 +22,7 @@ private DiffHighlighting() { public static List generateDiffHighlighting(String baseString, String modifiedString, String separator) { List stringList = Arrays.asList(baseString.split(separator)); List result = stringList.stream().map(text -> forUnchanged(text + separator)).collect(Collectors.toList()); - List> deltaList; - try { - deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); - } catch (DiffException e) { - LOGGER.error("Error while generating diff of " + baseString + " and " + modifiedString); - return Collections.emptyList(); - } + List> deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); Collections.reverse(deltaList); for (AbstractDelta delta : deltaList) { int startPos = delta.getSource().getPosition(); @@ -87,13 +80,7 @@ public static Text forRemoved(String text) { public static List generateSymmetricHighlighting(String baseString, String modifiedString, String separator) { List stringList = Arrays.asList(baseString.split(separator)); List result = stringList.stream().map(text -> DiffHighlighting.forUnchanged(text + separator)).collect(Collectors.toList()); - List> deltaList; - try { - deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); - } catch (DiffException e) { - LOGGER.error("Error while generating diff of " + baseString + " and " + modifiedString); - return Collections.emptyList(); - } + List> deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); Collections.reverse(deltaList); for (AbstractDelta delta : deltaList) { int startPos = delta.getSource().getPosition(); From b2682decc6d96b57b9d309d771d918809805a7fd Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Tue, 28 Apr 2020 09:13:08 +0200 Subject: [PATCH 13/19] Correct label name in dependabot --- .dependabot/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dependabot/config.yml b/.dependabot/config.yml index 5b4f9789a3d..ddd732d0666 100644 --- a/.dependabot/config.yml +++ b/.dependabot/config.yml @@ -6,7 +6,7 @@ update_configs: directory: "/" update_schedule: "weekly" default_labels: - - "t: dependencies" + - "type: dependencies" automerged_updates: - match: dependency_type: "all" From cbf7796401edd7649b67e0e5eb7b0394882758d1 Mon Sep 17 00:00:00 2001 From: Mootez Saad <34676841+MootezSaaD@users.noreply.github.com> Date: Tue, 28 Apr 2020 13:19:48 +0100 Subject: [PATCH 14/19] Fix various Dark theme issues (#6368) * Fix various dark theme issues * Reduce code duplication and pass the global objects as dependencies --- src/main/java/org/jabref/gui/Dark.css | 5 ++++- .../org/jabref/gui/JabRefDialogService.java | 19 +++++++++++++++++-- src/main/java/org/jabref/gui/JabRefFrame.java | 4 +++- 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/jabref/gui/Dark.css b/src/main/java/org/jabref/gui/Dark.css index d87c8ad5e7d..6c92cf74e4e 100644 --- a/src/main/java/org/jabref/gui/Dark.css +++ b/src/main/java/org/jabref/gui/Dark.css @@ -46,12 +46,15 @@ -jr-menu-item-foreground: -fx-light-text-color; -jr-menu-forground-active: derive(-fx-light-text-color, 50%); - -jr-scrollbar-thumb: derive(-fx-outer-border, -30%); + -jr-scrollbar-thumb: -fx-light-text-color; -jr-scrollbar-track: derive(-fx-control-inner-background, -90%); -fx-focused-text-base-color: -fx-dark-text-color; -jr-tooltip-fg: derive(-fx-light-text-color, 50%); + + -jr-drag-target: -jr-accent; + -jr-drag-target-hover: -jr-accent; } #previewBody{ diff --git a/src/main/java/org/jabref/gui/JabRefDialogService.java b/src/main/java/org/jabref/gui/JabRefDialogService.java index e0178808ce2..6c0ccf37611 100644 --- a/src/main/java/org/jabref/gui/JabRefDialogService.java +++ b/src/main/java/org/jabref/gui/JabRefDialogService.java @@ -35,8 +35,10 @@ import org.jabref.gui.icon.IconTheme; import org.jabref.gui.util.DirectoryDialogConfiguration; import org.jabref.gui.util.FileDialogConfiguration; +import org.jabref.gui.util.ThemeLoader; import org.jabref.gui.util.ZipFileChooser; import org.jabref.logic.l10n.Localization; +import org.jabref.preferences.JabRefPreferences; import com.jfoenix.controls.JFXSnackbar; import com.jfoenix.controls.JFXSnackbar.SnackbarEvent; @@ -61,16 +63,22 @@ public class JabRefDialogService implements DialogService { private static final Duration TOAST_MESSAGE_DISPLAY_TIME = Duration.millis(3000); private static final Logger LOGGER = LoggerFactory.getLogger(JabRefDialogService.class); + private static JabRefPreferences preferences; + private static ThemeLoader themeLoader; + private final Window mainWindow; private final JFXSnackbar statusLine; - public JabRefDialogService(Window mainWindow, Pane mainPane) { + public JabRefDialogService(Window mainWindow, Pane mainPane, JabRefPreferences preferences, ThemeLoader themeLoader) { this.mainWindow = mainWindow; this.statusLine = new JFXSnackbar(mainPane); + this.preferences = preferences; + this.themeLoader = themeLoader; } private static FXDialog createDialog(AlertType type, String title, String content) { FXDialog alert = new FXDialog(type, title, true); + themeLoader.installCss(alert.getDialogPane().getScene(), preferences); alert.setHeaderText(null); alert.setContentText(content); alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE); @@ -103,7 +111,7 @@ protected Node createDetailsButton() { // Reset the dialog graphic using the default style alert.getDialogPane().setGraphic(graphic); - + themeLoader.installCss(alert.getDialogPane().getScene(), preferences); alert.setHeaderText(null); alert.setContentText(content); alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE); @@ -126,6 +134,7 @@ public Optional showChoiceDialogAndWait(String title, String content, Str choiceDialog.setHeaderText(title); choiceDialog.setTitle(title); choiceDialog.setContentText(content); + themeLoader.installCss(choiceDialog.getDialogPane().getScene(), preferences); return choiceDialog.showAndWait(); } @@ -134,6 +143,7 @@ public Optional showInputDialogAndWait(String title, String content) { TextInputDialog inputDialog = new TextInputDialog(); inputDialog.setHeaderText(title); inputDialog.setContentText(content); + themeLoader.installCss(inputDialog.getDialogPane().getScene(), preferences); return inputDialog.showAndWait(); } @@ -142,6 +152,7 @@ public Optional showInputDialogWithDefaultAndWait(String title, String c TextInputDialog inputDialog = new TextInputDialog(defaultValue); inputDialog.setHeaderText(title); inputDialog.setContentText(content); + themeLoader.installCss(inputDialog.getDialogPane().getScene(), preferences); return inputDialog.showAndWait(); } @@ -168,6 +179,7 @@ public void showErrorDialogAndWait(String message, Throwable exception) { ExceptionDialog exceptionDialog = new ExceptionDialog(exception); exceptionDialog.getDialogPane().setMaxWidth(mainWindow.getWidth() / 2); exceptionDialog.setHeaderText(message); + themeLoader.installCss(exceptionDialog.getDialogPane().getScene(), preferences); exceptionDialog.showAndWait(); } @@ -176,6 +188,7 @@ public void showErrorDialogAndWait(String title, String content, Throwable excep ExceptionDialog exceptionDialog = new ExceptionDialog(exception); exceptionDialog.setHeaderText(title); exceptionDialog.setContentText(content); + themeLoader.installCss(exceptionDialog.getDialogPane().getScene(), preferences); exceptionDialog.showAndWait(); } @@ -244,6 +257,7 @@ public Optional showCustomDialogAndWait(String title, DialogPane con alert.getButtonTypes().setAll(buttonTypes); alert.getDialogPane().setMinHeight(Region.USE_PREF_SIZE); alert.setResizable(true); + themeLoader.installCss(alert.getDialogPane().getScene(), preferences); return alert.showAndWait(); } @@ -268,6 +282,7 @@ public void showProgressDialogAndWait(String title, String content, Task task.cancel(); progressDialog.close(); }); + themeLoader.installCss(progressDialog.getDialogPane().getScene(), preferences); progressDialog.show(); } diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java index 5a122eb28a4..a6ab65e4d4f 100644 --- a/src/main/java/org/jabref/gui/JabRefFrame.java +++ b/src/main/java/org/jabref/gui/JabRefFrame.java @@ -114,6 +114,7 @@ import org.jabref.gui.undo.UndoRedoAction; import org.jabref.gui.util.BackgroundTask; import org.jabref.gui.util.DefaultTaskExecutor; +import org.jabref.gui.util.ThemeLoader; import org.jabref.logic.autosaveandbackup.AutosaveManager; import org.jabref.logic.autosaveandbackup.BackupManager; import org.jabref.logic.citationstyle.CitationStyleOutputFormat; @@ -152,6 +153,7 @@ public class JabRefFrame extends BorderPane { private final SplitPane splitPane = new SplitPane(); private final JabRefPreferences prefs = Globals.prefs; + private final ThemeLoader themeLoader = Globals.getThemeLoader(); private final GlobalSearchBar globalSearchBar = new GlobalSearchBar(this, Globals.stateManager); private final ProgressBar progressBar = new ProgressBar(); @@ -169,7 +171,7 @@ public class JabRefFrame extends BorderPane { public JabRefFrame(Stage mainStage) { this.mainStage = mainStage; - this.dialogService = new JabRefDialogService(mainStage, this); + this.dialogService = new JabRefDialogService(mainStage, this, prefs, themeLoader); this.stateManager = Globals.stateManager; this.pushToApplicationsManager = new PushToApplicationsManager(dialogService, stateManager); this.undoManager = Globals.undoManager; From d10e56fb8a1a7ab34a0583704490e644c0078143 Mon Sep 17 00:00:00 2001 From: Tianjian lei <185049857@qq.com> Date: Wed, 29 Apr 2020 14:50:29 +0800 Subject: [PATCH 15/19] Fix Preferences style value too long (#6372) * Showing correct icon on main table linked files column * Showing correct icon on both main table and linked files column * Showing correct icon on both main table and linked file editor list * delete the TODO comments * add record in CHANGELOG.md * Squashed 'src/main/resources/csl-styles/' changes from fa6bb226d2..06785fac8f * Fixed unexpected modification of Preview in Preferences->Entry preview * Add entry in CHANGELOG.md * Add entry in CHANGELOG.md --- CHANGELOG.md | 1 + .../jabref/gui/preferences/PreviewTabView.java | 4 ++-- .../gui/preferences/PreviewTabViewModel.java | 16 ++++++++++------ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 89df55d3d63..842a8255648 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -43,6 +43,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed the paste entry command in the menu and toolbar, that did not do anything. [#6293](https://github.com/JabRef/jabref/issues/6293) - We fixed an issue where the windows installer did not create an entry in the start menu [bug report in the forum](https://discourse.jabref.org/t/error-while-fetching-from-doi/2018/3) - We fixed an issue where JabRef switched to discrete graphics under macOS [#5935](https://github.com/JabRef/jabref/issues/5935) +- We fixed an issue where the Preferences entry preview will be unexpected modified leads to Value too long exception [#6198](https://github.com/JabRef/jabref/issues/6198) ### Removed diff --git a/src/main/java/org/jabref/gui/preferences/PreviewTabView.java b/src/main/java/org/jabref/gui/preferences/PreviewTabView.java index 8d387006ce7..67fcada9c73 100644 --- a/src/main/java/org/jabref/gui/preferences/PreviewTabView.java +++ b/src/main/java/org/jabref/gui/preferences/PreviewTabView.java @@ -211,7 +211,7 @@ private void dragDetectedInAvailable(MouseEvent event) { List selectedLayouts = new ArrayList<>(viewModel.availableSelectionModelProperty().getValue().getSelectedItems()); if (!selectedLayouts.isEmpty()) { Dragboard dragboard = startDragAndDrop(TransferMode.MOVE); - viewModel.dragDetected(viewModel.availableListProperty(), selectedLayouts, dragboard); + viewModel.dragDetected(viewModel.availableListProperty(), viewModel.availableSelectionModelProperty(), selectedLayouts, dragboard); } event.consume(); } @@ -220,7 +220,7 @@ private void dragDetectedInChosen(MouseEvent event) { List selectedLayouts = new ArrayList<>(viewModel.chosenSelectionModelProperty().getValue().getSelectedItems()); if (!selectedLayouts.isEmpty()) { Dragboard dragboard = startDragAndDrop(TransferMode.MOVE); - viewModel.dragDetected(viewModel.chosenListProperty(), selectedLayouts, dragboard); + viewModel.dragDetected(viewModel.chosenListProperty(), viewModel.chosenSelectionModelProperty(), selectedLayouts, dragboard); } event.consume(); } diff --git a/src/main/java/org/jabref/gui/preferences/PreviewTabViewModel.java b/src/main/java/org/jabref/gui/preferences/PreviewTabViewModel.java index 5d5a841047a..d749fb09dfd 100644 --- a/src/main/java/org/jabref/gui/preferences/PreviewTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/PreviewTabViewModel.java @@ -68,6 +68,7 @@ public class PreviewTabViewModel implements PreferenceTabViewModel { private final CustomLocalDragboard localDragboard; private Validator chosenListValidator; private ListProperty dragSourceList = null; + private ObjectProperty> dragSourceSelectionModel = null; public PreviewTabViewModel(DialogService dialogService, JabRefPreferences preferences, TaskExecutor taskExecutor, StateManager stateManager) { this.dialogService = dialogService; @@ -231,12 +232,14 @@ public boolean validateSettings() { public void addToChosen() { List selected = new ArrayList<>(availableSelectionModelProperty.getValue().getSelectedItems()); + availableSelectionModelProperty.getValue().clearSelection(); availableListProperty.removeAll(selected); chosenListProperty.addAll(selected); } public void removeFromChosen() { List selected = new ArrayList<>(chosenSelectionModelProperty.getValue().getSelectedItems()); + chosenSelectionModelProperty.getValue().clearSelection(); chosenListProperty.removeAll(selected); availableListProperty.addAll(selected); availableListProperty.sort((a, b) -> a.getName().compareToIgnoreCase(b.getName())); @@ -249,6 +252,7 @@ public void selectedInChosenUp() { List selected = new ArrayList<>(chosenSelectionModelProperty.getValue().getSelectedIndices()); List newIndices = new ArrayList<>(); + chosenSelectionModelProperty.getValue().clearSelection(); for (int oldIndex : selected) { boolean alreadyTaken = newIndices.contains(oldIndex - 1); @@ -257,7 +261,6 @@ public void selectedInChosenUp() { newIndices.add(newIndex); } - chosenSelectionModelProperty.getValue().clearSelection(); newIndices.forEach(index -> chosenSelectionModelProperty.getValue().select(index)); chosenSelectionModelProperty.getValue().select(newIndices.get(0)); refreshPreview(); @@ -270,6 +273,7 @@ public void selectedInChosenDown() { List selected = new ArrayList<>(chosenSelectionModelProperty.getValue().getSelectedIndices()); List newIndices = new ArrayList<>(); + chosenSelectionModelProperty.getValue().clearSelection(); for (int i = selected.size() - 1; i >= 0; i--) { int oldIndex = selected.get(i); @@ -279,7 +283,6 @@ public void selectedInChosenDown() { newIndices.add(newIndex); } - chosenSelectionModelProperty.getValue().clearSelection(); newIndices.forEach(index -> chosenSelectionModelProperty.getValue().select(index)); chosenSelectionModelProperty.getValue().select(newIndices.get(0)); refreshPreview(); @@ -365,12 +368,13 @@ public void dragOver(DragEvent event) { } } - public void dragDetected(ListProperty sourceList, List selectedLayouts, Dragboard dragboard) { + public void dragDetected(ListProperty sourceList, ObjectProperty> sourceSelectionModel, List selectedLayouts, Dragboard dragboard) { ClipboardContent content = new ClipboardContent(); content.put(DragAndDropDataFormats.PREVIEWLAYOUTS, ""); dragboard.setContent(content); localDragboard.putPreviewLayouts(selectedLayouts); dragSourceList = sourceList; + dragSourceSelectionModel = sourceSelectionModel; } /** @@ -386,6 +390,7 @@ public boolean dragDropped(ListProperty targetList, Dragboard dra if (dragboard.hasContent(DragAndDropDataFormats.PREVIEWLAYOUTS)) { List draggedLayouts = localDragboard.getPreviewLayouts(); if (!draggedLayouts.isEmpty()) { + dragSourceSelectionModel.getValue().clearSelection(); dragSourceList.getValue().removeAll(draggedLayouts); targetList.getValue().addAll(draggedLayouts); success = true; @@ -412,7 +417,7 @@ public boolean dragDroppedInChosenCell(PreviewLayout targetLayout, Dragboard dra if (dragboard.hasContent(DragAndDropDataFormats.PREVIEWLAYOUTS)) { List draggedSelectedLayouts = new ArrayList<>(localDragboard.getPreviewLayouts()); if (!draggedSelectedLayouts.isEmpty()) { - + chosenSelectionModelProperty.getValue().clearSelection(); int targetId = chosenListProperty.getValue().indexOf(targetLayout); // see https://stackoverflow.com/questions/28603224/sort-tableview-with-drag-and-drop-rows @@ -427,7 +432,7 @@ public boolean dragDroppedInChosenCell(PreviewLayout targetLayout, Dragboard dra } targetLayout = chosenListProperty.getValue().get(targetId); } - + dragSourceSelectionModel.getValue().clearSelection(); dragSourceList.getValue().removeAll(draggedSelectedLayouts); if (targetLayout != null) { @@ -438,7 +443,6 @@ public boolean dragDroppedInChosenCell(PreviewLayout targetLayout, Dragboard dra chosenListProperty.getValue().addAll(targetId, draggedSelectedLayouts); - chosenSelectionModelProperty.getValue().clearSelection(); draggedSelectedLayouts.forEach(layout -> chosenSelectionModelProperty.getValue().select(layout)); success = true; From 7219e3609adfd1c9a7817835c64eeee452765b85 Mon Sep 17 00:00:00 2001 From: Mootez Saad <34676841+MootezSaaD@users.noreply.github.com> Date: Wed, 29 Apr 2020 15:47:43 +0100 Subject: [PATCH 16/19] Disable the generate button if the ID field is empty (#6371) * Disable the generate button if the id field is empty * Add changelog entry * Replace empty string predicate Co-authored-by: Christoph --- CHANGELOG.md | 2 ++ src/main/java/org/jabref/gui/EntryTypeView.java | 11 +++++++++-- src/main/java/org/jabref/gui/EntryTypeViewModel.java | 9 ++++++++- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 842a8255648..ddd5571d47b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -94,8 +94,10 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - We fixed an issue where an exception was thrown when adding a save action without a selected formatter in the library properties [#6069](https://github.com/JabRef/jabref/issues/6069) - We fixed an issue where JabRef's icon was missing in the Export to clipboard Dialog. [#6286](https://github.com/JabRef/jabref/issues/6286) - We fixed an issue when an "Abstract field" was duplicating text, when importing from RIS file (Neurons) [#6065](https://github.com/JabRef/jabref/issues/6065) +- We fixed an issue where adding the addition of a new entry was not completely validated [#6370](https://github.com/JabRef/jabref/issues/6370) - We fixed an issue where the blue and red text colors in the Merge entries dialog were not quite visible [#6334](https://github.com/JabRef/jabref/issues/6334) + ### Removed - Ampersands are no longer escaped by default in the `bib` file. If you want to keep the current behaviour, you can use the new "Escape Ampersands" formatter as a save action. [#5869](https://github.com/JabRef/jabref/issues/5869) diff --git a/src/main/java/org/jabref/gui/EntryTypeView.java b/src/main/java/org/jabref/gui/EntryTypeView.java index 657fe4b20f0..e4f0d11a9c7 100644 --- a/src/main/java/org/jabref/gui/EntryTypeView.java +++ b/src/main/java/org/jabref/gui/EntryTypeView.java @@ -19,6 +19,7 @@ import org.jabref.Globals; import org.jabref.gui.util.BaseDialog; import org.jabref.gui.util.ControlHelper; +import org.jabref.gui.util.IconValidationDecorator; import org.jabref.gui.util.ViewModelListCellFactory; import org.jabref.logic.importer.IdBasedFetcher; import org.jabref.logic.l10n.Localization; @@ -33,6 +34,7 @@ import org.jabref.preferences.JabRefPreferences; import com.airhacks.afterburner.views.ViewLoader; +import de.saxsys.mvvmfx.utils.validation.visualization.ControlsFxVisualizer; import org.fxmisc.easybind.EasyBind; /** @@ -59,6 +61,7 @@ public class EntryTypeView extends BaseDialog { private EntryType type; private EntryTypeViewModel viewModel; + private final ControlsFxVisualizer visualizer = new ControlsFxVisualizer(); public EntryTypeView(BasePanel basePanel, DialogService dialogService, JabRefPreferences preferences) { this.basePanel = basePanel; @@ -80,7 +83,7 @@ public EntryTypeView(BasePanel basePanel, DialogService dialogService, JabRefPre Button btnGenerate = (Button) this.getDialogPane().lookupButton(generateButton); btnGenerate.textProperty().bind(EasyBind.map(viewModel.searchingProperty(), searching -> (searching) ? Localization.lang("Searching...") : Localization.lang("Generate"))); - btnGenerate.disableProperty().bind(viewModel.searchingProperty()); + btnGenerate.disableProperty().bind(viewModel.idFieldValidationStatus().validProperty().not().or(viewModel.searchingProperty())); EasyBind.subscribe(viewModel.searchSuccesfulProperty(), value -> { if (value) { @@ -112,6 +115,7 @@ private void addEntriesToPane(FlowPane pane, Collection @FXML public void initialize() { + visualizer.setDecoration(new IconValidationDecorator()); viewModel = new EntryTypeViewModel(prefs, basePanel, dialogService); idBasedFetchers.itemsProperty().bind(viewModel.fetcherItemsProperty()); @@ -160,7 +164,10 @@ public void initialize() { } } - Platform.runLater(() -> idTextField.requestFocus()); + Platform.runLater(() -> { + idTextField.requestFocus(); + visualizer.initVisualization(viewModel.idFieldValidationStatus(), idTextField, true); + }); } public EntryType getChoice() { diff --git a/src/main/java/org/jabref/gui/EntryTypeViewModel.java b/src/main/java/org/jabref/gui/EntryTypeViewModel.java index 62344a16889..c3284a74a90 100644 --- a/src/main/java/org/jabref/gui/EntryTypeViewModel.java +++ b/src/main/java/org/jabref/gui/EntryTypeViewModel.java @@ -27,6 +27,10 @@ import org.jabref.model.strings.StringUtil; import org.jabref.preferences.JabRefPreferences; +import de.saxsys.mvvmfx.utils.validation.FunctionBasedValidator; +import de.saxsys.mvvmfx.utils.validation.ValidationMessage; +import de.saxsys.mvvmfx.utils.validation.ValidationStatus; +import de.saxsys.mvvmfx.utils.validation.Validator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -44,6 +48,7 @@ public class EntryTypeViewModel { private Task> fetcherWorker = new FetcherWorker(); private final BasePanel basePanel; private final DialogService dialogService; + private final Validator idFieldValidator; public EntryTypeViewModel(JabRefPreferences preferences, BasePanel basePanel, DialogService dialogService) { this.basePanel = basePanel; @@ -51,7 +56,7 @@ public EntryTypeViewModel(JabRefPreferences preferences, BasePanel basePanel, Di this.dialogService = dialogService; fetchers.addAll(WebFetchers.getIdBasedFetchers(preferences.getImportFormatPreferences())); selectedItemProperty.setValue(getLastSelectedFetcher()); - + idFieldValidator = new FunctionBasedValidator<>(idText, StringUtil::isNotBlank, ValidationMessage.error(Localization.lang("Required field \"%0\" is empty.", Localization.lang("ID")))); } public BooleanProperty searchSuccesfulProperty() { @@ -66,6 +71,8 @@ public ObjectProperty selectedItemProperty() { return selectedItemProperty; } + public ValidationStatus idFieldValidationStatus() { return idFieldValidator.getValidationStatus(); } + public StringProperty idTextProperty() { return idText; } From 862078a4db316cfd15bd77be68d3d2b010feab3b Mon Sep 17 00:00:00 2001 From: Tobias Diez Date: Thu, 30 Apr 2020 11:10:13 +0200 Subject: [PATCH 17/19] Fixes #6357: File directory (#6377) * Fixes #6357: File directory Bug was introduced in https://github.com/JabRef/jabref/commit/1b03f039aa4abf0812a3a8ae0ba248c08fdb39a3. * Fix tests * Replace Paths.get * Fix code style --- .../org/jabref/cli/ArgumentProcessor.java | 11 +- .../java/org/jabref/cli/AuxCommandLine.java | 4 +- src/main/java/org/jabref/gui/JabRefFrame.java | 3 +- .../org/jabref/gui/actions/ActionHelper.java | 2 +- .../jabref/gui/auximport/FromAuxDialog.java | 6 +- .../jabref/gui/copyfiles/CopyFilesAction.java | 3 +- .../gui/copyfiles/CopySingleFileAction.java | 9 +- .../org/jabref/gui/desktop/JabRefDesktop.java | 15 +-- .../java/org/jabref/gui/desktop/os/Linux.java | 3 +- .../jabref/gui/desktop/os/NativeDesktop.java | 3 +- .../java/org/jabref/gui/desktop/os/OSX.java | 3 +- .../org/jabref/gui/desktop/os/Windows.java | 11 +- .../CreateModifyExporterDialogViewModel.java | 3 +- .../FindUnlinkedFilesDialog.java | 5 +- .../gui/fieldeditors/LinkedFileViewModel.java | 9 +- .../LinkedFilesEditDialogViewModel.java | 7 +- .../gui/groups/GroupDialogViewModel.java | 11 +- .../org/jabref/gui/importer/ImportAction.java | 3 +- .../ImportCustomizationDialogViewModel.java | 3 +- .../ManageJournalAbbreviationsViewModel.java | 3 +- .../LibraryPropertiesDialogViewModel.java | 3 +- .../DetectOpenOfficeInstallation.java | 3 +- .../gui/openoffice/OpenOfficePanel.java | 3 +- .../gui/preferences/FileTabViewModel.java | 11 +- .../SharedDatabaseLoginDialogViewModel.java | 7 +- .../texparser/ParseLatexDialogViewModel.java | 9 +- .../util/DirectoryDialogConfiguration.java | 3 +- .../gui/util/FileDialogConfiguration.java | 3 +- .../java/org/jabref/gui/util/ThemeLoader.java | 5 +- .../logic/auxparser/DefaultAuxParser.java | 3 +- .../logic/citationstyle/CitationStyle.java | 3 +- .../logic/cleanup/RelativePathsCleanup.java | 4 +- .../logic/cleanup/RenamePdfCleanup.java | 4 +- .../jabref/logic/exporter/XmpExporter.java | 5 +- .../jabref/logic/importer/OpenDatabase.java | 3 +- .../importer/fileformat/CustomImporter.java | 5 +- .../logic/importer/util/GroupsParser.java | 3 +- .../logic/importer/util/MetaDataParser.java | 3 +- .../jabref/logic/layout/format/FileLink.java | 7 +- .../layout/format/FileLinkPreferences.java | 11 +- .../logic/layout/format/WrapFileLinks.java | 7 +- .../openoffice/OpenOfficeFileSearch.java | 9 +- .../protectedterms/ProtectedTermsList.java | 3 +- .../logic/texparser/DefaultLatexParser.java | 3 +- .../logic/util/io/RegExpBasedFileFinder.java | 5 +- .../org/jabref/logic/xmp/XmpUtilReader.java | 4 +- .../org/jabref/logic/xmp/XmpUtilWriter.java | 3 +- .../model/database/BibDatabaseContext.java | 110 ++++++---------- .../org/jabref/model/entry/LinkedFile.java | 5 +- .../org/jabref/model/groups/TexGroup.java | 8 +- .../model/metadata/FilePreferences.java | 31 ++--- .../org/jabref/model/metadata/MetaData.java | 2 +- .../org/jabref/model/util/FileHelper.java | 66 ++-------- .../jabref/preferences/JabRefPreferences.java | 22 ++-- .../java/org/jabref/TestIconsProperties.java | 7 +- .../architecture/MainArchitectureTests.java | 3 +- .../MainArchitectureTestsWithArchUnit.java | 10 ++ .../architecture/TestArchitectureTests.java | 3 +- .../org/jabref/cli/AuxCommandLineTest.java | 4 +- .../gui/util/FileDialogConfigurationTest.java | 3 +- .../autosaveandbackup/BackupManagerTest.java | 5 +- .../jabref/logic/auxparser/AuxParserTest.java | 13 +- .../jabref/logic/bibtex/BibEntryAssert.java | 5 +- .../logic/bst/BstPreviewLayoutTest.java | 12 +- .../exporter/BibTeXMLExporterTestFiles.java | 5 +- .../exporter/BibtexDatabaseWriterTest.java | 17 ++- .../logic/exporter/DocBook5ExporterTest.java | 3 +- .../logic/exporter/GroupSerializerTest.java | 4 +- .../exporter/MSBibExportFormatTestFiles.java | 3 +- .../logic/exporter/ModsExportFormatTest.java | 3 +- .../exporter/ModsExportFormatTestFiles.java | 13 +- .../logic/exporter/XmpExporterTest.java | 5 +- .../jabref/logic/importer/ImportDataTest.java | 13 +- .../ImportFormatReaderIntegrationTest.java | 7 +- .../ImportFormatReaderTestParameterless.java | 5 +- .../logic/importer/OpenDatabaseTest.java | 8 +- .../fileformat/BiblioscapeImporterTest.java | 3 +- .../fileformat/BibtexImporterTest.java | 7 +- .../fileformat/CopacImporterTest.java | 3 +- .../fileformat/CustomImporterTest.java | 4 +- .../fileformat/EndnoteImporterTest.java | 9 +- .../fileformat/ImporterTestEngine.java | 5 +- .../importer/fileformat/IsiImporterTest.java | 17 ++- .../fileformat/MedlinePlainImporterTest.java | 4 +- .../fileformat/MsBibImporterTest.java | 7 +- .../importer/fileformat/OvidImporterTest.java | 9 +- .../fileformat/PdfContentImporterTest.java | 5 +- .../fileformat/PdfXmpImporterTest.java | 7 +- .../importer/fileformat/RISImporterTest.java | 3 +- .../logic/importer/util/GroupsParserTest.java | 4 +- .../l10n/LocalizationConsistencyTest.java | 5 +- .../jabref/logic/l10n/LocalizationParser.java | 7 +- .../org/jabref/logic/layout/LayoutTest.java | 4 +- .../layout/format/WrapFileLinksTest.java | 46 +++---- .../logic/openoffice/OOBibStyleTest.java | 6 +- .../logic/openoffice/StyleLoaderTest.java | 24 ++-- .../pdf/EntryAnnotationImporterTest.java | 3 +- .../logic/pdf/PdfAnnotationImporterTest.java | 34 ++--- .../ProtectedTermsLoaderTest.java | 12 +- .../logic/texparser/DefaultTexParserTest.java | 37 +++--- .../logic/texparser/LatexParserTest.java | 15 +-- .../texparser/TexBibEntriesResolverTest.java | 25 ++-- .../jabref/logic/util/io/FileHistoryTest.java | 26 ++-- .../jabref/logic/util/io/FileUtilTest.java | 33 +++-- .../util/io/RegExpBasedFileFinderTests.java | 19 ++- .../jabref/logic/xmp/XmpUtilReaderTest.java | 9 +- .../jabref/logic/xmp/XmpUtilWriterTest.java | 5 +- .../jabref/model/BibDatabaseContextTest.java | 42 ------ .../database/BibDatabaseContextTest.java | 122 ++++++++++++------ .../org/jabref/model/groups/TexGroupTest.java | 7 +- .../jabref/model/strings/StringUtilTest.java | 3 +- 111 files changed, 530 insertions(+), 685 deletions(-) delete mode 100644 src/test/java/org/jabref/model/BibDatabaseContextTest.java diff --git a/src/main/java/org/jabref/cli/ArgumentProcessor.java b/src/main/java/org/jabref/cli/ArgumentProcessor.java index fda5b35c0af..0df0c0f8dee 100644 --- a/src/main/java/org/jabref/cli/ArgumentProcessor.java +++ b/src/main/java/org/jabref/cli/ArgumentProcessor.java @@ -3,7 +3,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -111,9 +110,9 @@ private static Optional importFile(String argument) { } } else { if (OS.WINDOWS) { - file = Paths.get(address); + file = Path.of(address); } else { - file = Paths.get(address.replace("~", System.getProperty("user.home"))); + file = Path.of(address.replace("~", System.getProperty("user.home"))); } } @@ -280,7 +279,7 @@ private boolean exportMatches(List loaded) { // We have an TemplateExporter instance: try { System.out.println(Localization.lang("Exporting") + ": " + data[1]); - exporter.get().export(databaseContext, Paths.get(data[1]), + exporter.get().export(databaseContext, Path.of(data[1]), databaseContext.getMetaData().getEncoding().orElse(Globals.prefs.getDefaultEncoding()), matches); } catch (Exception ex) { @@ -389,7 +388,7 @@ private void saveDatabase(BibDatabase newBase, String subName) { try { System.out.println(Localization.lang("Saving") + ": " + subName); SavePreferences prefs = Globals.prefs.loadForSaveFromPreferences(); - AtomicFileWriter fileWriter = new AtomicFileWriter(Paths.get(subName), prefs.getEncoding()); + AtomicFileWriter fileWriter = new AtomicFileWriter(Path.of(subName), prefs.getEncoding()); BibDatabaseWriter databaseWriter = new BibtexDatabaseWriter(fileWriter, prefs, Globals.entryTypesManager); databaseWriter.saveDatabase(new BibDatabaseContext(newBase)); @@ -441,7 +440,7 @@ private void exportFile(List loaded, String[] data) { } else { // We have an exporter: try { - exporter.get().export(pr.getDatabaseContext(), Paths.get(data[0]), + exporter.get().export(pr.getDatabaseContext(), Path.of(data[0]), pr.getDatabaseContext().getMetaData().getEncoding() .orElse(Globals.prefs.getDefaultEncoding()), pr.getDatabaseContext().getDatabase().getEntries()); diff --git a/src/main/java/org/jabref/cli/AuxCommandLine.java b/src/main/java/org/jabref/cli/AuxCommandLine.java index 3b09315ce15..00cb424fb54 100644 --- a/src/main/java/org/jabref/cli/AuxCommandLine.java +++ b/src/main/java/org/jabref/cli/AuxCommandLine.java @@ -1,6 +1,6 @@ package org.jabref.cli; -import java.nio.file.Paths; +import java.nio.file.Path; import org.jabref.gui.auximport.AuxParserResultViewModel; import org.jabref.logic.auxparser.DefaultAuxParser; @@ -23,7 +23,7 @@ public BibDatabase perform() { if (!auxFile.isEmpty() && (database != null)) { AuxParser auxParser = new DefaultAuxParser(database); - AuxParserResult result = auxParser.parse(Paths.get(auxFile)); + AuxParserResult result = auxParser.parse(Path.of(auxFile)); subDatabase = result.getGeneratedBibDatabase(); // print statistics System.out.println(new AuxParserResultViewModel(result).getInformation(true)); diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java index a6ab65e4d4f..ae79b4d341f 100644 --- a/src/main/java/org/jabref/gui/JabRefFrame.java +++ b/src/main/java/org/jabref/gui/JabRefFrame.java @@ -2,7 +2,6 @@ import java.io.File; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -320,7 +319,7 @@ public void setWindowTitle() { * The MacAdapter calls this method when a "BIB" file has been double-clicked from the Finder. */ public void openAction(String filePath) { - Path file = Paths.get(filePath); + Path file = Path.of(filePath); // all the logic is done in openIt. Even raising an existing panel getOpenDatabaseAction().openFile(file, true); } diff --git a/src/main/java/org/jabref/gui/actions/ActionHelper.java b/src/main/java/org/jabref/gui/actions/ActionHelper.java index 06f294de5d2..186e3666a5f 100644 --- a/src/main/java/org/jabref/gui/actions/ActionHelper.java +++ b/src/main/java/org/jabref/gui/actions/ActionHelper.java @@ -47,7 +47,7 @@ public static BooleanExpression isFilePresentForSelectedEntry(StateManager state return Bindings.createBooleanBinding(() -> { List files = stateManager.getSelectedEntries().get(0).getFiles(); if ((files.size() > 0) && stateManager.getActiveDatabase().isPresent()) { - Optional filename = FileHelper.expandFilename( + Optional filename = FileHelper.find( stateManager.getActiveDatabase().get(), files.get(0).getLink(), preferencesService.getFilePreferences()); diff --git a/src/main/java/org/jabref/gui/auximport/FromAuxDialog.java b/src/main/java/org/jabref/gui/auximport/FromAuxDialog.java index d1043c6981d..7db6fe77f8c 100644 --- a/src/main/java/org/jabref/gui/auximport/FromAuxDialog.java +++ b/src/main/java/org/jabref/gui/auximport/FromAuxDialog.java @@ -1,6 +1,6 @@ package org.jabref.gui.auximport; -import java.nio.file.Paths; +import java.nio.file.Path; import javafx.fxml.FXML; import javafx.scene.control.Button; @@ -36,7 +36,7 @@ public class FromAuxDialog extends BaseDialog { private final DialogService dialogService; private final BasePanel basePanel; @FXML private ButtonType generateButtonType; - private Button generateButton; + private final Button generateButton; @FXML private TextField auxFileField; @FXML private ListView notFoundList; @@ -74,7 +74,7 @@ private void parseActionPerformed() { if ((auxName != null) && (refBase != null) && !auxName.isEmpty()) { AuxParser auxParser = new DefaultAuxParser(refBase); - auxParserResult = auxParser.parse(Paths.get(auxName)); + auxParserResult = auxParser.parse(Path.of(auxName)); notFoundList.getItems().setAll(auxParserResult.getUnresolvedKeys()); statusInfos.setText(new AuxParserResultViewModel(auxParserResult).getInformation(false)); diff --git a/src/main/java/org/jabref/gui/copyfiles/CopyFilesAction.java b/src/main/java/org/jabref/gui/copyfiles/CopyFilesAction.java index a425631f2bd..d3fa80e837c 100644 --- a/src/main/java/org/jabref/gui/copyfiles/CopyFilesAction.java +++ b/src/main/java/org/jabref/gui/copyfiles/CopyFilesAction.java @@ -1,7 +1,6 @@ package org.jabref.gui.copyfiles; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; @@ -47,7 +46,7 @@ public void execute() { List entries = stateManager.getSelectedEntries(); DirectoryDialogConfiguration dirDialogConfiguration = new DirectoryDialogConfiguration.Builder() - .withInitialDirectory(Paths.get(Globals.prefs.get(JabRefPreferences.EXPORT_WORKING_DIRECTORY))) + .withInitialDirectory(Path.of(Globals.prefs.get(JabRefPreferences.EXPORT_WORKING_DIRECTORY))) .build(); Optional exportPath = dialogService.showDirectorySelectionDialog(dirDialogConfiguration); exportPath.ifPresent(path -> { diff --git a/src/main/java/org/jabref/gui/copyfiles/CopySingleFileAction.java b/src/main/java/org/jabref/gui/copyfiles/CopySingleFileAction.java index 60671662148..ada371cfc58 100644 --- a/src/main/java/org/jabref/gui/copyfiles/CopySingleFileAction.java +++ b/src/main/java/org/jabref/gui/copyfiles/CopySingleFileAction.java @@ -1,7 +1,6 @@ package org.jabref.gui.copyfiles; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import java.util.function.BiFunction; @@ -17,9 +16,9 @@ public class CopySingleFileAction { - private LinkedFile linkedFile; - private DialogService dialogService; - private BibDatabaseContext databaseContext; + private final LinkedFile linkedFile; + private final DialogService dialogService; + private final BibDatabaseContext databaseContext; private final BiFunction resolvePathFilename = (path, file) -> { return path.resolve(file.getFileName()); }; @@ -32,7 +31,7 @@ public CopySingleFileAction(LinkedFile linkedFile, DialogService dialogService, public void copyFile() { DirectoryDialogConfiguration dirDialogConfiguration = new DirectoryDialogConfiguration.Builder() - .withInitialDirectory(Paths.get(Globals.prefs.get(JabRefPreferences.EXPORT_WORKING_DIRECTORY))) + .withInitialDirectory(Path.of(Globals.prefs.get(JabRefPreferences.EXPORT_WORKING_DIRECTORY))) .build(); Optional exportPath = dialogService.showDirectorySelectionDialog(dirDialogConfiguration); exportPath.ifPresent(this::copyFileToDestination); diff --git a/src/main/java/org/jabref/gui/desktop/JabRefDesktop.java b/src/main/java/org/jabref/gui/desktop/JabRefDesktop.java index 59c0dc0611d..a0fbe80b055 100644 --- a/src/main/java/org/jabref/gui/desktop/JabRefDesktop.java +++ b/src/main/java/org/jabref/gui/desktop/JabRefDesktop.java @@ -55,12 +55,12 @@ public static void openExternalViewer(BibDatabaseContext databaseContext, String Field field = initialField; if (StandardField.PS.equals(field) || StandardField.PDF.equals(field)) { // Find the default directory for this field type: - List dir = databaseContext.getFileDirectories(field, Globals.prefs.getFilePreferences()); + List directories = databaseContext.getFileDirectoriesAsPaths(Globals.prefs.getFilePreferences()); - Optional file = FileHelper.expandFilename(link, dir); + Optional file = FileHelper.find(link, directories); // Check that the file exists: - if (!file.isPresent() || !Files.exists(file.get())) { + if (file.isEmpty() || !Files.exists(file.get())) { throw new IOException("File not found (" + field + "): '" + link + "'."); } link = file.get().toAbsolutePath().toString(); @@ -126,21 +126,16 @@ public static boolean openExternalFileAnyFormat(final BibDatabaseContext databas return true; } - Optional file = FileHelper.expandFilename(databaseContext, link, Globals.prefs.getFilePreferences()); + Optional file = FileHelper.find(databaseContext, link, Globals.prefs.getFilePreferences()); if (file.isPresent() && Files.exists(file.get())) { // Open the file: String filePath = file.get().toString(); openExternalFilePlatformIndependent(type, filePath); - return true; } else { // No file matched the name, try to open it directly using the given app openExternalFilePlatformIndependent(type, link); - return true; } - } - - public static boolean openExternalFileAnyFormat(Path file, final BibDatabaseContext databaseContext, final Optional type) throws IOException { - return openExternalFileAnyFormat(databaseContext, file.toString(), type); + return true; } private static void openExternalFilePlatformIndependent(Optional fileType, String filePath) diff --git a/src/main/java/org/jabref/gui/desktop/os/Linux.java b/src/main/java/org/jabref/gui/desktop/os/Linux.java index dcd0252e677..ee1881af803 100644 --- a/src/main/java/org/jabref/gui/desktop/os/Linux.java +++ b/src/main/java/org/jabref/gui/desktop/os/Linux.java @@ -5,7 +5,6 @@ import java.io.IOException; import java.io.InputStreamReader; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Locale; import java.util.Optional; @@ -109,6 +108,6 @@ public String detectProgramPath(String programName, String directoryName) { @Override public Path getApplicationDirectory() { - return Paths.get("/usr/lib/"); + return Path.of("/usr/lib/"); } } diff --git a/src/main/java/org/jabref/gui/desktop/os/NativeDesktop.java b/src/main/java/org/jabref/gui/desktop/os/NativeDesktop.java index f4c2014384b..2f207851191 100644 --- a/src/main/java/org/jabref/gui/desktop/os/NativeDesktop.java +++ b/src/main/java/org/jabref/gui/desktop/os/NativeDesktop.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; public interface NativeDesktop { void openFile(String filePath, String fileType) throws IOException; @@ -35,6 +34,6 @@ public interface NativeDesktop { * @return the path to the user directory. */ default Path getUserDirectory() { - return Paths.get(System.getProperty("user.home")); + return Path.of(System.getProperty("user.home")); } } diff --git a/src/main/java/org/jabref/gui/desktop/os/OSX.java b/src/main/java/org/jabref/gui/desktop/os/OSX.java index 9abd006cdce..57f145f7460 100644 --- a/src/main/java/org/jabref/gui/desktop/os/OSX.java +++ b/src/main/java/org/jabref/gui/desktop/os/OSX.java @@ -4,7 +4,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import org.jabref.gui.externalfiletype.ExternalFileType; @@ -48,6 +47,6 @@ public String detectProgramPath(String programName, String directoryName) { @Override public Path getApplicationDirectory() { - return Paths.get("/Applications"); + return Path.of("/Applications"); } } diff --git a/src/main/java/org/jabref/gui/desktop/os/Windows.java b/src/main/java/org/jabref/gui/desktop/os/Windows.java index 00367d1b2c9..dce140cd155 100644 --- a/src/main/java/org/jabref/gui/desktop/os/Windows.java +++ b/src/main/java/org/jabref/gui/desktop/os/Windows.java @@ -3,14 +3,13 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import org.jabref.gui.externalfiletype.ExternalFileType; import org.jabref.gui.externalfiletype.ExternalFileTypes; public class Windows implements NativeDesktop { - private static String DEFAULT_EXECUTABLE_EXTENSION = ".exe"; + private static final String DEFAULT_EXECUTABLE_EXTENSION = ".exe"; @Override public void openFile(String filePath, String fileType) throws IOException { @@ -32,9 +31,9 @@ public String detectProgramPath(String programName, String directoryName) { progFiles = System.getenv("ProgramFiles"); } if ((directoryName != null) && !directoryName.isEmpty()) { - return Paths.get(progFiles, directoryName, programName + DEFAULT_EXECUTABLE_EXTENSION).toString(); + return Path.of(progFiles, directoryName, programName + DEFAULT_EXECUTABLE_EXTENSION).toString(); } - return Paths.get(progFiles, programName + DEFAULT_EXECUTABLE_EXTENSION).toString(); + return Path.of(progFiles, programName + DEFAULT_EXECUTABLE_EXTENSION).toString(); } @Override @@ -42,14 +41,14 @@ public Path getApplicationDirectory() { String programDir = System.getenv("ProgramFiles"); if (programDir != null) { - return Paths.get(programDir); + return Path.of(programDir); } return getUserDirectory(); } @Override public void openFileWithApplication(String filePath, String application) throws IOException { - new ProcessBuilder(Paths.get(application).toString(), Paths.get(filePath).toString()).start(); + new ProcessBuilder(Path.of(application).toString(), Path.of(filePath).toString()).start(); } @Override diff --git a/src/main/java/org/jabref/gui/exporter/CreateModifyExporterDialogViewModel.java b/src/main/java/org/jabref/gui/exporter/CreateModifyExporterDialogViewModel.java index df1ab4ffbb8..0487fa357a3 100644 --- a/src/main/java/org/jabref/gui/exporter/CreateModifyExporterDialogViewModel.java +++ b/src/main/java/org/jabref/gui/exporter/CreateModifyExporterDialogViewModel.java @@ -1,7 +1,6 @@ package org.jabref.gui.exporter; import java.nio.file.Path; -import java.nio.file.Paths; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; @@ -55,7 +54,7 @@ public CreateModifyExporterDialogViewModel(ExporterViewModel exporter, DialogSer } public ExporterViewModel saveExporter() { - Path layoutFileDir = Paths.get(layoutFile.get()).getParent(); + Path layoutFileDir = Path.of(layoutFile.get()).getParent(); if (layoutFileDir != null) { String layoutFileDirString = layoutFileDir.toString(); preferences.setExportWorkingDirectory(layoutFileDirString); diff --git a/src/main/java/org/jabref/gui/externalfiles/FindUnlinkedFilesDialog.java b/src/main/java/org/jabref/gui/externalfiles/FindUnlinkedFilesDialog.java index 66c707e156d..1b455afdbdd 100644 --- a/src/main/java/org/jabref/gui/externalfiles/FindUnlinkedFilesDialog.java +++ b/src/main/java/org/jabref/gui/externalfiles/FindUnlinkedFilesDialog.java @@ -6,7 +6,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.ArrayList; import java.util.Arrays; @@ -304,9 +303,9 @@ private void startSearch() { } private Path getSearchDirectory() { - Path directory = Paths.get(textfieldDirectoryPath.getText()); + Path directory = Path.of(textfieldDirectoryPath.getText()); if (Files.notExists(directory)) { - directory = Paths.get(System.getProperty("user.dir")); + directory = Path.of(System.getProperty("user.dir")); textfieldDirectoryPath.setText(directory.toAbsolutePath().toString()); } if (!Files.isDirectory(directory)) { diff --git a/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java b/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java index 62994a86a20..ca4af64148c 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java +++ b/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java @@ -4,7 +4,6 @@ import java.net.MalformedURLException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -101,7 +100,7 @@ public LinkedFileViewModel(LinkedFile linkedFile, if (linkedFile.isOnlineLink()) { return true; } else { - Optional path = FileHelper.expandFilename(databaseContext, link, filePreferences); + Optional path = FileHelper.find(databaseContext, link, filePreferences); return path.isPresent() && Files.exists(path.get()); } }, @@ -192,7 +191,7 @@ public void open() { public void openFolder() { try { if (!linkedFile.isOnlineLink()) { - Optional resolvedPath = FileHelper.expandFilename( + Optional resolvedPath = FileHelper.find( databaseContext, linkedFile.getLink(), filePreferences); @@ -216,7 +215,7 @@ public void renameToSuggestion() { public void askForNameAndRename() { String oldFile = this.linkedFile.getLink(); - Path oldFilePath = Paths.get(oldFile); + Path oldFilePath = Path.of(oldFile); Optional askedFileName = dialogService.showInputDialogWithDefaultAndWait(Localization.lang("Rename file"), Localization.lang("New Filename"), oldFilePath.getFileName().toString()); askedFileName.ifPresent(this::renameFileToName); } @@ -293,7 +292,7 @@ public void moveToDefaultDirectory() { * @return true if the suggested filename is same as current filename. */ public boolean isGeneratedNameSameAsOriginal() { - Path file = Paths.get(this.linkedFile.getLink()); + Path file = Path.of(this.linkedFile.getLink()); String currentFileName = file.getFileName().toString(); String suggestedFileName = this.linkedFileHandler.getSuggestedFileName(); diff --git a/src/main/java/org/jabref/gui/filelist/LinkedFilesEditDialogViewModel.java b/src/main/java/org/jabref/gui/filelist/LinkedFilesEditDialogViewModel.java index 1d2f80b11ff..9700fa841bf 100644 --- a/src/main/java/org/jabref/gui/filelist/LinkedFilesEditDialogViewModel.java +++ b/src/main/java/org/jabref/gui/filelist/LinkedFilesEditDialogViewModel.java @@ -1,7 +1,6 @@ package org.jabref.gui.filelist; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; import java.util.regex.Pattern; @@ -70,10 +69,10 @@ private void setExternalFileTypeByExtension(String link) { public void openBrowseDialog() { String fileText = link.get(); - Optional file = FileHelper.expandFilename(database, fileText, preferences.getFilePreferences()); + Optional file = FileHelper.find(database, fileText, preferences.getFilePreferences()); Path workingDir = file.orElse(preferences.getWorkingDir()); - String fileName = Paths.get(fileText).getFileName().toString(); + String fileName = Path.of(fileText).getFileName().toString(); FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder() .withInitialDirectory(workingDir) @@ -95,7 +94,7 @@ public void setValues(LinkedFile linkedFile) { if (linkedFile.isOnlineLink()) { link.setValue(linkedFile.getLink()); // Might be an URL } else { - link.setValue(relativize(Paths.get(linkedFile.getLink()))); + link.setValue(relativize(Path.of(linkedFile.getLink()))); } selectedExternalFileType.setValue(null); diff --git a/src/main/java/org/jabref/gui/groups/GroupDialogViewModel.java b/src/main/java/org/jabref/gui/groups/GroupDialogViewModel.java index 2da487145e3..a5bc2d7c9af 100644 --- a/src/main/java/org/jabref/gui/groups/GroupDialogViewModel.java +++ b/src/main/java/org/jabref/gui/groups/GroupDialogViewModel.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -99,7 +98,7 @@ public class GroupDialogViewModel { private Validator keywordSearchTermEmptyValidator; private Validator searchRegexValidator; private Validator searchSearchTermEmptyValidator; - private CompositeValidator validator = new CompositeValidator(); + private final CompositeValidator validator = new CompositeValidator(); private final DialogService dialogService; private final PreferencesService preferencesService; @@ -142,10 +141,8 @@ private void setupValidation() { return false; } - if ((editedGroup != null) && !editedGroup.getName().equals(name) && (groupsWithSameName > 0)) { - // Edit group, changed name to something that is already present - return false; - } + // Edit group, changed name to something that is already present + return (editedGroup == null) || editedGroup.getName().equals(name) || (groupsWithSameName <= 0); } return true; }, @@ -302,7 +299,7 @@ public AbstractGroup resultConverter(ButtonType button) { resultingGroup = TexGroup.create( groupName, groupHierarchySelectedProperty.getValue(), - Paths.get(texGroupFilePathProperty.getValue().trim()), + Path.of(texGroupFilePathProperty.getValue().trim()), new DefaultAuxParser(new BibDatabase()), Globals.getFileUpdateMonitor(), currentDatabase.getMetaData()); diff --git a/src/main/java/org/jabref/gui/importer/ImportAction.java b/src/main/java/org/jabref/gui/importer/ImportAction.java index 2c08c0e16ba..2b6bec6dc27 100644 --- a/src/main/java/org/jabref/gui/importer/ImportAction.java +++ b/src/main/java/org/jabref/gui/importer/ImportAction.java @@ -3,7 +3,6 @@ import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -58,7 +57,7 @@ public ImportAction(JabRefFrame frame, boolean openInNew, Importer importer) { * @param filenames List of files to import */ public void automatedImport(List filenames) { - List files = filenames.stream().map(Paths::get).collect(Collectors.toList()); + List files = filenames.stream().map(Path::of).collect(Collectors.toList()); BackgroundTask task = BackgroundTask.wrap(() -> { List imports = doImport(files); // Ok, done. Then try to gather in all we have found. Since we might diff --git a/src/main/java/org/jabref/gui/importer/ImportCustomizationDialogViewModel.java b/src/main/java/org/jabref/gui/importer/ImportCustomizationDialogViewModel.java index 8ab6ba58277..90ac43ee424 100644 --- a/src/main/java/org/jabref/gui/importer/ImportCustomizationDialogViewModel.java +++ b/src/main/java/org/jabref/gui/importer/ImportCustomizationDialogViewModel.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.Optional; @@ -48,7 +47,7 @@ public ImportCustomizationDialogViewModel(PreferencesService preferences, Dialog * @return class name */ private static String pathToClass(String basePath, Path path) { - String className = FileUtil.relativize(path, Collections.singletonList(Paths.get(basePath))).toString(); + String className = FileUtil.relativize(path, Collections.singletonList(Path.of(basePath))).toString(); if (className != null) { int lastDot = className.lastIndexOf('.'); if (lastDot < 0) { diff --git a/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsViewModel.java b/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsViewModel.java index 2835d0eff5f..2842f890161 100644 --- a/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsViewModel.java +++ b/src/main/java/org/jabref/gui/journals/ManageJournalAbbreviationsViewModel.java @@ -3,7 +3,6 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -151,7 +150,7 @@ private void addList(String name, List abbreviations) { */ public void createFileObjects() { List externalFiles = abbreviationsPreferences.getExternalJournalLists(); - externalFiles.forEach(name -> openFile(Paths.get(name))); + externalFiles.forEach(name -> openFile(Path.of(name))); } /** diff --git a/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java b/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java index f88df80f07d..555c70aede9 100644 --- a/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java +++ b/src/main/java/org/jabref/gui/libraryproperties/LibraryPropertiesDialogViewModel.java @@ -2,7 +2,6 @@ import java.nio.charset.Charset; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import java.util.Set; @@ -155,7 +154,7 @@ void storeSettings() { if (latexFileDirectory.isEmpty()) { newMetaData.clearLatexFileDirectory(preferences.getUser()); } else { - newMetaData.setLatexFileDirectory(preferences.getUser(), Paths.get(latexFileDirectory)); + newMetaData.setLatexFileDirectory(preferences.getUser(), Path.of(latexFileDirectory)); } if (libraryProtectedProperty.getValue()) { diff --git a/src/main/java/org/jabref/gui/openoffice/DetectOpenOfficeInstallation.java b/src/main/java/org/jabref/gui/openoffice/DetectOpenOfficeInstallation.java index c4e8e47885a..117bcc9c5a7 100644 --- a/src/main/java/org/jabref/gui/openoffice/DetectOpenOfficeInstallation.java +++ b/src/main/java/org/jabref/gui/openoffice/DetectOpenOfficeInstallation.java @@ -2,7 +2,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; @@ -76,7 +75,7 @@ private boolean autoDetectPaths() { */ private boolean checkAutoDetectedPaths(OpenOfficePreferences openOfficePreferences) { String executablePath = openOfficePreferences.getExecutablePath(); - return !StringUtil.isNullOrEmpty(executablePath) && Files.exists(Paths.get(executablePath)); + return !StringUtil.isNullOrEmpty(executablePath) && Files.exists(Path.of(executablePath)); } private boolean setOpenOfficePreferences(Path installDir) { diff --git a/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java b/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java index 491653f3ad6..f23972e1a4d 100644 --- a/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java +++ b/src/main/java/org/jabref/gui/openoffice/OpenOfficePanel.java @@ -5,7 +5,6 @@ import java.lang.reflect.InvocationTargetException; import java.net.URL; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -375,7 +374,7 @@ private void connect() { @Override protected OOBibBase call() throws Exception { updateProgress(ProgressBar.INDETERMINATE_PROGRESS, ProgressBar.INDETERMINATE_PROGRESS); - List jarUrls = findOpenOfficeJars(Paths.get(ooPrefs.getInstallationPath())); + List jarUrls = findOpenOfficeJars(Path.of(ooPrefs.getInstallationPath())); return createBibBase(jarUrls); } diff --git a/src/main/java/org/jabref/gui/preferences/FileTabViewModel.java b/src/main/java/org/jabref/gui/preferences/FileTabViewModel.java index 2346dd22983..1da2e313031 100644 --- a/src/main/java/org/jabref/gui/preferences/FileTabViewModel.java +++ b/src/main/java/org/jabref/gui/preferences/FileTabViewModel.java @@ -2,7 +2,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; @@ -19,8 +18,6 @@ import org.jabref.gui.DialogService; import org.jabref.gui.util.DirectoryDialogConfiguration; import org.jabref.logic.l10n.Localization; -import org.jabref.model.entry.field.StandardField; -import org.jabref.model.metadata.FilePreferences; import org.jabref.preferences.JabRefPreferences; import org.jabref.preferences.NewLineSeparator; @@ -63,7 +60,7 @@ public FileTabViewModel(DialogService dialogService, JabRefPreferences preferenc mainFileDirValidator = new FunctionBasedValidator<>( mainFileDirProperty, input -> { - Path path = Paths.get(mainFileDirProperty.getValue()); + Path path = Path.of(mainFileDirProperty.getValue()); return (Files.exists(path) && Files.isDirectory(path)); }, ValidationMessage.error(String.format("%s > %s > %s %n %n %s", @@ -87,7 +84,7 @@ public void setValues() { selectedNewLineSeparatorProperty.setValue(preferences.getNewLineSeparator()); alwaysReformatBibProperty.setValue(preferences.getBoolean(JabRefPreferences.REFORMAT_FILE_ON_SAVE_AND_EXPORT)); - mainFileDirProperty.setValue(preferences.getAsOptional(StandardField.FILE.getName() + FilePreferences.DIR_SUFFIX).orElse("")); + mainFileDirProperty.setValue(preferences.getAsOptional(JabRefPreferences.MAIN_FILE_DIRECTORY).orElse("")); useBibLocationAsPrimaryProperty.setValue(preferences.getBoolean(JabRefPreferences.BIB_LOC_AS_PRIMARY_DIR)); if (preferences.getBoolean(JabRefPreferences.AUTOLINK_USE_REG_EXP_SEARCH_KEY)) { // Flipped around autolinkUseRegexProperty.setValue(true); @@ -118,7 +115,7 @@ public void storeSettings() { preferences.setNewLineSeparator(selectedNewLineSeparatorProperty.getValue()); preferences.putBoolean(JabRefPreferences.REFORMAT_FILE_ON_SAVE_AND_EXPORT, alwaysReformatBibProperty.getValue()); - preferences.put(StandardField.FILE.getName() + FilePreferences.DIR_SUFFIX, mainFileDirProperty.getValue()); + preferences.put(JabRefPreferences.MAIN_FILE_DIRECTORY, mainFileDirProperty.getValue()); preferences.putBoolean(JabRefPreferences.BIB_LOC_AS_PRIMARY_DIR, useBibLocationAsPrimaryProperty.getValue()); preferences.putBoolean(JabRefPreferences.AUTOLINK_USE_REG_EXP_SEARCH_KEY, autolinkUseRegexProperty.getValue()); preferences.putBoolean(JabRefPreferences.AUTOLINK_EXACT_KEY_ONLY, autolinkFileExactBibtexProperty.getValue()); @@ -148,7 +145,7 @@ public boolean validateSettings() { public void mainFileDirBrowse() { DirectoryDialogConfiguration dirDialogConfiguration = - new DirectoryDialogConfiguration.Builder().withInitialDirectory(Paths.get(mainFileDirProperty.getValue())).build(); + new DirectoryDialogConfiguration.Builder().withInitialDirectory(Path.of(mainFileDirProperty.getValue())).build(); dialogService.showDirectorySelectionDialog(dirDialogConfiguration) .ifPresent(f -> mainFileDirProperty.setValue(f.toString())); } diff --git a/src/main/java/org/jabref/gui/shared/SharedDatabaseLoginDialogViewModel.java b/src/main/java/org/jabref/gui/shared/SharedDatabaseLoginDialogViewModel.java index 8fb16ee9f87..988ef5fcbd8 100644 --- a/src/main/java/org/jabref/gui/shared/SharedDatabaseLoginDialogViewModel.java +++ b/src/main/java/org/jabref/gui/shared/SharedDatabaseLoginDialogViewModel.java @@ -3,7 +3,6 @@ import java.io.UnsupportedEncodingException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.security.GeneralSecurityException; import java.sql.SQLException; import java.util.List; @@ -93,7 +92,7 @@ public SharedDatabaseLoginDialogViewModel(JabRefFrame frame, DialogService dialo }); Predicate notEmpty = input -> (input != null) && !input.trim().isEmpty(); - Predicate fileExists = input -> Files.exists(Paths.get(input)); + Predicate fileExists = input -> Files.exists(Path.of(input)); Predicate notEmptyAndfilesExist = notEmpty.and(fileExists); databaseValidator = new FunctionBasedValidator<>(database, notEmpty, ValidationMessage.error(Localization.lang("Required field \"%0\" is empty.", Localization.lang("Library")))); @@ -144,7 +143,7 @@ private boolean openSharedDatabase(DBMSConnectionProperties connectionProperties } if (autosave.get()) { - Path localFilePath = Paths.get(folder.getValue()); + Path localFilePath = Path.of(folder.getValue()); if (Files.exists(localFilePath) && !Files.isDirectory(localFilePath)) { @@ -167,7 +166,7 @@ private boolean openSharedDatabase(DBMSConnectionProperties connectionProperties if (!folder.getValue().isEmpty()) { try { - new SaveDatabaseAction(panel, Globals.prefs, Globals.entryTypesManager).saveAs(Paths.get(folder.getValue())); + new SaveDatabaseAction(panel, Globals.prefs, Globals.entryTypesManager).saveAs(Path.of(folder.getValue())); } catch (Throwable e) { LOGGER.error("Error while saving the database", e); } diff --git a/src/main/java/org/jabref/gui/texparser/ParseLatexDialogViewModel.java b/src/main/java/org/jabref/gui/texparser/ParseLatexDialogViewModel.java index a5f6630a68a..0586d82dfaa 100644 --- a/src/main/java/org/jabref/gui/texparser/ParseLatexDialogViewModel.java +++ b/src/main/java/org/jabref/gui/texparser/ParseLatexDialogViewModel.java @@ -4,7 +4,6 @@ import java.nio.file.FileSystemException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Map; import java.util.function.Predicate; @@ -75,7 +74,7 @@ public ParseLatexDialogViewModel(BibDatabaseContext databaseContext, DialogServi this.searchInProgress = new SimpleBooleanProperty(false); this.successfulSearch = new SimpleBooleanProperty(false); - Predicate isDirectory = path -> Paths.get(path).toFile().isDirectory(); + Predicate isDirectory = path -> Path.of(path).toFile().isDirectory(); latexDirectoryValidator = new FunctionBasedValidator<>(latexFileDirectory, isDirectory, ValidationMessage.error(Localization.lang("Please enter a valid file path."))); } @@ -110,7 +109,7 @@ public BooleanProperty successfulSearchProperty() { public void browseButtonClicked() { DirectoryDialogConfiguration directoryDialogConfiguration = new DirectoryDialogConfiguration.Builder() - .withInitialDirectory(Paths.get(latexFileDirectory.get())).build(); + .withInitialDirectory(Path.of(latexFileDirectory.get())).build(); dialogService.showDirectorySelectionDialog(directoryDialogConfiguration).ifPresent(selectedDirectory -> { latexFileDirectory.set(selectedDirectory.toAbsolutePath().toString()); @@ -122,7 +121,7 @@ public void browseButtonClicked() { * Run a recursive search in a background task. */ public void searchButtonClicked() { - BackgroundTask.wrap(() -> searchDirectory(Paths.get(latexFileDirectory.get()))) + BackgroundTask.wrap(() -> searchDirectory(Path.of(latexFileDirectory.get()))) .onRunning(() -> { root.set(null); noFilesFound.set(true); @@ -205,7 +204,7 @@ public void parseButtonClicked() { BackgroundTask.wrap(() -> entriesResolver.resolve(new DefaultLatexParser().parse(fileList))) .onRunning(() -> searchInProgress.set(true)) .onFinished(() -> searchInProgress.set(false)) - .onSuccess(result -> new ParseLatexResultView(result, databaseContext, Paths.get(latexFileDirectory.get())).showAndWait()) + .onSuccess(result -> new ParseLatexResultView(result, databaseContext, Path.of(latexFileDirectory.get())).showAndWait()) .onFailure(dialogService::showErrorDialogAndWait) .executeWith(taskExecutor); } diff --git a/src/main/java/org/jabref/gui/util/DirectoryDialogConfiguration.java b/src/main/java/org/jabref/gui/util/DirectoryDialogConfiguration.java index d390676c4b5..3bb79a16192 100644 --- a/src/main/java/org/jabref/gui/util/DirectoryDialogConfiguration.java +++ b/src/main/java/org/jabref/gui/util/DirectoryDialogConfiguration.java @@ -2,7 +2,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; public class DirectoryDialogConfiguration { @@ -44,7 +43,7 @@ public Builder withInitialDirectory(Path directory) { } public Builder withInitialDirectory(String directory) { - withInitialDirectory(Paths.get(directory)); + withInitialDirectory(Path.of(directory)); return this; } } diff --git a/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java b/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java index c1e7d1b1f0d..cd15f6a7793 100644 --- a/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java +++ b/src/main/java/org/jabref/gui/util/FileDialogConfiguration.java @@ -2,7 +2,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -84,7 +83,7 @@ public Builder withInitialDirectory(Path directory) { public Builder withInitialDirectory(String directory) { if (directory != null) { - withInitialDirectory(Paths.get(directory)); + withInitialDirectory(Path.of(directory)); } else { initialDirectory = null; } diff --git a/src/main/java/org/jabref/gui/util/ThemeLoader.java b/src/main/java/org/jabref/gui/util/ThemeLoader.java index 17065eb74a1..22cd37a4d28 100644 --- a/src/main/java/org/jabref/gui/util/ThemeLoader.java +++ b/src/main/java/org/jabref/gui/util/ThemeLoader.java @@ -6,7 +6,6 @@ import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Objects; import java.util.Optional; @@ -53,7 +52,7 @@ public ThemeLoader(FileUpdateMonitor fileUpdateMonitor, JabRefPreferences jabRef LOGGER.info("Using css from VM option: " + cssVmArgument); URL cssVmUrl = null; try { - cssVmUrl = Paths.get(cssVmArgument).toUri().toURL(); + cssVmUrl = Path.of(cssVmArgument).toUri().toURL(); } catch (MalformedURLException e) { LOGGER.warn("Cannot load css " + cssVmArgument, e); } @@ -93,7 +92,7 @@ private void addAndWatchForChanges(Scene scene, URL cssFile, int index) { if (!cssUri.toString().contains("jrt")) { LOGGER.debug("CSS URI {}", cssUri); - Path cssPath = Paths.get(cssUri).toAbsolutePath(); + Path cssPath = Path.of(cssUri).toAbsolutePath(); LOGGER.info("Enabling live reloading of {}", cssPath); fileUpdateMonitor.addListenerForFile(cssPath, () -> { LOGGER.info("Reload css file {}", cssFile); diff --git a/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java b/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java index 60de2a294f7..ef638c445b3 100644 --- a/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java +++ b/src/main/java/org/jabref/logic/auxparser/DefaultAuxParser.java @@ -5,7 +5,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Optional; @@ -97,7 +96,7 @@ private void matchNestedAux(Path baseAuxFile, AuxParserResult result, List if (rootPath != null) { inputFile = rootPath.resolve(inputString); } else { - inputFile = Paths.get(inputString); + inputFile = Path.of(inputString); } if (!fileList.contains(inputFile)) { diff --git a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java index 99ddd023239..0051547eebc 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java +++ b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java @@ -9,7 +9,6 @@ import java.nio.file.Files; import java.nio.file.NoSuchFileException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -106,7 +105,7 @@ public static Optional createCitationStyleFromFile(final String s text = CSLUtils.readURLToString(url, StandardCharsets.UTF_8.toString()); } else { // if the url is null then the style is located outside the classpath - text = new String(Files.readAllBytes(Paths.get(styleFile)), StandardCharsets.UTF_8); + text = new String(Files.readAllBytes(Path.of(styleFile)), StandardCharsets.UTF_8); } return createCitationStyleFromSource(text, styleFile); } catch (NoSuchFileException e) { diff --git a/src/main/java/org/jabref/logic/cleanup/RelativePathsCleanup.java b/src/main/java/org/jabref/logic/cleanup/RelativePathsCleanup.java index 677d30bdf2a..c21c267650a 100644 --- a/src/main/java/org/jabref/logic/cleanup/RelativePathsCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/RelativePathsCleanup.java @@ -1,6 +1,6 @@ package org.jabref.logic.cleanup; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -40,7 +40,7 @@ public List cleanup(BibEntry entry) { } else { // only try to transform local file path to relative one newFileName = FileUtil - .relativize(Paths.get(oldFileName), databaseContext.getFileDirectoriesAsPaths(filePreferences)) + .relativize(Path.of(oldFileName), databaseContext.getFileDirectoriesAsPaths(filePreferences)) .toString(); } LinkedFile newFileEntry = fileEntry; diff --git a/src/main/java/org/jabref/logic/cleanup/RenamePdfCleanup.java b/src/main/java/org/jabref/logic/cleanup/RenamePdfCleanup.java index 4016081e60b..a62a616da41 100644 --- a/src/main/java/org/jabref/logic/cleanup/RenamePdfCleanup.java +++ b/src/main/java/org/jabref/logic/cleanup/RenamePdfCleanup.java @@ -1,7 +1,7 @@ package org.jabref.logic.cleanup; import java.io.IOException; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -38,7 +38,7 @@ public List cleanup(BibEntry entry) { boolean changed = false; for (LinkedFile file : files) { - if (onlyRelativePaths && Paths.get(file.getLink()).isAbsolute()) { + if (onlyRelativePaths && Path.of(file.getLink()).isAbsolute()) { continue; } diff --git a/src/main/java/org/jabref/logic/exporter/XmpExporter.java b/src/main/java/org/jabref/logic/exporter/XmpExporter.java index 59f7c445b6b..2c0e55e2b56 100644 --- a/src/main/java/org/jabref/logic/exporter/XmpExporter.java +++ b/src/main/java/org/jabref/logic/exporter/XmpExporter.java @@ -5,7 +5,6 @@ import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Objects; @@ -57,9 +56,9 @@ public void export(BibDatabaseContext databaseContext, Path file, Charset encodi Path entryFile; String suffix = entry.getId() + "_" + entry.getField(InternalField.KEY_FIELD).orElse("null") + ".xmp"; if (file.getParent() == null) { - entryFile = Paths.get(suffix); + entryFile = Path.of(suffix); } else { - entryFile = Paths.get(file.getParent().toString() + "/" + suffix); + entryFile = Path.of(file.getParent().toString() + "/" + suffix); } this.writeBibToXmp(entryFile, Collections.singletonList(entry), encoding); } diff --git a/src/main/java/org/jabref/logic/importer/OpenDatabase.java b/src/main/java/org/jabref/logic/importer/OpenDatabase.java index d05900c92a5..f0faacd6f73 100644 --- a/src/main/java/org/jabref/logic/importer/OpenDatabase.java +++ b/src/main/java/org/jabref/logic/importer/OpenDatabase.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; @@ -36,7 +35,7 @@ private OpenDatabase() { @Deprecated public static ParserResult loadDatabase(String name, ImportFormatPreferences importFormatPreferences, FileUpdateMonitor fileMonitor) { LOGGER.debug("Opening: " + name); - Path file = Paths.get(name); + Path file = Path.of(name); if (!Files.exists(file)) { ParserResult pr = ParserResult.fromErrorMessage(Localization.lang("File not found")); diff --git a/src/main/java/org/jabref/logic/importer/fileformat/CustomImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/CustomImporter.java index 4b8ae55c65e..7c671d128a7 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/CustomImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/CustomImporter.java @@ -5,7 +5,6 @@ import java.net.URL; import java.net.URLClassLoader; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Objects; @@ -24,10 +23,10 @@ public class CustomImporter extends Importer { private final String className; private final Path basePath; - private Importer importer; + private final Importer importer; public CustomImporter(String basePath, String className) throws ClassNotFoundException { - this.basePath = Paths.get(basePath); + this.basePath = Path.of(basePath); this.className = className; try { importer = load(this.basePath.toUri().toURL(), this.className); diff --git a/src/main/java/org/jabref/logic/importer/util/GroupsParser.java b/src/main/java/org/jabref/logic/importer/util/GroupsParser.java index 2b0044ba543..84c1f98ca1e 100644 --- a/src/main/java/org/jabref/logic/importer/util/GroupsParser.java +++ b/src/main/java/org/jabref/logic/importer/util/GroupsParser.java @@ -3,7 +3,6 @@ import java.io.IOException; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import org.jabref.logic.auxparser.DefaultAuxParser; @@ -128,7 +127,7 @@ private static AbstractGroup texGroupFromString(String string, FileUpdateMonitor String name = StringUtil.unquote(tok.nextToken(), MetadataSerializationConfiguration.GROUP_QUOTE_CHAR); GroupHierarchyType context = GroupHierarchyType.getByNumberOrDefault(Integer.parseInt(tok.nextToken())); try { - Path path = Paths.get(tok.nextToken()); + Path path = Path.of(tok.nextToken()); try { TexGroup newGroup = TexGroup.create(name, context, path, new DefaultAuxParser(new BibDatabase()), fileMonitor, metaData); addGroupDetails(tok, newGroup); diff --git a/src/main/java/org/jabref/logic/importer/util/MetaDataParser.java b/src/main/java/org/jabref/logic/importer/util/MetaDataParser.java index ec50a7358e4..146bdf6eddc 100644 --- a/src/main/java/org/jabref/logic/importer/util/MetaDataParser.java +++ b/src/main/java/org/jabref/logic/importer/util/MetaDataParser.java @@ -4,7 +4,6 @@ import java.io.Reader; import java.io.StringReader; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -68,7 +67,7 @@ public MetaData parse(MetaData metaData, Map data, Character key } else if (entry.getKey().startsWith(MetaData.FILE_DIRECTORY + "Latex-")) { // The user name comes directly after "FILE_DIRECTORYLatex-" String user = entry.getKey().substring(MetaData.FILE_DIRECTORY.length() + 6); - Path path = Paths.get(getSingleItem(value)).normalize(); + Path path = Path.of(getSingleItem(value)).normalize(); metaData.setLatexFileDirectory(user, path); continue; } diff --git a/src/main/java/org/jabref/logic/layout/format/FileLink.java b/src/main/java/org/jabref/logic/layout/format/FileLink.java index 28aadfaea8b..4b55170f9d7 100644 --- a/src/main/java/org/jabref/logic/layout/format/FileLink.java +++ b/src/main/java/org/jabref/logic/layout/format/FileLink.java @@ -1,6 +1,7 @@ package org.jabref.logic.layout.format; -import java.nio.file.Paths; +import java.nio.file.Path; +import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -55,12 +56,12 @@ public String format(String field) { // ugly hack, the export routine has set a global variable before // starting the export, which contains the database's file directory: if (prefs.getFileDirForDatabase() == null) { - dirs = prefs.getGeneratedDirForDatabase(); + dirs = Collections.singletonList(prefs.getMainFileDirectory()); } else { dirs = prefs.getFileDirForDatabase(); } - return link.findIn(dirs.stream().map(Paths::get).collect(Collectors.toList())) + return link.findIn(dirs.stream().map(Path::of).collect(Collectors.toList())) .map(path -> path.normalize().toString()) .orElse(link.getLink()); diff --git a/src/main/java/org/jabref/logic/layout/format/FileLinkPreferences.java b/src/main/java/org/jabref/logic/layout/format/FileLinkPreferences.java index a34e7a6298d..99000174a74 100644 --- a/src/main/java/org/jabref/logic/layout/format/FileLinkPreferences.java +++ b/src/main/java/org/jabref/logic/layout/format/FileLinkPreferences.java @@ -4,15 +4,16 @@ public class FileLinkPreferences { - private final List generatedDirForDatabase; + private final String mainFileDirectory; private final List fileDirForDatabase; - public FileLinkPreferences(List generatedDirForDatabase, List fileDirForDatabase) { - this.generatedDirForDatabase = generatedDirForDatabase; + + public FileLinkPreferences(String mainFileDirectory, List fileDirForDatabase) { + this.mainFileDirectory = mainFileDirectory; this.fileDirForDatabase = fileDirForDatabase; } - public List getGeneratedDirForDatabase() { - return generatedDirForDatabase; + public String getMainFileDirectory() { + return mainFileDirectory; } public List getFileDirForDatabase() { diff --git a/src/main/java/org/jabref/logic/layout/format/WrapFileLinks.java b/src/main/java/org/jabref/logic/layout/format/WrapFileLinks.java index d66e016e3a0..d7787238dbb 100644 --- a/src/main/java/org/jabref/logic/layout/format/WrapFileLinks.java +++ b/src/main/java/org/jabref/logic/layout/format/WrapFileLinks.java @@ -1,7 +1,8 @@ package org.jabref.logic.layout.format; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -201,12 +202,12 @@ public String format(String field) { // ugly hack, the export routine has set a global variable before // starting the export, which contains the database's file directory: if ((prefs.getFileDirForDatabase() == null) || prefs.getFileDirForDatabase().isEmpty()) { - dirs = prefs.getGeneratedDirForDatabase(); + dirs = Collections.singletonList(prefs.getMainFileDirectory()); } else { dirs = prefs.getFileDirForDatabase(); } - String pathString = flEntry.findIn(dirs.stream().map(Paths::get).collect(Collectors.toList())) + String pathString = flEntry.findIn(dirs.stream().map(Path::of).collect(Collectors.toList())) .map(path -> path.toAbsolutePath().toString()) .orElse(flEntry.getLink()); diff --git a/src/main/java/org/jabref/logic/openoffice/OpenOfficeFileSearch.java b/src/main/java/org/jabref/logic/openoffice/OpenOfficeFileSearch.java index 6a5302e8d7f..e9369087c4a 100644 --- a/src/main/java/org/jabref/logic/openoffice/OpenOfficeFileSearch.java +++ b/src/main/java/org/jabref/logic/openoffice/OpenOfficeFileSearch.java @@ -2,7 +2,6 @@ import java.io.File; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -55,26 +54,26 @@ private static List findWindowsOpenOfficeDirs() { // 64-bit program directory String progFiles = System.getenv("ProgramFiles"); if (progFiles != null) { - sourceList.add(Paths.get(progFiles)); + sourceList.add(Path.of(progFiles)); } // 32-bit program directory progFiles = System.getenv("ProgramFiles(x86)"); if (progFiles != null) { - sourceList.add(Paths.get(progFiles)); + sourceList.add(Path.of(progFiles)); } return findOpenOfficeDirectories(sourceList); } private static List findOSXOpenOfficeDirs() { - List sourceList = Collections.singletonList(Paths.get("/Applications")); + List sourceList = Collections.singletonList(Path.of("/Applications")); return findOpenOfficeDirectories(sourceList); } private static List findLinuxOpenOfficeDirs() { - List sourceList = Arrays.asList(Paths.get("/usr/lib"), Paths.get("/usr/lib64"), Paths.get("/opt")); + List sourceList = Arrays.asList(Path.of("/usr/lib"), Path.of("/usr/lib64"), Path.of("/opt")); return findOpenOfficeDirectories(sourceList); } diff --git a/src/main/java/org/jabref/logic/protectedterms/ProtectedTermsList.java b/src/main/java/org/jabref/logic/protectedterms/ProtectedTermsList.java index 5293cc40f69..4b4c09347e5 100644 --- a/src/main/java/org/jabref/logic/protectedterms/ProtectedTermsList.java +++ b/src/main/java/org/jabref/logic/protectedterms/ProtectedTermsList.java @@ -5,7 +5,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.List; import java.util.Objects; @@ -85,7 +84,7 @@ public boolean addProtectedTerm(String term, boolean create) { return false; } - Path p = Paths.get(location); + Path p = Path.of(location); String s = OS.NEWLINE + term; try (BufferedWriter writer = Files.newBufferedWriter(p, StandardCharsets.UTF_8, create ? StandardOpenOption.CREATE : StandardOpenOption.APPEND)) { diff --git a/src/main/java/org/jabref/logic/texparser/DefaultLatexParser.java b/src/main/java/org/jabref/logic/texparser/DefaultLatexParser.java index 5cc3aa7cae1..4e17777ab3d 100644 --- a/src/main/java/org/jabref/logic/texparser/DefaultLatexParser.java +++ b/src/main/java/org/jabref/logic/texparser/DefaultLatexParser.java @@ -10,7 +10,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -63,7 +62,7 @@ public LatexParserResult getLatexParserResult() { @Override public LatexParserResult parse(String citeString) { - matchCitation(Paths.get(""), 1, citeString); + matchCitation(Path.of(""), 1, citeString); return latexParserResult; } diff --git a/src/main/java/org/jabref/logic/util/io/RegExpBasedFileFinder.java b/src/main/java/org/jabref/logic/util/io/RegExpBasedFileFinder.java index 627a00edec9..e68132081ab 100644 --- a/src/main/java/org/jabref/logic/util/io/RegExpBasedFileFinder.java +++ b/src/main/java/org/jabref/logic/util/io/RegExpBasedFileFinder.java @@ -6,7 +6,6 @@ import java.nio.file.FileVisitOption; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.attribute.BasicFileAttributes; import java.util.ArrayList; import java.util.Collections; @@ -122,7 +121,7 @@ private List findFile(final BibEntry entry, final Path directory, final St String fileName = file; Path actualDirectory; if (fileName.startsWith("/")) { - actualDirectory = Paths.get("."); + actualDirectory = Path.of("."); fileName = fileName.substring(1); } else { actualDirectory = directory; @@ -148,7 +147,7 @@ private List findFile(final BibEntry entry, final Path directory, final St dirToProcess = expandBrackets(dirToProcess, entry, null, keywordDelimiter); if (dirToProcess.matches("^.:$")) { // Windows Drive Letter - actualDirectory = Paths.get(dirToProcess + '/'); + actualDirectory = Path.of(dirToProcess + '/'); continue; } if (".".equals(dirToProcess)) { // Stay in current directory diff --git a/src/main/java/org/jabref/logic/xmp/XmpUtilReader.java b/src/main/java/org/jabref/logic/xmp/XmpUtilReader.java index 1e37920ec3c..b294ec0e13b 100644 --- a/src/main/java/org/jabref/logic/xmp/XmpUtilReader.java +++ b/src/main/java/org/jabref/logic/xmp/XmpUtilReader.java @@ -1,10 +1,8 @@ package org.jabref.logic.xmp; import java.io.ByteArrayInputStream; -import java.io.File; import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -50,7 +48,7 @@ public static List readRawXmp(Path path) throws IOException { * @return BibtexEntryies found in the PDF or an empty list */ public static List readXmp(String filename, XmpPreferences xmpPreferences) throws IOException { - return XmpUtilReader.readXmp(Paths.get(filename), xmpPreferences); + return XmpUtilReader.readXmp(Path.of(filename), xmpPreferences); } /** diff --git a/src/main/java/org/jabref/logic/xmp/XmpUtilWriter.java b/src/main/java/org/jabref/logic/xmp/XmpUtilWriter.java index a98660de29f..e2c62bc8424 100644 --- a/src/main/java/org/jabref/logic/xmp/XmpUtilWriter.java +++ b/src/main/java/org/jabref/logic/xmp/XmpUtilWriter.java @@ -6,7 +6,6 @@ import java.io.UnsupportedEncodingException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -58,7 +57,7 @@ public class XmpUtilWriter { */ public static void writeXmp(String fileName, BibEntry entry, BibDatabase database, XmpPreferences xmpPreferences) throws IOException, TransformerException { - XmpUtilWriter.writeXmp(Paths.get(fileName), entry, database, xmpPreferences); + XmpUtilWriter.writeXmp(Path.of(fileName), entry, database, xmpPreferences); } /** diff --git a/src/main/java/org/jabref/model/database/BibDatabaseContext.java b/src/main/java/org/jabref/model/database/BibDatabaseContext.java index 8866cdbbd15..f6f56dc5bd7 100644 --- a/src/main/java/org/jabref/model/database/BibDatabaseContext.java +++ b/src/main/java/org/jabref/model/database/BibDatabaseContext.java @@ -1,9 +1,7 @@ package org.jabref.model.database; -import java.io.File; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -14,8 +12,6 @@ import org.jabref.model.database.shared.DatabaseLocation; import org.jabref.model.database.shared.DatabaseSynchronizer; import org.jabref.model.entry.BibEntry; -import org.jabref.model.entry.field.Field; -import org.jabref.model.entry.field.StandardField; import org.jabref.model.metadata.FilePreferences; import org.jabref.model.metadata.MetaData; @@ -107,104 +103,84 @@ public boolean isBiblatexMode() { return getMode() == BibDatabaseMode.BIBLATEX; } - public List getFileDirectoriesAsPaths(FilePreferences preferences) { - // Filter for empty string, as this would be expanded to the jar-directory with Paths.get() - return getFileDirectories(preferences).stream() - .filter(s -> !s.isEmpty()) - .map(Paths::get) - .map(Path::toAbsolutePath) - .map(Path::normalize) - .collect(Collectors.toList()); - } - /** - * @deprecated use {@link #getFileDirectoriesAsPaths(FilePreferences)} instead - */ - @Deprecated - public List getFileDirectories(FilePreferences preferences) { - return getFileDirectories(StandardField.FILE, preferences); - } - - /** - * Returns the first existing file directory from {@link #getFileDirectories(FilePreferences)} - * - * @param preferences The FilePreferences - * @return Optional of Path - */ - public Optional getFirstExistingFileDir(FilePreferences preferences) { - return getFileDirectoriesAsPaths(preferences).stream().filter(Files::exists).findFirst(); - } - - /** - * Look up the directories set up for the given field type for this database. If no directory is set up, return that - * defined in global preferences. There can be up to three directory definitions for these files: the database's - * metadata can specify a general directory and/or a user-specific directory or the preferences can specify one.

- * The settings are prioritized in the following order and the first defined setting is used: + * Look up the directories set up for this database. + * There can be up to three directory definitions for these files: the database's + * metadata can specify a general directory and/or a user-specific directory, or the preferences can specify one. + *

+ * The settings are prioritized in the following order, and the first defined setting is used: *

    - *
  1. metadata
  2. - *
  3. user-specific directory
  4. + *
  5. user-specific metadata directory
  6. + *
  7. general metadata directory
  8. *
  9. preferences directory
  10. *
  11. BIB file directory
  12. *
* - * @param field The field * @param preferences The fileDirectory preferences - * @return The default directory for this field type. */ - public List getFileDirectories(Field field, FilePreferences preferences) { - List fileDirs = new ArrayList<>(); + public List getFileDirectoriesAsPaths(FilePreferences preferences) { + List fileDirs = new ArrayList<>(); - // 1. metadata user-specific directory + // 1. Metadata user-specific directory metaData.getUserFileDirectory(preferences.getUser()) .ifPresent(userFileDirectory -> fileDirs.add(getFileDirectoryPath(userFileDirectory))); - // 2. metadata general directory + // 2. Metadata general directory metaData.getDefaultFileDirectory() .ifPresent(metaDataDirectory -> fileDirs.add(getFileDirectoryPath(metaDataDirectory))); - // 3. preferences directory - preferences.getFileDirectory(field).ifPresent(path -> fileDirs.add(path.toAbsolutePath().toString())); + // 3. Preferences directory + preferences.getFileDirectory().ifPresent(fileDirs::add); // 4. BIB file directory getDatabasePath().ifPresent(dbPath -> { Objects.requireNonNull(dbPath, "dbPath is null"); Path parentPath = dbPath.getParent(); if (parentPath == null) { - parentPath = Paths.get(System.getProperty("user.dir")); + parentPath = Path.of(System.getProperty("user.dir")); } Objects.requireNonNull(parentPath, "BibTeX database parent path is null"); - String parentDir = parentPath.toAbsolutePath().toString(); + // Check if we should add it as primary file dir (first in the list) or not: if (preferences.isBibLocationAsPrimary()) { - fileDirs.add(0, parentDir); + fileDirs.add(0, parentPath); } else { - fileDirs.add(parentDir); + fileDirs.add(parentPath); } }); - return fileDirs; + return fileDirs.stream().map(Path::toAbsolutePath).collect(Collectors.toList()); + } + + /** + * Returns the first existing file directory from {@link #getFileDirectories(FilePreferences)} + * + * @param preferences The FilePreferences + * @return Optional of Path + */ + public Optional getFirstExistingFileDir(FilePreferences preferences) { + return getFileDirectoriesAsPaths(preferences).stream().filter(Files::exists).findFirst(); } - private String getFileDirectoryPath(String directoryName) { - String dir = directoryName; + /** + * @deprecated use {@link #getFileDirectoriesAsPaths(FilePreferences)} instead + */ + @Deprecated + public List getFileDirectories(FilePreferences preferences) { + return getFileDirectoriesAsPaths(preferences).stream() + .map(directory -> directory.toAbsolutePath().toString()) + .collect(Collectors.toList()); + } + + private Path getFileDirectoryPath(String directoryName) { + Path directory = Path.of(directoryName); // If this directory is relative, we try to interpret it as relative to // the file path of this BIB file: Optional databaseFile = getDatabasePath(); - if (!new File(dir).isAbsolute() && databaseFile.isPresent()) { - Path relDir; - if (".".equals(dir)) { - // if dir is only "current" directory, just use its parent (== real current directory) as path - relDir = databaseFile.get().getParent(); - } else { - relDir = databaseFile.get().getParent().resolve(dir); - } - // If this directory actually exists, it is very likely that the - // user wants us to use it: - if (Files.exists(relDir)) { - dir = relDir.toString(); - } + if (!directory.isAbsolute() && databaseFile.isPresent()) { + return databaseFile.get().getParent().resolve(directory).normalize(); } - return dir; + return directory; } public DatabaseSynchronizer getDBMSSynchronizer() { diff --git a/src/main/java/org/jabref/model/entry/LinkedFile.java b/src/main/java/org/jabref/model/entry/LinkedFile.java index dac550e9ded..74df315442d 100644 --- a/src/main/java/org/jabref/model/entry/LinkedFile.java +++ b/src/main/java/org/jabref/model/entry/LinkedFile.java @@ -8,7 +8,6 @@ import java.nio.file.Files; import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Objects; import java.util.Optional; @@ -180,7 +179,7 @@ public Optional findIn(List directories) { return Optional.empty(); } - Path file = Paths.get(link.get()); + Path file = Path.of(link.get()); if (file.isAbsolute() || directories.isEmpty()) { if (Files.exists(file)) { return Optional.of(file); @@ -188,7 +187,7 @@ public Optional findIn(List directories) { return Optional.empty(); } } else { - return FileHelper.expandFilenameAsPath(link.get(), directories); + return FileHelper.find(link.get(), directories); } } catch (InvalidPathException ex) { return Optional.empty(); diff --git a/src/main/java/org/jabref/model/groups/TexGroup.java b/src/main/java/org/jabref/model/groups/TexGroup.java index 9e47568a9e7..883e1d2c48f 100644 --- a/src/main/java/org/jabref/model/groups/TexGroup.java +++ b/src/main/java/org/jabref/model/groups/TexGroup.java @@ -23,12 +23,12 @@ public class TexGroup extends AbstractGroup implements FileUpdateListener { private static final Logger LOGGER = LoggerFactory.getLogger(TexGroup.class); - private Path filePath; + private final Path filePath; private Set keysUsedInAux = null; private final FileUpdateMonitor fileMonitor; - private AuxParser auxParser; + private final AuxParser auxParser; private final MetaData metaData; - private String user; + private final String user; TexGroup(String name, GroupHierarchyType context, Path filePath, AuxParser auxParser, FileUpdateMonitor fileMonitor, MetaData metaData, String user) { super(name, context); @@ -126,7 +126,7 @@ private Path relativize(Path path) { private Path expandPath(Path path) { List fileDirectories = getFileDirectoriesAsPaths(); - return FileHelper.expandFilenameAsPath(path.toString(), fileDirectories).orElse(path); + return FileHelper.find(path.toString(), fileDirectories).orElse(path); } private List getFileDirectoriesAsPaths() { diff --git a/src/main/java/org/jabref/model/metadata/FilePreferences.java b/src/main/java/org/jabref/model/metadata/FilePreferences.java index 52ae33fc63d..e9274106a75 100644 --- a/src/main/java/org/jabref/model/metadata/FilePreferences.java +++ b/src/main/java/org/jabref/model/metadata/FilePreferences.java @@ -1,30 +1,25 @@ package org.jabref.model.metadata; -import java.nio.file.InvalidPathException; import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.Map; import java.util.Optional; -import org.jabref.model.entry.field.Field; -import org.jabref.model.entry.field.StandardField; +import org.jabref.model.strings.StringUtil; public class FilePreferences { - public static final String DIR_SUFFIX = "Directory"; private final String user; - private final Map fieldFileDirectories; + private final String mainFileDirectory; private final boolean bibLocationAsPrimary; private final String fileNamePattern; private final String fileDirPattern; public FilePreferences(String user, - Map fieldFileDirectories, + String mainFileDirectory, boolean bibLocationAsPrimary, String fileNamePattern, String fileDirPattern) { this.user = user; - this.fieldFileDirectories = fieldFileDirectories; + this.mainFileDirectory = mainFileDirectory; this.bibLocationAsPrimary = bibLocationAsPrimary; this.fileNamePattern = fileNamePattern; this.fileDirPattern = fileDirPattern; @@ -34,24 +29,14 @@ public String getUser() { return user; } - public Optional getFileDirectory(Field field) { - try { - String value = fieldFileDirectories.get(field); - // filter empty paths - if ((value != null) && !value.isEmpty()) { - Path path = Paths.get(value); - return Optional.of(path); - } - return Optional.empty(); - } catch (InvalidPathException ex) { + public Optional getFileDirectory() { + if (StringUtil.isBlank(mainFileDirectory)) { return Optional.empty(); + } else { + return Optional.of(Path.of(mainFileDirectory)); } } - public Optional getFileDirectory() { - return getFileDirectory(StandardField.FILE); - } - public boolean isBibLocationAsPrimary() { return bibLocationAsPrimary; } diff --git a/src/main/java/org/jabref/model/metadata/MetaData.java b/src/main/java/org/jabref/model/metadata/MetaData.java index a62b70285f4..7a11ec1fe5b 100644 --- a/src/main/java/org/jabref/model/metadata/MetaData.java +++ b/src/main/java/org/jabref/model/metadata/MetaData.java @@ -33,7 +33,7 @@ public class MetaData { public static final String DATABASE_TYPE = "databaseType"; public static final String GROUPSTREE = "grouping"; public static final String GROUPSTREE_LEGACY = "groupstree"; - public static final String FILE_DIRECTORY = "file" + FilePreferences.DIR_SUFFIX; + public static final String FILE_DIRECTORY = "fileDirectory"; public static final String PROTECTED_FLAG_META = "protectedFlag"; public static final String SELECTOR_META_PREFIX = "selector_"; diff --git a/src/main/java/org/jabref/model/util/FileHelper.java b/src/main/java/org/jabref/model/util/FileHelper.java index dba58b1fd21..83a6064ed66 100644 --- a/src/main/java/org/jabref/model/util/FileHelper.java +++ b/src/main/java/org/jabref/model/util/FileHelper.java @@ -6,15 +6,12 @@ import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; import java.util.List; import java.util.Locale; import java.util.Objects; import java.util.Optional; import org.jabref.model.database.BibDatabaseContext; -import org.jabref.model.entry.field.StandardField; import org.jabref.model.metadata.FilePreferences; import org.apache.tika.config.TikaConfig; @@ -88,77 +85,40 @@ private static Optional detectExtension(InputStream is, Metadata metaDat * * * @param databaseContext The database this file belongs to. - * @param name The filename, may also be a relative path to the file + * @param fileName The filename, may also be a relative path to the file */ - public static Optional expandFilename(final BibDatabaseContext databaseContext, String name, FilePreferences filePreferences) { - // Find the default directory for this field type, if any: - List directories = databaseContext.getFileDirectories(StandardField.FILE, filePreferences); - // Include the standard "file" directory: - List fileDir = databaseContext.getFileDirectories(filePreferences); - - List searchDirectories = new ArrayList<>(); - for (String dir : directories) { - if (!searchDirectories.contains(dir)) { - searchDirectories.add(dir); - } - } - for (String aFileDir : fileDir) { - if (!searchDirectories.contains(aFileDir)) { - searchDirectories.add(aFileDir); - } - } - - return expandFilename(name, searchDirectories); + public static Optional find(final BibDatabaseContext databaseContext, String fileName, FilePreferences filePreferences) { + return find(fileName, databaseContext.getFileDirectoriesAsPaths(filePreferences)); } /** * Converts a relative filename to an absolute one, if necessary. Returns - * null if the file does not exist. + * an empty optional if the file does not exist. *

- * Will look in each of the given dirs starting from the beginning and + * Will look in each of the given directories starting from the beginning and * returning the first found file to match if any. - * - * @deprecated use {@link #expandFilenameAsPath(String, List)} instead */ - @Deprecated - public static Optional expandFilename(String name, List directories) { - for (String dir : directories) { - Optional result = expandFilename(name, Paths.get(dir)); - if (result.isPresent()) { - return result; - } - } - - return Optional.empty(); - } - - public static Optional expandFilenameAsPath(String name, List directories) { - for (Path directory : directories) { - Optional result = expandFilename(name, directory); - if (result.isPresent()) { - return result; - } - } - - return Optional.empty(); + public static Optional find(String fileName, List directories) { + return directories.stream() + .flatMap(directory -> find(fileName, directory).stream()) + .findFirst(); } /** * Converts a relative filename to an absolute one, if necessary. Returns * an empty optional if the file does not exist. */ - private static Optional expandFilename(String filename, Path directory) { - Objects.requireNonNull(filename); + public static Optional find(String fileName, Path directory) { + Objects.requireNonNull(fileName); Objects.requireNonNull(directory); - Path file = Paths.get(filename); // Explicitly check for an empty String, as File.exists returns true on that empty path, because it maps to the default jar location // if we then call toAbsoluteDir, it would always return the jar-location folder. This is not what we want here - if (filename.isEmpty()) { + if (fileName.isEmpty()) { return Optional.of(directory); } - Path resolvedFile = directory.resolve(file); + Path resolvedFile = directory.resolve(fileName); if (Files.exists(resolvedFile)) { return Optional.of(resolvedFile); } else { diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index d6fc664ba94..25ad2561325 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -12,7 +12,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -214,6 +213,7 @@ public class JabRefPreferences implements PreferencesService { public static final String USE_DEFAULT_CONSOLE_APPLICATION = "useDefaultConsoleApplication"; public static final String USE_DEFAULT_FILE_BROWSER_APPLICATION = "userDefaultFileBrowserApplication"; public static final String FILE_BROWSER_COMMAND = "fileBrowserCommand"; + public static final String MAIN_FILE_DIRECTORY = "fileDirectory"; // Currently, it is not possible to specify defaults for specific entry types // When this should be made possible, the code to inspect is org.jabref.gui.preferences.BibtexKeyPatternPrefTab.storeSettings() -> LabelPattern keypatterns = getCiteKeyPattern(); etc @@ -1141,7 +1141,7 @@ private void purgeSeries(String prefix, int number) { * @param filename String File to export to */ public void exportPreferences(String filename) throws JabRefException { - exportPreferences(Paths.get(filename)); + exportPreferences(Path.of(filename)); } public void exportPreferences(Path file) throws JabRefException { @@ -1161,7 +1161,7 @@ public void exportPreferences(Path file) throws JabRefException { * or an IOException */ public void importPreferences(String filename) throws JabRefException { - importPreferences(Paths.get(filename)); + importPreferences(Path.of(filename)); } public void importPreferences(Path file) throws JabRefException { @@ -1189,7 +1189,7 @@ public String getWrappedUsername() { } public FileHistory getFileHistory() { - return new FileHistory(getStringList(RECENT_DATABASES).stream().map(Paths::get).collect(Collectors.toList())); + return new FileHistory(getStringList(RECENT_DATABASES).stream().map(Path::of).collect(Collectors.toList())); } public void storeFileHistory(FileHistory history) { @@ -1200,12 +1200,10 @@ public void storeFileHistory(FileHistory history) { @Override public FilePreferences getFilePreferences() { - Map fieldDirectories = Stream.of(StandardField.FILE, StandardField.PDF, StandardField.PS) - .collect(Collectors.toMap(field -> field, field -> get(field.getName() + FilePreferences.DIR_SUFFIX, ""))); return new FilePreferences( getUser(), - fieldDirectories, - getBoolean(JabRefPreferences.BIB_LOC_AS_PRIMARY_DIR), + get(MAIN_FILE_DIRECTORY), + getBoolean(BIB_LOC_AS_PRIMARY_DIR), get(IMPORT_FILENAMEPATTERN), get(IMPORT_FILEDIRPATTERN)); } @@ -1341,10 +1339,10 @@ private NameFormatterPreferences getNameFormatterPreferences() { return new NameFormatterPreferences(getStringList(NAME_FORMATER_KEY), getStringList(NAME_FORMATTER_VALUE)); } - public FileLinkPreferences getFileLinkPreferences() { + private FileLinkPreferences getFileLinkPreferences() { return new FileLinkPreferences( - Collections.singletonList(get(StandardField.FILE.getName() + FilePreferences.DIR_SUFFIX)), - fileDirForDatabase); + get(MAIN_FILE_DIRECTORY), + fileDirForDatabase); } public JabRefPreferences storeVersionPreferences(VersionPreferences versionPreferences) { @@ -1696,7 +1694,7 @@ public void storeSpecialFieldsPreferences(SpecialFieldsPreferences specialFields @Override public Path getWorkingDir() { - return Paths.get(get(WORKING_DIRECTORY)); + return Path.of(get(WORKING_DIRECTORY)); } @Override diff --git a/src/test/java/org/jabref/TestIconsProperties.java b/src/test/java/org/jabref/TestIconsProperties.java index a354ba65470..d8198ffd990 100644 --- a/src/test/java/org/jabref/TestIconsProperties.java +++ b/src/test/java/org/jabref/TestIconsProperties.java @@ -4,7 +4,6 @@ import java.io.Reader; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -28,7 +27,7 @@ public void testExistenceOfIconImagesReferencedFromIconsProperties() throws IOEx // load properties Properties properties = new Properties(); - try (Reader reader = Files.newBufferedReader(Paths.get(iconsPropertiesPath))) { + try (Reader reader = Files.newBufferedReader(Path.of(iconsPropertiesPath))) { properties.load(reader); } assertFalse(properties.entrySet().isEmpty(), "There must be loaded properties after loading " + iconsPropertiesPath); @@ -38,7 +37,7 @@ public void testExistenceOfIconImagesReferencedFromIconsProperties() throws IOEx String name = entry.getKey().toString(); String value = entry.getValue().toString(); - assertTrue(Files.exists(Paths.get(folder, value)), "Referenced image (" + name + " --> " + value + " does not exist in folder " + folder); + assertTrue(Files.exists(Path.of(folder, value)), "Referenced image (" + name + " --> " + value + " does not exist in folder " + folder); } // check that each image in the folder is referenced by a key @@ -47,7 +46,7 @@ public void testExistenceOfIconImagesReferencedFromIconsProperties() throws IOEx imagesReferencedFromProperties.add(entry.getValue().toString()); } - try (Stream pathStream = Files.list(Paths.get(folder))) { + try (Stream pathStream = Files.list(Path.of(folder))) { List fileNamesInFolder = pathStream.map(p -> p.getFileName().toString()).collect(Collectors.toList()); fileNamesInFolder.removeAll(imagesReferencedFromProperties); assertEquals("[red.png]", fileNamesInFolder.toString(), "Images are in the folder that are unused"); diff --git a/src/test/java/org/jabref/architecture/MainArchitectureTests.java b/src/test/java/org/jabref/architecture/MainArchitectureTests.java index 042b72a6610..060896c560c 100644 --- a/src/test/java/org/jabref/architecture/MainArchitectureTests.java +++ b/src/test/java/org/jabref/architecture/MainArchitectureTests.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -89,7 +88,7 @@ void firstPackageIsIndependentOfSecondPackage(String firstPackage, String second Predicate isPackage = (s) -> s.startsWith("package " + firstPackage); - try (Stream pathStream = Files.walk(Paths.get("src/main/"))) { + try (Stream pathStream = Files.walk(Path.of("src/main/"))) { List files = pathStream .filter(p -> p.toString().endsWith(".java")) .filter(p -> { diff --git a/src/test/java/org/jabref/architecture/MainArchitectureTestsWithArchUnit.java b/src/test/java/org/jabref/architecture/MainArchitectureTestsWithArchUnit.java index a21e086e326..0ac0430258b 100644 --- a/src/test/java/org/jabref/architecture/MainArchitectureTestsWithArchUnit.java +++ b/src/test/java/org/jabref/architecture/MainArchitectureTestsWithArchUnit.java @@ -1,5 +1,7 @@ package org.jabref.architecture; +import java.nio.file.Paths; + import com.tngtech.archunit.core.domain.JavaClasses; import com.tngtech.archunit.junit.AnalyzeClasses; import com.tngtech.archunit.junit.ArchIgnore; @@ -58,4 +60,12 @@ public static void doNotUseAssertJ(JavaClasses classes) { public static void doNotUseJavaAWT(JavaClasses classes) { noClasses().should().accessClassesThat().resideInAPackage("java.awt..").check(classes); } + + @ArchTest + public static void doNotUsePaths(JavaClasses classes) { + noClasses().should() + .accessClassesThat() + .belongToAnyOf(Paths.class) + .check(classes); + } } diff --git a/src/test/java/org/jabref/architecture/TestArchitectureTests.java b/src/test/java/org/jabref/architecture/TestArchitectureTests.java index e7fe93d14fe..809143b0d03 100644 --- a/src/test/java/org/jabref/architecture/TestArchitectureTests.java +++ b/src/test/java/org/jabref/architecture/TestArchitectureTests.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -57,7 +56,7 @@ public void testsAreIndependent(String forbiddenPackage) throws IOException { Predicate isForbiddenPackage = (s) -> s.startsWith("import " + forbiddenPackage); Predicate isExceptionClass = (s) -> exceptions.stream().anyMatch(exception -> s.startsWith("class " + exception)); - try (Stream pathStream = Files.walk(Paths.get("src/test/"))) { + try (Stream pathStream = Files.walk(Path.of("src/test/"))) { List files = pathStream .filter(p -> p.toString().endsWith(".java")) .filter(p -> { diff --git a/src/test/java/org/jabref/cli/AuxCommandLineTest.java b/src/test/java/org/jabref/cli/AuxCommandLineTest.java index c366e54ffba..74531b9c5eb 100644 --- a/src/test/java/org/jabref/cli/AuxCommandLineTest.java +++ b/src/test/java/org/jabref/cli/AuxCommandLineTest.java @@ -6,7 +6,7 @@ import java.io.InputStreamReader; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; +import java.nio.file.Path; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.ParserResult; @@ -35,7 +35,7 @@ public void setUp() throws Exception { public void test() throws URISyntaxException, IOException { InputStream originalStream = AuxCommandLineTest.class.getResourceAsStream("origin.bib"); - File auxFile = Paths.get(AuxCommandLineTest.class.getResource("paper.aux").toURI()).toFile(); + File auxFile = Path.of(AuxCommandLineTest.class.getResource("paper.aux").toURI()).toFile(); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); diff --git a/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java b/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java index 5f608f0ef4a..008c8e53638 100644 --- a/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java +++ b/src/test/java/org/jabref/gui/util/FileDialogConfigurationTest.java @@ -1,7 +1,6 @@ package org.jabref.gui.util; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import java.util.stream.Collectors; @@ -25,7 +24,7 @@ void testWithValidDirectoryString(@TempDir Path folder) { FileDialogConfiguration fileDialogConfiguration = new FileDialogConfiguration.Builder() .withInitialDirectory(tempFolder).build(); - assertEquals(Optional.of(Paths.get(tempFolder)), fileDialogConfiguration.getInitialDirectory()); + assertEquals(Optional.of(Path.of(tempFolder)), fileDialogConfiguration.getInitialDirectory()); } @Test diff --git a/src/test/java/org/jabref/logic/autosaveandbackup/BackupManagerTest.java b/src/test/java/org/jabref/logic/autosaveandbackup/BackupManagerTest.java index 20f2410cc78..6195936ad35 100644 --- a/src/test/java/org/jabref/logic/autosaveandbackup/BackupManagerTest.java +++ b/src/test/java/org/jabref/logic/autosaveandbackup/BackupManagerTest.java @@ -1,7 +1,6 @@ package org.jabref.logic.autosaveandbackup; import java.nio.file.Path; -import java.nio.file.Paths; import org.junit.jupiter.api.Test; @@ -13,9 +12,9 @@ public class BackupManagerTest { @Test public void autosaveFileNameIsCorrectlyGeneratedWithinTmpDirectory() { - Path bibPath = Paths.get("tmp", "test.bib"); + Path bibPath = Path.of("tmp", "test.bib"); Path savPath = BackupManager.getBackupPath(bibPath); - assertEquals(Paths.get("tmp", "test.bib.sav"), savPath); + assertEquals(Path.of("tmp", "test.bib.sav"), savPath); } @Test diff --git a/src/test/java/org/jabref/logic/auxparser/AuxParserTest.java b/src/test/java/org/jabref/logic/auxparser/AuxParserTest.java index b43c5796706..06187f889e0 100644 --- a/src/test/java/org/jabref/logic/auxparser/AuxParserTest.java +++ b/src/test/java/org/jabref/logic/auxparser/AuxParserTest.java @@ -6,7 +6,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import org.jabref.logic.importer.ImportFormatPreferences; @@ -43,7 +42,7 @@ void tearDown() { @Test void testNormal() throws URISyntaxException, IOException { InputStream originalStream = AuxParserTest.class.getResourceAsStream("origin.bib"); - Path auxFile = Paths.get(AuxParserTest.class.getResource("paper.aux").toURI()); + Path auxFile = Path.of(AuxParserTest.class.getResource("paper.aux").toURI()); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); @@ -65,7 +64,7 @@ void testNormal() throws URISyntaxException, IOException { @Test void testNotAllFound() throws URISyntaxException, IOException { InputStream originalStream = AuxParserTest.class.getResourceAsStream("origin.bib"); - Path auxFile = Paths.get(AuxParserTest.class.getResource("badpaper.aux").toURI()); + Path auxFile = Path.of(AuxParserTest.class.getResource("badpaper.aux").toURI()); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); @@ -87,7 +86,7 @@ void testNotAllFound() throws URISyntaxException, IOException { @Test void duplicateBibDatabaseConfiguration() throws URISyntaxException, IOException { InputStream originalStream = AuxParserTest.class.getResourceAsStream("config.bib"); - Path auxFile = Paths.get(AuxParserTest.class.getResource("paper.aux").toURI()); + Path auxFile = Path.of(AuxParserTest.class.getResource("paper.aux").toURI()); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); @@ -103,7 +102,7 @@ void duplicateBibDatabaseConfiguration() throws URISyntaxException, IOException @Test void testNestedAux() throws URISyntaxException, IOException { InputStream originalStream = AuxParserTest.class.getResourceAsStream("origin.bib"); - Path auxFile = Paths.get(AuxParserTest.class.getResource("nested.aux").toURI()); + Path auxFile = Path.of(AuxParserTest.class.getResource("nested.aux").toURI()); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); @@ -125,7 +124,7 @@ void testNestedAux() throws URISyntaxException, IOException { @Test void testCrossRef() throws URISyntaxException, IOException { InputStream originalStream = AuxParserTest.class.getResourceAsStream("origin.bib"); - Path auxFile = Paths.get(AuxParserTest.class.getResource("crossref.aux").toURI()); + Path auxFile = Path.of(AuxParserTest.class.getResource("crossref.aux").toURI()); try (InputStreamReader originalReader = new InputStreamReader(originalStream, StandardCharsets.UTF_8)) { ParserResult result = new BibtexParser(importFormatPreferences, new DummyFileUpdateMonitor()).parse(originalReader); @@ -147,7 +146,7 @@ void testCrossRef() throws URISyntaxException, IOException { @Test void testFileNotFound() { AuxParser auxParser = new DefaultAuxParser(new BibDatabase()); - AuxParserResult auxResult = auxParser.parse(Paths.get("unknownfile.aux")); + AuxParserResult auxResult = auxParser.parse(Path.of("unknownfile.aux")); assertFalse(auxResult.getGeneratedBibDatabase().hasEntries()); assertEquals(0, auxResult.getUnresolvedKeysCount()); diff --git a/src/test/java/org/jabref/logic/bibtex/BibEntryAssert.java b/src/test/java/org/jabref/logic/bibtex/BibEntryAssert.java index 9d4cc943661..4de24b84d50 100644 --- a/src/test/java/org/jabref/logic/bibtex/BibEntryAssert.java +++ b/src/test/java/org/jabref/logic/bibtex/BibEntryAssert.java @@ -8,7 +8,6 @@ import java.net.URL; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; @@ -125,7 +124,7 @@ public static void assertEquals(InputStream expectedIs, Path fileToImport, Impor public static void assertEquals(InputStream expectedIs, URL fileToImport, Importer importer) throws URISyntaxException, IOException { - assertEquals(expectedIs, Paths.get(fileToImport.toURI()), importer); + assertEquals(expectedIs, Path.of(fileToImport.toURI()), importer); } /** @@ -147,6 +146,6 @@ public static void assertEquals(List expected, Path fileToImport, Impo public static void assertEquals(List expected, URL fileToImport, Importer importer) throws URISyntaxException, IOException { - assertEquals(expected, Paths.get(fileToImport.toURI()), importer); + assertEquals(expected, Path.of(fileToImport.toURI()), importer); } } diff --git a/src/test/java/org/jabref/logic/bst/BstPreviewLayoutTest.java b/src/test/java/org/jabref/logic/bst/BstPreviewLayoutTest.java index 945d5294abe..5e051fcbaac 100644 --- a/src/test/java/org/jabref/logic/bst/BstPreviewLayoutTest.java +++ b/src/test/java/org/jabref/logic/bst/BstPreviewLayoutTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.bst; -import java.nio.file.Paths; +import java.nio.file.Path; import org.jabref.model.database.BibDatabase; import org.jabref.model.entry.BibEntry; @@ -14,11 +14,11 @@ class BstPreviewLayoutTest { - private BibDatabase bibDatabase = mock(BibDatabase.class); + private final BibDatabase bibDatabase = mock(BibDatabase.class); @Test public void generatePreviewForSimpleEntryUsingAbbr() throws Exception { - BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Paths.get(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); + BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Path.of(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); BibEntry entry = new BibEntry().withField(StandardField.AUTHOR, "Oliver Kopp") .withField(StandardField.TITLE, "Thoughts on Development"); BibDatabase bibDatabase = mock(BibDatabase.class); @@ -28,7 +28,7 @@ public void generatePreviewForSimpleEntryUsingAbbr() throws Exception { @Test public void monthMayIsCorrectlyRendered() throws Exception { - BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Paths.get(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); + BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Path.of(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); BibEntry entry = new BibEntry().withField(StandardField.AUTHOR, "Oliver Kopp") .withField(StandardField.TITLE, "Thoughts on Development") .withField(StandardField.MONTH, "#May#"); @@ -39,14 +39,14 @@ public void monthMayIsCorrectlyRendered() throws Exception { @Test public void generatePreviewForSliceTheoremPaperUsingAbbr() throws Exception { - BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Paths.get(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); + BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Path.of(BstPreviewLayoutTest.class.getResource("abbrv.bst").toURI())); String preview = bstPreviewLayout.generatePreview(getSliceTheoremPaper(), bibDatabase); assertEquals("T. Diez. Slice theorem for fréchet group actions and covariant symplectic field theory. May 2014.", preview); } @Test public void generatePreviewForSliceTheoremPaperUsingIEEE() throws Exception { - BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Paths.get(ClassLoader.getSystemResource("bst/IEEEtran.bst").toURI())); + BstPreviewLayout bstPreviewLayout = new BstPreviewLayout(Path.of(ClassLoader.getSystemResource("bst/IEEEtran.bst").toURI())); String preview = bstPreviewLayout.generatePreview(getSliceTheoremPaper(), bibDatabase); assertEquals("T. Diez, \"Slice theorem for fréchet group actions and covariant symplectic field theory\" May 2014.", preview); } diff --git a/src/test/java/org/jabref/logic/exporter/BibTeXMLExporterTestFiles.java b/src/test/java/org/jabref/logic/exporter/BibTeXMLExporterTestFiles.java index a1513a6ee9f..2e8bfa1d5a5 100644 --- a/src/test/java/org/jabref/logic/exporter/BibTeXMLExporterTestFiles.java +++ b/src/test/java/org/jabref/logic/exporter/BibTeXMLExporterTestFiles.java @@ -6,7 +6,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -41,7 +40,7 @@ public class BibTeXMLExporterTestFiles { public BibtexImporter testImporter; public static Stream fileNames() throws IOException, URISyntaxException { - resourceDir = Paths.get(MSBibExportFormatTestFiles.class.getResource("BibTeXMLExporterTestArticle.bib").toURI()).getParent(); + resourceDir = Path.of(MSBibExportFormatTestFiles.class.getResource("BibTeXMLExporterTestArticle.bib").toURI()).getParent(); try (Stream stream = Files.list(resourceDir)) { return stream.map(n -> n.getFileName().toString()).filter(n -> n.endsWith(".bib")) @@ -72,7 +71,7 @@ public final void testPerformExport(String filename) throws IOException, SaveExc bibtexmlExportFormat.export(databaseContext, tempFile, charset, entries); Builder control = Input.from(Files.newInputStream(resourceDir.resolve(xmlFileName))); - Builder test = Input.from(Files.newInputStream(Paths.get(tempFilePath))); + Builder test = Input.from(Files.newInputStream(Path.of(tempFilePath))); assertThat(test, CompareMatcher.isSimilarTo(control) .withNodeMatcher(new DefaultNodeMatcher(ElementSelectors.byNameAndText)).throwComparisonFailure()); diff --git a/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java b/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java index 2571926d578..6d3c6231aef 100644 --- a/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java +++ b/src/test/java/org/jabref/logic/exporter/BibtexDatabaseWriterTest.java @@ -7,7 +7,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -326,7 +325,7 @@ void writeCustomizedTypesInAlphabeticalOrder() throws Exception { @Test void roundtripWithArticleMonths() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/articleWithMonths.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/articleWithMonths.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -340,7 +339,7 @@ void roundtripWithArticleMonths() throws Exception { @Test void roundtripWithComplexBib() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/complex.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/complex.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -354,7 +353,7 @@ void roundtripWithComplexBib() throws Exception { @Test void roundtripWithUserComment() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/bibWithUserComments.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/bibWithUserComments.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -368,7 +367,7 @@ void roundtripWithUserComment() throws Exception { @Test void roundtripWithUserCommentAndEntryChange() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/bibWithUserComments.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/bibWithUserComments.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -380,12 +379,12 @@ void roundtripWithUserCommentAndEntryChange() throws Exception { BibDatabaseContext context = new BibDatabaseContext(result.getDatabase(), result.getMetaData()); databaseWriter.savePartOfDatabase(context, result.getDatabase().getEntries()); - assertEquals(Files.readString(Paths.get("src/test/resources/testbib/bibWithUserCommentAndEntryChange.bib"), encoding), stringWriter.toString()); + assertEquals(Files.readString(Path.of("src/test/resources/testbib/bibWithUserCommentAndEntryChange.bib"), encoding), stringWriter.toString()); } @Test void roundtripWithUserCommentBeforeStringAndChange() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/complex.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/complex.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -405,7 +404,7 @@ void roundtripWithUserCommentBeforeStringAndChange() throws Exception { @Test void roundtripWithUnknownMetaData() throws Exception { - Path testBibtexFile = Paths.get("src/test/resources/testbib/unknownMetaData.bib"); + Path testBibtexFile = Path.of("src/test/resources/testbib/unknownMetaData.bib"); Charset encoding = StandardCharsets.UTF_8; ParserResult result = new BibtexParser(importFormatPreferences, fileMonitor).parse(Importer.getReader(testBibtexFile, encoding)); @@ -547,7 +546,7 @@ void writeProtectedFlag() throws Exception { void writeFileDirectories() throws Exception { metaData.setDefaultFileDirectory("\\Literature\\"); metaData.setUserFileDirectory("defaultOwner-user", "D:\\Documents"); - metaData.setLatexFileDirectory("defaultOwner-user", Paths.get("D:\\Latex")); + metaData.setLatexFileDirectory("defaultOwner-user", Path.of("D:\\Latex")); databaseWriter.savePartOfDatabase(bibtexContext, Collections.emptyList()); diff --git a/src/test/java/org/jabref/logic/exporter/DocBook5ExporterTest.java b/src/test/java/org/jabref/logic/exporter/DocBook5ExporterTest.java index d732c561bed..65cb06219ae 100644 --- a/src/test/java/org/jabref/logic/exporter/DocBook5ExporterTest.java +++ b/src/test/java/org/jabref/logic/exporter/DocBook5ExporterTest.java @@ -5,7 +5,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.time.LocalDate; import java.util.ArrayList; import java.util.Collections; @@ -42,7 +41,7 @@ public class DocBook5ExporterTest { @BeforeEach void setUp() throws URISyntaxException { - xmlFile = Paths.get(DocBook5ExporterTest.class.getResource("Docbook5ExportFormat.xml").toURI()); + xmlFile = Path.of(DocBook5ExporterTest.class.getResource("Docbook5ExportFormat.xml").toURI()); List customFormats = new ArrayList<>(); LayoutFormatterPreferences layoutPreferences = mock(LayoutFormatterPreferences.class, Answers.RETURNS_DEEP_STUBS); diff --git a/src/test/java/org/jabref/logic/exporter/GroupSerializerTest.java b/src/test/java/org/jabref/logic/exporter/GroupSerializerTest.java index 0fd1b473e1e..4c1bc3147fb 100644 --- a/src/test/java/org/jabref/logic/exporter/GroupSerializerTest.java +++ b/src/test/java/org/jabref/logic/exporter/GroupSerializerTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.exporter; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -117,7 +117,7 @@ void serializeSingleAutomaticPersonGroup() { @Test void serializeSingleTexGroup() throws Exception { - TexGroup group = TexGroup.createWithoutFileMonitoring("myTexGroup", GroupHierarchyType.INDEPENDENT, Paths.get("path", "To", "File"), new DefaultAuxParser(new BibDatabase()), new DummyFileUpdateMonitor(), new MetaData()); + TexGroup group = TexGroup.createWithoutFileMonitoring("myTexGroup", GroupHierarchyType.INDEPENDENT, Path.of("path", "To", "File"), new DefaultAuxParser(new BibDatabase()), new DummyFileUpdateMonitor(), new MetaData()); List serialization = groupSerializer.serializeTree(GroupTreeNode.fromGroup(group)); assertEquals(Collections.singletonList("0 TexGroup:myTexGroup;0;path/To/File;1;;;;"), serialization); } diff --git a/src/test/java/org/jabref/logic/exporter/MSBibExportFormatTestFiles.java b/src/test/java/org/jabref/logic/exporter/MSBibExportFormatTestFiles.java index 190d65a22f6..b5791ce3076 100644 --- a/src/test/java/org/jabref/logic/exporter/MSBibExportFormatTestFiles.java +++ b/src/test/java/org/jabref/logic/exporter/MSBibExportFormatTestFiles.java @@ -6,7 +6,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -40,7 +39,7 @@ public class MSBibExportFormatTestFiles { static Stream fileNames() throws IOException, URISyntaxException { // we have to point it to one existing file, otherwise it will return the default class path - resourceDir = Paths.get(MSBibExportFormatTestFiles.class.getResource("MsBibExportFormatTest1.bib").toURI()).getParent(); + resourceDir = Path.of(MSBibExportFormatTestFiles.class.getResource("MsBibExportFormatTest1.bib").toURI()).getParent(); try (Stream stream = Files.list(resourceDir)) { return stream.map(n -> n.getFileName().toString()) .filter(n -> n.endsWith(".bib")) diff --git a/src/test/java/org/jabref/logic/exporter/ModsExportFormatTest.java b/src/test/java/org/jabref/logic/exporter/ModsExportFormatTest.java index 65ae6465295..d205b4ce235 100644 --- a/src/test/java/org/jabref/logic/exporter/ModsExportFormatTest.java +++ b/src/test/java/org/jabref/logic/exporter/ModsExportFormatTest.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import org.jabref.logic.importer.ImportFormatPreferences; @@ -32,7 +31,7 @@ public void setUp() throws Exception { charset = StandardCharsets.UTF_8; modsExportFormat = new ModsExporter(); new BibtexImporter(mock(ImportFormatPreferences.class, Answers.RETURNS_DEEP_STUBS), new DummyFileUpdateMonitor()); - Paths.get(ModsExportFormatTest.class.getResource("ModsExportFormatTestAllFields.bib").toURI()); + Path.of(ModsExportFormatTest.class.getResource("ModsExportFormatTestAllFields.bib").toURI()); } @Test diff --git a/src/test/java/org/jabref/logic/exporter/ModsExportFormatTestFiles.java b/src/test/java/org/jabref/logic/exporter/ModsExportFormatTestFiles.java index a08598fea18..5820f344daa 100644 --- a/src/test/java/org/jabref/logic/exporter/ModsExportFormatTestFiles.java +++ b/src/test/java/org/jabref/logic/exporter/ModsExportFormatTestFiles.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -39,7 +38,7 @@ public class ModsExportFormatTestFiles { private Path importFile; public static Stream fileNames() throws Exception { - resourceDir = Paths.get(MSBibExportFormatTestFiles.class.getResource("ModsExportFormatTestAllFields.bib").toURI()).getParent(); + resourceDir = Path.of(MSBibExportFormatTestFiles.class.getResource("ModsExportFormatTestAllFields.bib").toURI()).getParent(); System.out.println(resourceDir); try (Stream stream = Files.list(resourceDir)) { @@ -66,10 +65,10 @@ public void setUp(@TempDir Path testFolder) throws Exception { @ParameterizedTest @MethodSource("fileNames") public final void testPerformExport(String filename) throws Exception { - importFile = Paths.get(ModsExportFormatTestFiles.class.getResource(filename).toURI()); + importFile = Path.of(ModsExportFormatTestFiles.class.getResource(filename).toURI()); String xmlFileName = filename.replace(".bib", ".xml"); List entries = bibtexImporter.importDatabase(importFile, charset).getDatabase().getEntries(); - Path expectedFile = Paths.get(ModsExportFormatTestFiles.class.getResource(xmlFileName).toURI()); + Path expectedFile = Path.of(ModsExportFormatTestFiles.class.getResource(xmlFileName).toURI()); exporter.export(databaseContext, exportedFile, charset, entries); @@ -81,7 +80,7 @@ public final void testPerformExport(String filename) throws Exception { @ParameterizedTest @MethodSource("fileNames") public final void testExportAsModsAndThenImportAsMods(String filename) throws Exception { - importFile = Paths.get(ModsExportFormatTestFiles.class.getResource(filename).toURI()); + importFile = Path.of(ModsExportFormatTestFiles.class.getResource(filename).toURI()); List entries = bibtexImporter.importDatabase(importFile, charset).getDatabase().getEntries(); exporter.export(databaseContext, exportedFile, charset, entries); @@ -91,9 +90,9 @@ public final void testExportAsModsAndThenImportAsMods(String filename) throws Ex @ParameterizedTest @MethodSource("fileNames") public final void testImportAsModsAndExportAsMods(String filename) throws Exception { - importFile = Paths.get(ModsExportFormatTestFiles.class.getResource(filename).toURI()); + importFile = Path.of(ModsExportFormatTestFiles.class.getResource(filename).toURI()); String xmlFileName = filename.replace(".bib", ".xml"); - Path xmlFile = Paths.get(ModsExportFormatTestFiles.class.getResource(xmlFileName).toURI()); + Path xmlFile = Path.of(ModsExportFormatTestFiles.class.getResource(xmlFileName).toURI()); List entries = modsImporter.importDatabase(xmlFile, charset).getDatabase().getEntries(); diff --git a/src/test/java/org/jabref/logic/exporter/XmpExporterTest.java b/src/test/java/org/jabref/logic/exporter/XmpExporterTest.java index 120d27f8638..e636e1135cd 100644 --- a/src/test/java/org/jabref/logic/exporter/XmpExporterTest.java +++ b/src/test/java/org/jabref/logic/exporter/XmpExporterTest.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -135,7 +134,7 @@ public void writeMultipleEntriesInDifferentFiles(@TempDir Path testFolder) throw List lines = Files.readAllLines(file); assertEquals(Collections.emptyList(), lines); - Path fileTuring = Paths.get(file.getParent().toString(), entryTuring.getId() + "_null.xmp"); + Path fileTuring = Path.of(file.getParent().toString(), entryTuring.getId() + "_null.xmp"); String actualTuring = String.join("\n", Files.readAllLines(fileTuring)); // we are using \n to join, so we need it in the expected string as well, \r\n would fail String expectedTuring = " \n" + @@ -156,7 +155,7 @@ public void writeMultipleEntriesInDifferentFiles(@TempDir Path testFolder) throw assertEquals(expectedTuring, actualTuring); - Path fileArmbrust = Paths.get(file.getParent().toString(), entryArmbrust.getId() + "_Armbrust2010.xmp"); + Path fileArmbrust = Path.of(file.getParent().toString(), entryArmbrust.getId() + "_Armbrust2010.xmp"); String actualArmbrust = String.join("\n", Files.readAllLines(fileArmbrust)); // we are using \n to join, so we need it in the expected string as well, \r\n would fail String expectedArmbrust = " \n" + diff --git a/src/test/java/org/jabref/logic/importer/ImportDataTest.java b/src/test/java/org/jabref/logic/importer/ImportDataTest.java index 3a3fbb98c36..3aa278a5a42 100644 --- a/src/test/java/org/jabref/logic/importer/ImportDataTest.java +++ b/src/test/java/org/jabref/logic/importer/ImportDataTest.java @@ -2,7 +2,6 @@ import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import org.junit.jupiter.api.Test; @@ -11,12 +10,12 @@ public class ImportDataTest { - public static final Path FILE_IN_DATABASE = Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfInDatabase.pdf"); - public static final Path FILE_NOT_IN_DATABASE = Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfNotInDatabase.pdf"); - public static final Path EXISTING_FOLDER = Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder"); - public static final Path NOT_EXISTING_FOLDER = Paths.get("notexistingfolder"); - public static final Path NOT_EXISTING_PDF = Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/null.pdf"); - public static final Path UNLINKED_FILES_TEST_BIB = Paths.get("src/test/resources/org/jabref/util/unlinkedFilesTestBib.bib"); + public static final Path FILE_IN_DATABASE = Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfInDatabase.pdf"); + public static final Path FILE_NOT_IN_DATABASE = Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfNotInDatabase.pdf"); + public static final Path EXISTING_FOLDER = Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder"); + public static final Path NOT_EXISTING_FOLDER = Path.of("notexistingfolder"); + public static final Path NOT_EXISTING_PDF = Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/null.pdf"); + public static final Path UNLINKED_FILES_TEST_BIB = Path.of("src/test/resources/org/jabref/util/unlinkedFilesTestBib.bib"); /** * Tests the testing environment. diff --git a/src/test/java/org/jabref/logic/importer/ImportFormatReaderIntegrationTest.java b/src/test/java/org/jabref/logic/importer/ImportFormatReaderIntegrationTest.java index 0550e3b8ec3..ebeafccdae0 100644 --- a/src/test/java/org/jabref/logic/importer/ImportFormatReaderIntegrationTest.java +++ b/src/test/java/org/jabref/logic/importer/ImportFormatReaderIntegrationTest.java @@ -3,7 +3,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.stream.Stream; @@ -35,7 +34,7 @@ void setUp() { @ParameterizedTest @MethodSource("importFormats") void testImportUnknownFormat(String resource, String format, int count) throws Exception { - Path file = Paths.get(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); + Path file = Path.of(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); ImportFormatReader.UnknownFormatImport unknownFormat = reader.importUnknownFormat(file, new DummyFileUpdateMonitor()); assertEquals(count, unknownFormat.parserResult.getDatabase().getEntryCount()); } @@ -43,14 +42,14 @@ void testImportUnknownFormat(String resource, String format, int count) throws E @ParameterizedTest @MethodSource("importFormats") void testImportFormatFromFile(String resource, String format, int count) throws Exception { - Path file = Paths.get(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); + Path file = Path.of(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); assertEquals(count, reader.importFromFile(format, file).getDatabase().getEntries().size()); } @ParameterizedTest @MethodSource("importFormats") void testImportUnknownFormatFromString(String resource, String format, int count) throws Exception { - Path file = Paths.get(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); + Path file = Path.of(ImportFormatReaderIntegrationTest.class.getResource(resource).toURI()); String data = new String(Files.readAllBytes(file), StandardCharsets.UTF_8); assertEquals(count, reader.importUnknownFormat(data).parserResult.getDatabase().getEntries().size()); } diff --git a/src/test/java/org/jabref/logic/importer/ImportFormatReaderTestParameterless.java b/src/test/java/org/jabref/logic/importer/ImportFormatReaderTestParameterless.java index 9ddc2962ef0..3a6230a1701 100644 --- a/src/test/java/org/jabref/logic/importer/ImportFormatReaderTestParameterless.java +++ b/src/test/java/org/jabref/logic/importer/ImportFormatReaderTestParameterless.java @@ -2,7 +2,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import org.jabref.logic.xmp.XmpPreferences; import org.jabref.model.util.DummyFileUpdateMonitor; @@ -31,7 +30,7 @@ void setUp() { @Test void importUnknownFormatThrowsExceptionIfNoMatchingImporterWasFound() throws Exception { - Path file = Paths.get(ImportFormatReaderTestParameterless.class.getResource("fileformat/emptyFile.xml").toURI()); + Path file = Path.of(ImportFormatReaderTestParameterless.class.getResource("fileformat/emptyFile.xml").toURI()); assertThrows(ImportException.class, () -> reader.importUnknownFormat(file, fileMonitor)); } @@ -47,6 +46,6 @@ void importUnknownFormatThrowsExceptionIfDataIsNull() throws Exception { @Test void importFromFileWithUnknownFormatThrowsException() throws Exception { - assertThrows(ImportException.class, () -> reader.importFromFile("someunknownformat", Paths.get("somepath"))); + assertThrows(ImportException.class, () -> reader.importFromFile("someunknownformat", Path.of("somepath"))); } } diff --git a/src/test/java/org/jabref/logic/importer/OpenDatabaseTest.java b/src/test/java/org/jabref/logic/importer/OpenDatabaseTest.java index ddc83596db2..10df92ac461 100644 --- a/src/test/java/org/jabref/logic/importer/OpenDatabaseTest.java +++ b/src/test/java/org/jabref/logic/importer/OpenDatabaseTest.java @@ -35,10 +35,10 @@ class OpenDatabaseTest { private final FileUpdateMonitor fileMonitor = new DummyFileUpdateMonitor(); OpenDatabaseTest() throws URISyntaxException { - bibNoHeader = Paths.get(OpenDatabaseTest.class.getResource("headerless.bib").toURI()); - bibWrongHeader = Paths.get(OpenDatabaseTest.class.getResource("wrong-header.bib").toURI()); - bibHeader = Paths.get(OpenDatabaseTest.class.getResource("encoding-header.bib").toURI()); - bibHeaderAndSignature = Paths.get(OpenDatabaseTest.class.getResource("jabref-header.bib").toURI()); + bibNoHeader = Path.of(OpenDatabaseTest.class.getResource("headerless.bib").toURI()); + bibWrongHeader = Path.of(OpenDatabaseTest.class.getResource("wrong-header.bib").toURI()); + bibHeader = Path.of(OpenDatabaseTest.class.getResource("encoding-header.bib").toURI()); + bibHeaderAndSignature = Path.of(OpenDatabaseTest.class.getResource("jabref-header.bib").toURI()); bibEncodingWithoutNewline = Paths .get(OpenDatabaseTest.class.getResource("encodingWithoutNewline.bib").toURI()); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/BiblioscapeImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/BiblioscapeImporterTest.java index 2ee415b14ab..5fa5ab65a1e 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/BiblioscapeImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/BiblioscapeImporterTest.java @@ -2,7 +2,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import org.jabref.logic.util.StandardFileType; @@ -44,7 +43,7 @@ public void testGetCLIID() { @Test public void testImportEntriesAbortion() throws Throwable { - Path file = Paths.get(BiblioscapeImporter.class.getResource("BiblioscapeImporterTestCorrupt.txt").toURI()); + Path file = Path.of(BiblioscapeImporter.class.getResource("BiblioscapeImporterTestCorrupt.txt").toURI()); assertEquals(Collections.emptyList(), importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries()); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/BibtexImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/BibtexImporterTest.java index d50c23875cd..27ab50eb6db 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/BibtexImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/BibtexImporterTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; @@ -39,13 +38,13 @@ public void setUp() { @Test public void testIsRecognizedFormat() throws IOException, URISyntaxException { - Path file = Paths.get(BibtexImporterTest.class.getResource("BibtexImporter.examples.bib").toURI()); + Path file = Path.of(BibtexImporterTest.class.getResource("BibtexImporter.examples.bib").toURI()); assertTrue(importer.isRecognizedFormat(file, StandardCharsets.UTF_8)); } @Test public void testImportEntries() throws IOException, URISyntaxException { - Path file = Paths.get(BibtexImporterTest.class.getResource("BibtexImporter.examples.bib").toURI()); + Path file = Path.of(BibtexImporterTest.class.getResource("BibtexImporter.examples.bib").toURI()); List bibEntries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(4, bibEntries.size()); @@ -124,7 +123,7 @@ public void testGetDescription() { @Test public void testRecognizesDatabaseID() throws Exception { - Path file = Paths.get(BibtexImporterTest.class.getResource("AutosavedSharedDatabase.bib").toURI()); + Path file = Path.of(BibtexImporterTest.class.getResource("AutosavedSharedDatabase.bib").toURI()); String sharedDatabaseID = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getSharedDatabaseID().get(); assertEquals("13ceoc8dm42f5g1iitao3dj2ap", sharedDatabaseID); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/CopacImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/CopacImporterTest.java index 262291911d8..9955c85fa76 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/CopacImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/CopacImporterTest.java @@ -2,7 +2,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; @@ -35,7 +34,7 @@ public void testGetDescription() { @Test public void testImportEmptyEntries() throws Exception { - Path path = Paths.get(CopacImporterTest.class.getResource("Empty.txt").toURI()); + Path path = Path.of(CopacImporterTest.class.getResource("Empty.txt").toURI()); List entries = importer.importDatabase(path, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(Collections.emptyList(), entries); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/CustomImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/CustomImporterTest.java index 529d770234e..607cca2c61c 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/CustomImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/CustomImporterTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.importer.fileformat; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Arrays; import org.jabref.logic.importer.Importer; @@ -37,7 +37,7 @@ public void testGetClassName() { @Test public void testGetBasePath() { - assertEquals(Paths.get("src/main/java/org/jabref/logic/importer/fileformat/CopacImporter.java"), + assertEquals(Path.of("src/main/java/org/jabref/logic/importer/fileformat/CopacImporter.java"), importer.getBasePath()); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/EndnoteImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/EndnoteImporterTest.java index de1bb49f04e..78d2d54795f 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/EndnoteImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/EndnoteImporterTest.java @@ -7,7 +7,6 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Optional; @@ -62,7 +61,7 @@ public void testIsRecognizedFormat() throws IOException, URISyntaxException { List list = Arrays.asList("Endnote.pattern.A.enw", "Endnote.pattern.E.enw", "Endnote.book.example.enw"); for (String string : list) { - Path file = Paths.get(EndnoteImporterTest.class.getResource(string).toURI()); + Path file = Path.of(EndnoteImporterTest.class.getResource(string).toURI()); assertTrue(importer.isRecognizedFormat(file, StandardCharsets.UTF_8)); } } @@ -74,14 +73,14 @@ public void testIsRecognizedFormatReject() throws IOException, URISyntaxExceptio "Endnote.pattern.no_enw", "empty.pdf", "annotated.pdf"); for (String string : list) { - Path file = Paths.get(EndnoteImporterTest.class.getResource(string).toURI()); + Path file = Path.of(EndnoteImporterTest.class.getResource(string).toURI()); assertFalse(importer.isRecognizedFormat(file, Charset.defaultCharset())); } } @Test public void testImportEntries0() throws IOException, URISyntaxException { - Path file = Paths.get(EndnoteImporterTest.class.getResource("Endnote.entries.enw").toURI()); + Path file = Path.of(EndnoteImporterTest.class.getResource("Endnote.entries.enw").toURI()); List bibEntries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(5, bibEntries.size()); @@ -141,7 +140,7 @@ public void testImportEntries1() throws IOException { @Test public void testImportEntriesBookExample() throws IOException, URISyntaxException { - Path file = Paths.get(EndnoteImporterTest.class.getResource("Endnote.book.example.enw").toURI()); + Path file = Path.of(EndnoteImporterTest.class.getResource("Endnote.book.example.enw").toURI()); List bibEntries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry entry = bibEntries.get(0); diff --git a/src/test/java/org/jabref/logic/importer/fileformat/ImporterTestEngine.java b/src/test/java/org/jabref/logic/importer/fileformat/ImporterTestEngine.java index 00e6b6aef81..010ad110236 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/ImporterTestEngine.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/ImporterTestEngine.java @@ -5,7 +5,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collection; import java.util.List; @@ -33,7 +32,7 @@ public class ImporterTestEngine { * @throws IOException if there is a problem when trying to read the files in the file system */ public static Collection getTestFiles(Predicate fileNamePredicate) throws IOException { - try (Stream stream = Files.list(Paths.get(TEST_RESOURCES))) { + try (Stream stream = Files.list(Path.of(TEST_RESOURCES))) { return stream .map(path -> path.getFileName().toString()) .filter(fileNamePredicate) @@ -61,7 +60,7 @@ public static void testImportEntries(Importer importer, String fileName, String private static Path getPath(String fileName) throws IOException { try { - return Paths.get(ImporterTestEngine.class.getResource(fileName).toURI()); + return Path.of(ImporterTestEngine.class.getResource(fileName).toURI()); } catch (URISyntaxException e) { throw new IOException(e); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/IsiImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/IsiImporterTest.java index e470436f40d..f71618c1afb 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/IsiImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/IsiImporterTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.HashMap; import java.util.List; import java.util.Optional; @@ -127,7 +126,7 @@ public void testProcessSubSup() { @Test public void testImportEntries1() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTest1.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTest1.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry entry = entries.get(0); @@ -148,7 +147,7 @@ public void testImportEntries1() throws IOException, URISyntaxException { @Test public void testImportEntries2() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTest2.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTest2.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry entry = entries.get(0); @@ -165,7 +164,7 @@ public void testImportEntries2() throws IOException, URISyntaxException { @Test public void testImportEntriesINSPEC() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTestInspec.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTestInspec.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry first = entries.get(0); @@ -202,7 +201,7 @@ public void testImportEntriesINSPEC() throws IOException, URISyntaxException { @Test public void testImportEntriesWOS() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTestWOS.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTestWOS.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry first = entries.get(0); @@ -258,7 +257,7 @@ public void testIsiAuthorConvert() { @Test public void testImportIEEEExport() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IEEEImport1.txt").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IEEEImport1.txt").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry entry = entries.get(0); @@ -281,7 +280,7 @@ public void testImportIEEEExport() throws IOException, URISyntaxException { @Test public void testIEEEImport() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IEEEImport1.txt").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IEEEImport1.txt").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry entry = entries.get(0); @@ -305,7 +304,7 @@ public void testIEEEImport() throws IOException, URISyntaxException { @Test public void testImportEntriesMedline() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTestMedline.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTestMedline.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry first = entries.get(0); @@ -341,7 +340,7 @@ public void testImportEntriesMedline() throws IOException, URISyntaxException { @Test public void testImportEntriesEmpty() throws IOException, URISyntaxException { - Path file = Paths.get(IsiImporterTest.class.getResource("IsiImporterTestEmpty.isi").toURI()); + Path file = Path.of(IsiImporterTest.class.getResource("IsiImporterTestEmpty.isi").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); diff --git a/src/test/java/org/jabref/logic/importer/fileformat/MedlinePlainImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/MedlinePlainImporterTest.java index df725f8d1e4..1a13480a197 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/MedlinePlainImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/MedlinePlainImporterTest.java @@ -146,7 +146,7 @@ void testImportSingleEntriesInSingleFiles() throws IOException, URISyntaxExcepti private void assertImportOfMedlineFileEqualsBibtexFile(String medlineFile, String bibtexFile) throws IOException, URISyntaxException { - Path file = Paths.get(MedlinePlainImporter.class.getResource(medlineFile).toURI()); + Path file = Path.of(MedlinePlainImporter.class.getResource(medlineFile).toURI()); try (InputStream nis = MedlinePlainImporter.class.getResourceAsStream(bibtexFile)) { List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); @@ -189,7 +189,7 @@ void testKeyWords() throws IOException { @Test void testWithNbibFile() throws IOException, URISyntaxException { - Path file = Paths.get(MedlinePlainImporter.class.getResource("NbibImporterTest.nbib").toURI()); + Path file = Path.of(MedlinePlainImporter.class.getResource("NbibImporterTest.nbib").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); diff --git a/src/test/java/org/jabref/logic/importer/fileformat/MsBibImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/MsBibImporterTest.java index 56cfec29750..beaeb16c49f 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/MsBibImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/MsBibImporterTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.Charset; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -37,7 +36,7 @@ public final void testIsNotRecognizedFormat() throws Exception { List notAccepted = Arrays.asList("CopacImporterTest1.txt", "IsiImporterTest1.isi", "IsiImporterTestInspec.isi", "emptyFile.xml", "IsiImporterTestWOS.isi"); for (String s : notAccepted) { - Path file = Paths.get(MsBibImporter.class.getResource(s).toURI()); + Path file = Path.of(MsBibImporter.class.getResource(s).toURI()); assertFalse(testImporter.isRecognizedFormat(file, Charset.defaultCharset())); } } @@ -45,7 +44,7 @@ public final void testIsNotRecognizedFormat() throws Exception { @Test public final void testImportEntriesEmpty() throws IOException, URISyntaxException { MsBibImporter testImporter = new MsBibImporter(); - Path file = Paths.get(MsBibImporter.class.getResource("EmptyMsBib_Test.xml").toURI()); + Path file = Path.of(MsBibImporter.class.getResource("EmptyMsBib_Test.xml").toURI()); List entries = testImporter.importDatabase(file, Charset.defaultCharset()).getDatabase().getEntries(); assertEquals(Collections.emptyList(), entries); } @@ -53,7 +52,7 @@ public final void testImportEntriesEmpty() throws IOException, URISyntaxExceptio @Test public final void testImportEntriesNotRecognizedFormat() throws IOException, URISyntaxException { MsBibImporter testImporter = new MsBibImporter(); - Path file = Paths.get(MsBibImporter.class.getResource("CopacImporterTest1.txt").toURI()); + Path file = Path.of(MsBibImporter.class.getResource("CopacImporterTest1.txt").toURI()); List entries = testImporter.importDatabase(file, Charset.defaultCharset()).getDatabase().getEntries(); assertEquals(0, entries.size()); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/OvidImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/OvidImporterTest.java index b3ea3c95c33..695ca2e9d7b 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/OvidImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/OvidImporterTest.java @@ -5,7 +5,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -83,14 +82,14 @@ public void testIsRecognizedFormatRejected(String fileName) throws IOException, @Test public void testImportEmpty() throws IOException, URISyntaxException { - Path file = Paths.get(OvidImporter.class.getResource("Empty.txt").toURI()); + Path file = Path.of(OvidImporter.class.getResource("Empty.txt").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(Collections.emptyList(), entries); } @Test public void testImportEntries1() throws IOException, URISyntaxException { - Path file = Paths.get(OvidImporter.class.getResource("OvidImporterTest1.txt").toURI()); + Path file = Path.of(OvidImporter.class.getResource("OvidImporterTest1.txt").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(5, entries.size()); @@ -143,7 +142,7 @@ public void testImportEntries1() throws IOException, URISyntaxException { @Test public void testImportEntries2() throws IOException, URISyntaxException { - Path file = Paths.get(OvidImporter.class.getResource("OvidImporterTest2Invalid.txt").toURI()); + Path file = Path.of(OvidImporter.class.getResource("OvidImporterTest2Invalid.txt").toURI()); List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(Collections.emptyList(), entries); } @@ -152,7 +151,7 @@ public void testImportEntries2() throws IOException, URISyntaxException { public void testImportSingleEntries() throws IOException, URISyntaxException { for (int n = 3; n <= 7; n++) { - Path file = Paths.get(OvidImporter.class.getResource("OvidImporterTest" + n + ".txt").toURI()); + Path file = Path.of(OvidImporter.class.getResource("OvidImporterTest" + n + ".txt").toURI()); try (InputStream nis = OvidImporter.class.getResourceAsStream("OvidImporterTestBib" + n + ".bib")) { List entries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase() .getEntries(); diff --git a/src/test/java/org/jabref/logic/importer/fileformat/PdfContentImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/PdfContentImporterTest.java index 6a1c7b2b2e4..2a8cacefe20 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/PdfContentImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/PdfContentImporterTest.java @@ -2,7 +2,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Optional; @@ -42,14 +41,14 @@ void testGetDescription() { @Test void doesNotHandleEncryptedPdfs() throws Exception { - Path file = Paths.get(PdfContentImporter.class.getResource("/pdfs/encrypted.pdf").toURI()); + Path file = Path.of(PdfContentImporter.class.getResource("/pdfs/encrypted.pdf").toURI()); List result = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(Collections.emptyList(), result); } @Test void importTwiceWorksAsExpected() throws Exception { - Path file = Paths.get(PdfContentImporter.class.getResource("/pdfs/minimal.pdf").toURI()); + Path file = Path.of(PdfContentImporter.class.getResource("/pdfs/minimal.pdf").toURI()); List result = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); BibEntry expected = new BibEntry(StandardEntryType.InProceedings); diff --git a/src/test/java/org/jabref/logic/importer/fileformat/PdfXmpImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/PdfXmpImporterTest.java index 0c08ada81c6..d76c05b520a 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/PdfXmpImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/PdfXmpImporterTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import java.util.Optional; import java.util.function.Predicate; @@ -56,14 +55,14 @@ public void testGetDescription() { @Test public void importEncryptedFileReturnsError() throws URISyntaxException { - Path file = Paths.get(PdfXmpImporterTest.class.getResource("/pdfs/encrypted.pdf").toURI()); + Path file = Path.of(PdfXmpImporterTest.class.getResource("/pdfs/encrypted.pdf").toURI()); ParserResult result = importer.importDatabase(file, StandardCharsets.UTF_8); assertTrue(result.hasWarnings()); } @Test public void testImportEntries() throws URISyntaxException { - Path file = Paths.get(PdfXmpImporterTest.class.getResource("annotated.pdf").toURI()); + Path file = Path.of(PdfXmpImporterTest.class.getResource("annotated.pdf").toURI()); List bibEntries = importer.importDatabase(file, StandardCharsets.UTF_8).getDatabase().getEntries(); assertEquals(1, bibEntries.size()); @@ -77,7 +76,7 @@ public void testImportEntries() throws URISyntaxException { @Test public void testIsRecognizedFormat() throws IOException, URISyntaxException { - Path file = Paths.get(PdfXmpImporterTest.class.getResource("annotated.pdf").toURI()); + Path file = Path.of(PdfXmpImporterTest.class.getResource("annotated.pdf").toURI()); assertTrue(importer.isRecognizedFormat(file, StandardCharsets.UTF_8)); } diff --git a/src/test/java/org/jabref/logic/importer/fileformat/RISImporterTest.java b/src/test/java/org/jabref/logic/importer/fileformat/RISImporterTest.java index 7e46c83d27f..c086370b0ae 100644 --- a/src/test/java/org/jabref/logic/importer/fileformat/RISImporterTest.java +++ b/src/test/java/org/jabref/logic/importer/fileformat/RISImporterTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import org.jabref.logic.util.StandardFileType; @@ -45,7 +44,7 @@ public void testGetDescription() { @Test public void testIfNotRecognizedFormat() throws IOException, URISyntaxException { - Path file = Paths.get(RISImporterTest.class.getResource("RisImporterCorrupted.ris").toURI()); + Path file = Path.of(RISImporterTest.class.getResource("RisImporterCorrupted.ris").toURI()); assertFalse(importer.isRecognizedFormat(file, StandardCharsets.UTF_8)); } } diff --git a/src/test/java/org/jabref/logic/importer/util/GroupsParserTest.java b/src/test/java/org/jabref/logic/importer/util/GroupsParserTest.java index 07ca10e2234..2e514eb6d0c 100644 --- a/src/test/java/org/jabref/logic/importer/util/GroupsParserTest.java +++ b/src/test/java/org/jabref/logic/importer/util/GroupsParserTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.importer.util; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.Arrays; import java.util.List; @@ -121,7 +121,7 @@ void fromStringParsesAutomaticPersonGroup() throws Exception { @Test void fromStringParsesTexGroup() throws Exception { - TexGroup expected = TexGroup.createWithoutFileMonitoring("myTexGroup", GroupHierarchyType.INDEPENDENT, Paths.get("path", "To", "File"), new DefaultAuxParser(new BibDatabase()), fileMonitor, metaData); + TexGroup expected = TexGroup.createWithoutFileMonitoring("myTexGroup", GroupHierarchyType.INDEPENDENT, Path.of("path", "To", "File"), new DefaultAuxParser(new BibDatabase()), fileMonitor, metaData); AbstractGroup parsed = GroupsParser.fromString("TexGroup:myTexGroup;0;path/To/File;1;;;;", ',', fileMonitor, metaData); assertEquals(expected, parsed); } diff --git a/src/test/java/org/jabref/logic/l10n/LocalizationConsistencyTest.java b/src/test/java/org/jabref/logic/l10n/LocalizationConsistencyTest.java index f69d7469af0..f015e23f24c 100644 --- a/src/test/java/org/jabref/logic/l10n/LocalizationConsistencyTest.java +++ b/src/test/java/org/jabref/logic/l10n/LocalizationConsistencyTest.java @@ -7,7 +7,6 @@ import java.nio.file.DirectoryStream; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; @@ -41,7 +40,7 @@ void allFilesMustBeInLanguages() throws IOException { // e.g., "_en.properties", where is [JabRef, Menu] Pattern propertiesFile = Pattern.compile(String.format("%s_.{2,}.properties", bundle)); Set localizationFiles = new HashSet<>(); - try (DirectoryStream directoryStream = Files.newDirectoryStream(Paths.get("src/main/resources/l10n"))) { + try (DirectoryStream directoryStream = Files.newDirectoryStream(Path.of("src/main/resources/l10n"))) { for (Path fullPath : directoryStream) { String fileName = fullPath.getFileName().toString(); if (propertiesFile.matcher(fileName).matches()) { @@ -156,7 +155,7 @@ private static Language[] installedLanguages() { @ParameterizedTest @MethodSource("installedLanguages") void resourceBundleExists(Language language) { - Path messagesPropertyFile = Paths.get("src/main/resources").resolve(Localization.RESOURCE_PREFIX + "_" + language.getId() + ".properties"); + Path messagesPropertyFile = Path.of("src/main/resources").resolve(Localization.RESOURCE_PREFIX + "_" + language.getId() + ".properties"); assertTrue(Files.exists(messagesPropertyFile)); } diff --git a/src/test/java/org/jabref/logic/l10n/LocalizationParser.java b/src/test/java/org/jabref/logic/l10n/LocalizationParser.java index 41ed013e605..e4b246e9bfb 100644 --- a/src/test/java/org/jabref/logic/l10n/LocalizationParser.java +++ b/src/test/java/org/jabref/logic/l10n/LocalizationParser.java @@ -9,7 +9,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashSet; @@ -81,7 +80,7 @@ private static Set findLocalizationEntriesInFiles(Localizatio public static Set findLocalizationParametersStringsInJavaFiles(LocalizationBundleForTest type) throws IOException { - try (Stream pathStream = Files.walk(Paths.get("src/main"))) { + try (Stream pathStream = Files.walk(Path.of("src/main"))) { return pathStream .filter(LocalizationParser::isJavaFile) .flatMap(path -> getLocalizationParametersInJavaFile(path, type).stream()) @@ -93,7 +92,7 @@ public static Set findLocalizationParametersStringsInJavaFile private static Set findLocalizationEntriesInJavaFiles(LocalizationBundleForTest type) throws IOException { - try (Stream pathStream = Files.walk(Paths.get("src/main"))) { + try (Stream pathStream = Files.walk(Path.of("src/main"))) { return pathStream .filter(LocalizationParser::isJavaFile) .flatMap(path -> getLanguageKeysInJavaFile(path, type).stream()) @@ -105,7 +104,7 @@ private static Set findLocalizationEntriesInJavaFiles(Localiz private static Set findLocalizationEntriesInFxmlFiles(LocalizationBundleForTest type) throws IOException { - try (Stream pathStream = Files.walk(Paths.get("src/main"))) { + try (Stream pathStream = Files.walk(Path.of("src/main"))) { return pathStream .filter(LocalizationParser::isFxmlFile) .flatMap(path -> getLanguageKeysInFxmlFile(path, type).stream()) diff --git a/src/test/java/org/jabref/logic/layout/LayoutTest.java b/src/test/java/org/jabref/logic/layout/LayoutTest.java index 0702a8262cd..415b1573016 100644 --- a/src/test/java/org/jabref/logic/layout/LayoutTest.java +++ b/src/test/java/org/jabref/logic/layout/LayoutTest.java @@ -101,7 +101,7 @@ void HTMLCharsWithDotlessIAndTiled() throws IOException { } @Test - public void beginConditionals() throws IOException { + void beginConditionals() throws IOException { BibEntry entry = new BibEntry(StandardEntryType.Misc) .withField(StandardField.AUTHOR, "Author"); @@ -135,7 +135,7 @@ public void beginConditionals() throws IOException { @Test void wrapFileLinksExpandFile() throws IOException { when(layoutFormatterPreferences.getFileLinkPreferences()).thenReturn( - new FileLinkPreferences(Collections.emptyList(), Collections.singletonList("src/test/resources/pdfs/"))); + new FileLinkPreferences("", Collections.singletonList("src/test/resources/pdfs/"))); BibEntry entry = new BibEntry(StandardEntryType.Article); entry.addFile(new LinkedFile("Test file", "encrypted.pdf", "PDF")); diff --git a/src/test/java/org/jabref/logic/layout/format/WrapFileLinksTest.java b/src/test/java/org/jabref/logic/layout/format/WrapFileLinksTest.java index 09799d584b4..84f5562ced6 100644 --- a/src/test/java/org/jabref/logic/layout/format/WrapFileLinksTest.java +++ b/src/test/java/org/jabref/logic/layout/format/WrapFileLinksTest.java @@ -10,93 +10,93 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertThrows; -public class WrapFileLinksTest { +class WrapFileLinksTest { private WrapFileLinks formatter; @BeforeEach - public void setUp() { - FileLinkPreferences preferences = new FileLinkPreferences(Collections.emptyList(), Collections.emptyList()); + void setUp() { + FileLinkPreferences preferences = new FileLinkPreferences("", Collections.emptyList()); formatter = new WrapFileLinks(preferences); } @Test - public void testEmpty() { + void testEmpty() { assertEquals("", formatter.format("")); } @Test - public void testNull() { + void testNull() { assertEquals("", formatter.format(null)); } - public void testNoFormatSetNonEmptyString() { + void testNoFormatSetNonEmptyString() { assertThrows(NullPointerException.class, () -> formatter.format("test.pdf")); } @Test - public void testFileExtension() { + void testFileExtension() { formatter.setArgument("\\x"); assertEquals("pdf", formatter.format("test.pdf")); } @Test - public void testFileExtensionNoExtension() { + void testFileExtensionNoExtension() { formatter.setArgument("\\x"); assertEquals("", formatter.format("test")); } @Test - public void testPlainTextString() { + void testPlainTextString() { formatter.setArgument("x"); assertEquals("x", formatter.format("test.pdf")); } @Test - public void testDescription() { + void testDescription() { formatter.setArgument("\\d"); assertEquals("Test file", formatter.format("Test file:test.pdf:PDF")); } @Test - public void testDescriptionNoDescription() { + void testDescriptionNoDescription() { formatter.setArgument("\\d"); assertEquals("", formatter.format("test.pdf")); } @Test - public void testType() { + void testType() { formatter.setArgument("\\f"); assertEquals("PDF", formatter.format("Test file:test.pdf:PDF")); } @Test - public void testTypeNoType() { + void testTypeNoType() { formatter.setArgument("\\f"); assertEquals("", formatter.format("test.pdf")); } @Test - public void testIterator() { + void testIterator() { formatter.setArgument("\\i"); assertEquals("1", formatter.format("Test file:test.pdf:PDF")); } @Test - public void testIteratorTwoItems() { + void testIteratorTwoItems() { formatter.setArgument("\\i\n"); assertEquals("1\n2\n", formatter.format("Test file:test.pdf:PDF;test2.pdf")); } @Test - public void testEndingBracket() { + void testEndingBracket() { formatter.setArgument("(\\d)"); assertEquals("(Test file)", formatter.format("Test file:test.pdf:PDF")); } @Test - public void testPath() throws IOException { - FileLinkPreferences preferences = new FileLinkPreferences(Collections.emptyList(), + void testPath() throws IOException { + FileLinkPreferences preferences = new FileLinkPreferences("", Collections.singletonList("src/test/resources/pdfs/")); formatter = new WrapFileLinks(preferences); formatter.setArgument("\\p"); @@ -105,8 +105,8 @@ public void testPath() throws IOException { } @Test - public void testPathFallBackToGeneratedDir() throws IOException { - FileLinkPreferences preferences = new FileLinkPreferences(Collections.singletonList("src/test/resources/pdfs/"), + void testPathFallBackToGeneratedDir() throws IOException { + FileLinkPreferences preferences = new FileLinkPreferences("src/test/resources/pdfs/", Collections.emptyList()); formatter = new WrapFileLinks(preferences); formatter.setArgument("\\p"); @@ -115,8 +115,8 @@ public void testPathFallBackToGeneratedDir() throws IOException { } @Test - public void testPathReturnsRelativePathIfNotFound() { - FileLinkPreferences preferences = new FileLinkPreferences(Collections.emptyList(), + void testPathReturnsRelativePathIfNotFound() { + FileLinkPreferences preferences = new FileLinkPreferences("", Collections.singletonList("src/test/resources/pdfs/")); formatter = new WrapFileLinks(preferences); formatter.setArgument("\\p"); @@ -124,7 +124,7 @@ public void testPathReturnsRelativePathIfNotFound() { } @Test - public void testRelativePath() { + void testRelativePath() { formatter.setArgument("\\r"); assertEquals("test.pdf", formatter.format("Test file:test.pdf:PDF")); } diff --git a/src/test/java/org/jabref/logic/openoffice/OOBibStyleTest.java b/src/test/java/org/jabref/logic/openoffice/OOBibStyleTest.java index 3e48db6b56b..282fe8d1ead 100644 --- a/src/test/java/org/jabref/logic/openoffice/OOBibStyleTest.java +++ b/src/test/java/org/jabref/logic/openoffice/OOBibStyleTest.java @@ -4,7 +4,7 @@ import java.io.IOException; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -54,8 +54,8 @@ void testAuthorYear() throws IOException { @Test void testAuthorYearAsFile() throws URISyntaxException, IOException { - File defFile = Paths.get(OOBibStyleTest.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) - .toFile(); + File defFile = Path.of(OOBibStyleTest.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + .toFile(); OOBibStyle style = new OOBibStyle(defFile, layoutFormatterPreferences, StandardCharsets.UTF_8); assertTrue(style.isValid()); assertFalse(style.isInternalStyle()); diff --git a/src/test/java/org/jabref/logic/openoffice/StyleLoaderTest.java b/src/test/java/org/jabref/logic/openoffice/StyleLoaderTest.java index e83ace4d707..be5e3768a01 100644 --- a/src/test/java/org/jabref/logic/openoffice/StyleLoaderTest.java +++ b/src/test/java/org/jabref/logic/openoffice/StyleLoaderTest.java @@ -3,7 +3,7 @@ import java.net.URISyntaxException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -23,7 +23,7 @@ public class StyleLoaderTest { - private static int numberOfInternalStyles = 2; + private static final int NUMBER_OF_INTERNAL_STYLES = 2; private StyleLoader loader; private OpenOfficePreferences preferences; @@ -65,10 +65,10 @@ public void testAddStyleLeadsToOneMoreStyle() throws URISyntaxException { preferences.setExternalStyles(Collections.emptyList()); loader = new StyleLoader(preferences, layoutPreferences, encoding); - String filename = Paths.get(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) - .toFile().getPath(); + String filename = Path.of(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + .toFile().getPath(); loader.addStyleIfValid(filename); - assertEquals(numberOfInternalStyles + 1, loader.getStyles().size()); + assertEquals(NUMBER_OF_INTERNAL_STYLES + 1, loader.getStyles().size()); } @Test @@ -82,11 +82,11 @@ public void testAddInvalidStyleLeadsToNoMoreStyle() { @Test public void testInitalizeWithOneExternalFile() throws URISyntaxException { - String filename = Paths.get(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + String filename = Path.of(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) .toFile().getPath(); when(preferences.getExternalStyles()).thenReturn(Collections.singletonList(filename)); loader = new StyleLoader(preferences, layoutPreferences, encoding); - assertEquals(numberOfInternalStyles + 1, loader.getStyles().size()); + assertEquals(NUMBER_OF_INTERNAL_STYLES + 1, loader.getStyles().size()); } @Test @@ -94,12 +94,12 @@ public void testInitalizeWithIncorrectExternalFile() { preferences.setExternalStyles(Collections.singletonList("DefinitelyNotAValidFileNameOrWeAreExtremelyUnlucky")); loader = new StyleLoader(preferences, layoutPreferences, encoding); - assertEquals(numberOfInternalStyles, loader.getStyles().size()); + assertEquals(NUMBER_OF_INTERNAL_STYLES, loader.getStyles().size()); } @Test public void testInitalizeWithOneExternalFileRemoveStyle() throws URISyntaxException { - String filename = Paths.get(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + String filename = Path.of(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) .toFile().getPath(); when(preferences.getExternalStyles()).thenReturn(Collections.singletonList(filename)); @@ -120,7 +120,7 @@ public void testInitalizeWithOneExternalFileRemoveStyle() throws URISyntaxExcept @Test public void testInitalizeWithOneExternalFileRemoveStyleUpdatesPreferences() throws URISyntaxException { - String filename = Paths.get(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + String filename = Path.of(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) .toFile().getPath(); when(preferences.getExternalStyles()).thenReturn(Collections.singletonList(filename)); @@ -144,7 +144,7 @@ public void testAddSameStyleTwiceLeadsToOneMoreStyle() throws URISyntaxException preferences.setExternalStyles(Collections.emptyList()); loader = new StyleLoader(preferences, layoutPreferences, encoding); int beforeAdding = loader.getStyles().size(); - String filename = Paths.get(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) + String filename = Path.of(StyleLoader.class.getResource(StyleLoader.DEFAULT_AUTHORYEAR_STYLE_PATH).toURI()) .toFile().getPath(); loader.addStyleIfValid(filename); loader.addStyleIfValid(filename); @@ -200,6 +200,6 @@ public void testRemoveInternalStyleReturnsFalseAndDoNotRemove() { } assertFalse(loader.removeStyle(toremove.get(0))); - assertEquals(numberOfInternalStyles, loader.getStyles().size()); + assertEquals(NUMBER_OF_INTERNAL_STYLES, loader.getStyles().size()); } } diff --git a/src/test/java/org/jabref/logic/pdf/EntryAnnotationImporterTest.java b/src/test/java/org/jabref/logic/pdf/EntryAnnotationImporterTest.java index 4f2754d9359..08c6e29d12b 100644 --- a/src/test/java/org/jabref/logic/pdf/EntryAnnotationImporterTest.java +++ b/src/test/java/org/jabref/logic/pdf/EntryAnnotationImporterTest.java @@ -1,7 +1,6 @@ package org.jabref.logic.pdf; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; import java.util.Map; @@ -28,7 +27,7 @@ public class EntryAnnotationImporterTest { @BeforeEach public void setUp() { entry = new BibEntry(); - when(databaseContext.getFileDirectoriesAsPaths(any())).thenReturn(Collections.singletonList(Paths.get("src/test/resources/pdfs/"))); + when(databaseContext.getFileDirectoriesAsPaths(any())).thenReturn(Collections.singletonList(Path.of("src/test/resources/pdfs/"))); } @Test diff --git a/src/test/java/org/jabref/logic/pdf/PdfAnnotationImporterTest.java b/src/test/java/org/jabref/logic/pdf/PdfAnnotationImporterTest.java index fc0bb832b35..7606bed8caf 100644 --- a/src/test/java/org/jabref/logic/pdf/PdfAnnotationImporterTest.java +++ b/src/test/java/org/jabref/logic/pdf/PdfAnnotationImporterTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.pdf; -import java.nio.file.Paths; +import java.nio.file.Path; import java.time.LocalDateTime; import java.util.Collections; import java.util.Optional; @@ -18,37 +18,37 @@ public class PdfAnnotationImporterTest { @Test public void invalidPath() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("/asdf/does/not/exist.pdf"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("/asdf/does/not/exist.pdf"))); } @Test public void invalidDirectory() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("src/test/resources/pdfs"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("src/test/resources/pdfs"))); } @Test public void invalidDocumentType() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("src/test/resources/pdfs/write-protected.docx"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("src/test/resources/pdfs/write-protected.docx"))); } @Test public void noAnnotationsWriteProtected() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("src/test/resources/pdfs/write-protected.pdf"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("src/test/resources/pdfs/write-protected.pdf"))); } @Test public void noAnnotationsEncrypted() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("src/test/resources/pdfs/encrypted.pdf"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("src/test/resources/pdfs/encrypted.pdf"))); } @Test public void twoAnnotationsThesisExample() { - assertEquals(2, importer.importAnnotations(Paths.get("src/test/resources/pdfs/thesis-example.pdf")).size()); + assertEquals(2, importer.importAnnotations(Path.of("src/test/resources/pdfs/thesis-example.pdf")).size()); } @Test public void noAnnotationsMinimal() { - assertEquals(Collections.emptyList(), importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal.pdf"))); + assertEquals(Collections.emptyList(), importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal.pdf"))); } @Test @@ -57,7 +57,7 @@ public void inlineNoteMinimal() { "inline note annotation", FileAnnotationType.FREETEXT, Optional.empty()); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-inlinenote.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-inlinenote.pdf"))); } @Test @@ -66,7 +66,7 @@ public void popupNoteMinimal() { "A simple pop-up note", FileAnnotationType.TEXT, Optional.empty()); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-popup.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-popup.pdf"))); } @Test @@ -76,7 +76,7 @@ public void highlightMinimalFoxit() { final FileAnnotation expected = new FileAnnotation("lynyus", LocalDateTime.of(2017, 5, 31, 15, 16, 1), 1, "Hello", FileAnnotationType.HIGHLIGHT, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-foxithighlight.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-foxithighlight.pdf"))); } @Test @@ -87,7 +87,7 @@ public void highlightNoNoteMinimal() { "World", FileAnnotationType.HIGHLIGHT, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-highlight-no-note.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-highlight-no-note.pdf"))); } @Test @@ -98,7 +98,7 @@ public void squigglyWithNoteMinimal() { "ello", FileAnnotationType.SQUIGGLY, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-squiggly.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-squiggly.pdf"))); } @Test @@ -109,7 +109,7 @@ public void strikeoutWithNoteMinimal() { "World", FileAnnotationType.STRIKEOUT, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-strikeout.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-strikeout.pdf"))); } @Test @@ -120,7 +120,7 @@ public void highlightWithNoteMinimal() { "World", FileAnnotationType.HIGHLIGHT, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-highlight-with-note.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-highlight-with-note.pdf"))); } @Test @@ -131,7 +131,7 @@ public void underlineWithNoteMinimal() { "Hello", FileAnnotationType.UNDERLINE, Optional.of(expectedLinkedAnnotation)); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-underline.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-underline.pdf"))); } @Test @@ -140,7 +140,7 @@ public void polygonNoNoteMinimal() { "polygon annotation", FileAnnotationType.POLYGON, Optional.empty()); assertEquals(Collections.singletonList(expected), - importer.importAnnotations(Paths.get("src/test/resources/pdfs/minimal-polygon.pdf"))); + importer.importAnnotations(Path.of("src/test/resources/pdfs/minimal-polygon.pdf"))); } } diff --git a/src/test/java/org/jabref/logic/protectedterms/ProtectedTermsLoaderTest.java b/src/test/java/org/jabref/logic/protectedterms/ProtectedTermsLoaderTest.java index b08c1c3546d..98bf2c7a709 100644 --- a/src/test/java/org/jabref/logic/protectedterms/ProtectedTermsLoaderTest.java +++ b/src/test/java/org/jabref/logic/protectedterms/ProtectedTermsLoaderTest.java @@ -38,7 +38,7 @@ void testGetProtectedTerms() throws URISyntaxException { loader.removeProtectedTermsList(list); } assertTrue(loader.getProtectedTermsLists().isEmpty()); - String filename = Paths.get( + String filename = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/namedterms.terms").toURI()) .toFile().getPath(); loader.addProtectedTermsListFromFile(filename, true); @@ -58,7 +58,7 @@ void testAddProtectedTermsListFromFile() throws URISyntaxException { @Test void testReadProtectedTermsListFromFileReadsDescription() throws URISyntaxException, FileNotFoundException { - File file = Paths.get( + File file = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/namedterms.terms").toURI()) .toFile(); ProtectedTermsList list = ProtectedTermsLoader.readProtectedTermsListFromFile(file, true); @@ -67,7 +67,7 @@ void testReadProtectedTermsListFromFileReadsDescription() throws URISyntaxExcept @Test void testReadProtectedTermsListFromFileDisabledWorks() throws URISyntaxException, FileNotFoundException { - File file = Paths.get( + File file = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/namedterms.terms").toURI()) .toFile(); ProtectedTermsList list = ProtectedTermsLoader.readProtectedTermsListFromFile(file, false); @@ -76,7 +76,7 @@ void testReadProtectedTermsListFromFileDisabledWorks() throws URISyntaxException @Test void testReadProtectedTermsListFromFileEnabledWorks() throws URISyntaxException, FileNotFoundException { - File file = Paths.get( + File file = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/namedterms.terms").toURI()) .toFile(); ProtectedTermsList list = ProtectedTermsLoader.readProtectedTermsListFromFile(file, true); @@ -85,7 +85,7 @@ void testReadProtectedTermsListFromFileEnabledWorks() throws URISyntaxException, @Test void testReadProtectedTermsListFromFileIsNotInternalList() throws URISyntaxException, FileNotFoundException { - File file = Paths.get( + File file = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/namedterms.terms").toURI()) .toFile(); ProtectedTermsList list = ProtectedTermsLoader.readProtectedTermsListFromFile(file, true); @@ -95,7 +95,7 @@ void testReadProtectedTermsListFromFileIsNotInternalList() throws URISyntaxExcep @Test void testReadProtectedTermsListFromFileNoDescriptionGivesDefaultDescription() throws URISyntaxException, FileNotFoundException { - File file = Paths.get( + File file = Path.of( ProtectedTermsLoader.class.getResource("/org/jabref/logic/protectedterms/unnamedterms.terms") .toURI()) .toFile(); diff --git a/src/test/java/org/jabref/logic/texparser/DefaultTexParserTest.java b/src/test/java/org/jabref/logic/texparser/DefaultTexParserTest.java index 32022cd2861..ab41c9967e6 100644 --- a/src/test/java/org/jabref/logic/texparser/DefaultTexParserTest.java +++ b/src/test/java/org/jabref/logic/texparser/DefaultTexParserTest.java @@ -2,7 +2,6 @@ import java.net.URISyntaxException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import org.jabref.model.texparser.LatexParserResult; @@ -25,7 +24,7 @@ private void testMatchCite(String key, String citeString) { LatexParserResult latexParserResult = new DefaultLatexParser().parse(citeString); LatexParserResult expectedParserResult = new LatexParserResult(); - expectedParserResult.addKey(key, Paths.get(""), 1, 0, citeString.length(), citeString); + expectedParserResult.addKey(key, Path.of(""), 1, 0, citeString.length(), citeString); assertEquals(expectedParserResult, latexParserResult); } @@ -62,15 +61,15 @@ public void testTwoCitationsSameLine() { LatexParserResult latexParserResult = new DefaultLatexParser().parse(citeString); LatexParserResult expectedParserResult = new LatexParserResult(); - expectedParserResult.addKey(EINSTEIN_C, Paths.get(""), 1, 0, 21, citeString); - expectedParserResult.addKey(EINSTEIN_A, Paths.get(""), 1, 26, 47, citeString); + expectedParserResult.addKey(EINSTEIN_C, Path.of(""), 1, 0, 21, citeString); + expectedParserResult.addKey(EINSTEIN_A, Path.of(""), 1, 26, 47, citeString); assertEquals(expectedParserResult, latexParserResult); } @Test public void testFileEncodingUtf8() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("utf-8.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("utf-8.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -83,7 +82,7 @@ public void testFileEncodingUtf8() throws URISyntaxException { @Test public void testFileEncodingIso88591() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("iso-8859-1.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("iso-8859-1.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -98,7 +97,7 @@ public void testFileEncodingIso88591() throws URISyntaxException { @Test public void testFileEncodingIso885915() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("iso-8859-15.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("iso-8859-15.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -113,9 +112,9 @@ public void testFileEncodingIso885915() throws URISyntaxException { @Test public void testFileEncodingForThreeFiles() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("utf-8.tex").toURI()); - Path texFile2 = Paths.get(DefaultTexParserTest.class.getResource("iso-8859-1.tex").toURI()); - Path texFile3 = Paths.get(DefaultTexParserTest.class.getResource("iso-8859-15.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("utf-8.tex").toURI()); + Path texFile2 = Path.of(DefaultTexParserTest.class.getResource("iso-8859-1.tex").toURI()); + Path texFile3 = Path.of(DefaultTexParserTest.class.getResource("iso-8859-15.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser() .parse(Arrays.asList(texFile, texFile2, texFile3)); @@ -134,7 +133,7 @@ public void testFileEncodingForThreeFiles() throws URISyntaxException { @Test public void testSingleFile() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -151,8 +150,8 @@ public void testSingleFile() throws URISyntaxException { @Test public void testTwoFiles() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("paper.tex").toURI()); - Path texFile2 = Paths.get(DefaultTexParserTest.class.getResource("paper2.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("paper.tex").toURI()); + Path texFile2 = Path.of(DefaultTexParserTest.class.getResource("paper2.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(Arrays.asList(texFile, texFile2)); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -173,7 +172,7 @@ public void testTwoFiles() throws URISyntaxException { @Test public void testDuplicateFiles() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(Arrays.asList(texFile, texFile)); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -190,7 +189,7 @@ public void testDuplicateFiles() throws URISyntaxException { @Test public void testUnknownKey() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("unknown_key.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("unknown_key.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -206,7 +205,7 @@ public void testUnknownKey() throws URISyntaxException { @Test public void testFileNotFound() { - Path texFile = Paths.get("file_not_found.tex"); + Path texFile = Path.of("file_not_found.tex"); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -218,9 +217,9 @@ public void testFileNotFound() { @Test public void testNestedFiles() throws URISyntaxException { - Path texFile = Paths.get(DefaultTexParserTest.class.getResource("nested.tex").toURI()); - Path texFile2 = Paths.get(DefaultTexParserTest.class.getResource("nested2.tex").toURI()); - Path texFile3 = Paths.get(DefaultTexParserTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(DefaultTexParserTest.class.getResource("nested.tex").toURI()); + Path texFile2 = Path.of(DefaultTexParserTest.class.getResource("nested2.tex").toURI()); + Path texFile3 = Path.of(DefaultTexParserTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); diff --git a/src/test/java/org/jabref/logic/texparser/LatexParserTest.java b/src/test/java/org/jabref/logic/texparser/LatexParserTest.java index 105ca220f0e..4d2df7cf963 100644 --- a/src/test/java/org/jabref/logic/texparser/LatexParserTest.java +++ b/src/test/java/org/jabref/logic/texparser/LatexParserTest.java @@ -3,7 +3,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import org.jabref.logic.importer.ImportFormatPreferences; @@ -32,10 +31,10 @@ public class LatexParserTest { private final static String EINSTEIN_B = "Einstein1920b"; private final static String EINSTEIN_C = "Einstein1920c"; - private static FileUpdateMonitor fileMonitor = new DummyFileUpdateMonitor(); - private static ImportFormatPreferences importFormatPreferences; - private static BibDatabase database; - private static BibDatabase database2; + private final FileUpdateMonitor fileMonitor = new DummyFileUpdateMonitor(); + private ImportFormatPreferences importFormatPreferences; + private BibDatabase database; + private BibDatabase database2; @BeforeEach private void setUp() { @@ -91,7 +90,7 @@ private void setUp() { @Test public void testSameFileDifferentDatabases() throws URISyntaxException { - Path texFile = Paths.get(LatexParserTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(LatexParserTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexParserResult expectedParserResult = new LatexParserResult(); @@ -119,8 +118,8 @@ public void testSameFileDifferentDatabases() throws URISyntaxException { @Test public void testTwoFilesDifferentDatabases() throws URISyntaxException { - Path texFile = Paths.get(LatexParserTest.class.getResource("paper.tex").toURI()); - Path texFile2 = Paths.get(LatexParserTest.class.getResource("paper2.tex").toURI()); + Path texFile = Path.of(LatexParserTest.class.getResource("paper.tex").toURI()); + Path texFile2 = Path.of(LatexParserTest.class.getResource("paper2.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(Arrays.asList(texFile, texFile2)); LatexParserResult expectedParserResult = new LatexParserResult(); diff --git a/src/test/java/org/jabref/logic/texparser/TexBibEntriesResolverTest.java b/src/test/java/org/jabref/logic/texparser/TexBibEntriesResolverTest.java index cd8dce92474..3a91846bf71 100644 --- a/src/test/java/org/jabref/logic/texparser/TexBibEntriesResolverTest.java +++ b/src/test/java/org/jabref/logic/texparser/TexBibEntriesResolverTest.java @@ -3,7 +3,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import org.jabref.logic.importer.ImportFormatPreferences; @@ -32,11 +31,11 @@ public class TexBibEntriesResolverTest { private final static String EINSTEIN_B = "Einstein1920b"; private final static String EINSTEIN_C = "Einstein1920c"; - private static FileUpdateMonitor fileMonitor = new DummyFileUpdateMonitor(); - private static ImportFormatPreferences importFormatPreferences; - private static BibDatabase database; - private static BibDatabase database2; - private static BibEntry bibEntry; + private final FileUpdateMonitor fileMonitor = new DummyFileUpdateMonitor(); + private ImportFormatPreferences importFormatPreferences; + private BibDatabase database; + private BibDatabase database2; + private BibEntry bibEntry; @BeforeEach private void setUp() { @@ -100,7 +99,7 @@ private void setUp() { @Test public void testSingleFile() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); @@ -111,8 +110,8 @@ public void testSingleFile() throws URISyntaxException { @Test public void testTwoFiles() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); - Path texFile2 = Paths.get(TexBibEntriesResolverTest.class.getResource("paper2.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); + Path texFile2 = Path.of(TexBibEntriesResolverTest.class.getResource("paper2.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(Arrays.asList(texFile, texFile2)); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); @@ -123,7 +122,7 @@ public void testTwoFiles() throws URISyntaxException { @Test public void testDuplicateFiles() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("paper.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); @@ -134,7 +133,7 @@ public void testDuplicateFiles() throws URISyntaxException { @Test public void testUnknownKey() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("unknown_key.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("unknown_key.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); @@ -145,7 +144,7 @@ public void testUnknownKey() throws URISyntaxException { @Test public void testNestedFiles() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("nested.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("nested.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); @@ -156,7 +155,7 @@ public void testNestedFiles() throws URISyntaxException { @Test public void testCrossRef() throws URISyntaxException { - Path texFile = Paths.get(TexBibEntriesResolverTest.class.getResource("crossref.tex").toURI()); + Path texFile = Path.of(TexBibEntriesResolverTest.class.getResource("crossref.tex").toURI()); LatexParserResult parserResult = new DefaultLatexParser().parse(texFile); LatexBibEntriesResolverResult crossingResult = new TexBibEntriesResolver(database, importFormatPreferences, fileMonitor).resolve(parserResult); diff --git a/src/test/java/org/jabref/logic/util/io/FileHistoryTest.java b/src/test/java/org/jabref/logic/util/io/FileHistoryTest.java index af895b2bcfc..9c1bfcccefb 100644 --- a/src/test/java/org/jabref/logic/util/io/FileHistoryTest.java +++ b/src/test/java/org/jabref/logic/util/io/FileHistoryTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.util.io; -import java.nio.file.Paths; +import java.nio.file.Path; import java.util.ArrayList; import java.util.Arrays; @@ -19,27 +19,27 @@ void setUp() { @Test void newItemsAreAddedInRightOrder() { - history.newFile(Paths.get("aa")); - history.newFile(Paths.get("bb")); - assertEquals(Arrays.asList(Paths.get("bb"), Paths.get("aa")), history.getHistory()); + history.newFile(Path.of("aa")); + history.newFile(Path.of("bb")); + assertEquals(Arrays.asList(Path.of("bb"), Path.of("aa")), history.getHistory()); } @Test void itemsAlreadyInListIsMovedToTop() { - history.newFile(Paths.get("aa")); - history.newFile(Paths.get("bb")); - history.newFile(Paths.get("aa")); - assertEquals(Arrays.asList(Paths.get("aa"), Paths.get("bb")), history.getHistory()); + history.newFile(Path.of("aa")); + history.newFile(Path.of("bb")); + history.newFile(Path.of("aa")); + assertEquals(Arrays.asList(Path.of("aa"), Path.of("bb")), history.getHistory()); } @Test void removeItemsLeavesOtherItemsInRightOrder() { - history.newFile(Paths.get("aa")); - history.newFile(Paths.get("bb")); - history.newFile(Paths.get("cc")); + history.newFile(Path.of("aa")); + history.newFile(Path.of("bb")); + history.newFile(Path.of("cc")); - history.removeItem(Paths.get("bb")); + history.removeItem(Path.of("bb")); - assertEquals(Arrays.asList(Paths.get("cc"), Paths.get("aa")), history.getHistory()); + assertEquals(Arrays.asList(Path.of("cc"), Path.of("aa")), history.getHistory()); } } diff --git a/src/test/java/org/jabref/logic/util/io/FileUtilTest.java b/src/test/java/org/jabref/logic/util/io/FileUtilTest.java index be50604045f..f7bec14536d 100644 --- a/src/test/java/org/jabref/logic/util/io/FileUtilTest.java +++ b/src/test/java/org/jabref/logic/util/io/FileUtilTest.java @@ -4,7 +4,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.Arrays; import java.util.List; @@ -30,7 +29,7 @@ import static org.mockito.Mockito.mock; class FileUtilTest { - private final Path nonExistingTestPath = Paths.get("nonExistingTestPath"); + private final Path nonExistingTestPath = Path.of("nonExistingTestPath"); private Path existingTestFile; private Path otherExistingTestFile; private LayoutFormatterPreferences layoutFormatterPreferences; @@ -54,14 +53,14 @@ void setUpViewModel(@TempDir Path temporaryFolder) throws IOException { @Test void extensionBakAddedCorrectly() { - assertEquals(Paths.get("demo.bib.bak"), - FileUtil.addExtension(Paths.get("demo.bib"), ".bak")); + assertEquals(Path.of("demo.bib.bak"), + FileUtil.addExtension(Path.of("demo.bib"), ".bak")); } @Test void extensionBakAddedCorrectlyToAFileContainedInTmpDirectory() { - assertEquals(Paths.get("tmp", "demo.bib.bak"), - FileUtil.addExtension(Paths.get("tmp", "demo.bib"), ".bak")); + assertEquals(Path.of("tmp", "demo.bib.bak"), + FileUtil.addExtension(Path.of("tmp", "demo.bib"), ".bak")); } @Test @@ -152,22 +151,22 @@ void testGetLinkedFileNameByYearAuthorFirstpage() { @Test void testGetFileExtensionSimpleFile() { - assertEquals("pdf", FileHelper.getFileExtension(Paths.get("test.pdf")).get()); + assertEquals("pdf", FileHelper.getFileExtension(Path.of("test.pdf")).get()); } @Test void testGetFileExtensionMultipleDotsFile() { - assertEquals("pdf", FileHelper.getFileExtension(Paths.get("te.st.PdF")).get()); + assertEquals("pdf", FileHelper.getFileExtension(Path.of("te.st.PdF")).get()); } @Test void testGetFileExtensionNoExtensionFile() { - assertFalse(FileHelper.getFileExtension(Paths.get("JustTextNotASingleDot")).isPresent()); + assertFalse(FileHelper.getFileExtension(Path.of("JustTextNotASingleDot")).isPresent()); } @Test void testGetFileExtensionNoExtension2File() { - assertFalse(FileHelper.getFileExtension(Paths.get(".StartsWithADotIsNotAnExtension")).isPresent()); + assertFalse(FileHelper.getFileExtension(Path.of(".StartsWithADotIsNotAnExtension")).isPresent()); } @Test @@ -207,12 +206,12 @@ void getFileNameWithMultipleDotsString() { @Test void uniquePathSubstrings() { - String[] pathArr = {Paths.get("C:/uniquefile.bib").toString(), - Paths.get("C:/downloads/filename.bib").toString(), Paths.get("C:/mypaper/bib/filename.bib").toString(), - Paths.get("C:/external/mypaper/bib/filename.bib").toString(), ""}; - String[] uniqArr = {Paths.get("uniquefile.bib").toString(), Paths.get("downloads/filename.bib").toString(), - Paths.get("C:/mypaper/bib/filename.bib").toString(), - Paths.get("external/mypaper/bib/filename.bib").toString(), ""}; + String[] pathArr = {Path.of("C:/uniquefile.bib").toString(), + Path.of("C:/downloads/filename.bib").toString(), Path.of("C:/mypaper/bib/filename.bib").toString(), + Path.of("C:/external/mypaper/bib/filename.bib").toString(), ""}; + String[] uniqArr = {Path.of("uniquefile.bib").toString(), Path.of("downloads/filename.bib").toString(), + Path.of("C:/mypaper/bib/filename.bib").toString(), + Path.of("external/mypaper/bib/filename.bib").toString(), ""}; List paths = Arrays.asList(pathArr); List uniqPath = Arrays.asList(uniqArr); @@ -324,7 +323,7 @@ void testRenameFileWithFromFileExistAndOtherToFileExist() { void testRenameFileSuccessful(@TempDir Path otherTemporaryFolder) { // Be careful. This "otherTemporaryFolder" is the same as the "temporaryFolder" // in the @BeforeEach method. - Path temp = Paths.get(otherTemporaryFolder.resolve("123").toString()); + Path temp = Path.of(otherTemporaryFolder.resolve("123").toString()); System.out.println(temp); FileUtil.renameFile(existingTestFile, temp); diff --git a/src/test/java/org/jabref/logic/util/io/RegExpBasedFileFinderTests.java b/src/test/java/org/jabref/logic/util/io/RegExpBasedFileFinderTests.java index b1a2ff97ae7..23f61a3d1a0 100644 --- a/src/test/java/org/jabref/logic/util/io/RegExpBasedFileFinderTests.java +++ b/src/test/java/org/jabref/logic/util/io/RegExpBasedFileFinderTests.java @@ -1,7 +1,6 @@ package org.jabref.logic.util.io; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Collections; import java.util.List; @@ -53,14 +52,14 @@ public void testFindFiles() throws Exception { List extensions = Collections.singletonList("pdf"); - List dirs = Collections.singletonList(Paths.get(FILES_DIRECTORY)); + List dirs = Collections.singletonList(Path.of(FILES_DIRECTORY)); RegExpBasedFileFinder fileFinder = new RegExpBasedFileFinder("**/[bibtexkey].*\\\\.[extension]", ','); // when List result = fileFinder.findAssociatedFiles(localEntry, dirs, extensions); // then - assertEquals(Collections.singletonList(Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfInDatabase.pdf")), + assertEquals(Collections.singletonList(Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/pdfInDatabase.pdf")), result); } @@ -69,14 +68,14 @@ public void testYearAuthFirspageFindFiles() throws Exception { // given List extensions = Collections.singletonList("pdf"); - List dirs = Collections.singletonList(Paths.get(FILES_DIRECTORY)); + List dirs = Collections.singletonList(Path.of(FILES_DIRECTORY)); RegExpBasedFileFinder fileFinder = new RegExpBasedFileFinder("**/[year]_[auth]_[firstpage].*\\\\.[extension]", ','); // when List result = fileFinder.findAssociatedFiles(entry, dirs, extensions); // then - assertEquals(Collections.singletonList(Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/2003_Hippel_209.pdf")), + assertEquals(Collections.singletonList(Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/2003_Hippel_209.pdf")), result); } @@ -91,14 +90,14 @@ public void testAuthorWithDiacritics() throws Exception { List extensions = Collections.singletonList("pdf"); - List dirs = Collections.singletonList(Paths.get(FILES_DIRECTORY)); + List dirs = Collections.singletonList(Path.of(FILES_DIRECTORY)); RegExpBasedFileFinder fileFinder = new RegExpBasedFileFinder("**/[year]_[auth]_[firstpage]\\\\.[extension]", ','); // when List result = fileFinder.findAssociatedFiles(localEntry, dirs, extensions); // then - assertEquals(Collections.singletonList(Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/2017_Gražulis_726.pdf")), + assertEquals(Collections.singletonList(Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/2017_Gražulis_726.pdf")), result); } @@ -111,14 +110,14 @@ public void testFindFileInSubdirectory() throws Exception { List extensions = Collections.singletonList("pdf"); - List dirs = Collections.singletonList(Paths.get(FILES_DIRECTORY)); + List dirs = Collections.singletonList(Path.of(FILES_DIRECTORY)); RegExpBasedFileFinder fileFinder = new RegExpBasedFileFinder("**/[bibtexkey].*\\\\.[extension]", ','); // when List result = fileFinder.findAssociatedFiles(localEntry, dirs, extensions); // then - assertEquals(Collections.singletonList(Paths.get("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/pdfInSubdirectory.pdf")), + assertEquals(Collections.singletonList(Path.of("src/test/resources/org/jabref/logic/importer/unlinkedFilesTestFolder/directory/subdirectory/pdfInSubdirectory.pdf")), result); } @@ -131,7 +130,7 @@ public void testFindFileNonRecursive() throws Exception { List extensions = Collections.singletonList("pdf"); - List dirs = Collections.singletonList(Paths.get(FILES_DIRECTORY)); + List dirs = Collections.singletonList(Path.of(FILES_DIRECTORY)); RegExpBasedFileFinder fileFinder = new RegExpBasedFileFinder("*/[bibtexkey].*\\\\.[extension]", ','); // when diff --git a/src/test/java/org/jabref/logic/xmp/XmpUtilReaderTest.java b/src/test/java/org/jabref/logic/xmp/XmpUtilReaderTest.java index a938cf26a87..37c43679ae1 100644 --- a/src/test/java/org/jabref/logic/xmp/XmpUtilReaderTest.java +++ b/src/test/java/org/jabref/logic/xmp/XmpUtilReaderTest.java @@ -4,7 +4,6 @@ import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.Collections; import java.util.List; @@ -54,7 +53,7 @@ void setUp() { */ @Test void testReadArticleDublinCoreReadRawXmp() throws IOException, URISyntaxException, ParseException { - Path path = Paths.get(XmpUtilShared.class.getResource("article_dublinCore.pdf").toURI()); + Path path = Path.of(XmpUtilShared.class.getResource("article_dublinCore.pdf").toURI()); List meta = XmpUtilReader.readRawXmp(path); DublinCoreSchema dcSchema = meta.get(0).getDublinCoreSchema(); @@ -71,7 +70,7 @@ void testReadArticleDublinCoreReadRawXmp() throws IOException, URISyntaxExceptio */ @Test void testReadArticleDublinCoreReadXmp() throws IOException, URISyntaxException, ParseException { - Path pathPdf = Paths.get(XmpUtilShared.class.getResource("article_dublinCore.pdf").toURI()); + Path pathPdf = Path.of(XmpUtilShared.class.getResource("article_dublinCore.pdf").toURI()); List entries = XmpUtilReader.readXmp(pathPdf, xmpPreferences); BibEntry entry = entries.get(0); @@ -90,7 +89,7 @@ void testReadArticleDublinCoreReadXmp() throws IOException, URISyntaxException, */ @Test void testReadEmtpyMetadata() throws IOException, URISyntaxException { - List entries = XmpUtilReader.readXmp(Paths.get(XmpUtilShared.class.getResource("empty_metadata.pdf").toURI()), xmpPreferences); + List entries = XmpUtilReader.readXmp(Path.of(XmpUtilShared.class.getResource("empty_metadata.pdf").toURI()), xmpPreferences); assertEquals(Collections.emptyList(), entries); } @@ -99,7 +98,7 @@ void testReadEmtpyMetadata() throws IOException, URISyntaxException { */ @Test void testReadPDMetadata() throws IOException, URISyntaxException, ParseException { - Path pathPdf = Paths.get(XmpUtilShared.class.getResource("PD_metadata.pdf").toURI()); + Path pathPdf = Path.of(XmpUtilShared.class.getResource("PD_metadata.pdf").toURI()); List entries = XmpUtilReader.readXmp(pathPdf, xmpPreferences); String bibString = Resources.toString(XmpUtilShared.class.getResource("PD_metadata.bib"), StandardCharsets.UTF_8); diff --git a/src/test/java/org/jabref/logic/xmp/XmpUtilWriterTest.java b/src/test/java/org/jabref/logic/xmp/XmpUtilWriterTest.java index b2e911e1d3b..5b1da8d5f67 100644 --- a/src/test/java/org/jabref/logic/xmp/XmpUtilWriterTest.java +++ b/src/test/java/org/jabref/logic/xmp/XmpUtilWriterTest.java @@ -2,7 +2,6 @@ import java.io.IOException; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Arrays; import java.util.List; @@ -118,9 +117,9 @@ void testWriteMultipleBibEntries(@TempDir Path tempDir) throws IOException, Tran List entries = Arrays.asList(olly2018, vapnik2000, toral2006); - XmpUtilWriter.writeXmp(Paths.get(pdfFile.toAbsolutePath().toString()), entries, null, xmpPreferences); + XmpUtilWriter.writeXmp(Path.of(pdfFile.toAbsolutePath().toString()), entries, null, xmpPreferences); - List entryList = XmpUtilReader.readXmp(Paths.get(pdfFile.toAbsolutePath().toString()), xmpPreferences); + List entryList = XmpUtilReader.readXmp(Path.of(pdfFile.toAbsolutePath().toString()), xmpPreferences); assertEquals(3, entryList.size()); } diff --git a/src/test/java/org/jabref/model/BibDatabaseContextTest.java b/src/test/java/org/jabref/model/BibDatabaseContextTest.java deleted file mode 100644 index 1be4f0eb7da..00000000000 --- a/src/test/java/org/jabref/model/BibDatabaseContextTest.java +++ /dev/null @@ -1,42 +0,0 @@ -package org.jabref.model; - -import org.jabref.model.database.BibDatabase; -import org.jabref.model.database.BibDatabaseContext; -import org.jabref.model.database.BibDatabaseMode; -import org.jabref.model.entry.BibEntry; -import org.jabref.model.entry.types.IEEETranEntryType; -import org.jabref.model.metadata.MetaData; - -import org.junit.jupiter.api.Test; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -class BibDatabaseContextTest { - @Test - void testTypeBasedOnDefaultBiblatex() { - BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData()); - assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); - - bibDatabaseContext.setMode(BibDatabaseMode.BIBLATEX); - assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); - } - - @Test - void testTypeBasedOnDefaultBibtex() { - BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData()); - assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); - - bibDatabaseContext.setMode(BibDatabaseMode.BIBTEX); - assertEquals(BibDatabaseMode.BIBTEX, bibDatabaseContext.getMode()); - } - - @Test - void testTypeBasedOnInferredModeBiblatex() { - BibDatabase db = new BibDatabase(); - BibEntry e1 = new BibEntry(IEEETranEntryType.Electronic); - db.insertEntry(e1); - - BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(db); - assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); - } -} diff --git a/src/test/java/org/jabref/model/database/BibDatabaseContextTest.java b/src/test/java/org/jabref/model/database/BibDatabaseContextTest.java index 0c60cf2bbc1..a714a5e672a 100644 --- a/src/test/java/org/jabref/model/database/BibDatabaseContextTest.java +++ b/src/test/java/org/jabref/model/database/BibDatabaseContextTest.java @@ -1,12 +1,13 @@ package org.jabref.model.database; import java.nio.file.Path; -import java.nio.file.Paths; +import java.util.Arrays; import java.util.Collections; -import java.util.List; -import org.jabref.model.entry.field.StandardField; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.types.IEEETranEntryType; import org.jabref.model.metadata.FilePreferences; +import org.jabref.model.metadata.MetaData; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -15,61 +16,104 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; -public class BibDatabaseContextTest { +class BibDatabaseContextTest { private Path currentWorkingDir; - // Store the minimal preferences for the - // BibDatabaseContext.getFileDirectories(File, - // FilePreferences) incocation: private FilePreferences fileDirPrefs; @BeforeEach - public void setUp() { + void setUp() { fileDirPrefs = mock(FilePreferences.class); - currentWorkingDir = Paths.get(System.getProperty("user.dir")); + currentWorkingDir = Path.of(System.getProperty("user.dir")); when(fileDirPrefs.isBibLocationAsPrimary()).thenReturn(true); } @Test - public void getFileDirectoriesWithEmptyDbParent() { - BibDatabaseContext dbContext = new BibDatabaseContext(); - dbContext.setDatabasePath(Paths.get("biblio.bib")); - List fileDirectories = dbContext.getFileDirectories(StandardField.FILE, fileDirPrefs); - assertEquals(Collections.singletonList(currentWorkingDir.toString()), - fileDirectories); + void getFileDirectoriesWithEmptyDbParent() { + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(Path.of("biblio.bib")); + assertEquals(Collections.singletonList(currentWorkingDir), + database.getFileDirectoriesAsPaths(fileDirPrefs)); } @Test - public void getFileDirectoriesWithRelativeDbParent() { - Path file = Paths.get("relative/subdir").resolve("biblio.bib"); - - BibDatabaseContext dbContext = new BibDatabaseContext(); - dbContext.setDatabasePath(file); - List fileDirectories = dbContext.getFileDirectories(StandardField.FILE, fileDirPrefs); - assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent()).toString()), - fileDirectories); + void getFileDirectoriesWithRelativeDbParent() { + Path file = Path.of("relative/subdir").resolve("biblio.bib"); + + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(file); + assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent())), + database.getFileDirectoriesAsPaths(fileDirPrefs)); + } + + @Test + void getFileDirectoriesWithRelativeDottedDbParent() { + Path file = Path.of("./relative/subdir").resolve("biblio.bib"); + + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(file); + assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent())), + database.getFileDirectoriesAsPaths(fileDirPrefs)); + } + + @Test + void getFileDirectoriesWithAbsoluteDbParent() { + Path file = Path.of("/absolute/subdir").resolve("biblio.bib"); + + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(file); + assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent())), + database.getFileDirectoriesAsPaths(fileDirPrefs)); } @Test - public void getFileDirectoriesWithRelativeDottedDbParent() { - Path file = Paths.get("./relative/subdir").resolve("biblio.bib"); - - BibDatabaseContext dbContext = new BibDatabaseContext(); - dbContext.setDatabasePath(file); - List fileDirectories = dbContext.getFileDirectories(StandardField.FILE, fileDirPrefs); - assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent()).toString()), - fileDirectories); + void getFileDirectoriesWithRelativeMetadata() { + Path file = Path.of("/absolute/subdir").resolve("biblio.bib"); + + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(file); + database.getMetaData().setDefaultFileDirectory("../Literature"); + assertEquals(Arrays.asList(currentWorkingDir.resolve(file.getParent()), Path.of("/absolute/Literature").toAbsolutePath()), + database.getFileDirectoriesAsPaths(fileDirPrefs)); } @Test - public void getFileDirectoriesWithAbsoluteDbParent() { - Path file = Paths.get("/absolute/subdir").resolve("biblio.bib"); - - BibDatabaseContext dbContext = new BibDatabaseContext(); - dbContext.setDatabasePath(file); - List fileDirectories = dbContext.getFileDirectories(StandardField.FILE, fileDirPrefs); - assertEquals(Collections.singletonList(currentWorkingDir.resolve(file.getParent()).toString()), - fileDirectories); + void getFileDirectoriesWithMetadata() { + Path file = Path.of("/absolute/subdir").resolve("biblio.bib"); + + BibDatabaseContext database = new BibDatabaseContext(); + database.setDatabasePath(file); + database.getMetaData().setDefaultFileDirectory("Literature"); + assertEquals(Arrays.asList(currentWorkingDir.resolve(file.getParent()), Path.of("/absolute/subdir/Literature").toAbsolutePath()), + database.getFileDirectoriesAsPaths(fileDirPrefs)); + } + + @Test + void testTypeBasedOnDefaultBiblatex() { + BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData()); + assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); + + bibDatabaseContext.setMode(BibDatabaseMode.BIBLATEX); + assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); + } + + @Test + void testTypeBasedOnDefaultBibtex() { + BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(new BibDatabase(), new MetaData()); + assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); + + bibDatabaseContext.setMode(BibDatabaseMode.BIBTEX); + assertEquals(BibDatabaseMode.BIBTEX, bibDatabaseContext.getMode()); + } + + @Test + void testTypeBasedOnInferredModeBiblatex() { + BibDatabase db = new BibDatabase(); + BibEntry e1 = new BibEntry(IEEETranEntryType.Electronic); + db.insertEntry(e1); + + BibDatabaseContext bibDatabaseContext = new BibDatabaseContext(db); + assertEquals(BibDatabaseMode.BIBLATEX, bibDatabaseContext.getMode()); } } diff --git a/src/test/java/org/jabref/model/groups/TexGroupTest.java b/src/test/java/org/jabref/model/groups/TexGroupTest.java index 9e312db749e..7cf52a66aa2 100644 --- a/src/test/java/org/jabref/model/groups/TexGroupTest.java +++ b/src/test/java/org/jabref/model/groups/TexGroupTest.java @@ -1,7 +1,6 @@ package org.jabref.model.groups; import java.nio.file.Path; -import java.nio.file.Paths; import org.jabref.logic.auxparser.DefaultAuxParser; import org.jabref.model.database.BibDatabase; @@ -27,7 +26,7 @@ public void setUp() throws Exception { @Test public void containsReturnsTrueForEntryInAux() throws Exception { - Path auxFile = Paths.get(TexGroupTest.class.getResource("paper.aux").toURI()); + Path auxFile = Path.of(TexGroupTest.class.getResource("paper.aux").toURI()); TexGroup group = new TexGroup("paper", GroupHierarchyType.INDEPENDENT, auxFile, new DefaultAuxParser(new BibDatabase()), new DummyFileUpdateMonitor(), metaData); BibEntry inAux = new BibEntry(); inAux.setCiteKey("Darwin1888"); @@ -37,7 +36,7 @@ public void containsReturnsTrueForEntryInAux() throws Exception { @Test public void containsReturnsTrueForEntryNotInAux() throws Exception { - Path auxFile = Paths.get(TexGroupTest.class.getResource("paper.aux").toURI()); + Path auxFile = Path.of(TexGroupTest.class.getResource("paper.aux").toURI()); TexGroup group = new TexGroup("paper", GroupHierarchyType.INDEPENDENT, auxFile, new DefaultAuxParser(new BibDatabase()), new DummyFileUpdateMonitor(), metaData); BibEntry notInAux = new BibEntry(); notInAux.setCiteKey("NotInAux2017"); @@ -47,7 +46,7 @@ public void containsReturnsTrueForEntryNotInAux() throws Exception { @Test public void getFilePathReturnsRelativePath() throws Exception { - Path auxFile = Paths.get(TexGroupTest.class.getResource("paper.aux").toURI()); + Path auxFile = Path.of(TexGroupTest.class.getResource("paper.aux").toURI()); String user = "Darwin"; metaData.setLatexFileDirectory(user, auxFile.getParent()); TexGroup group = new TexGroup("paper", GroupHierarchyType.INDEPENDENT, auxFile, new DefaultAuxParser(new BibDatabase()), new DummyFileUpdateMonitor(), metaData, user); diff --git a/src/test/java/org/jabref/model/strings/StringUtilTest.java b/src/test/java/org/jabref/model/strings/StringUtilTest.java index 307fd886899..3fa176e208b 100644 --- a/src/test/java/org/jabref/model/strings/StringUtilTest.java +++ b/src/test/java/org/jabref/model/strings/StringUtilTest.java @@ -3,7 +3,6 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Optional; import org.junit.jupiter.api.Test; @@ -18,7 +17,7 @@ class StringUtilTest { @Test void StringUtilClassIsSmall() throws Exception { - Path path = Paths.get("src", "main", "java", StringUtil.class.getName().replace('.', '/') + ".java"); + Path path = Path.of("src", "main", "java", StringUtil.class.getName().replace('.', '/') + ".java"); int lineCount = Files.readAllLines(path, StandardCharsets.UTF_8).size(); assertTrue(lineCount <= 756, "StringUtil increased in size to " + lineCount + ". " From 86550b3fa80776c80368a021ac86809d8a3dbe6b Mon Sep 17 00:00:00 2001 From: github actions Date: Thu, 30 Apr 2020 11:13:14 +0000 Subject: [PATCH 18/19] Squashed 'src/main/resources/csl-styles/' changes from 143464eff6..906cd6d43d 906cd6d43d Create technische-universitat-dresden-linguistik-author-date (#4730) 607a05673e Create ifao-publications.csl (#4731) 5a65f504da remove et-al settings for bibliography for PVS (#4735) 4a145d43ec Create current-opinion-in-endocrinology-diabetes-and-obesity.csl (#4734) d70c2a4015 Add chapter section in bibliography (#4732) 366dbc13c6 Create economic-history-review.csl (#4643) 7069ddc837 Create the-open-university-harvard-s390-modules.csl (#4711) a789973291 Chicago: Uppercase "Presentated at" if no `genre` (#4729) git-subtree-dir: src/main/resources/csl-styles git-subtree-split: 906cd6d43d0c136190ecfbb12f6af0ca794e3c5b --- chicago-annotated-bibliography.csl | 12 +- chicago-author-date-16th-edition.csl | 14 +- chicago-author-date.csl | 14 +- ...ago-fullnote-bibliography-16th-edition.csl | 12 +- ...te-bibliography-short-title-subsequent.csl | 12 +- chicago-fullnote-bibliography-with-ibid.csl | 12 +- chicago-fullnote-bibliography.csl | 12 +- chicago-library-list.csl | 12 +- chicago-note-bibliography-16th-edition.csl | 12 +- chicago-note-bibliography-with-ibid.csl | 12 +- chicago-note-bibliography.csl | 12 +- ...-in-endocrinology-diabetes-and-obesity.csl | 163 ++++ dependent/bibliotheque-detude.csl | 23 + ...stitut-francais-darcheologie-orientale.csl | 24 + ...stitut-francais-darcheologie-orientale.csl | 23 + el-profesional-de-la-informacion.csl | 18 +- institut-francais-darcheologie-orientale.csl | 338 +++++++ politische-vierteljahresschrift.csl | 4 +- technische-universitat-dresden-linguistik.csl | 176 ++++ the-economic-history-review.csl | 899 ++++++++++++++++++ the-open-university-s390.csl | 264 +++++ turabian-fullnote-bibliography.csl | 14 +- 22 files changed, 2058 insertions(+), 24 deletions(-) create mode 100644 current-opinion-in-endocrinology-diabetes-and-obesity.csl create mode 100644 dependent/bibliotheque-detude.csl create mode 100644 dependent/bulletin-de-linstitut-francais-darcheologie-orientale.csl create mode 100644 dependent/fouilles-de-linstitut-francais-darcheologie-orientale.csl create mode 100644 institut-francais-darcheologie-orientale.csl create mode 100644 technische-universitat-dresden-linguistik.csl create mode 100644 the-economic-history-review.csl create mode 100644 the-open-university-s390.csl diff --git a/chicago-annotated-bibliography.csl b/chicago-annotated-bibliography.csl index 8a44cc232a0..afa407fc146 100644 --- a/chicago-annotated-bibliography.csl +++ b/chicago-annotated-bibliography.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik +

Chicago format with short notes and annotated bibliography @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/chicago-author-date-16th-edition.csl b/chicago-author-date-16th-edition.csl index e2a278946b4..a1c11fe62b2 100644 --- a/chicago-author-date-16th-edition.csl +++ b/chicago-author-date-16th-edition.csl @@ -21,6 +21,9 @@ Andrew Dunning andrew.dunning@utoronto.ca + + Brenton M. Wiernik + The author-date variant of the Chicago style @@ -509,8 +512,15 @@ - - + + + + + + + + + diff --git a/chicago-author-date.csl b/chicago-author-date.csl index 32d0cab0543..9f126b30511 100644 --- a/chicago-author-date.csl +++ b/chicago-author-date.csl @@ -27,6 +27,9 @@ matthew.g.roth@yale.edu https://orcid.org/0000-0001-7902-6331 + + Brenton M. Wiernik + The author-date variant of the Chicago style @@ -509,8 +512,15 @@ - - + + + + + + + + + diff --git a/chicago-fullnote-bibliography-16th-edition.csl b/chicago-fullnote-bibliography-16th-edition.csl index 3c7e31ca945..448a23e0988 100644 --- a/chicago-fullnote-bibliography-16th-edition.csl +++ b/chicago-fullnote-bibliography-16th-edition.csl @@ -25,6 +25,9 @@ Andrew Dunning andrew.dunning@utoronto.ca + + Brenton M. Wiernik + Chicago format with full notes and bibliography @@ -665,7 +668,14 @@ - + + + + + + + + diff --git a/chicago-fullnote-bibliography-short-title-subsequent.csl b/chicago-fullnote-bibliography-short-title-subsequent.csl index 79c1c72aa00..522ee11ff74 100644 --- a/chicago-fullnote-bibliography-short-title-subsequent.csl +++ b/chicago-fullnote-bibliography-short-title-subsequent.csl @@ -29,6 +29,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format with full notes and bibliography @@ -699,7 +702,14 @@ - + + + + + + + + diff --git a/chicago-fullnote-bibliography-with-ibid.csl b/chicago-fullnote-bibliography-with-ibid.csl index 9c18286a273..c5427a68854 100644 --- a/chicago-fullnote-bibliography-with-ibid.csl +++ b/chicago-fullnote-bibliography-with-ibid.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format with full notes and bibliography @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/chicago-fullnote-bibliography.csl b/chicago-fullnote-bibliography.csl index a9f375b0519..d0d599c289e 100644 --- a/chicago-fullnote-bibliography.csl +++ b/chicago-fullnote-bibliography.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format with full notes and bibliography @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/chicago-library-list.csl b/chicago-library-list.csl index ca28f219039..4e41d01fb10 100644 --- a/chicago-library-list.csl +++ b/chicago-library-list.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format for creating library lists, where bibliography includes call numbers @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/chicago-note-bibliography-16th-edition.csl b/chicago-note-bibliography-16th-edition.csl index 50bd88a5de9..3ab321d009a 100644 --- a/chicago-note-bibliography-16th-edition.csl +++ b/chicago-note-bibliography-16th-edition.csl @@ -25,6 +25,9 @@ Andrew Dunning andrew.dunning@utoronto.ca + + Brenton M. Wiernik + Chicago format with short notes and bibliography @@ -665,7 +668,14 @@ - + + + + + + + + diff --git a/chicago-note-bibliography-with-ibid.csl b/chicago-note-bibliography-with-ibid.csl index d05a481e714..a6de7136c9a 100644 --- a/chicago-note-bibliography-with-ibid.csl +++ b/chicago-note-bibliography-with-ibid.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format with short notes and bibliography @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/chicago-note-bibliography.csl b/chicago-note-bibliography.csl index 201e33ee51a..41c0c9ab5fe 100644 --- a/chicago-note-bibliography.csl +++ b/chicago-note-bibliography.csl @@ -28,6 +28,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Chicago format with short notes and bibliography @@ -698,7 +701,14 @@ - + + + + + + + + diff --git a/current-opinion-in-endocrinology-diabetes-and-obesity.csl b/current-opinion-in-endocrinology-diabetes-and-obesity.csl new file mode 100644 index 00000000000..6fb090ed6a0 --- /dev/null +++ b/current-opinion-in-endocrinology-diabetes-and-obesity.csl @@ -0,0 +1,163 @@ + + diff --git a/dependent/bibliotheque-detude.csl b/dependent/bibliotheque-detude.csl new file mode 100644 index 00000000000..75f506e7f40 --- /dev/null +++ b/dependent/bibliotheque-detude.csl @@ -0,0 +1,23 @@ + + diff --git a/dependent/bulletin-de-linstitut-francais-darcheologie-orientale.csl b/dependent/bulletin-de-linstitut-francais-darcheologie-orientale.csl new file mode 100644 index 00000000000..a5990aebbd1 --- /dev/null +++ b/dependent/bulletin-de-linstitut-francais-darcheologie-orientale.csl @@ -0,0 +1,24 @@ + + diff --git a/dependent/fouilles-de-linstitut-francais-darcheologie-orientale.csl b/dependent/fouilles-de-linstitut-francais-darcheologie-orientale.csl new file mode 100644 index 00000000000..dd22951ec42 --- /dev/null +++ b/dependent/fouilles-de-linstitut-francais-darcheologie-orientale.csl @@ -0,0 +1,23 @@ + + diff --git a/el-profesional-de-la-informacion.csl b/el-profesional-de-la-informacion.csl index e6a4cd89242..b358617fd9f 100644 --- a/el-profesional-de-la-informacion.csl +++ b/el-profesional-de-la-informacion.csl @@ -13,7 +13,7 @@ 1386-6710 1699-2407 - 2012-09-27T22:06:38+00:00 + 2020-04-27T22:06:38+00:00 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License @@ -77,7 +77,7 @@ - + @@ -89,13 +89,17 @@ - - - - - + + + + + + + diff --git a/institut-francais-darcheologie-orientale.csl b/institut-francais-darcheologie-orientale.csl new file mode 100644 index 00000000000..de925b1594a --- /dev/null +++ b/institut-francais-darcheologie-orientale.csl @@ -0,0 +1,338 @@ + + diff --git a/politische-vierteljahresschrift.csl b/politische-vierteljahresschrift.csl index 61bc5c6729c..c9e5b6ddafb 100644 --- a/politische-vierteljahresschrift.csl +++ b/politische-vierteljahresschrift.csl @@ -17,7 +17,7 @@ 0032-3470 1862-2860 Stil fuer die Politische Vierteljahresschrift (Maerz 2017). - 2018-08-13T10:09:11+00:00 + 2020-04-28T10:09:11+00:00 This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License @@ -127,7 +127,7 @@ - + diff --git a/technische-universitat-dresden-linguistik.csl b/technische-universitat-dresden-linguistik.csl new file mode 100644 index 00000000000..71853f0a72e --- /dev/null +++ b/technische-universitat-dresden-linguistik.csl @@ -0,0 +1,176 @@ + + diff --git a/the-economic-history-review.csl b/the-economic-history-review.csl new file mode 100644 index 00000000000..92341c6e3f2 --- /dev/null +++ b/the-economic-history-review.csl @@ -0,0 +1,899 @@ + + diff --git a/the-open-university-s390.csl b/the-open-university-s390.csl new file mode 100644 index 00000000000..6eb75f55ef0 --- /dev/null +++ b/the-open-university-s390.csl @@ -0,0 +1,264 @@ + + diff --git a/turabian-fullnote-bibliography.csl b/turabian-fullnote-bibliography.csl index b5c579a5d97..a5d5d93cd8f 100644 --- a/turabian-fullnote-bibliography.csl +++ b/turabian-fullnote-bibliography.csl @@ -12,6 +12,9 @@ Sebastian Karcher + + Brenton M. Wiernik + Turabian note style, a variant of Chicago for students @@ -455,8 +458,15 @@ - - + + + + + + + + + From 2825c29ae797c2c1ff5e632152ac1b6280f7af40 Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 30 Apr 2020 19:22:45 +0200 Subject: [PATCH 19/19] New Crowdin translations (#6375) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (Russian) * New translations JabRef_en.properties (Persian) * New translations JabRef_en.properties (Indonesian) * New translations JabRef_en.properties (Portuguese, Brazilian) * New translations JabRef_en.properties (Vietnamese) * New translations JabRef_en.properties (Chinese Simplified) * New translations JabRef_en.properties (Turkish) * New translations JabRef_en.properties (Swedish) * New translations JabRef_en.properties (Portuguese) * New translations JabRef_en.properties (Spanish) * New translations JabRef_en.properties (Polish) * New translations JabRef_en.properties (Norwegian) * New translations JabRef_en.properties (Dutch) * New translations JabRef_en.properties (Japanese) * New translations JabRef_en.properties (Italian) * New translations JabRef_en.properties (Greek) * New translations JabRef_en.properties (German) * New translations JabRef_en.properties (Danish) * New translations JabRef_en.properties (Tagalog) --- src/main/resources/l10n/JabRef_da.properties | 22 +- src/main/resources/l10n/JabRef_de.properties | 42 +- src/main/resources/l10n/JabRef_el.properties | 34 +- src/main/resources/l10n/JabRef_es.properties | 38 +- src/main/resources/l10n/JabRef_fa.properties | 13 +- src/main/resources/l10n/JabRef_fr.properties | 46 +-- src/main/resources/l10n/JabRef_in.properties | 34 +- src/main/resources/l10n/JabRef_it.properties | 38 +- src/main/resources/l10n/JabRef_ja.properties | 38 +- src/main/resources/l10n/JabRef_nl.properties | 35 +- src/main/resources/l10n/JabRef_no.properties | 26 +- src/main/resources/l10n/JabRef_pl.properties | 22 +- src/main/resources/l10n/JabRef_pt.properties | 30 +- .../resources/l10n/JabRef_pt_BR.properties | 42 +- src/main/resources/l10n/JabRef_ru.properties | 384 +++++++++++++++--- src/main/resources/l10n/JabRef_sv.properties | 82 ++-- src/main/resources/l10n/JabRef_tl.properties | 28 +- src/main/resources/l10n/JabRef_tr.properties | 38 +- src/main/resources/l10n/JabRef_vi.properties | 25 +- src/main/resources/l10n/JabRef_zh.properties | 35 +- 20 files changed, 497 insertions(+), 555 deletions(-) diff --git a/src/main/resources/l10n/JabRef_da.properties b/src/main/resources/l10n/JabRef_da.properties index 1d5ffad9b39..78ff89b025b 100644 --- a/src/main/resources/l10n/JabRef_da.properties +++ b/src/main/resources/l10n/JabRef_da.properties @@ -53,10 +53,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=ethvert felt som Appearance=Udseende -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Tilføj indhold fra en BibTeX-library i den åbne library - -Append\ library=Føj til library - Application=Applikation @@ -86,8 +82,6 @@ Available\ export\ formats=Tilgængelige eksportformater Available\ import\ formats=Tilgængelige importformater -Backup\ old\ file\ when\ saving=Lav sikkerhedskopi ved gemning - %0\ source=%0-kilde Browse=Gennemse @@ -97,6 +91,7 @@ by=med Cancel=Annuller + case\ insensitive=skelner ikke mellem store og små bogstaver case\ sensitive=skelner mellem store og små bogstaver @@ -309,7 +304,7 @@ Field=Felt field=felt Field\ name=Feltnavn -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Feltnavn kan ikke indeholde mellemrum eller følgende tegn + Field\ to\ group\ by=Grupperingsfelt @@ -392,22 +387,14 @@ Import\ and\ remove\ old\ entry=Importer og fjern den gamle post Import\ entries=Importer poster Import\ file=Importer fil -Import\ group\ definitions=Importer gruppedefinitioner - Import\ name=Navn på import Import\ preferences=Importer indstillinger Import\ preferences\ from\ file=Importer indstillinger fra fil -Import\ strings=Importer strenge - -Import\ word\ selector\ definitions=Importer definitioner for hurtigvælgere - Imported\ entries=Importerede poster -Imported\ from\ library=Importerede fra libraryn - Importer\ class=Importer-klasse Importing=Importerer @@ -508,7 +495,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Ingen tidsskriftsnavne kunne forkort No\ journal\ names\ could\ be\ unabbreviated.=Ingen tidsskriftsnavne kunne ekspanderes. - not=ikke not\ found=ikke fundet @@ -745,7 +731,6 @@ Strings\ for\ library=Strenge for library Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Skifter mellem fuldt og forkortet tidsskriftsnavn hvis navnet er kendt. -Tabname=Navn på faneblad Tertiary\ sort\ criterion=Tertiært sorteringskriterium The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Den valgte tegnkodning '%0' kunne ikke kode de følgende tegn\: @@ -981,8 +966,6 @@ Cleanup\ entries=Ryd op i indgange Automatically\ assign\ new\ entry\ to\ selected\ groups=Tildel automatisk nye poster til valgte grupper %0\ mode=%0-tilstand -Remove\ selected=Fjern valgte - Manage\ keywords=Håndter nøgleord @@ -1122,3 +1105,4 @@ Default\ pattern=Standardmønster + diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index 762262759b0..8752912a123 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=ein beliebiges Fe Appearance=Erscheinungsbild -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Inhalt einer BibTeX-Bibliothek an die aktuelle Bibliothek anhängen - -Append\ library=Bibliothek anhängen - Application=Anwendung Application\ to\ push\ entries\ to=Anwendung auswählen, zu der Einträge gepusht werden @@ -94,8 +90,6 @@ Available\ export\ formats=Verfügbare Exportformate Available\ import\ formats=Verfügbare Importformate -Backup\ old\ file\ when\ saving=Beim Speichern ein Backup der alten Datei anlegen - %0\ source=%0-Quelltext Browse=Durchsuchen @@ -108,6 +102,7 @@ Cannot\ create\ group=Gruppe kann nicht erstellt werden Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Gruppe kann nicht erstellt werden. Erstellen sie zuerst eine Bibliothek. + case\ insensitive=Groß-/Kleinschreibung wird nicht unterschieden case\ sensitive=Groß-/Kleinschreibung wird unterschieden @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Dynamisches Gr Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Dynamisches Gruppieren der Einträge anhand eines Stichworts in einem Feld -Each\ line\ must\ be\ of\ the\ following\ form=Jede Zeile muss das folgende Format aufweisen Edit=Bearbeiten @@ -335,7 +329,7 @@ Field=Feld field=Feld Field\ name=Feldname -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Feldbezeichnungen dürfen keine Leerzeichen enthalten und keine der folgenden Zeichen + Field\ to\ group\ by=Sortierfeld @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Importieren und alten Eintrag löschen Import\ entries=Einträge importieren Import\ file=Datei importieren -Import\ group\ definitions=Gruppendefinitionen importieren - Import\ name=Name des Importfilters Import\ preferences=Einstellungen importieren Import\ preferences\ from\ file=Einstellungen aus Datei importieren -Import\ strings=Strings importieren - -Import\ word\ selector\ definitions=Wortauswahldefinitionen importieren - Imported\ entries=Einträge importiert -Imported\ from\ library=Importiert aus Bibliothek - Importer\ class=Importer Klasse Importing=Importieren @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Es konnten keine Zeitschriftentitel No\ journal\ names\ could\ be\ unabbreviated.=Das Aufheben der Abkürzung konnte bei keiner Zeitschrift durchgeführt werden. -Open\ PDF=PDF öffnen - not=nicht not\ found=davon nicht gefunden @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=Subbibliothek von AUX bis BibTeX Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Wechselt zwischen vollem und abgekürztem Zeitschriftentitel falls bekannt. -Tabname=Tab-Name Tertiary\ sort\ criterion=Drittes Sortierkriterium The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Die gewählte Kodierung '%0' konnte folgende Buchstaben nicht darstellen\: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Aufräumen bei keinem Eintrag nötig One\ entry\ needed\ a\ clean\ up=Aufräumen bei einem Eintrag nötig %0\ entries\ needed\ a\ clean\ up=Aufräumen bei %0 Einträgen nötig -Remove\ selected=Ausgewählte löschen - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Der Gruppenbaum konnte nicht geparsed werden. Wenn Sie die BibTeX-Bibliothek speichern, gehen alle Gruppen verloren. Attach\ file=Datei anhängen Setting\ all\ preferences\ to\ default\ values.=Setze alle Einstellungen auf die Standardwerte. @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Tipp\: Um nur Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Konnte Openoffice/LibreOffice Installationspfad nicht atuomatisch bestimmen. Bitte wählen Sie das Installationsverzeichnis manuell aus. Close\ library=Bibliothek schließen -Decrease\ table\ font\ size=Verkleinere Tabellenschriftgröße Entry\ editor,\ next\ entry=Eintragseditor, nächster Eintrag Entry\ editor,\ next\ panel=Eintragseditor, nächstes Panel Entry\ editor,\ next\ panel\ 2=Eintragseditor, nächstes Panel 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Dateilisteneditor, verschiebe Eintrag nach Focus\ entry\ table=Fokus auf Tabelle setzen Import\ into\ current\ library=Importieren in aktuelle Bibliothek Import\ into\ new\ library=Importieren in neue Bibliothek -Increase\ table\ font\ size=Vergrößere Tabellenschriftgröße New\ article=Neuer Artikel New\ book=Neues Buch New\ entry=Neuer Eintrag @@ -1384,7 +1363,6 @@ type=Typ value=Wert Show\ preferences=Zeige Einstellungen Save\ actions=Speicheraktionen -Enable\ save\ actions=Speicheraktionen aktivieren Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Ins BibTeX-Format konvertieren (verschiebe beispielsweise den Wert des Felds 'journaltitle' in das Feld 'journal') Other\ fields=Andere Felder @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Fehlerhafter Eintragstypkommentar Move\ linked\ files\ to\ default\ file\ directory\ %0=Verknüpfte Dateien in das Standardverzeichnis %0 verschieben Do\ you\ still\ want\ to\ continue?=Wollen Sie wirklich fortfahren? -Run\ field\ formatter\:=Führe Feldformatierer aus\: -Table\ font\ size\ is\ %0=Tabellenschriftgröße ist %0% Internal\ style=Interner Stil Add\ style\ file=Füge Stildatei hinzu Current\ style\ is\ '%0'=Aktueller Stil ist %0 @@ -1701,8 +1677,6 @@ Author=Autor Date=Datum File\ annotations=Annotationen Show\ file\ annotations=Zeige Annotationen im PDF -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader 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 @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=Journal nicht in Abkürzungsliste ge Unhandled\ exception\ occurred.=Unbehandelte Ausnahme aufgetreten. strings\ included=Strings eingeschlossen -Default\ table\ font\ size=Standard Tabellenschriftgröße Escape\ underscores=Unterstriche maskieren Color=Farbe Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Bitte geben Sie, falls möglich, alle Schritte zum reproduzieren des Fehlers an. @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Zeige dieses Dokument solange bis es ents Set\ current\ user\ name\ as\ owner.=Setze den aktuellen Benutzernamen als Besitzer. Sort\ all\ subgroups\ (recursively)=Sortiere alle Untergruppen (rekursiv) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Sammle und teile Telemetriedaten, um bei der Verbesserung von JabRef zu unterstützen. Don't\ share=Nicht teilen Share\ anonymous\ statistics=Teile anonyme Statistiken Telemetry\:\ Help\ make\ JabRef\ better=Telemetrie\: Helfen Sie, JabRef zu verbessern @@ -2039,7 +2011,6 @@ Light\ theme=Helles Theme Dark\ theme=Dunkles Theme Overwrite\ existing\ keys=Existierende Keys überschreiben Key\ patterns=BibTeX-Key-Muster -Size\:=Größe\: Font\ settings=Schrifteinstellungen Override\ font\ settings=Schrifteinstellungen überschreiben Override\ font\ size=Schriftgröße überschreiben @@ -2087,6 +2058,8 @@ Keyword\ delimiter=Schlüsselwort-Trennzeichen Hierarchical\ keyword\ delimiter=Hierarchisches Schlüsselwort-Trennzeichen Escape\ ampersands=Kaufmnännische-Und-Zeichen maskieren +Copied\ '%0'\ to\ clipboard.="%0" in die Zwischenablage kopiert. +This\ operation\ requires\ an\ open\ library.=Diese operation benötigt eine geöffente Bibliothek. Plain\ References\ Parser=Parser für einfache Referenzen Please\ enter\ the\ plain\ references\ to\ extract\ from\ separated\ by\ double\ empty\ lines.=Bitte geben Sie die einfachen Referenzen ein, die durch doppelte Leerzeilen getrennt werden sollen. @@ -2107,12 +2080,17 @@ Required\ and\ optional\ fields=Erforderliche und optionale Felder Index=Index Remove\ entry\ type=Eintragstyp löschen Remove\ field\ %0\ from\ currently\ selected\ entry\ type=Feld %0 vom aktuell ausgewählten Eintragstyp entfernen - Optional=Optional Required=Erforderlich Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Eintragstyp darf nicht leer sein. Bitte geben Sie einen Namen ein. Field\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Feld darf nicht leer sein. Bitte geben Sie einen Namen ein. +Search\ ShortScience=Durchsuche ShortScience +Unable\ to\ open\ ShortScience.=Kann keine Verbindung zu ShortScience herstellen. Shared\ database=Geteilte Datenbank Lookup=Nachschlagen + + + + diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties index 62a1889da1a..edf97431f48 100644 --- a/src/main/resources/l10n/JabRef_el.properties +++ b/src/main/resources/l10n/JabRef_el.properties @@ -56,10 +56,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=οποιοδήπ Appearance=Εμφάνιση -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Προσάρτηση των περιεχομένων από μια βιβλιοθήκη BibTeX στην τρέχουσα βιβλιοθήκη - -Append\ library=Προσάρτηση βιβλιοθήκης - Application=Εφαρμογή @@ -89,8 +85,6 @@ Available\ export\ formats=Διαθέσιμες μορφές εξαγωγής Available\ import\ formats=Διαθέσιμες μορφές εισαγωγής -Backup\ old\ file\ when\ saving=Δημιουργία αντιγράφων ασφαλείας του προγενέστερου αρχείου κατά την αποθήκευση - %0\ source=Πηγή %0 Browse=Περιήγηση @@ -101,6 +95,7 @@ The\ conflicting\ fields\ of\ these\ entries\ will\ be\ merged\ into\ the\ 'Comm Cancel=Ακύρωση + case\ insensitive=χωρίς διάκριση πεζών - κεφαλαίων case\ sensitive=διάκριση πεζών - κεφαλαίων @@ -316,7 +311,7 @@ Field=Πεδίο field=πεδίο Field\ name=Όνομα πεδίου -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Το όνομα πεδίου δεν επιτρέπεται να περιέχει κενά ή τους παρακάτω χαρακτήρες + Field\ to\ group\ by=Ομαδοποίηση με το πεδίο @@ -408,22 +403,14 @@ Import\ and\ remove\ old\ entry=Εισαγωγή και αφαίρεση παλ Import\ entries=Εισαγωγή καταχωρήσεων Import\ file=Εισαγωγή αρχείου -Import\ group\ definitions=Εισαγωγή ορισμών ομάδας - Import\ name=Εισαγωγή ονόματος Import\ preferences=Εισαγωγή προτιμήσεων Import\ preferences\ from\ file=Εισαγωγή προτιμήσεων από αρχείο -Import\ strings=Εισαγωγή συμβολοσειρών - -Import\ word\ selector\ definitions=Εισαγωγή ορισμών του επιλογέα λέξεων - Imported\ entries=Καταχωρήσεις που έχουν εισαχθεί -Imported\ from\ library=Έχει εισαχθεί από τη βιβλιοθήκη - Importer\ class=Κλάση εισαγωγέα Importing=Διαδικασία εισαγωγής @@ -527,8 +514,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Δεν ήταν δυνατή η σύ No\ journal\ names\ could\ be\ unabbreviated.=Δεν ήταν δυνατή η αναίρεση της σύντμησης ονομάτων περιοδικών. -Open\ PDF=Άνοιγμα PDF - not=δεν not\ found=δεν βρέθηκε @@ -786,7 +771,6 @@ Strings\ for\ library=Συμβολοσειρές για βιβλιοθήκη Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Εναλλαγή από πλήρες ή συντετμημένο όνομα περιοδικού, εάν το όνομα του περιοδικού είναι άγνωστο. -Tabname=Όνομα καρτέλας Tertiary\ sort\ criterion=Κριτήριο τριτογενούς ταξινόμησης The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Η επιλεγμένη κωδικοποίηση '%0' δεν κατάφερε να κωδικοποιήσει τους παρακάτω χαρακτήρες\: @@ -1046,8 +1030,6 @@ No\ entry\ needed\ a\ clean\ up=Καμία καταχώρηση δεν χρει One\ entry\ needed\ a\ clean\ up=Μία καταχώρηση χρειάστηκε εκκαθάριση %0\ entries\ needed\ a\ clean\ up=%0 καταχωρήσεις χρειάστηκαν εκκαθάριση -Remove\ selected=Αφαίρεση επιλεγμένων - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Αδυναμία ανάλυσης του δενδροδιαγράμματος ομάδων. Εάν αποθηκεύσετε τη βιβλιοθήκη BibTeX, όλες οι ομάδες θα χαθούν. Attach\ file=Επισύναψη αρχείου Setting\ all\ preferences\ to\ default\ values.=Ορισμός όλων των προτιμήσεων στις προεπιλεγμένες τιμές. @@ -1247,7 +1229,6 @@ This\ search\ contains\ entries\ in\ which=Αυτή η αναζήτηση περ Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Αδυναμία αυτόματου εντοπισμού εγκατάστασης OpenOffice/LibreOffice. Παρακαλώ επιλέξτε τον φάκελο εγκατάστασης χειροκίνητα. Close\ library=Κλείσιμο βιβλιοθήκης -Decrease\ table\ font\ size=Μείωση μεγέθους γραμματοσειράς πίνακα Entry\ editor,\ next\ entry=Επεξεργαστής κειμένου καταχώρησης, επόμενη καταχώρηση Entry\ editor,\ next\ panel=Επεξεργαστής κειμένου καταχώρησης, επόμενο πλαίσιο Entry\ editor,\ next\ panel\ 2=Επεξεργαστής κειμένου καταχώρησης, επόμενο πλαίσιο 2 @@ -1259,7 +1240,6 @@ File\ list\ editor,\ move\ entry\ up=Επεξεργαστής κειμένου Focus\ entry\ table=Επικεντρωμένη εισαγωγή πίνακα Import\ into\ current\ library=Εισαγωγή στην τρέχουσα βιβλιοθήκη Import\ into\ new\ library=Εισαγωγή σε νέα βιβλιοθήκη -Increase\ table\ font\ size=Αύξηση μεγέθους γραμματοσειράς πίνακα New\ article=Νέο άρθρο New\ book=Νέο βιβλίο New\ entry=Νέα καταχώρηση @@ -1291,7 +1271,6 @@ type=τύπος value=τιμή Show\ preferences=Εμφάνιση προτιμήσεων Save\ actions=Αποθήκευση ενεργειών -Enable\ save\ actions=Ενεργοποίηση αποθήκευσης ενεργειών Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Μετατροπή σε τύπο BibTeX (για παράδειγμα, μετακίνηση της τιμής του πεδίου 'journaltitle' στο πεδίο 'journal') Other\ fields=Άλλα πεδία @@ -1326,8 +1305,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Σχόλιο με κακοδιατ Move\ linked\ files\ to\ default\ file\ directory\ %0=Μετακίνηση συνδεδεμένων αρχείων στον προεπιλεγμένο φάκελο αρχείου %0 Do\ you\ still\ want\ to\ continue?=Θέλετε ακόμα να συνεχίσετε; -Run\ field\ formatter\:=Εκτέλεση μορφοποιητή πεδίου\: -Table\ font\ size\ is\ %0=Το μέγεθος γραμματοσειράς πίνακα είναι %0 Internal\ style=Εσωτερικό στυλ Add\ style\ file=Προσθήκη αρχείου στυλ Current\ style\ is\ '%0'=Το τρέχον στυλ είναι '%0' @@ -1591,8 +1568,6 @@ Author=Συγγραφέας Date=Ημερομηνία File\ annotations=Σχολιασμοί αρχείου Show\ file\ annotations=Εμφάνιση σχολιασμών αρχείου -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader shared=κοινόχρηστο should\ contain\ an\ integer\ or\ a\ literal=πρέπει να περιέχει ακέραιο αριθμό ή γράμμα should\ have\ the\ first\ letter\ capitalized=πρέπει να έχει κεφαλαίο το πρώτο γράμμα @@ -1651,7 +1626,6 @@ journal\ not\ found\ in\ abbreviation\ list=το περιοδικό δεν βρ Unhandled\ exception\ occurred.=Προέκυψε εξαίρεση χωρίς επίλυση. strings\ included=συμπεριλαμβανόμενες συμβολοσειρές -Default\ table\ font\ size=Μέγεθος γραμματοσειράς προεπιλεγμένου πίνακα Escape\ underscores=Διαφυγή κάτω παύλας Color=Χρώμα Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Παρακαλώ προσθέστε επίσης όλα τα βήματα για να αναπαραχθεί αυτό το πρόβλημα, εάν είναι δυνατόν. @@ -1669,7 +1643,6 @@ Show\ this\ document\ until\ unlocked.=Εμφάνιση αυτού του εγγ Set\ current\ user\ name\ as\ owner.=Ορισμός του τρέχοντος ονόματος χρήστη ως ιδιοκτήτη. Sort\ all\ subgroups\ (recursively)=Ταξινόμηση όλων των υπο-ομάδων (αναδρομικά) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Συλλέξτε και διαμοιραστείτε δεδομένα τηλεμετρίας για να βοηθήσετε το JabRef να βελτιωθεί. Don't\ share=Να μη γίνει διαμοιρασμός Share\ anonymous\ statistics=Διαμοιραστείτε ανώνυμα στατιστικά Telemetry\:\ Help\ make\ JabRef\ better=Τηλεμετρία\: Βοηθήστε να βελτιώσουμε το JabRef @@ -1804,3 +1777,6 @@ Default\ pattern=Προεπιλεγμένο μοτίβο + + + diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties index 86276319205..9f57d6c08db 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=cualquier campo q Appearance=Aspecto -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Agregar contenidos desde una biblioteca BibTeX a la biblioteca actual - -Append\ library=Agregar biblioteca - Application=Aplicación Application\ to\ push\ entries\ to=Aplicación a la que enviar las entradas @@ -94,8 +90,6 @@ Available\ export\ formats=Formatos para exportación disponibles Available\ import\ formats=Formatos disponibles para importar -Backup\ old\ file\ when\ saving=Hacer copia de respaldo del archivo antiguo al grabar - %0\ source=Origen %0 Browse=Explorar @@ -108,6 +102,7 @@ Cannot\ create\ group=No se puede crear el grupo Cannot\ create\ group.\ Please\ create\ a\ library\ first.=No se puede crear el grupo. Por favor, crea primero una biblioteca. + case\ insensitive=insensible al uso de mayúsculas/minúsculas case\ sensitive=sensible al uso de mayúsculas/minúsculas @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Agrupar entrad Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Agrupar entradas dinámicamente buscando palabra clave en campo -Each\ line\ must\ be\ of\ the\ following\ form=Cada línea debe tener la siguiente forma Edit=Editar @@ -335,7 +329,7 @@ Field=Campo field=campo Field\ name=Nombre del campo -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=No se permiten los espacios o los siguientes caracteres en los nombres de campo + Field\ to\ group\ by=Agrupar a partir de campo @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Importar y eliminar antigua entrada Import\ entries=Importar entradas Import\ file=Importar archivo -Import\ group\ definitions=Importar definiciones de grupo - Import\ name=Importar nombre Import\ preferences=Importar preferencias Import\ preferences\ from\ file=Importar preferencias desde archivo -Import\ strings=Importar cadenas - -Import\ word\ selector\ definitions=Importar definiciones de selector de palabras - Imported\ entries=Importar entradas -Imported\ from\ library=Importado desde biblioteca - Importer\ class=Importar formato de clase Importing=Importando @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=No se pudieron abreviar nombres de r No\ journal\ names\ could\ be\ unabbreviated.=No se pudieron expandir nombres de revistas. -Open\ PDF=Abrir PDF - not=no not\ found=no encontrado @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=Subbiblioteca de AUX a BibTeX Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Cambia entre nombre completo y abreviatura de la revista si se conoce en nombe de la revista. -Tabname=Nombre de pestaña Tertiary\ sort\ criterion=Criterio de ordenación terciario The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=La codificación de caracteres '%' no puede codificar los siguientes caracteres\: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Ninguna entrada necesitó de limpieza One\ entry\ needed\ a\ clean\ up=Sólo una entrada necesitó limpieza %0\ entries\ needed\ a\ clean\ up=%0 entradas necesitarion limpieza -Remove\ selected=Eliminar seleccionados - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=El arbol de grupo no puede ser examinado. Si guarda la biblioteca BibTeX, todos los grupos se perderán. Attach\ file=Adjuntar archivo Setting\ all\ preferences\ to\ default\ values.=Estableciendo todas las preferencias a los valores por defecto. @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Pista\: Para Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=No se puede autodetectar OpenOffice/LibreOffice. Por favor, escoja el directorio de instalación manualmente. Close\ library=Cerrar biblioteca -Decrease\ table\ font\ size=Disminuir tamaño de tipo de letra de tabla Entry\ editor,\ next\ entry=Editor de entradas, siguiente entrada Entry\ editor,\ next\ panel=Editor de entradas, siguiente panel Entry\ editor,\ next\ panel\ 2=Editor de entradas, siguiente panel 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Editor de lista de archivos, mover entrada Focus\ entry\ table=Foco sobre tabla de entradas Import\ into\ current\ library=Importar a la biblioteca actual Import\ into\ new\ library=Importar a una nueva biblioteca -Increase\ table\ font\ size=Incrementar tamaño de tipo de letra de tabla New\ article=Nuevo artículo New\ book=Nuevo libro New\ entry=Nueva entrada @@ -1384,7 +1363,6 @@ type=tipo value=valor Show\ preferences=Mostrar preferencias Save\ actions=Guardar acciones -Enable\ save\ actions=Habilitar guardado de acciones Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Convertir a formato BibTex (por ejemplo, mover el valor del campo 'journaltitle' a 'journal') Other\ fields=Otros campos @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Comentario de tipo de entrada mal Move\ linked\ files\ to\ default\ file\ directory\ %0=Mover archivos enlazados a la carpeta de archivos por defecto Do\ you\ still\ want\ to\ continue?=¿Aún desea continuar? -Run\ field\ formatter\:=Ejecutar formateador de campo\: -Table\ font\ size\ is\ %0=El tamaño de tipo de letra es %0 Internal\ style=Estilo interno Add\ style\ file=Añadir archivo de estilo Current\ style\ is\ '%0'=El estilo actual es '%0' @@ -1701,8 +1677,6 @@ Author=Autor Date=Fecha File\ annotations=Anotaciones de fichero Show\ file\ annotations=Mostrar anotaciones de fichero -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader 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 @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=No se encuentra la revista en la lis Unhandled\ exception\ occurred.=Ocurrió una excepción no manejada strings\ included=cadenas incluidas -Default\ table\ font\ size=Tamaño de fuente por defecto para tabla Escape\ underscores=Escapar guiones bajos Color=Color Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Por favor, añada los pasos para reproducir el problema si fuera posible @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Mostrar este documento hasta desbloqueo Set\ current\ user\ name\ as\ owner.=Establecer el nombre de usuario actual como propietario. Sort\ all\ subgroups\ (recursively)=Ordenar todos los subgrupos (recursivamente) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Recopilar y compartir datos de telemetría para ayudar a la mejora de JabRef Don't\ share=No compartir Share\ anonymous\ statistics=Compartir estadísticas anónimas Telemetry\:\ Help\ make\ JabRef\ better=Telemetría\: Ayude a mejorar JabRef @@ -2039,7 +2011,6 @@ Light\ theme=Tema claro Dark\ theme=Tema oscuro Overwrite\ existing\ keys=Sobrescribir las claves existentes Key\ patterns=Patrones clave -Size\:=Tamaño\: Font\ settings=La configuración de la fuente Override\ font\ settings=Anular la configuración de la fuente Override\ font\ size=Anular el tamaño de la fuente @@ -2107,7 +2078,6 @@ Required\ and\ optional\ fields=Campos obligatorios y opcionales Index=Índice Remove\ entry\ type=Eliminar tipo de entrada Remove\ field\ %0\ from\ currently\ selected\ entry\ type=Eliminar el campo %0 del tipo de entrada actualmente seleccionado - Optional=Opcional Required=Necesario Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=El tipo de entrada no puede estar vacío. Por favor, introduzca un nombre. @@ -2115,3 +2085,7 @@ Field\ cannot\ be\ empty.\ Please\ enter\ a\ name.=El campo no puede estar vací Shared\ database=Base de datos compartida + + + + diff --git a/src/main/resources/l10n/JabRef_fa.properties b/src/main/resources/l10n/JabRef_fa.properties index 05ecb8527b7..5e63a966935 100644 --- a/src/main/resources/l10n/JabRef_fa.properties +++ b/src/main/resources/l10n/JabRef_fa.properties @@ -30,10 +30,6 @@ and=و Appearance=ظاهر -Append\ library=افزودن پایگاه داده - - - @@ -107,6 +103,7 @@ by=توسط + Delete\ entry=حذف مدخل @@ -231,9 +228,6 @@ Donate\ to\ JabRef=هدیه دادن به JabRef - - - @@ -274,7 +268,6 @@ Manage\ external\ file\ types=مدیریت نوع پرونده‌های خارج - Open\ file=بازکردن پرونده @@ -461,7 +454,6 @@ Open\ terminal\ here=در اینجا پایانه را باز کن Cleanup\ entries=تمیز کردن ورودی‌ها - Manage\ keywords=مدیریت کلیدواژه‌ها @@ -579,6 +571,9 @@ Push\ entries\ to\ external\ application\ (%0)=(نشاندن ورودی‌ها + + + diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index 97aa4fa4114..931aca69177 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=tout champ qui co Appearance=Aspect -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Ajouter le contenu d'un fichier BibTeX au fichier actuel - -Append\ library=Joindre au fichier - Application=Logiciel Application\ to\ push\ entries\ to=Logiciel vers lequel envoyer les entrées @@ -94,8 +90,6 @@ Available\ export\ formats=Formats d'exportation disponibles Available\ import\ formats=Formats d'importation disponibles -Backup\ old\ file\ when\ saving=Créer une copie de sauvegarde lors de l'enregistrement - %0\ source=Source %0 Browse=Explorer @@ -108,6 +102,7 @@ Cannot\ create\ group=Impossible de créer le groupe Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Impossible de créer un groupe. Veuillez d'abord créer un fichier. + case\ insensitive=insensible à la casse case\ sensitive=sensible à la casse @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Grouper dynami Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Grouper dynamiquement les entrées en cherchant un mot-clef dans un champ -Each\ line\ must\ be\ of\ the\ following\ form=Chaque ligne doit être de la forme suivante Edit=Éditer @@ -335,7 +329,7 @@ Field=Champ field=Champ Field\ name=Nom du champ -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Les noms de champs ne peuvent pas contenir d'espace ou l'un des caractères suivants + Field\ to\ group\ by=Champ à grouper par @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Importer et supprimer l'ancienne entrée Import\ entries=Importer les entrées Import\ file=Fichier à importer -Import\ group\ definitions=Importer les définitions de groupe - Import\ name=nom Import Import\ preferences=Importer les préférences Import\ preferences\ from\ file=Importer les préférences depuis un fichier -Import\ strings=Importer les chaînes - -Import\ word\ selector\ definitions=Importer les définitions des sélecteurs de mots - Imported\ entries=Entrées importées -Imported\ from\ library=Importé à partir du fichier - Importer\ class=Classe Importer Importing=Importation en cours @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Aucun nom de journal n'a pu être ab No\ journal\ names\ could\ be\ unabbreviated.=Aucun nom de journal n'a pu être développé. -Open\ PDF=Ouvrir le PDF - not=non not\ found=non trouvé @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=Sous-fichier à partir du AUX vers BibTeX Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Bascule entre les noms de journaux développés et abrégés si le nom de journal est connu. -Tabname=Nom d'onglet Tertiary\ sort\ criterion=Critère tertiaire de tri The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=L'encodage « %0 » choisi ne peut pas encoder les caractères suivants \: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Aucune entrée ne nécessitait un nettoyage One\ entry\ needed\ a\ clean\ up=Une entrée nécessitait un nettoyage %0\ entries\ needed\ a\ clean\ up=%0 entrées nécessitaient un nettoyage -Remove\ selected=Supprimer la sélection - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=L'arbre des groupes n'a pas pu être analysé. Si vous enregistrez le fichier BibTeX, tous les groupes seront perdus. Attach\ file=Attacher un fichier Setting\ all\ preferences\ to\ default\ values.=Initialiser la configuration aux valeurs par défaut. @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Astuce \: Pou Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=La détection automatique de OpenOffice/LibreOffice a échouée. Veuillez sélectionner manuellement le répertoire d'installation. Close\ library=Fermer le fichier -Decrease\ table\ font\ size=Diminuer la taille de police du tableau Entry\ editor,\ next\ entry=Éditeur d'entrée, entrée suivante Entry\ editor,\ next\ panel=Éditeur d'entrée, prochain onglet Entry\ editor,\ next\ panel\ 2=Éditeur d'entrée, prochain onglet 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Éditeur de liste de fichiers, déplacer l' Focus\ entry\ table=Curseur dans la table des entrées Import\ into\ current\ library=Importer dans le fichier courant Import\ into\ new\ library=Importer dans un nouveau fichier -Increase\ table\ font\ size=Augmenter la taille de police du tableau New\ article=Nouvel article New\ book=Nouveau Book New\ entry=Nouvelle entrée @@ -1384,7 +1363,6 @@ type=type value=valeur Show\ preferences=Afficher les préférences Save\ actions=Opérations lors de l'enregistrement -Enable\ save\ actions=Autoriser des opérations lors de l'enregistrement Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Convertir au format BibTeX (par exemple, en remplaçant le nom du champ « journaltitle » par « journal ») Other\ fields=Autres champs @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Commentaire de type d'entrées mal Move\ linked\ files\ to\ default\ file\ directory\ %0=Déplacer les fichiers liés vers le répertoire de fichiers par défaut %0 Do\ you\ still\ want\ to\ continue?=Voulez-vous continuer ? -Run\ field\ formatter\:=Lancer le formatage des champs \: -Table\ font\ size\ is\ %0=La taille de police de la table est %0 Internal\ style=Style interne Add\ style\ file=Ajouter un fichier de style Current\ style\ is\ '%0'=Le style actuel est « %0 » @@ -1433,10 +1409,10 @@ Reload=Recharger Capitalize=Convertir en majuscules Capitalize\ all\ words,\ but\ converts\ articles,\ prepositions,\ and\ conjunctions\ to\ lower\ case.=Convertir en majuscules tous les mots, mais convertir les articles, prépositions et conjonctions en minuscules. -Capitalize\ the\ first\ word,\ changes\ other\ words\ to\ lower\ case.=Convertir le premier mot en majuscules, et les autres mots en minuscules. -Changes\ all\ letters\ to\ lower\ case.=Convertir toutes les lettres en minuscules. -Changes\ all\ letters\ to\ upper\ case.=Convertir toutes les lettres en majuscules. -Changes\ the\ first\ letter\ of\ all\ words\ to\ capital\ case\ and\ the\ remaining\ letters\ to\ lower\ case.=Convertit en majuscules la première lettre de tous les mots, et les autres lettres en minuscules. +Capitalize\ the\ first\ word,\ changes\ other\ words\ to\ lower\ case.=Met en majuscule l'initiale du premier mot, et tout le reste en minuscules. +Changes\ all\ letters\ to\ lower\ case.=Met tout en minuscules. +Changes\ all\ letters\ to\ upper\ case.=Met tout en majuscules. +Changes\ the\ first\ letter\ of\ all\ words\ to\ capital\ case\ and\ the\ remaining\ letters\ to\ lower\ case.=Met en majuscule la première lettre de tous les mots, et les autres lettres en minuscules. Cleans\ up\ LaTeX\ code.=Nettoyer le code LaTeX. Converts\ HTML\ code\ to\ LaTeX\ code.=Convertir le code HTML en code LaTeX. HTML\ to\ Unicode=HTML vers Unicode @@ -1701,8 +1677,6 @@ Author=Auteur Date=Date File\ annotations=Annotations de fichier Show\ file\ annotations=Montrer les annotations de fichier -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader 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 @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=Journal non trouvé dans la liste d' Unhandled\ exception\ occurred.=Une exception non gérée est survenue. strings\ included=chaînes incluses -Default\ table\ font\ size=Taille de police par défaut Escape\ underscores=Échapper les soulignements Color=Couleur Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Veuillez préciser si possible toutes les étapes permettant de reproduire cette anomalie. @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Affiche le document jusqu'à déverrouill Set\ current\ user\ name\ as\ owner.=Définir l'utilisateur actuel comme propriétaire. Sort\ all\ subgroups\ (recursively)=Trier les sous-groupes (récursivement) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Collecter et partager les données de télémétrie pour contribuer à l'amélioration de JabRef. Don't\ share=Ne pas partager Share\ anonymous\ statistics=Partager anonymement les statistiques Telemetry\:\ Help\ make\ JabRef\ better=Télémétrie \: contribue à l'amélioration de JabRef @@ -2039,7 +2011,6 @@ Light\ theme=Thème clair Dark\ theme=Thème sombre Overwrite\ existing\ keys=Écraser les clefs existantes Key\ patterns=Paramétrages des clefs -Size\:=Taille \: Font\ settings=Paramètres de police Override\ font\ settings=Remplacer les paramètres de la police Override\ font\ size=Remplacer la taille de la police @@ -2109,7 +2080,6 @@ Required\ and\ optional\ fields=Champs requis et optionnels Index=Index Remove\ entry\ type=Supprimer le type d'entrée Remove\ field\ %0\ from\ currently\ selected\ entry\ type=Supprimer le champ %0 du type d'entrée actuellement sélectionné - Optional=Optionnel Required=Requis Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Le type d'entrée ne peut pas être vide. Veuillez entrer un nom. @@ -2120,3 +2090,7 @@ Unable\ to\ open\ ShortScience.=Impossible de se connecter à ShortScience. Shared\ database=Base de données partagée Lookup=Rechercher + + + + diff --git a/src/main/resources/l10n/JabRef_in.properties b/src/main/resources/l10n/JabRef_in.properties index fca7af6f318..d16ee4c45b1 100644 --- a/src/main/resources/l10n/JabRef_in.properties +++ b/src/main/resources/l10n/JabRef_in.properties @@ -56,10 +56,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=bidang yang sesua Appearance=Penampilan -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Menambah isi dari basisdata BibTeX ke basisdata yang sedang dilihat sekarang - -Append\ library=Menambah basisdata - Application=Aplikasi @@ -89,8 +85,6 @@ Available\ export\ formats=Format ekspor yang dikenal Available\ import\ formats=Format impor yang dikenal -Backup\ old\ file\ when\ saving=Cadangan berkas lama ketika menyimpan - %0\ source=Sumber %0 Browse=Jelajah @@ -100,6 +94,7 @@ by=oleh Cancel=Batal + case\ insensitive=huruf besar kecil tidak penting case\ sensitive=memperhitungkan huruf besar kecil @@ -313,7 +308,7 @@ Field=Bidang field=bidang Field\ name=Nama bidang -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Nama bidang tidak diijinkan mengandung spasi kosong atau karakter berikut + Field\ to\ group\ by=Bidang ke grup berdasar @@ -404,22 +399,14 @@ Import\ and\ remove\ old\ entry=Impor dan hapus entri lama Import\ entries=Impor entri Import\ file=Impor berkas -Import\ group\ definitions=Impor definisi grup - Import\ name=Impor nama Import\ preferences=Preferensi Impor Import\ preferences\ from\ file=Impor preferensi dari berkas -Import\ strings=Impor string - -Import\ word\ selector\ definitions=Impor definisi pemilih kata - Imported\ entries=entri diimpor -Imported\ from\ library=diimpor dari basisdata - Importer\ class=kelas Importer Importing=Sedang mengimpor @@ -522,8 +509,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Tidak ada nama jurnal yang bisa disi No\ journal\ names\ could\ be\ unabbreviated.=Tidak ada ada nama jurnal yang bisa dipanjangkan. -Open\ PDF=PDF terbuka - not=tidak not\ found=tidak ditemukan @@ -776,7 +761,6 @@ Strings\ for\ library=String untuk basisdata Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Menukar antara nama jurnal penuh dan singkatan jika nama jurnal diketahui. -Tabname=Nama tab Tertiary\ sort\ criterion=Kriteria ketiga The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Enkoding yang dipilih '%0' tidak bisa digunakan untuk karakter berikut\: @@ -1035,8 +1019,6 @@ No\ entry\ needed\ a\ clean\ up=Tidak ada entri yang membutuhkan pembersihan One\ entry\ needed\ a\ clean\ up=Sebuah entri membutuhkan pembersihan %0\ entries\ needed\ a\ clean\ up=%0 entri membutuhkan pembersihan -Remove\ selected=Hapuskan pilihan - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Pohon grup tidak dapat diuraikan. Jika Anda menyimpan perpustakaan BibTeX, semua grup akan hilang. Attach\ file=Lampirkan berkas Setting\ all\ preferences\ to\ default\ values.=Tetapkan semua pengaturan menjadi pengaturan bawaan. @@ -1235,7 +1217,6 @@ This\ search\ contains\ entries\ in\ which=Pencarian ini berisi entri yang Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Tidak dapat melakukan otomasi terhadap pemasangan OpenOffice / LibreOffice. Silahkan pilih direktori instalasi secara manual. Close\ library=Tutup basisdata -Decrease\ table\ font\ size=Kurangi ukuran huruf tabel Entry\ editor,\ next\ entry=Penyunting entri, entri depan Entry\ editor,\ next\ panel=Penyunting entri, panel depan Entry\ editor,\ next\ panel\ 2=Catatan editor, panel berikutnya 2 @@ -1247,7 +1228,6 @@ File\ list\ editor,\ move\ entry\ up=Penyunting daftar berkas, pindah entri keat Focus\ entry\ table=Fokus tabel entri Import\ into\ current\ library=Impor ke basisdata sekarang Import\ into\ new\ library=Impor ke basisdata baru -Increase\ table\ font\ size=Tingkatkan ukuran huruf tabel New\ article=Artikel baru New\ book=Buku baru New\ entry=Entri baru @@ -1278,7 +1258,6 @@ type=tipe value=nilai Show\ preferences=Menunjukkan preferensi Save\ actions=Menyimpan tindakan -Enable\ save\ actions=Aktifkan tindakan menyimpan Other\ fields=Bidang lain Show\ remaining\ fields=Tampilkan sisa waktu @@ -1312,8 +1291,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Komentar Ill-formed entrytype di B Move\ linked\ files\ to\ default\ file\ directory\ %0=Memindahkan file yang berhubungan ke default file direktori %0 Do\ you\ still\ want\ to\ continue?=Apa masih mau meneruskan? -Run\ field\ formatter\:=Jalankan formatter bidang\: -Table\ font\ size\ is\ %0=Tabel ukuran font adalah %0 Internal\ style=Gaya internal Add\ style\ file=Tambah berkas gaya Current\ style\ is\ '%0'=Gaya saat ini adalah adalah '%0' @@ -1572,8 +1549,6 @@ Author=Penulis Date=Tanggal File\ annotations=Anotasi file Show\ file\ annotations=Tampilkan anotasi file -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Pembaca Sumatra shared=bersama should\ contain\ an\ integer\ or\ a\ literal=harus mengandung bilangan bulat atau literal should\ have\ the\ first\ letter\ capitalized=harus memiliki huruf pertama yang dikapitalisasi @@ -1632,7 +1607,6 @@ journal\ not\ found\ in\ abbreviation\ list=jurnal tidak ditemukan dalam daftar Unhandled\ exception\ occurred.=Pengecualian yang tidak tertangani terjadi. strings\ included=senar disertakan -Default\ table\ font\ size=Ukuran font tabel default Escape\ underscores=Escape menggarisbawahi Color=Warna Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Harap tambahkan juga semua langkah untuk mereproduksi masalah ini, jika memungkinkan. @@ -1650,7 +1624,6 @@ Show\ this\ document\ until\ unlocked.=Tunjukkan dokumen ini sampai tidak terkun Set\ current\ user\ name\ as\ owner.=Tetapkan nama pengguna saat ini sebagai pemilik. Sort\ all\ subgroups\ (recursively)=Urutkan semua subkelompok (secara rekursif) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Kumpulkan dan bagikan data telemetri untuk membantu meningkatkan JabRef. Don't\ share=Jangan berbagi Share\ anonymous\ statistics=Bagikan statistik anonim Telemetry\:\ Help\ make\ JabRef\ better=Telemetri\: Membantu membuat JabRef lebih baik @@ -1745,3 +1718,6 @@ Default\ pattern=Pola bawaan + + + diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index 64cc5feb09c..699e1eb261d 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=qualsiasi campo c Appearance=Aspetto -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Accoda il contenuto di una libreria BibTeX alla libreria corrente - -Append\ library=Accoda libreria - Application=Applicazione Application\ to\ push\ entries\ to=Applicazione a cui inviare le voci @@ -94,8 +90,6 @@ Available\ export\ formats=Formati di esportazione disponibili Available\ import\ formats=Formati di importazione disponibili -Backup\ old\ file\ when\ saving=Fai una copia di backup del vecchio file quando viene salvato - %0\ source=Sorgente %0 Browse=Sfoglia @@ -108,6 +102,7 @@ Cannot\ create\ group=Impossibile creare il gruppo Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Impossibile creare il gruppo. Si prega di creare una libreria prima. + case\ insensitive=non distingue maiuscole e minuscole case\ sensitive=distingue maiuscole e minuscole @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Raggruppa dina Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Raggruppa dinamicamente le voci ricercando una parola chiave in un campo -Each\ line\ must\ be\ of\ the\ following\ form=Ciascuna linea deve essere nel formato seguente Edit=Modifica @@ -335,7 +329,7 @@ Field=Campo field=campo Field\ name=Nome del campo -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=I nomi dei campi non possono contenere spazi o i caratteri seguenti + Field\ to\ group\ by=Campo di raggruppamento @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Importa e rimuovi le vecchie voci Import\ entries=Importa voci Import\ file=Importa file -Import\ group\ definitions=Importa definizioni di gruppo - Import\ name=Importa nome Import\ preferences=Importa preferenze Import\ preferences\ from\ file=Importa preferenze da un file -Import\ strings=Importa stringhe - -Import\ word\ selector\ definitions=Importa le definizioni per la selezione di parole - Imported\ entries=Voci importate -Imported\ from\ library=Importato dalla libreria - Importer\ class=Classe Importer Importing=Importazione in corso @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Nessun nome di rivista può essere a No\ journal\ names\ could\ be\ unabbreviated.=Nessuna abbreviazione di rivista può essere estesa. -Open\ PDF=Apri PDF - not=non not\ found=non trovato @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=Sotto-libreria da AUX a BibTeX Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Alterna nomi completi e nomi abbreviati per le riviste delle quali è noto il nome. -Tabname=Nome della scheda Tertiary\ sort\ criterion=Criterio di ordinamento terziario The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=La codifica scelta '%0' non può codificare i caratteri seguenti\: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Nessuna voce necessita ripulitura One\ entry\ needed\ a\ clean\ up=Una voce necessita ripulitura %0\ entries\ needed\ a\ clean\ up=%0 voci necessitano ripulitura -Remove\ selected=Rimuovi la selezione - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Impossibile analizzare l'albero dei gruppi. Salvando la libreria BibTeX i gruppi saranno persi. Attach\ file=Allega file Setting\ all\ preferences\ to\ default\ values.=Imposta tutte le preferenze ai valori predefiniti. @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Suggerimento\ Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Non sono in grado di rilevare l'installazione di OpenOffice/LibreOffice. Scegliere la cartella di installazione manualmente. Close\ library=Chiudi la libreria -Decrease\ table\ font\ size=Decrementa la grandezza del carattere della tavola Entry\ editor,\ next\ entry=Editor della voce, voce successiva Entry\ editor,\ next\ panel=Editor della voce, pannello successivo Entry\ editor,\ next\ panel\ 2=Editor della voce, pannello successivo 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Editor di liste di file, sposta la voce in Focus\ entry\ table=Cursore nella tavola delle voci Import\ into\ current\ library=Importa nella libreria corrente Import\ into\ new\ library=Importa in una nuova libreria -Increase\ table\ font\ size=Incremente la grandezza del carattere della tavola New\ article=Nuovo articolo New\ book=Nuovo libro New\ entry=Nuova voce @@ -1384,7 +1363,6 @@ type=tipo value=valore Show\ preferences=Mostra preferenze Save\ actions=Salva azioni -Enable\ save\ actions=Abilita il salvataggio delle azioni Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Converti in formato BibTeX (ad esempio, sposta il valore del campo 'titolodiario' su 'diario') Other\ fields=Altri campi @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Commento nel tipo di voce malforma Move\ linked\ files\ to\ default\ file\ directory\ %0=Sposta i collegamenti ai file nella cartella predefinita Do\ you\ still\ want\ to\ continue?=Vuoi ancora continuare? -Run\ field\ formatter\:=Fa andare il formattatore di campo\: -Table\ font\ size\ is\ %0=La grandezza del carattere e00e8 %0 Internal\ style=Stile interno Add\ style\ file=Aggiungi file di stile Current\ style\ is\ '%0'=Lo stile corrente è '%0' @@ -1701,8 +1677,6 @@ Author=Autore Date=Data File\ annotations=File di annotazioni Show\ file\ annotations=Mostra il file delle annotazioni -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader 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 @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=rivista non trovata nella lista dell Unhandled\ exception\ occurred.=È avvenuta un'eccezione non gestita. strings\ included=stringhe incluse -Default\ table\ font\ size=Font predefinito per le tabelle Escape\ underscores=Marca i caratteri di sottolineatura Color=Colore Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Per favore aggiungi anche tutti i passi per riprodurre questo problema, se possibile. @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Mostra questo documento finché non viene Set\ current\ user\ name\ as\ owner.=Imposta il nome dell'utente corrente come proprietario. Sort\ all\ subgroups\ (recursively)=Ordina tutti i sottogruppi (ricorsivamente) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Registra e condividi i dati di telemetria per aiutare a migliorare JabRef. Don't\ share=Non condividere Share\ anonymous\ statistics=Condividi statistiche anonime Telemetry\:\ Help\ make\ JabRef\ better=Telemetria\: Aiuta a migliorare JabRef @@ -2039,7 +2011,6 @@ Light\ theme=Tema chiaro Dark\ theme=Tema scuro Overwrite\ existing\ keys=Sovrascrivi chiavi esistenti Key\ patterns=Modello delle chiavi -Size\:=Dimensione\: Font\ settings=Impostazioni carattere Override\ font\ settings=Ignora le impostazioni dei caratteri Override\ font\ size=Sovrascrivi dimensione carattere @@ -2109,7 +2080,6 @@ Required\ and\ optional\ fields=Campi obbligatori e opzionali Index=Indice Remove\ entry\ type=Rimuovi il tipo di voce Remove\ field\ %0\ from\ currently\ selected\ entry\ type=Rimuovere il campo %0 dal tipo di voce attualmente selezionato - Optional=Opzionale Required=Obbligatorio Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Il tipo di voce non può essere vuoto. Si prega di inserire un nome. @@ -2120,3 +2090,7 @@ Unable\ to\ open\ ShortScience.=Impossibile aprire ShortScience. Shared\ database=Database condiviso Lookup=Ricerca + + + + diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index bc71e359652..fd6837ca3b0 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=正規表現%0 Appearance=外観 -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=BibTeXライブラリから,現在表示しているライブラリに内容を追加する - -Append\ library=ライブラリを追加 - Application=アプリケーション Application\ to\ push\ entries\ to=項目のプッシュ先のアプリケーション @@ -94,8 +90,6 @@ Available\ export\ formats=使用できる書き出し書式 Available\ import\ formats=使用できる読み込み書式 -Backup\ old\ file\ when\ saving=保存時に旧ファイルをバックアップ - %0\ source=%0ソース Browse=一覧 @@ -108,6 +102,7 @@ Cannot\ create\ group=グループを作成できません Cannot\ create\ group.\ Please\ create\ a\ library\ first.=グループを作成できません。ライブラリを作成してから再試行してください。 + case\ insensitive=大小文字を区別しない case\ sensitive=大小文字を区別 @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=自由型検 Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=フィールド中のキーワードを検索して動的にグループ化 -Each\ line\ must\ be\ of\ the\ following\ form=各行は以下の形でなくてはなりません Edit=編集 @@ -335,7 +329,7 @@ Field=フィールド field=フィールド Field\ name=フィールド名 -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=フィールド名には,スペースや以下の文字を使うことはできません + Field\ to\ group\ by=グループ化するフィールド @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=読み込みを行い,旧項目は削除 Import\ entries=項目の読み込み Import\ file=ファイルを読み込み -Import\ group\ definitions=グループ定義を読み込み - Import\ name=読込名 Import\ preferences=設定を読み込む Import\ preferences\ from\ file=ファイルから設定を読み込み -Import\ strings=文字列を読み込み - -Import\ word\ selector\ definitions=単語選択メニューの定義を読み込み - Imported\ entries=項目を読み込みました -Imported\ from\ library=ライブラリから読み込みました - Importer\ class=Importerクラス Importing=読み込んでいます @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=学術誌名を短縮形にするこ No\ journal\ names\ could\ be\ unabbreviated.=学術誌名を非短縮形にすることができませんでした. -Open\ PDF=PDFを開く - not=非 not\ found=見つかりません @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=AUXからBibTexへ変換した下位ライブ Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=学術誌名が既知の場合は,完全な学術誌名と短縮形を切り替える. -Tabname=タブ名 Tertiary\ sort\ criterion=第三整序基準 The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=選択したエンコーディング「%0」は,以下の文字をエンコードすることができませんでした: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=剪定の必要がある項目はありません One\ entry\ needed\ a\ clean\ up=1つの項目を剪定する必要がありました %0\ entries\ needed\ a\ clean\ up=%0個の項目を剪定する必要がありました -Remove\ selected=選択分を削除 - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=グループツリーを解析できませんでした.BibTeXライブラリを保存すると,グループはすべて失われます. Attach\ file=ファイルを添付 Setting\ all\ preferences\ to\ default\ values.=すべての設定を既定値にします. @@ -1338,7 +1319,6 @@ This\ search\ contains\ entries\ in\ which=この検索結果は下記のもの Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=OpenOffice/LibreOfficeが導入済みであることを自動検出できませんでした.導入先ディレクトリを手動で選択してください. Close\ library=ライブラリを閉じる -Decrease\ table\ font\ size=表フォント寸法を減少 Entry\ editor,\ next\ entry=項目エディタ・次項目 Entry\ editor,\ next\ panel=項目エディタ・次パネル Entry\ editor,\ next\ panel\ 2=項目エディタ・次パネル 2 @@ -1350,7 +1330,6 @@ File\ list\ editor,\ move\ entry\ up=ファイル一覧エディタ・項目を Focus\ entry\ table=項目表にフォーカス Import\ into\ current\ library=現在のライブラリに読み込む Import\ into\ new\ library=新規ライブラリとして読み込む -Increase\ table\ font\ size=表フォント寸法を増大 New\ article=新規article New\ book=新規book New\ entry=新規項目 @@ -1382,7 +1361,6 @@ type=型 value=値 Show\ preferences=設定を表示 Save\ actions=保存時動作 -Enable\ save\ actions=保存時動作を有効化 Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=BibTeX形式に変換 (「journaltitle」フィールドの値を「journal」に移行するなど) Other\ fields=他のフィールド @@ -1418,8 +1396,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=bibファイル中に誤った書 Move\ linked\ files\ to\ default\ file\ directory\ %0=リンクを張られたファイルを既定ファイルディレクトリ%0に移動 Do\ you\ still\ want\ to\ continue?=それでも続けますか? -Run\ field\ formatter\:=フィールド整形を実行: -Table\ font\ size\ is\ %0=表フォント寸法は%0です Internal\ style=内部スタイル Add\ style\ file=スタイルファイルを追加 Current\ style\ is\ '%0'=現在のスタイルは「%0」です @@ -1699,8 +1675,6 @@ Author=著者 Date=日付 File\ annotations=ファイル註釈 Show\ file\ annotations=ファイル註釈を表示 -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader shared=共有中 should\ contain\ an\ integer\ or\ a\ literal=整数または文字を含んでいなくてはなりません should\ have\ the\ first\ letter\ capitalized=最初の文字を大文字にしなくてはなりません @@ -1761,7 +1735,6 @@ journal\ not\ found\ in\ abbreviation\ list=短縮名リストにない学術誌 Unhandled\ exception\ occurred.=取り扱えない例外が発生しました. strings\ included=インクルードした文字列 -Default\ table\ font\ size=表の既定フォント寸法 Escape\ underscores=アンダースコアをエスケープ Color=色 Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=可能ならば,この問題を再現するための全手順も書いておいてください. @@ -1779,7 +1752,6 @@ Show\ this\ document\ until\ unlocked.=ロック解除までこの文書を表 Set\ current\ user\ name\ as\ owner.=現在のユーザー名を所有者に設定する. Sort\ all\ subgroups\ (recursively)=全下層グループを(再帰的に)整序 -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=JabRefの改良を手助けするために遠隔計測データを収集・共有する Don't\ share=共有しない Share\ anonymous\ statistics=匿名統計を共有 Telemetry\:\ Help\ make\ JabRef\ better=遠隔計測:JabRefの改善に貢献 @@ -2037,7 +2009,6 @@ Light\ theme=ライトテーマ Dark\ theme=ダークテーマ Overwrite\ existing\ keys=既存鍵を上書きする Key\ patterns=鍵パターン -Size\:=寸法: Font\ settings=フォント設定 Override\ font\ settings=フォント設定を上書き Override\ font\ size=フォント寸法を上書き @@ -2076,7 +2047,10 @@ Add\ new\ Field=新規フィールドを追加 Add\ new\ entry\ type=新規項目型を追加 Field\ type=フィールド型 Remove\ entry\ type=項目型を削除 - Required=必須 + + + + diff --git a/src/main/resources/l10n/JabRef_nl.properties b/src/main/resources/l10n/JabRef_nl.properties index 01022444315..594b5e0e8a8 100644 --- a/src/main/resources/l10n/JabRef_nl.properties +++ b/src/main/resources/l10n/JabRef_nl.properties @@ -57,10 +57,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=elk veld dat over Appearance=Uiterlijk -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Voeg de inhoud van een BibTeX bibliotheek in de huidige weergegeven bibliotheek toe - -Append\ library=Bibliotheek invoegen - Application=Programma @@ -90,8 +86,6 @@ Available\ export\ formats=Beschikbare exporteer formaten Available\ import\ formats=Beschikbare importeer formaten -Backup\ old\ file\ when\ saving=Maak reservekopie van oud bestand bij het opslaan - %0\ source=%0-broncode Browse=Bladeren @@ -102,6 +96,7 @@ The\ conflicting\ fields\ of\ these\ entries\ will\ be\ merged\ into\ the\ 'Comm Cancel=Annuleren + case\ insensitive=hoofdletter ongevoelig case\ sensitive=hoofdlettergevoelig @@ -252,7 +247,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Dynamisch invo Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Dynamisch invoergegevens groeperen door een veld te zoeken via een sleutelwoord -Each\ line\ must\ be\ of\ the\ following\ form=Elke regel moet de volgende vorm hebben Edit=Bewerken @@ -320,7 +314,7 @@ Field=Veld field=veld Field\ name=Veldnaam -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Veldnamen mogen geen lege ruimtes of de volgende tekens bevallen + Field\ to\ group\ by=Veld te groeperen op @@ -414,22 +408,14 @@ Import\ and\ remove\ old\ entry=Importeren en oude invoer verwijderen Import\ entries=Invoergegevens importeren Import\ file=Importeer bestand -Import\ group\ definitions=Importeer groep definities - Import\ name=Importeer naam Import\ preferences=Instellingen importeren Import\ preferences\ from\ file=Importeer instellingen van bestand -Import\ strings=Tekenreeksen importeren - -Import\ word\ selector\ definitions=Importeer woordselecteerder definities - Imported\ entries=Geïmporteerde invoergegevens -Imported\ from\ library=Geïmporteerd uit bibliotheek - Importer\ class=Importer Klasse Importing=Aan het importeren @@ -534,8 +520,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Er konden geen logboeknamen worden a No\ journal\ names\ could\ be\ unabbreviated.=Geen logboeknamen konden niet worden afgekort. -Open\ PDF=PDF openen - not=niet not\ found=niet gevonden @@ -804,7 +788,6 @@ Strings\ for\ library=Tekenreeksen voor bibliotheek Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Schakelt tussen volledige en afgekorte logboeknaam als het logboek bekend is. -Tabname=Tabblad naam Tertiary\ sort\ criterion=Tertiair sorteercriterium The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=De gekozen codering '%0' kan de volgende tekens niet coderen\: @@ -1067,8 +1050,6 @@ No\ entry\ needed\ a\ clean\ up=Geen enkele invoer had opschoning nodig One\ entry\ needed\ a\ clean\ up=Eén invoer had opschoning nodig %0\ entries\ needed\ a\ clean\ up=%0 invoergegevens hadden opschoning nodig -Remove\ selected=Selectie verwijderen - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Groepsboom kon niet worden geparseerd. Als u de BibTeX-blibliotheek opslaat, zullen alle groepen verloren gaan. Attach\ file=Bestand toevoegen Setting\ all\ preferences\ to\ default\ values.=Alle voorkeuren op standaardwaarden instellen. @@ -1268,7 +1249,6 @@ This\ search\ contains\ entries\ in\ which=Deze zoekopdracht bevat invoergegeven Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Kan de OpenOffice/LibreOffice-installatie niet automatisch detecteren. Kies de installatiemap handmatig. Close\ library=Sluit bibliotheek -Decrease\ table\ font\ size=Tabel tekengrootte verkleinen Entry\ editor,\ next\ entry=Invoer editor, volgende invoer Entry\ editor,\ next\ panel=Invoer editor, volgende paneel Entry\ editor,\ next\ panel\ 2=Invoer editor, volgende paneel 2 @@ -1280,7 +1260,6 @@ File\ list\ editor,\ move\ entry\ up=Bestandslijst editor, invoer omhoog verplaa Focus\ entry\ table=Focus op invoertabel Import\ into\ current\ library=Importeren in de huidige bibliotheek Import\ into\ new\ library=Importeer in nieuwe bibliotheek -Increase\ table\ font\ size=Tabel tekengrootte vergroten New\ article=Nieuw artikel New\ book=Nieuw boek New\ entry=Nieuwe invoer @@ -1312,7 +1291,6 @@ type=type value=waarde Show\ preferences=Voorkeuren tonen Save\ actions=Acties opslaan -Enable\ save\ actions=Inschakelen acties opslaan Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Converteer naar BibTeX indeling (bijvoorbeeld, verplaats de waarde van het 'logboektitel' veld naar 'logboek') Other\ fields=Andere velden @@ -1347,8 +1325,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Slechtgevormde opmerking bij invoe Move\ linked\ files\ to\ default\ file\ directory\ %0=Gekoppelde bestanden verplaatsen naar standaard bestandsmap %0 Do\ you\ still\ want\ to\ continue?=Wilt u toch doorgaan? -Run\ field\ formatter\:=Veld formatter uitvoeren\: -Table\ font\ size\ is\ %0=Tabel tekengrootte is %0 Internal\ style=Interne stijl Add\ style\ file=Bestandsstijl toevoegen Current\ style\ is\ '%0'=Huidige stijl is '%0' @@ -1613,8 +1589,6 @@ Author=Auteur Date=Datum File\ annotations=Bestandsaantekeningen Show\ file\ annotations=Toon bestandsaantekeningen -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader shared=gedeeld should\ contain\ an\ integer\ or\ a\ literal=moet een heel getal of een letterlijke waarde bevatten should\ have\ the\ first\ letter\ capitalized=moet de eerste letter gekapitaliseerd hebben @@ -1673,7 +1647,6 @@ journal\ not\ found\ in\ abbreviation\ list=logboek niet gevonden in afkortingsl Unhandled\ exception\ occurred.=Onverwachte uitzondering opgetreden. strings\ included=tekenreeks inbegrepen -Default\ table\ font\ size=Standaard tabel lettergrootte Escape\ underscores=Escape underscores Color=Kleur Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Indien mogelijk, voer ook alle stappen in om het probleem te reproduceren. @@ -1691,7 +1664,6 @@ Show\ this\ document\ until\ unlocked.=Dit document tonen tot het ontgrendeld is Set\ current\ user\ name\ as\ owner.=Huidige gebruikersnaam als eigenaar instellen. Sort\ all\ subgroups\ (recursively)=Alle sub-groepen sorteren (recursief) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Telemetrie gegevens verzamelen en delen om JabRef te helpen verbeteren. Don't\ share=Niet delen Share\ anonymous\ statistics=Statistieken anoniem delen Telemetry\:\ Help\ make\ JabRef\ better=Telemetrie\: help JabRef te verbeteren @@ -1841,3 +1813,6 @@ Default\ pattern=Standaard patroon + + + diff --git a/src/main/resources/l10n/JabRef_no.properties b/src/main/resources/l10n/JabRef_no.properties index d239a2fa897..994fd360727 100644 --- a/src/main/resources/l10n/JabRef_no.properties +++ b/src/main/resources/l10n/JabRef_no.properties @@ -55,10 +55,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=ethvert felt som Appearance=Utseende -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Legg til innholdet fra et BibTeX-bibliotek i det viste biblioteket - -Append\ library=Legg til innhold fra bibliotek - Application=Applikasjon @@ -88,8 +84,6 @@ Available\ export\ formats=Tilgjengelige eksportformater Available\ import\ formats=Tilgjengelige importformater -Backup\ old\ file\ when\ saving=Lag sikkerhetskopi ved lagring - %0\ source=%0-kilde Browse=Bla gjennom @@ -101,6 +95,7 @@ Cannot\ create\ group=Kan ikke opprette gruppe Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Kan ikke opprette gruppe. Vennligst opprett et bibliotek først. + case\ insensitive=skiller ikke mellom store og små bokstaver case\ sensitive=skiller mellom store og små bokstaver @@ -251,7 +246,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Grupper enhete Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Grupper oppføringer dynamisk ved å søke etter nøkkelord i et felt -Each\ line\ must\ be\ of\ the\ following\ form=Hver linje må være på den følgende formen Edit=Rediger @@ -321,7 +315,7 @@ Field=Felt field=felt Field\ name=Feltnavn -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Feltnavn kan ikke inneholde opperom eller de følgende tegnene + Field\ to\ group\ by=Grupperingsfelt @@ -411,22 +405,14 @@ Import\ and\ remove\ old\ entry=Importer og fjern den gamle enheten Import\ entries=Importer enheter Import\ file=Importer fil -Import\ group\ definitions=Importer gruppedefinisjoner - Import\ name=Navn på import Import\ preferences=Importer innstillinger Import\ preferences\ from\ file=Importer innstillinger fra fil -Import\ strings=Importer strenger - -Import\ word\ selector\ definitions=Importer definisjoner for hurtigvelgere - Imported\ entries=Importerte enheter -Imported\ from\ library=Importert fra biblioteket - Importer\ class=Importer-klasse Importing=Importerer @@ -532,8 +518,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Ingen journalnavn kunne forkortes. No\ journal\ names\ could\ be\ unabbreviated.=Ingen journalnavn kunne ekspanderes. -Open\ PDF=Åpne PDF - not=ikke not\ found=ikke funnet @@ -790,7 +774,6 @@ Strings\ for\ library=Strenger for bibliotek Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Bytter mellom fullt og forkortet journalnavn dersom navnet er kjent. -Tabname=Tabnavn Tertiary\ sort\ criterion=Tredje sorteringskriterium The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Den valgte tegnkodingen '%0' kunne ikke kode følgende tegn\: @@ -1031,8 +1014,6 @@ No\ entry\ needed\ a\ clean\ up=Ingen oppføringer trengte opprydding One\ entry\ needed\ a\ clean\ up=Én oppføring trengte opprydding %0\ entries\ needed\ a\ clean\ up=%0 oppføringer trengte opprydding -Remove\ selected=Fjern merkede - Unable\ to\ clear\ preferences.=Kunne ikke fjerne innstillingene. Unselect\ all=Fjern alle valg @@ -1249,3 +1230,6 @@ Default\ pattern=Standardmønster + + + diff --git a/src/main/resources/l10n/JabRef_pl.properties b/src/main/resources/l10n/JabRef_pl.properties index e9a48ba9dec..360090ae140 100644 --- a/src/main/resources/l10n/JabRef_pl.properties +++ b/src/main/resources/l10n/JabRef_pl.properties @@ -39,9 +39,6 @@ and=i Appearance=Wygląd - -Append\ library=Dołącz bibliotekę - Application=Aplikacja @@ -59,7 +56,6 @@ Apply=Zastosuj - %0\ source=%0 źródło Browse=Przeglądaj @@ -73,6 +69,7 @@ Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Nie można utworzyć + Case\ sensitive=Rozróżniaj wielkość liter @@ -244,6 +241,7 @@ field=pole Field\ name=Nazwa pola + File=Plik file=plik @@ -304,20 +302,14 @@ Import=Importuj Import\ entries=Importuj wpisy Import\ file=Importuj plik -Import\ group\ definitions=Importuj definicje grup - Import\ name=Nazwa importu Import\ preferences=Ustawienia importu Import\ preferences\ from\ file=Importuj ustawienia z pliku - - Imported\ entries=Zaimportowane wpisy -Imported\ from\ library=Zaimportowane z biblioteki - Importing=Importowanie @@ -385,8 +377,6 @@ No\ files\ found.=Nie znaleziono plików. -Open\ PDF=Otwórz PDF - not=nie not\ found=nie znaleziono @@ -672,8 +662,6 @@ Choose\ pattern=Wybierz wzór -Remove\ selected=Usuń zaznaczone - Attach\ file=Dodaj plik Find\ unlinked\ files=Znajdź niepowiązane pliki @@ -837,8 +825,6 @@ Author=Autor Date=Data File\ annotations=Adnotacje do pliku Show\ file\ annotations=Pokaż adnotacje pliku -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader Tools=Narzędzia What's\ new\ in\ this\ version?=Co nowego w tej wersji? Want\ to\ help?=Chcesz pomóc? @@ -864,7 +850,6 @@ Select\ last\ entry=Wybierz ostatni wpis Unhandled\ exception\ occurred.=Wystąpił nieobsługiwany wyjątek. -Default\ table\ font\ size=Domyślny rozmiar czcionki tabeli Color=Kolor Fit\ width=Dopasuj do szerokości Fit\ a\ single\ page=Dopasuj do jednej strony @@ -969,3 +954,6 @@ Reset\ All=Resetuj wszystko + + + diff --git a/src/main/resources/l10n/JabRef_pt.properties b/src/main/resources/l10n/JabRef_pt.properties index b79a7338c51..c1a6a84e6d3 100644 --- a/src/main/resources/l10n/JabRef_pt.properties +++ b/src/main/resources/l10n/JabRef_pt.properties @@ -57,10 +57,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=qualquer campo qu Appearance=Aparência -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Anexar o conteúdo de uma base de dados BibTeX à base de dados atual - -Append\ library=Anexar base de dados - Application=Aplicação Application\ to\ push\ entries\ to=Aplicativo para onde via enviar as referências @@ -91,8 +87,6 @@ Available\ export\ formats=Formatos de exportação disponíveis Available\ import\ formats=Formatos de importação disponíveis -Backup\ old\ file\ when\ saving=Criar uma cópia de segurança do arquivo antigo quando salvar - %0\ source=Fonte %0 Browse=Explorar @@ -105,6 +99,7 @@ Cannot\ create\ group=Impossível criar o grupo Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Impossível criar o grupo. Por favor crie antes uma biblioteca. + case\ insensitive=Insensível ao caso case\ sensitive=sensível ao caso @@ -256,7 +251,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Agrupar refer Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Agrupar referências dinamicamente selecionando um campo ou palavra-chave -Each\ line\ must\ be\ of\ the\ following\ form=Cada linha deve ter o formato seguinte Edit=Editar @@ -326,7 +320,7 @@ Field=Campo field=campo Field\ name=Nome do campo -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=O nome dos campos não devem possuir espaços em branco ou os seguintes caracteres + Field\ to\ group\ by=Campos como critério de agrupamento @@ -420,22 +414,14 @@ Import\ and\ remove\ old\ entry=Importar e remover referências antigas Import\ entries=Importar referências Import\ file=Importar arquivo -Import\ group\ definitions=Importar definições de grupo - Import\ name=Importar o nome Import\ preferences=Importar preferências Import\ preferences\ from\ file=Importar preferências a partir de um arquivo -Import\ strings=Importar strings - -Import\ word\ selector\ definitions=Importar definições de seleção de palavra - Imported\ entries=Referências importadas -Imported\ from\ library=Importado a partir da base de dados - Importer\ class=Classe Importer Importing=Importando @@ -548,8 +534,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Nenhum nome de periódico pôde ser No\ journal\ names\ could\ be\ unabbreviated.=Nenhum nome de periódico pôde ser desabreviado. -Open\ PDF=Abrir PDF - not=não not\ found=não encontrado @@ -803,7 +787,6 @@ Strings\ for\ library=Strings para a base de dados Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Alterna entre nomes de periódicos abreviados e completos se o nome do periódico é conhecido. -Tabname=Nome da aba Tertiary\ sort\ criterion=Critério de ordenação terciário The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=A codificação '%0' não pode codificar os seguintes caracteres\: @@ -1056,8 +1039,6 @@ No\ entry\ needed\ a\ clean\ up=Nenhuma referência precisou de limpeza One\ entry\ needed\ a\ clean\ up=Uma referência necessitou limpeza %0\ entries\ needed\ a\ clean\ up=%0 entradas necessitaram limpeza -Remove\ selected=Remover Selecionados - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Árvore de agrupamento não pode ser interpretada. Se você salvar sua base de dados BibTeX, todos os grupos serão perdidos Attach\ file=Anexar arquivo Setting\ all\ preferences\ to\ default\ values.=Definindo todas as preferências para os valores padrão @@ -1254,7 +1235,6 @@ This\ search\ contains\ entries\ in\ which=Esta pesquisa contém entradas cujo Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Não foi possível detectar a instalação do OpenOffice/LibreOffice. Por favor, escolha o diretório de instalação manualmente. Close\ library=Fechar base de dados -Decrease\ table\ font\ size=Diminuir tamanho da fonte na tabela Entry\ editor,\ next\ entry=Editor de referências, próxima referência Entry\ editor,\ next\ panel=Editor de referências, próximo painel Entry\ editor,\ next\ panel\ 2=Editor de referências, próximo painel 2 @@ -1266,7 +1246,6 @@ File\ list\ editor,\ move\ entry\ up=Editor de lista de arquivos, mover a entrad Focus\ entry\ table=Foco na tabela de referências Import\ into\ current\ library=Importar para base de dados atual Import\ into\ new\ library=Importar para nova base de dados -Increase\ table\ font\ size=Aumentar tamanho da fonte na tabela New\ article=Novo artigo New\ book=Novo livro New\ entry=Nova referência @@ -1297,7 +1276,6 @@ type=tipo value=valor Show\ preferences=Mostrar preferências Save\ actions=Salvar ações -Enable\ save\ actions=Habilitar salvar ações Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Converter para formato BibTex (por exemplo, mudar o valor do campo 'journaltitle' para 'journal') Other\ fields=Outros campos @@ -1371,7 +1349,6 @@ Copy\ BibTeX\ key\ and\ link=Copiar chave do BibTex e link -Default\ table\ font\ size=Tamanho padrão da fonte da tabela @@ -1429,3 +1406,6 @@ Default\ pattern=Ppadrão predefinido + + + diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 6e6bcf45399..de982a870e2 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=qualquer campo qu Appearance=Aparência -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Anexar o conteúdo de uma base de dados BibTeX à base de dados atual - -Append\ library=Anexar base de dados - Application=Aplicação Application\ to\ push\ entries\ to=Aplicativo para onde via enviar as referências @@ -94,8 +90,6 @@ Available\ export\ formats=Formatos de exportação disponíveis Available\ import\ formats=Formatos de importação disponíveis -Backup\ old\ file\ when\ saving=Criar uma cópia de segurança do arquivo antigo quando salvar - %0\ source=Fonte %0 Browse=Explorar @@ -108,6 +102,7 @@ Cannot\ create\ group=Impossível criar o grupo Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Impossível criar o grupo. Por favor crie antes uma biblioteca. + case\ insensitive=Insensível ao caso case\ sensitive=sensível ao caso @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Agrupar refer Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Agrupar referências dinamicamente selecionando um campo ou palavra-chave -Each\ line\ must\ be\ of\ the\ following\ form=Cada linha deve ter o formato seguinte Edit=Editar @@ -335,7 +329,7 @@ Field=Campo field=campo Field\ name=Nome do campo -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=O nome dos campos não devem possuir espaços em branco ou os seguintes caracteres + Field\ to\ group\ by=Campos como critério de agrupamento @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Importar e remover referências antigas Import\ entries=Importar referências Import\ file=Importar arquivo -Import\ group\ definitions=Importar definições de grupo - Import\ name=Importar o nome Import\ preferences=Importar preferências Import\ preferences\ from\ file=Importar preferências a partir de um arquivo -Import\ strings=Importar strings - -Import\ word\ selector\ definitions=Importar definições de seleção de palavra - Imported\ entries=Referências importadas -Imported\ from\ library=Importado a partir da base de dados - Importer\ class=Classe Importer Importing=Importando @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Nenhum nome de periódico pôde ser No\ journal\ names\ could\ be\ unabbreviated.=Nenhum nome de periódico pôde ser desabreviado. -Open\ PDF=Abrir PDF - not=não not\ found=não encontrado @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=Subbiblioteca de AUX para BibTeX Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Alterna entre nomes de periódicos abreviados e completos se o nome do periódico é conhecido. -Tabname=Nome da aba Tertiary\ sort\ criterion=Critério de ordenação terciário The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=A codificação '%0' não pode codificar os seguintes caracteres\: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Nenhuma referência precisou de limpeza One\ entry\ needed\ a\ clean\ up=Uma referência necessitou limpeza %0\ entries\ needed\ a\ clean\ up=%0 entradas necessitaram limpeza -Remove\ selected=Remover Selecionados - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Árvore de agrupamento não pode ser interpretada. Se você salvar sua base de dados BibTeX, todos os grupos serão perdidos Attach\ file=Anexar arquivo Setting\ all\ preferences\ to\ default\ values.=Definindo todas as preferências para os valores padrão @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Dica\: Para p Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Não foi possível detectar a instalação do OpenOffice/LibreOffice. Por favor, escolha o diretório de instalação manualmente. Close\ library=Fechar base de dados -Decrease\ table\ font\ size=Diminuir tamanho da fonte na tabela Entry\ editor,\ next\ entry=Editor de referências, próxima referência Entry\ editor,\ next\ panel=Editor de referências, próximo painel Entry\ editor,\ next\ panel\ 2=Editor de referências, próximo painel 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Editor de lista de arquivos, mover a entrad Focus\ entry\ table=Foco na tabela de referências Import\ into\ current\ library=Importar para base de dados atual Import\ into\ new\ library=Importar para nova base de dados -Increase\ table\ font\ size=Aumentar tamanho da fonte na tabela New\ article=Novo artigo New\ book=Novo livro New\ entry=Nova referência @@ -1384,7 +1363,6 @@ type=tipo value=valor Show\ preferences=Mostrar preferências Save\ actions=Salvar ações -Enable\ save\ actions=Habilitar salvar ações Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Converter para formato BibTex (por exemplo, mudar o valor do campo 'journaltitle' para 'journal') Other\ fields=Outros campos @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Comentário de tipo de referência Move\ linked\ files\ to\ default\ file\ directory\ %0=Mover arquivos vinculados para o diretório padrão %0 Do\ you\ still\ want\ to\ continue?=Você ainda quer continuar? -Run\ field\ formatter\:=Executar formatador de campo\: -Table\ font\ size\ is\ %0=Tamanho da fonte da tabela é %0 Internal\ style=Estilo interno Add\ style\ file=Adicionar arquivo de estilo Current\ style\ is\ '%0'=Estilo atual é '%0 ' @@ -1701,8 +1677,6 @@ Author=Autor Date=Data File\ annotations=Anotações de arquivo Show\ file\ annotations=Mostrar anotações de arquivos -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader shared=compartilhado should\ contain\ an\ integer\ or\ a\ literal=deve conter um inteiro ou um literal should\ have\ the\ first\ letter\ capitalized=deve ter a primeira letra maiúscula @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=periódico não encontrado na lista Unhandled\ exception\ occurred.=Ocorreu uma exceção não tratada. strings\ included=strings incluídas -Default\ table\ font\ size=Tamanho padrão da fonte da tabela Escape\ underscores="Escapar" subscritos Color=Cor Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Por favor, adicione todas as etapas para reproduzir este problema, se possível. @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Mostra este documento até o desbloqueio. Set\ current\ user\ name\ as\ owner.=Defina o usuário como proprietário. Sort\ all\ subgroups\ (recursively)=Ordenar todos os subgrupos (recursivamente) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Colete e compartilhe dados de telemetria para ajudar a melhorar JabRef. Don't\ share=Não compartilhar Share\ anonymous\ statistics=Compartilhar estatísticas anônimas Telemetry\:\ Help\ make\ JabRef\ better=Telemetria\: Ajude a melhorar o JabRef @@ -2039,7 +2011,6 @@ Light\ theme=Tema claro Dark\ theme=Tema escuro Overwrite\ existing\ keys=Sobrescrever chaves existentes Key\ patterns=Padrões de chave -Size\:=Tamanho\: Font\ settings=Configurações de fonte Override\ font\ settings=Substituir configurações de fonte Override\ font\ size=Substituir tamanho da fonte @@ -2087,6 +2058,8 @@ Keyword\ delimiter=Delimitador de palavra-chave Hierarchical\ keyword\ delimiter=Delimitador hierárquico de palavra-chave Escape\ ampersands="Escapar" ampersands (&) +Copied\ '%0'\ to\ clipboard.='%0' copiado(s) para área de transferência. +This\ operation\ requires\ an\ open\ library.=Esta operação requer uma biblioteca aberta. Plain\ References\ Parser=Analisador de Referências Simples Please\ enter\ the\ plain\ references\ to\ extract\ from\ separated\ by\ double\ empty\ lines.=Por favor, insira as referências simples (plain) para extrair da separação com duas linhas vazias. @@ -2107,12 +2080,17 @@ Required\ and\ optional\ fields=Campos obrigatórios e opcionais Index=Índice Remove\ entry\ type=Remover tipo de referência Remove\ field\ %0\ from\ currently\ selected\ entry\ type=Remover o campo %0 do tipo de referência selecionado - Optional=Opcional Required=Obrigatório Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Tipo de referência não pode estar vazio. Insira um nome. Field\ cannot\ be\ empty.\ Please\ enter\ a\ name.=O campo não pode estar vazio. Por favor insira um nome. +Search\ ShortScience=Pesquisar ShortScience +Unable\ to\ open\ ShortScience.=Não foi possível abrir o ShortScience. Shared\ database=Banco de dados compartilhado Lookup=Procurar + + + + diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index 9a85293a792..bbccc929aa4 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -12,12 +12,15 @@ %0\ matches\ the\ term\ %1=%0 соответствует условию %1 +Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (DEFAULT\ abbreviation)=Сокращать названия журналов для выбранных записей (сокращения ПО УМОЛЧАНИЮ) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Сокращения названий журналов для выбранных записей (аббр. MEDLINE) +Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (SHORTEST\ UNIQUE\ abbreviation)=Сокращать называния журналов для выбранных записей (КРАТЧАЙШЕЕ УНИКАЛЬНОЕ сокращение) Abbreviate\ names=Сокращения названий Abbreviated\ %0\ journal\ names.=Сокращения для %0 названий журналов. Abbreviation=Сокращение +Abbreviations=Аббревиатуры About\ JabRef=О программе JabRef @@ -57,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=любое пол Appearance=Представление -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Добавить содержимое БД BibTeX к БД текущего просмотра - -Append\ library=Добавить БД - Application=Приложение Application\ to\ push\ entries\ to=Прилож. для передачи @@ -91,8 +90,6 @@ Available\ export\ formats=Доступные форматы экспорта Available\ import\ formats=Доступные форматы импорта -Backup\ old\ file\ when\ saving=Создание резервной копии старого файла при сохранении - %0\ source=Источник %0 Browse=Обзор @@ -105,6 +102,7 @@ Cannot\ create\ group=Невозможно создать группу Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Не удалось создать группу. Пожалуйста, создайте сначала базу данных. + case\ insensitive=без учета регистра case\ sensitive=с учетом регистра @@ -122,6 +120,7 @@ Change\ of\ Grouping\ Method=Изменить метод группировки change\ preamble=изменить преамбулу +Changed\ language=Измененный язык Changed\ preamble=Измененная преамбула @@ -194,6 +193,7 @@ Cut=Вырезать cut\ entries=вырезать записи +cut\ entry\ %0=обрезать запись %0 Library\ encoding=Кодировка БД @@ -226,11 +226,13 @@ Description=Описание Disable\ this\ confirmation\ dialog=Отключить это диалоговое окно подтверждения +Display\ all\ entries\ belonging\ to\ one\ or\ more\ of\ the\ selected\ groups=Показать все записи, принадлежащие выбранным группам Display\ all\ error\ messages=Отображать все сообщения об ошибках Display\ help\ on\ command\ line\ options=Отображать справку по параметрам командной строки +Display\ only\ entries\ belonging\ to\ all\ selected\ groups=Показать записи, принадлежащие всем выбранным группам Display\ version=Отобразить сведения о версии Do\ not\ abbreviate\ names=Не сокращать названия @@ -240,6 +242,7 @@ Do\ not\ import\ entry=Не импортировать запись Do\ not\ open\ any\ files\ at\ startup=Не открывать файлы при запуске Do\ not\ wrap\ the\ following\ fields\ when\ saving=Не сворачивать следующие поля при сохранении +Do\ not\ write\ the\ following\ fields\ to\ XMP\ Metadata=Не записывать указанные поля в метаданные XMP Donate\ to\ JabRef=Поддержать JabRef @@ -256,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Динамич Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Динамическая группировка записей по поиску ключегого слова в поле -Each\ line\ must\ be\ of\ the\ following\ form=Каждая строка должна иметь следующую форму Edit=Изменить @@ -270,6 +272,7 @@ Edit\ preamble=Изменить преамбулу Edit\ strings=Изменить строки empty\ library=пустая база данных +Autocompletion=Автозаполнение Enter\ URL\ to\ download=Ввод URL-адреса загрузки @@ -288,6 +291,7 @@ Entry\ preview=Предварительный просмотр записи Entry\ table=Таблица записей Entry\ table\ columns=Столбцы таблицы записей +Entry\ Title\ (Required\ to\ deliver\ recommendations.)=Заголовок записи (требуется для рекомендаций) Entry\ type=Тип записи @@ -325,7 +329,7 @@ Field=Поле field=поле Field\ name=Имя поля -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Имена полей не должны содержать пробелов или следующих знаков + Field\ to\ group\ by=Поле для группировки @@ -351,6 +355,7 @@ First\ select\ the\ entries\ you\ want\ keys\ to\ be\ generated\ for.=Снача Fit\ table\ horizontally\ on\ screen=Разместить горизонтально на экране Float=Нефиксированные +Format\:\ Tab\:field;field;...\ (e.g.\ General\:url;pdf;note...)=Формат\: Tab\:field;field;... (e.g. General\:url;pdf;note...) Format\ of\ author\ and\ editor\ names=Формат имени автора/редактора Format\ string=Форматировать строку @@ -360,6 +365,7 @@ Formatter\ name=Имя программы форматирования found\ in\ AUX\ file=найдено в файле AUX +Further\ information\ about\ Mr.\ DLib\ for\ JabRef\ users.=Доп. информация о Mr. DLib для пользователей JabRef. General=Общие @@ -395,8 +401,12 @@ Hide\ non-hits=Скрыть неподходящие Hierarchical\ context=Иерархический контекст Highlight=Выделение +Marking=Маркировка Underline=Подчеркнуть +Empty\ Highlight=Убрать выделение +Empty\ Marking=Убрать маркировку Empty\ Underline=Убрать подчеркивание +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 @@ -415,22 +425,14 @@ Import\ and\ remove\ old\ entry=Импорт с удалением старой Import\ entries=Импорт записей Import\ file=Импорт файла -Import\ group\ definitions=Импорт определений групп - Import\ name=Имя импорта Import\ preferences=Импорт пользовательских настроек Import\ preferences\ from\ file=Импорт пользовательских настроек из файла -Import\ strings=Импорт строк - -Import\ word\ selector\ definitions=Импорт определений выбора слов - Imported\ entries=Импортированные записи -Imported\ from\ library=Импортировано из БД - Importer\ class=Класс Importer Importing=Импорт @@ -449,8 +451,11 @@ Invalid\ date\ format=Недопустимый формат даты Invalid\ URL=Недопустимый URL-адрес Online\ help=Онлайн-справка +JabRef\ Language\ (Provides\ for\ better\ recommendations\ by\ giving\ an\ indication\ of\ user's\ preferred\ language.)=Язык JabRef (будет отображаться как предпочтительный язык пользователя) JabRef\ preferences=Пользовательские настройки JabRef +JabRef\ requests\ recommendations\ from\ Mr.\ DLib,\ which\ is\ an\ external\ service.\ To\ enable\ Mr.\ DLib\ to\ calculate\ recommendations,\ some\ of\ your\ data\ must\ be\ shared\ with\ Mr.\ DLib.\ Generally,\ the\ more\ data\ is\ shared\ the\ better\ recommendations\ can\ be\ calculated.\ However,\ we\ understand\ that\ some\ of\ your\ data\ in\ JabRef\ is\ sensitive,\ and\ you\ may\ not\ want\ to\ share\ it.\ Therefore,\ Mr.\ DLib\ offers\ a\ choice\ of\ which\ data\ you\ would\ like\ to\ share.=JabRef запрашивает рекомендации у "Mr. DLib", который является внешним сервисом. Для этого надо передать данные о вас в "Mr. DLib". В общем, чем больше данных передается, тем лучше могут быть рекомендации. Однако мы понимаем, что некоторые данные в JabRef не могут быть переданы другим лицам, поэтому "Mr. DLib" предлагает выбрать что можно передавать, а что нет. +JabRef\ Version\ (Required\ to\ ensure\ backwards\ compatibility\ with\ Mr.\ DLib's\ Web\ Service)=Версия JabRef (необходимо чтобы обеспечить обратную совместимость с веб сервисом "Mr DLib") Journal\ abbreviations=Сокращения для журналов Keep\ both=Оставить оба @@ -465,6 +470,7 @@ keys\ in\ library=ключи в базе данных Keyword=Ключевое слово +Keywords=Ключевые слова Label=Метка @@ -477,6 +483,7 @@ Link=Ссылка Listen\ for\ remote\ operation\ on\ port=Прослушивать удаленные подключения для порта Load\ and\ Save\ preferences\ from/to\ jabref.xml\ on\ start-up\ (memory\ stick\ mode)=Загружать/сохранять настройки из/в файл jabref.xml при запуске (режим флеш-памяти) +Show\ advanced\ hints\ (i.e.\ helpful\ tooltips,\ suggestions\ and\ explanation)=Отобразить расширенные подсказки (т.е. всплывающие подсказки, предположения и объяснения) Main\ file\ directory=Основной каталог файлов @@ -506,8 +513,11 @@ move\ group=переместить группу Moved\ group\ "%0".=Перемещенная группа "%0". +Mr.\ DLib\ Privacy\ settings=Настройки конфиденциальности сервиса "Mr. DLib" +No\ recommendations\ received\ from\ Mr.\ DLib\ for\ this\ entry.=Веб сервис "Mr. DLib" не предлагает рекомендаций для этой записи. +Error\ while\ fetching\ recommendations\ from\ Mr.DLib.=Ошибка при получении рекомендаций от сервиса "Mr. DLib". Name=Имя @@ -531,13 +541,12 @@ no\ library\ generated=БД не создана No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Записи не найдены. Убедитесь, что используется правильный фильтр импорта. No\ files\ found.=Файлы не найдены. +No\ GUI.\ Only\ process\ command\ line\ options=Без графического интерфейса. Только через командную строку No\ journal\ names\ could\ be\ abbreviated.=Названия журналов не могут быть сокращены. No\ journal\ names\ could\ be\ unabbreviated.=Названия журналов не могут быть развернуты. -Open\ PDF=Открыть PDF - not=не not\ found=не найдено @@ -570,6 +579,7 @@ Open\ URL\ or\ DOI=Открыть URL-адрес или DOI Opening=Выполняется открытие Operation\ canceled.=Операция отменена. +Operating\ System\ (Provides\ for\ better\ recommendations\ by\ giving\ an\ indication\ of\ user's\ system\ set-up.)=ОС (обеспечивает рекомендации для выбранных системных настроек) Optional\ fields=Доп. поля @@ -589,6 +599,7 @@ Paste=Вставить paste\ entries=вставить записи +paste\ entry\ %0=вставить запись %0 Path\ to\ %0\ not\ defined=Не задан путь к %0 @@ -596,6 +607,7 @@ Path\ to\ LyX\ pipe=Путь к каналу LyX PDF\ does\ not\ exist=PDF не существует +File\ has\ no\ attached\ annotations=Файл не содержит приложенных аннотаций Please\ enter\ a\ name\ for\ the\ group.=Введите имя для группы. @@ -613,7 +625,18 @@ Preferences\ recorded.=Пользовательские настройки за Preview=Предварительный просмотр Citation\ Style=Стиль цитирования - +Current\ Preview=Текущий предпросмотр +Cannot\ generate\ preview\ based\ on\ selected\ citation\ style.=Невозможно сделать предварительный просмотр с выбранными настройками цитат. +Bad\ character\ inside\ entry=Неверный символ внутри записи +Error\ while\ generating\ citation\ style=Ошибка при создании стиля цитаты +Preview\ style\ changed\ to\:\ %0=Стиль предварительного просмотра изменен на %0 +Next\ preview\ layout=Следующий макет предварительного просмотра +Previous\ preview\ layout=Предыдущий макет предварительного просмотра +Available=Доступно +Selected=Выбрано +Selected\ Layouts\ can\ not\ be\ empty=Выбранные макеты не могут быть пустыми + +Reset\ default\ preview\ style=Сброс стиль пред. просмотра по умолчанию Previous\ entry=Предыдущая запись @@ -650,6 +673,7 @@ Remove\ all\ subgroups\ of\ "%0"?=Удалить все подгруппы "%0"? Remove\ entry\ from\ import=Удалить запись из импортируемых +Remove\ selected\ entries\ from\ this\ group=Удалить выбранные записи из группы Remove\ group=Удалить группу @@ -779,6 +803,7 @@ Show\ required\ fields=Показать обязательные поля Show\ validation\ messages=Показывать сообщения проверки Simple\ HTML=HTML (простой) +Since\ the\ 'Review'\ field\ was\ deprecated\ in\ JabRef\ 4.2,\ these\ two\ fields\ are\ about\ to\ be\ merged\ into\ the\ 'Comment'\ field.=Т.к. поле "проверка" было удалено начиная с версии 4.2, эти два поля будут перемещены в раздел "Комментарии". Size=Размер @@ -795,10 +820,10 @@ Statically\ group\ entries\ by\ manual\ assignment=Фиксированная г Status=Статус Strings\ for\ library=Строки БД +Sublibrary\ from\ AUX\ to\ BibTeX=Библиотека для перехода от AUX в BibTex Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Переключение полного/сокращенного имени журнала для известных имен журналов. -Tabname=Имя вкладки Tertiary\ sort\ criterion=Третичный критерий сортировки The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=В выбранной кодировке '%0' невозможно прочитать следующие символы\: @@ -880,13 +905,21 @@ Warnings=Предупреждения web\ link=веб-ссылки What\ do\ you\ want\ to\ do?=Выберите действие для продолжения. +Whatever\ option\ you\ choose,\ Mr.\ DLib\ may\ share\ its\ data\ with\ research\ partners\ to\ further\ improve\ recommendation\ quality\ as\ part\ of\ a\ 'living\ lab'.\ Mr.\ DLib\ may\ also\ release\ public\ datasets\ that\ may\ contain\ anonymized\ information\ about\ you\ and\ the\ recommendations\ (sensitive\ information\ such\ as\ metadata\ of\ your\ articles\ will\ be\ anonymised\ through\ e.g.\ hashing).\ Research\ partners\ are\ obliged\ to\ adhere\ to\ the\ same\ strict\ data\ protection\ policy\ as\ Mr.\ DLib.=Независимо от выбранного вами варианта, сервис "Mr. DLib" может делиться своими данными с партнерами в целях дальнейшего повышения качества рекомендаций в рамках "living lab". "Mr. DLib" также может выпускать публичные базы, которые могут содержать анонимную информацию о вас и рекомендации (конфиденциальная информация, такая как метаданные ваших статей, будет захеширована). Партнеры по исследованиям должны будут придерживаться той же строгой политики защиты данных, что и сервис "Mr. DLib". +Will\ write\ XMP\ metadata\ to\ the\ PDFs\ linked\ from\ selected\ entries.=Будет выполнена запись метаданных XMP в PDF со ссылками из выбранных записей. +Write\ BibTeXEntry\ as\ XMP\ metadata\ to\ PDF.=Записать статью BibTeX как метаданные XMP в файл PDF. Write\ XMP=Запись XMP +Write\ XMP\ metadata=Записать метаданные XMP +Write\ XMP\ metadata\ for\ all\ PDFs\ in\ current\ library?=Выполнить запись метаданных XMP для всех PDF файлов текущей базы? +Writing\ XMP\ metadata...=Выполняется запись метаданных XMP... +Writing\ XMP\ metadata\ for\ selected\ entries...=Выполняется запись метаданных XMP для выбранных записей... XMP-annotated\ PDF=PDF с аннотациями XMP XMP\ export\ privacy\ settings=Настройки защиты экспорта XMP +XMP\ metadata=Метаданные XMP You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Для применения изменений необходимо перезапустить JabRef. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Для правильной работы новых назначений функциональных клавиш необходимо перезапустить JabRef. @@ -916,10 +949,14 @@ Unable\ to\ open\ link.=Не удалось перейти по ссылке. MIME\ type=MIME-тип This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef\ instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef\ from\ your\ web\ browser.\ Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Эта функция позволяет открывать или импортировать файлы в работающий экземпляр JabRef без запуска нового экземпляра приложения. Например, при передаче файла в JabRef из веб-браузера. Обратите внимание, что эта функция не даст запустить несколько экземпляров JabRef одновременно. +Run\ fetcher=Запустить выборку Use\ IEEE\ LaTeX\ abbreviations=Использовать сокращения LaTeX для IEEE When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=При переходе по ссылке выполнять поиск соответствующего файла, если ссылка не определена +Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ %1.=Строка %0\: найден поврежденный ключ BibTeX %1. +Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ %1\ (contains\ whitespaces).=Строка %0\: найден поврежденный ключ BibTeX %1 (содержит пробелы). +Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ %1\ (comma\ missing).=Строка %0\: найден поврежденный ключ BibTeX %1 (пропущена запятая). Download\ from\ URL=Загрузить из URL-адреса Rename\ field=Переименовать поле Append\ field=Добавить поле @@ -945,6 +982,7 @@ Formatter\ not\ found\:\ %0=Не найдена программа формат Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Сохранение не удалось, файл заблокирован другим экземпляром JabRef. Metadata\ change=Изменение метаданных +The\ following\ metadata\ changed\:=Следующие метаданные изменены\: Enforce\ legal\ characters\ in\ BibTeX\ keys=Принудительное использование допустимого набора символов в ключах BibTeX @@ -971,6 +1009,7 @@ User-specific\ file\ directory=Пользовательский каталог LaTeX\ file\ directory=Папка с файлами LaTeX Search\ failed\:\ illegal\ search\ expression=Ошибка поиска\: недопустимое выражение для поиска +You\ must\ enter\ an\ integer\ value\ in\ the\ interval\ 1025-65535=Необходимо ввести целое число в интервале 1025-65535 Automatically\ open\ browse\ dialog\ when\ creating\ new\ file\ link=Автоматически открывать диалоговое окно обзора при создании новой ссылки на файл Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Автозавершение имен только для формата 'Имя Фамилия' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Автозавершение имен только для формата 'Фамилия, Имя' @@ -986,6 +1025,7 @@ exportFormat=Формат экспорта Output\ file\ missing=Отсутствует файл вывода No\ search\ matches.=Нет совпадений для поиска. The\ output\ option\ depends\ on\ a\ valid\ input\ option.=Параметры вывода зависят от допустимых параметров ввода. +Linked\ file\ name\ conventions=Соглашения о связанных файлах Filename\ format\ pattern=Шаблон формата имени файла Additional\ parameters=Дополнительные параметры Cite\ selected\ entries\ between\ parenthesis=Цитаты в круглых скобках для выбранных записей @@ -1054,6 +1094,8 @@ Auto-generating\ PDF-Names\ does\ not\ support\ undo.\ Continue?=Операци Use\ full\ firstname\ whenever\ possible=Использовать полное имя (если возможно) Use\ abbreviated\ firstname\ whenever\ possible=Использовать сокращенное имя (если возможно) Use\ abbreviated\ and\ full\ firstname=Использовать сокращенное и полное имя +Name\ format=Формат имени +First\ names=Названия Cleanup\ entries=Очистить записи Automatically\ assign\ new\ entry\ to\ selected\ groups=Автоматически назначать новую запись выбранным группам %0\ mode=Режим %0 @@ -1066,8 +1108,6 @@ No\ entry\ needed\ a\ clean\ up=Нет записей для очистки One\ entry\ needed\ a\ clean\ up=Необходима очистка для одной записи %0\ entries\ needed\ a\ clean\ up=Необходима очистка для %0 записей -Remove\ selected=Удалить выбранное - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Не удалось проанализировать дерево групп. При сохранении БД BibTeX все группы будут утеряны. Attach\ file=Приложить файл Setting\ all\ preferences\ to\ default\ values.=Инициализация пользовательских настроек к значениям по умолчанию. @@ -1102,6 +1142,7 @@ Five\ stars=Пять звезд Help\ on\ special\ fields=Справка для полей особых отметок Keywords\ of\ selected\ entries=Ключевые слова для выбранных записей Manage\ content\ selectors=Управление выбором содержимого +Content\ selectors=Селектор контента Manage\ keywords=Управление ключевыми словами No\ priority\ information=Без данных о приоритете No\ rank\ information=Без данных о ранге @@ -1123,6 +1164,7 @@ Toggle\ print\ status=Изменить статус 'печать' Update\ keywords=Изменить ключевые слова Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Записать значения полей особых отметок в отдельные поля BibTeX Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Соединение с OpenOffice/LibreOffice прервано. Убедитесь, что приложение OpenOffice/LibreOffice запущено и повторите соединение. +JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRef отправляет по крайней мере один запрос для заметки издателю. Correct\ the\ entry,\ and\ reopen\ editor\ to\ display/edit\ source.=Исправить запись и повторно открыть редактор для отображения/изменения исходника. Could\ not\ connect\ to\ running\ OpenOffice/LibreOffice.=Не удалось подключиться к работающему приложению OpenOffice/LibreOffice. Make\ sure\ you\ have\ installed\ OpenOffice/LibreOffice\ with\ Java\ support.=Убедитесь, что установлен OpenOffice/LibreOffice с поддержкой Java. @@ -1133,6 +1175,7 @@ Not\ connected\ to\ any\ Writer\ document.\ Please\ make\ sure\ a\ document\ is\ Removed\ all\ subgroups\ of\ group\ "%0".=Все подгруппы группы "%0" удалены. To\ disable\ the\ memory\ stick\ mode\ rename\ or\ remove\ the\ jabref.xml\ file\ in\ the\ same\ folder\ as\ JabRef.=Для отключения режима флеш-памяти переименуйте или удалите файл jabref.xml в каталоге JabRef. Unable\ to\ connect.\ One\ possible\ reason\ is\ that\ JabRef\ and\ OpenOffice/LibreOffice\ are\ not\ both\ running\ in\ either\ 32\ bit\ mode\ or\ 64\ bit\ mode.=Не удалось выполнить подключение. Возможная причина\: JabRef и OpenOffice/LibreOffice не запущены в режиме 32-х или 64-х битного приложения. +Delimiter(s)=Разделитель(и) When\ downloading\ files,\ or\ moving\ linked\ files\ to\ the\ file\ directory,\ prefer\ the\ BIB\ file\ location\ rather\ than\ the\ file\ directory\ set\ above=При загрузке файлов или перемещении связанных файлов в каталог файлов желательно использовать каталог расположения файла bib, а не вышеуказанный каталог Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=В пользовательском файле стиля указан формат знака '%0', не определенный в текущем документе OpenOffice/LibreOffice. Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=В пользовательском файле стиля указан формат абзаца '%0', не определенный в текущем документе OpenOffice/LibreOffice. @@ -1160,7 +1203,12 @@ Automatically\ set\ file\ links=Автоуказание ссылок на фа Resetting\ all\ key\ bindings=Сброс назначений функциональных клавиш Network=Сеть +Search\ IEEEXplore=Искать IEEEXplore Hostname=Хост +Please\ specify\ a\ hostname=Пожалуйста укажите имя хоста (hostname) +Please\ specify\ a\ port=Пожалуйста укажите порт +Please\ specify\ a\ username=Пожалуйста укажите имя пользователя +Please\ specify\ a\ password=Пожалуйста укажите пароль Use\ custom\ proxy\ configuration=Использовать пользовательские настройки прокси-сервера Proxy\ requires\ authentication=Для прокси-сервера требуется авторизация @@ -1170,6 +1218,7 @@ Clear\ connection\ settings=Удалить настройки подключен Open\ folder=Открыть папку Export\ entries\ ordered\ as\ specified=Экспорт записей в указанном порядке Export\ sort\ order=Экспорт в порядке сортировки +Save\ sort\ order=Сохранить порядок сортировки Export\ sorting=Сортировка при экспорте Newline\ separator=Разделитель для новой строки @@ -1206,6 +1255,7 @@ Open\ %0\ file=Открыть файл %0 Cannot\ delete\ file=Невозможно удалить файл File\ permission\ error=Ошибка прав доступа для файла +JabRef\ does\ not\ have\ permission\ to\ access\ %s=JabRef не имеет разрешений на доступ к %s Push\ to\ %0=Передать в %0 Path\ to\ %0=Путь к %0 Convert=Преобразовать @@ -1259,15 +1309,16 @@ should\ contain\ a\ four\ digit\ number=должно содержать четы should\ contain\ a\ valid\ page\ number\ range=должно содержать допустимый диапазон номеров страниц No\ results\ found.=Результаты не найдены. Found\ %0\ results.=Найдено %0 результатов. +Invalid\ regular\ expression=Неправильное регулярное выражение plain\ text=обычный текст This\ search\ contains\ entries\ in\ which\ any\ field\ contains\ the\ regular\ expression\ %0=Поиск содержит записи, в которых любое поле содержит регулярное выражение %0 This\ search\ contains\ entries\ in\ which\ any\ field\ contains\ the\ term\ %0=Поиск содержит записи, в которых любое поле содержит условие %0 This\ search\ contains\ entries\ in\ which=Поиск содержит записи, в которых +Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=Подсказка. Для поиска только определенных полей можно написать вот так\: Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Не удалось выполнить автоопределение установки OpenOffice/LibreOffice. Укажите каталог установки вручную. Close\ library=Закрыть БД -Decrease\ table\ font\ size=Уменьшить шрифт в таблице Entry\ editor,\ next\ entry=Редактор записей, следующая запись Entry\ editor,\ next\ panel=Редактор записей, следующая панель Entry\ editor,\ next\ panel\ 2=Редактор записей, следующая панель 2 @@ -1279,7 +1330,6 @@ File\ list\ editor,\ move\ entry\ up=Редактор списка файлов, Focus\ entry\ table=Поместить курсор в таблицу записей Import\ into\ current\ library=Импорт в текущую БД Import\ into\ new\ library=Импорт в новую БД -Increase\ table\ font\ size=Увеличить шрифт в таблице New\ article=Создать статью New\ book=Создать книгу New\ entry=Создать запись @@ -1311,7 +1361,6 @@ type=тип value=значение Show\ preferences=Показать пользовательские настройки Save\ actions=Действия при сохранении -Enable\ save\ actions=Включить действия при сохранении Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=Преобразовать в формат BibTeX (например, переместить значение поля 'journaltitle' в 'journal') Other\ fields=Прочие поля @@ -1322,12 +1371,17 @@ abbreviation\ detected=обнаружены сокращения wrong\ entry\ type\ as\ proceedings\ has\ page\ numbers=неверный тип записи, так как протоколы имеют номера страниц Abbreviate\ journal\ names=Сокращения названий журналов Abbreviating...=Создание сокращений... +Abbreviation\ '%0'\ for\ journal\ '%1'\ already\ defined.=Аббревиатура '%0' для журнала '%1' уже определена. Abbreviation\ cannot\ be\ empty=Аббревиатура не может быть пустой +Duplicated\ Journal\ Abbreviation=Дубликат аббревиатуры журнала +Duplicated\ Journal\ File=Дубликат файла журнала Error\ Occurred=Произошла ошибка Journal\ file\ %s\ already\ added=Файл журнала %s уже добавлен +Name\ cannot\ be\ empty=Имя не может быть пустым Display\ keywords\ appearing\ in\ ALL\ entries=Отображение ключевых слов, относящихся ко ВСЕМ записям Display\ keywords\ appearing\ in\ ANY\ entry=Отображение ключевых слов, относящихся к КАКОЙ-ЛИБО записи +None\ of\ the\ selected\ entries\ have\ titles.=Ни одна из выбранных записей не содержит заголовок. None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=Для выбранных записей отсутствуют ключи BibTeX. Unabbreviate\ journal\ names=Полные названия журналов Unabbreviating...=Отмена сокращений... @@ -1342,8 +1396,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Неверный формат ко Move\ linked\ files\ to\ default\ file\ directory\ %0=Переместить связанные файлы в каталог файлов по умолчанию %0 Do\ you\ still\ want\ to\ continue?=Продолжить? -Run\ field\ formatter\:=Запуск средства форматирования полей\: -Table\ font\ size\ is\ %0=Размер шрифта в таблице\: %0 Internal\ style=Встроенный стиль Add\ style\ file=Добавить файл стиля Current\ style\ is\ '%0'=Текущий стиль\: '%0' @@ -1385,8 +1437,11 @@ Normalizes\ the\ en\ dashes.=Нормализует короткие тире. Ordinals\ to\ LaTeX\ superscript=Порядковые числительные в надстрочник LaTeX Protect\ terms=Защита терминов Add\ enclosing\ braces=Добавить обрамляющие скобки +Add\ braces\ encapsulating\ the\ complete\ field\ content.=Содержимое поля надо поместить в скобки. Remove\ enclosing\ braces=Удалить обрамляющие скобки Removes\ braces\ encapsulating\ the\ complete\ field\ content.=Удаление скобок, заключающих все содержимое поля. +Shorten\ DOI=Сократить DOI +Shortens\ DOI\ to\ more\ human\ readable\ form.=Сокращает DOI на более читаемую форму. Sentence\ case=Как в предложении Shortens\ lists\ of\ persons\ if\ there\ are\ more\ than\ 2\ persons\ to\ "et\ al.".=Сокращение списка лиц, если существует более 2 лиц для "et al.". Title\ case=Заглавные @@ -1409,6 +1464,8 @@ Neuter\ name=Имя среднего рода Neuter\ names=Имена среднего рода Determined\ %0\ for\ %1\ entries=Определено %0 из %1 записей +Look\ up\ %0=Найдите %0 +Looking\ up\ %0...\ -\ entry\ %1\ out\ of\ %2\ -\ found\ %3=Поиск %0... - запись %1 из %2 - найдено %3 Audio\ CD=Аудио CD British\ patent=Патент (Британия) @@ -1468,6 +1525,8 @@ BibTeX\ key=Ключ BibTeX Message=Сообщение +MathSciNet\ Review=Обзор MathSciNet +Reset\ Bindings=Сбросить привязки Decryption\ not\ supported.=Дешифрование не поддерживается @@ -1495,6 +1554,7 @@ Unable\ to\ generate\ new\ library=Не удалось создать новую Open\ console=Открыть консоль Use\ default\ terminal\ emulator=Использовать эмуляцию терминала по умолчанию +Note\:\ Use\ the\ placeholder\ %DIR%\ for\ the\ location\ of\ the\ opened\ library\ file.=Примечание. Используйте подстановочный знак %DIR% для указания файла библиотеки. Error\ occured\ while\ executing\ the\ command\ "%0".=Ошибка при выполнении команды "%0". Reformat\ ISSN=Переформатировать ISSN @@ -1519,6 +1579,7 @@ change\ string\ name\ %0\ to\ %1=изменить имя строки %0 на %1 change\ type\ of\ entry\ %0\ from\ %1\ to\ %2=изменить тип записи %0 с %1 на %2 insert\ entry\ %0=вставить запись %0 insert\ string\ %0=вставить строку %0 +remove\ entries=удалить записи remove\ entry\ %0=удалить запись %0 remove\ string\ %0=удалить строку %0 undefined=не определено @@ -1529,8 +1590,14 @@ Entry\ from\ %0=Запись из %0 Merge\ entry\ with\ %0\ information=Объединение записи со сведениями %0 Updated\ entry\ with\ info\ from\ %0=Обновленная запись со сведениями из %0 +Add\ new\ list=Добавить новый список +Open\ existing\ list=Открыть имеющийся список Remove\ list=Удалить список +Add\ abbreviation=Добавить сокращение +Remove\ abbreviation=Удалить аббревиатуру Full\ journal\ name=Полное имя журнала +Abbreviation\ name=Название абревиатуры +Shortest\ unique\ abbreviation=Кратчайшая уникальная аббревиатура No\ abbreviation\ files\ loaded=Файлы аббревиатур не загружены @@ -1545,7 +1612,9 @@ Log\ copied\ to\ clipboard.=Журнал скопирован в буфер об Copy\ Log=Копировать журнал Clear\ Log=Очистить журнал Report\ Issue=Сообщить о проблеме +Issue\ on\ GitHub\ successfully\ reported.=Тикет GitHub успешно создан. Your\ issue\ was\ reported\ in\ your\ browser.=Отчет о проблеме был отправлен в браузер. +The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=Лог и информация об ошибке успешно скопированы. Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=Пожалуйста, вставьте эту информацию (с помощью Ctrl+V) в описание проблемы. Host=Хост @@ -1569,6 +1638,10 @@ Local\ version\:\ %0=Локальная версия\: %0 Shared\ version\:\ %0=Версия с общим доступом\: %0 Press\ "Merge\ entries"\ to\ merge\ the\ changes\ and\ resolve\ this\ problem.=Нажмите "Объединить записи", чтобы объединить изменения и решить эту проблему. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.=При отмене этой операции ваши изменения не будут синхронизированы. +Shared\ entry\ is\ no\ longer\ present=Общая запись больше не существует +The\ entry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=Текущая рабочая запись BibEntry удалена на стороне общего доступа. +You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Вы можете восстановить запись, используя операцию "Отменить". +You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Вы уже подключены к базе, с помощью введенных данных. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=Цитирование записей без ключей BibTeX невозможно. Создать ключи сейчас? New\ technical\ report=Технический отчет @@ -1585,90 +1658,249 @@ Toggle\ web\ search\ interface=Переключение интерфейса в %0\ files\ found=Найдено файлов\: %0 One\ file\ found=Найден один файл +Migration\ help\ information=Помощь по миграции +Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=Введенная база данных имеет устаревшую структуру и больше не поддерживается. +However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=Вместе с тем была создана новая база данных до 3.6. +Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=Открывает ссылку, где текущая версия для разработчиков может быть загружена +See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=Посмотрите, что было изменено в версиях JabRef +Referenced\ BibTeX\ key\ does\ not\ exist=Указанный ключ BibTeX не существует +Full\ text\ document\ for\ entry\ %0\ already\ linked.=Полный текст документа для записи %0 уже привязан. +Finished\ downloading\ full\ text\ document\ for\ entry\ %0.=Завершена загрузка документа для записи %0. +Download\ full\ text\ documents=Скачать полный текст документов +You\ are\ about\ to\ download\ full\ text\ documents\ for\ %0\ entries.=Вы собираетесь загрузить документы для %0 записей. +last\ four\ nonpunctuation\ characters\ should\ be\ numerals=последние четыре знака должны быть цифрами (если это не знаки препинания) Author=Автор Date=Дата File\ annotations=Аннотации файла Show\ file\ annotations=Показать аннотации файла -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra Reader +shared=общий +should\ contain\ an\ integer\ or\ a\ literal=должно содержать число или букву +should\ have\ the\ first\ letter\ capitalized=первая буква должна быть заглавной Tools=Сервис What's\ new\ in\ this\ version?=Что нового в этой версии? Want\ to\ help?=Хотите помочь? Make\ a\ donation=Сделать пожертвование get\ involved=принять участие +Used\ libraries=Используемые библиотеки +Existing\ file=Существующий файл ID=ID ID\ type=Тип ID +Fetcher\ '%0'\ did\ not\ find\ an\ entry\ for\ id\ '%1'.=Загрузчик '%0' ' не нашел запись для ID '%1'. Select\ first\ entry=Выбрать первую запись Select\ last\ entry=Выбрать последнюю запись +Invalid\ ISBN\:\ '%0'.=Недопустимый ISBN\: '%0'. should\ be\ normalized=должно быть нормализовано +Empty\ search\ ID=Пустой поисковый запрос +The\ given\ search\ ID\ was\ empty.=Указанный поисковый ID был пустым. Copy\ BibTeX\ key\ and\ link=Копировать ключ BibTeX и ссылку +biblatex\ field\ only=только поле типа biblatex +Error\ while\ generating\ fetch\ URL=Ошибка генерации URL адреса загрузки +Error\ while\ parsing\ ID\ list=Ошибка парсинга списка ID +Unable\ to\ get\ PubMed\ IDs=Не удалось получить идентификаторы PubMed +Backup\ found=Найдена резервная копия +A\ backup\ file\ for\ '%0'\ was\ found.=Найден файл резервной копии для '%0'. +This\ could\ indicate\ that\ JabRef\ did\ not\ shut\ down\ cleanly\ last\ time\ the\ file\ was\ used.=Это может означать что JabRef не закрылся правильно при последнем использовании файла. +Do\ you\ want\ to\ recover\ the\ library\ from\ the\ backup\ file?=Вы хотите восстановить библиотеку из файла резервной копии? Show\ 'Related\ Articles'\ tab=Показывать вкладку 'Связанные статьи' +This\ might\ be\ caused\ by\ reaching\ the\ traffic\ limitation\ of\ Google\ Scholar\ (see\ 'Help'\ for\ details).=Это может быть вызвано достижением максимума трафика Google Scholar (подробнее см. в разделе "Справка"). Could\ not\ open\ website.=Не удалось открыть сайт. +Problem\ downloading\ from\ %1=Ошибка загрузки из %1 +File\ directory\ pattern=Шаблон каталога файлов +Update\ with\ bibliographic\ information\ from\ the\ web=Обновление библиографической информации из Интернета +Could\ not\ find\ any\ bibliographic\ information.=Не удалось найти никакой библиографической информации. BibTeX\ key\ deviates\ from\ generated\ key=Ключ BibTeX отличается от сгенерированного +DOI\ %0\ is\ invalid=DOI %0 недопустимый +Select\ all\ customized\ types\ to\ be\ stored\ in\ local\ preferences\:=Выберите все настраиваемые типы для хранения в локальных настройках\: +Different\ customization,\ current\ settings\ will\ be\ overwritten=Разные настройки, текущие настройки будут перезаписаны +Entry\ type\ %0\ is\ only\ defined\ for\ Biblatex\ but\ not\ for\ BibTeX=Тип записи %0 определен только для Biblatex, но не для BibTeX +Copied\ %0\ citations.=Скопировано цитат\: %0. +journal\ not\ found\ in\ abbreviation\ list=журнал не найден в аббревиатуре +Unhandled\ exception\ occurred.=Произошла необработанная ошибка. -Default\ table\ font\ size=Размер шрифта в таблице по умолчанию +strings\ included=строк включено +Escape\ underscores=Экранировать подчеркивания Color=Цвет +Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Пожалуйста, также добавьте все шаги для воспроизведения этой проблемы, если это возможно. +Fit\ width=Подгонять ширину +Fit\ a\ single\ page=Разместить на странице Zoom\ in=Масштаб + - -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Собирать и отправлять данные телеметрии, чтобы помочь улучшить Jabref. - +Zoom\ out=Отдалить +Previous\ page=Предыдущая страница +Next\ page=Следующая страница +Document\ viewer=Просмотр документа +Live=В режиме реального времени +Locked=Заблокировано +Show\ the\ document\ of\ the\ currently\ selected\ entry.=Показать документ выбранной записи. +Show\ this\ document\ until\ unlocked.=Показать документ до разблокировки. +Set\ current\ user\ name\ as\ owner.=Установить текущего пользователя как владельца. + +Sort\ all\ subgroups\ (recursively)=Сортировать все подгруппы (рекурсивно) +Don't\ share=Не делать общий доступ +Share\ anonymous\ statistics=Разрешить сбор анонимных данных +Telemetry\:\ Help\ make\ JabRef\ better=Телеметрия\: Помогите сделать JabRef лучше +To\ improve\ the\ user\ experience,\ we\ would\ like\ to\ collect\ anonymous\ statistics\ on\ the\ features\ you\ use.\ We\ will\ only\ record\ what\ features\ you\ access\ and\ how\ often\ you\ do\ it.\ We\ will\ neither\ collect\ any\ personal\ data\ nor\ the\ content\ of\ bibliographic\ items.\ If\ you\ choose\ to\ allow\ data\ collection,\ you\ can\ later\ disable\ it\ via\ Options\ ->\ Preferences\ ->\ General.=Чтобы улучшить пользовательский опыт, мы хотели бы собирать анонимную статистику о функциях, которые вы используете. Мы будем записывать название функций, которыми Вы пользуетесь и частоту их использования. Мы не будем собирать какие-либо персональные данные или содержание библиографических записей. Если вы хотите изменить эти настройки, то это можно сделать через Настройки -> Настройки -> Общие. +This\ file\ was\ found\ automatically.\ Do\ you\ want\ to\ link\ it\ to\ this\ entry?=Этот файл был найден автоматически. Вы хотите связать его с этой записью? +Names\ are\ not\ in\ the\ standard\ %0\ format.=Имена не в стандартном формате %0. + +Delete\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Удалить файл с диска навсегда или просто из записи? Нажатие "Удалить" чтобы удалить файл с диска. Delete\ '%0'=Удалить '%0' Delete\ from\ disk=Удалить с диска Remove\ from\ entry=Удалить из записи +There\ exists\ already\ a\ group\ with\ the\ same\ name.=Группа с таким именем уже существует. Copy\ linked\ file=Копировать прикрепленный файл Copy\ linked\ file\ to\ folder...=Копировать прикрепленный файл в папку... +Could\ not\ copy\ file\ to\ %0,\ maybe\ the\ file\ is\ already\ existing?=Не удалось скопировать файл в %0, возможно он уже существует? +Sucessfully\ copied\ file\ to\ %0=Файл успешно скопирован в %0 +Could\ not\ resolve\ the\ file\ %0=Невозможно обработать файл %0 Copy\ linked\ files\ to\ folder...=Копировать прикрепленные файлы в папку... - - - - - - +Copied\ file\ successfully=Файл успешно скопирован +Copying\ files...=Копирование файлов... +Copying\ file\ %0\ of\ entry\ %1=Копирование файла %0 записи %1 +Finished\ copying=Копирование завершено +Could\ not\ copy\ file=Невозможно скопировать файл +Copied\ %0\ files\ of\ %1\ sucessfully\ to\ %2=Скопировано %0 из %1 файлов в директорию %2 +Rename\ failed=Не удалось переименовать +JabRef\ cannot\ access\ the\ file\ because\ it\ is\ being\ used\ by\ another\ process.=JabRef не может получить доступ к файлу, так как он используется другим процессом. +Show\ console\ output\ (only\ when\ the\ launcher\ is\ used)=Показывать вывод консоли (только при использовании лаунчера) + +Remove\ line\ breaks=Удалить разрывы строк +Removes\ all\ line\ breaks\ in\ the\ field\ content.=Удаляет все разрывы строк в содержимом поля. +Checking\ integrity...=Проверка целостности... + +Remove\ hyphenated\ line\ breaks=Удалить переносы строк с использованием дефиса +Removes\ all\ hyphenated\ line\ breaks\ in\ the\ field\ content.=Удаляет все разрывы строк с использованием дефиса в содержимом поля. +Note\ that\ currently,\ JabRef\ does\ not\ run\ with\ Java\ 9.=Важно\: в настоящее время JabRef не работает с Java 9. +Your\ current\ Java\ version\ (%0)\ is\ not\ supported.\ Please\ install\ version\ %1\ or\ higher.=Ваша текущая версия Java (%0) не поддерживается. Пожалуйста, установите версию %1 или выше. + +Could\ not\ retrieve\ entry\ data\ from\ '%0'.=Не удалось получить данные из записи '%0'. +Entry\ from\ %0\ could\ not\ be\ parsed.=Данные в %0 не могут быть обработаны. +Invalid\ identifier\:\ '%0'.=Неверный идентификатор\: '%0'. +This\ paper\ has\ been\ withdrawn.=Настоящий документ был отозван. +Finished\ writing\ XMP\ metadata.=Закончилась запись метаданных XMP. +empty\ BibTeX\ key=пустой ключ BibTeX +Your\ Java\ Runtime\ Environment\ is\ located\ at\ %0.=Ваша исполнительная среда Java расположена в %0. +Aux\ file=Aux файл +Group\ containing\ entries\ cited\ in\ a\ given\ TeX\ file=Группа, содержащая записи в заданном TeX файле + +Any\ file=Любой файл + +No\ linked\ files\ found\ for\ export.=Не найдено связанных файлов для экспорта. + +No\ full\ text\ document\ found\ for\ entry\ %0.=Не найдено полнотекстовых документов для записи %0. Delete\ Entry=Удалить запись +Next\ library=Следующая библиотека +Previous\ library=Предыдущая библиотека add\ group=добавить группу - - - - - +Entry\ is\ contained\ in\ the\ following\ groups\:=Запись содержится в следующих группах\: +Delete\ entries=Удалить записи +Keep\ entries=Сохранить записи +Keep\ entry=Сохранить запись +Ignore\ backup=Игнорировать резервную копию +Restore\ from\ backup=Восстановить из резервной копии + +Overwrite\ file=Перезаписать файл +Shared\ database\ connection=Соединение с общей базой данных + +Could\ not\ connect\ to\ Vim\ server.\ Make\ sure\ that\ Vim\ is\ running\ with\ correct\ server\ name.=Не удалось подключиться к серверу Vim. Убедитесь, что приложение Vim запущено, и имя сервера указано правильно. +Could\ not\ connect\ to\ a\ running\ gnuserv\ process.\ Make\ sure\ that\ Emacs\ or\ XEmacs\ is\ running,\ and\ that\ the\ server\ has\ been\ started\ (by\ running\ the\ command\ 'server-start'/'gnuserv-start').=Не удалось подключиться к запущенному процессу gnuserv. Убедитесь, что приложение Emacs или XEmacsи сервер запущены(с помощью команды 'server-start'/'gnuserv-start'). +Error\ pushing\ entries=Ошибка при отправке записей + +Undefined\ character\ format=Неопределенный символьный формат +Undefined\ paragraph\ format=Неопределенный формат абзаца + +Edit\ Preamble=Изменить преамбулу +Markings=Маркировка +Use\ selected\ instance=Использовать выбранный экземпляр + +Hide\ panel=Скрыть панель +Move\ panel\ up=Сдвинуть панель вверх +Move\ panel\ down=Сдвинуть панель вниз +Linked\ files=Связанные файлы +Group\ view\ mode\ set\ to\ intersection=Режим просмотра группы установлен на пересечение +Group\ view\ mode\ set\ to\ union=Режим просмотра группы установлен на объединение +Open\ file\ %0=Открыть файл %0 +Jump\ to\ entry=Перейти к записи +The\ group\ name\ contains\ the\ keyword\ separator\ "%0"\ and\ thus\ probably\ does\ not\ work\ as\ expected.=Имя группы содержит разделитель слов "%0" и, возможно, не работает как ожидалось. Blog=Блог Check\ integrity=Проверка целостности +Cleanup\ URL\ link=Очистить URL ссылку +Cleanup\ URL\ link\ by\ removing\ special\ symbols\ and\ extracting\ simple\ link=Очистка URL ссылку, удалив специальные символы, чтобы получился простой URL Copy\ DOI\ url=Копировать URL-адрес DOI Copy\ citation=Копировать цитату Development\ version=Версия для разработчиков Export\ selected\ entries=Экспорт выбранных записей +Export\ selected\ entries\ to\ clipboard=Копировать выбранные записи в буфер обмена Find\ duplicates=Найти дубликаты JabRef\ resources=Ресурсы JabRef Manage\ journal\ abbreviations=Настроить аббревиатуры журналов Manage\ protected\ terms=Управление защищенными терминами New\ %0\ library=Создать БД %0 +New\ entry\ from\ plain\ text=Новая запись из обычного текста +New\ sublibrary\ based\ on\ AUX\ file=Новая под-библиотека из файла AUX Push\ entries\ to\ external\ application\ (%0)=Передать записи во внешнее приложение (%0) +Quit=Выход +Recent\ libraries=Недавние библиотеки Set\ up\ general\ fields=Настроить общие поля View\ change\ log=Просмотр журнала изменений View\ event\ log=Просмотр журнала событий Website=Веб-сайт +Write\ XMP\ metadata\ to\ PDFs=Запись метаданных XMP в PDF-файл Override\ default\ font\ settings=Переопределить настройки шрифта, заданные по умолчанию - +Clear\ search=Очистить поиск + +Click\ help\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Щелкните справку, чтобы узнать о переносе баз данных из ранних версий (до 3.6.) +Database\ Type\:=Тип БД\: +Database\:=База данных\: +Host/Port\:=Хост/Порт\: +User\:=Пользователь\: +Keystore\ password\:=Пароль хранилища ключей\: +Keystore\:=Хранилище ключей\: +Password\:=Пароль\: +Server\ Timezone\:=Часовой пояс сервера\: +Remember\ Password=Запомнить пароль +Use\ SSL=Использовать SSL +Move\ preprint\ information\ from\ 'URL'\ and\ 'journal'\ field\ to\ the\ 'eprint'\ field=Переместить предварительную информацию из 'URL' и 'journal' в поле 'eprint' +Customize\ Export\ Formats=Настройка форматов экспорта Export\ name=Имя экспорта +Main\ layout\ file\:=Главный файл макета\: Main\ layout\ file=Главный файл макета +Save\ exporter=Сохранить экспортер +File\ extension\:=Расширение файла\: +Export\ format\ name\:=Имя формата экспорта\: +Cleared\ connection\ settings=Настройки подключения удалены +Error\ adding\ discovered\ CitationStyles=Ошибка добавления обнаруженных CitationStyles +(more)=(больше) +Cancel\ import=Отменить импорт +Continue\ with\ import=Продолжить импорт +Import\ canceled=Импорт отменен +Select\ all\ new\ entries=Выбрать все новые записи +Select\ the\ entries\ to\ be\ imported\:=Выберите записи для импорта\: +Add\ new\ String=Добавить новую строку +Remove\ selected\ Strings=Удалить выбранные строки +Must\ not\ be\ empty\!=Не может быть пустым\! +Open\ Help\ page=Открыть страницу справки +Add\ new\ field\ name=Добавить новое название поля +Field\ name\:=Имя поля\: +Field\ name\ "%0"\ already\ exists=Название "%0" уже существует +No\ field\ name\ selected\!=Ни одно поле не выбрано\! Edit\ string\ constants=Редактировать строковые константы Export\ all\ entries=Экспорт всех записей Generate\ BibTeX\ keys=Сгенерировать ключи BibTeX @@ -1695,11 +1927,67 @@ Executing\ command\ "%0"...=Выполнение команды "%0"... LaTeX\ files\ directory\:=Папка с файлами LaTeX\: LaTeX\ files\ found\:=Найдены файлы LaTeX\: - - - +Selected\ entry\ does\ not\ have\ an\ associated\ BibTeX\ key.=Выбранная запись не имеет связанного ключа BibTeX. +Current\ search\ directory\:=Текущий каталог поиска\: +Set\ LaTeX\ file\ directory=Задать каталог файлов LaTeX +Import\ entries\ from\ LaTeX\ files=Импорт записей из файлов LaTeX +Import\ new\ entries=Импортировать новые записи +Group\ color=Цвет группы + +Columns=Столбцы +File\ type=Тип файла +IEEE=IEEE +Internal=Внутренний +Special=Специальный +Remove\ column=Удалить столбец +Add\ custom\ column=Добавить пользовательский столбец +Update\ to\ current\ column\ order=Обновить до текущего порядка столбцов +Sort\ column\ one\ step\ upwards=Сортировать столбец на шаг выше +Sort\ column\ one\ step\ downwards=Сортировать колонку на шаг вниз +Synchronize\ special\ fields\ to\ keywords=Синхронизировать специальные поля с ключевыми словами +Serialize\ special\ fields=Сериализовать специальные поля +List\ must\ not\ be\ empty.=Список не должен быть пустым. + +Add\ field\ to\ filter\ list=Добавить поле в список фильтров +Add\ formatter\ to\ list=Добавить форматор в список +Filter\ List=Фильтровать список +Open\ files...=Открыть файлы... + +Affected\ fields\:=Затрагиваемые поля\: +Show\ preview\ as\ a\ tab\ in\ entry\ editor=Показывать предварительный просмотр как вкладку в редакторе записей +Font=Шрифт +Visual\ theme=Визуальная тема +Light\ theme=Светлая тема +Dark\ theme=Тёмная тема +Overwrite\ existing\ keys=Перезаписать существующие ключи +Key\ patterns=Шаблоны ключей +Font\ settings=Настройки шрифта +Override\ font\ settings=Переопределить настройки шрифта +Override\ font\ size=Переопределить размер шрифта +Theme\ changed\ to\ dark\ theme.=Тема изменена на темную. +Theme\ changed\ to\ light\ theme.=Тема изменена на светлую. +You\ must\ enter\ an\ integer\ value\ higher\ than\ 8.=Вы должны ввести целое значение больше 8. +Start\ on\ second\ duplicate\ key\ with\ letter\ A\ (a,\ b,\ ...)=Начать на втором дублирующем ключе с буквой A (a, b, ...) +Start\ on\ second\ duplicate\ key\ with\ letter\ B\ (b,\ c,\ ...)=Начать на втором дублирующем ключе с буквой B (b, c, ...) Always\ add\ letter\ (a,\ b,\ ...)\ to\ generated\ keys=Всегда добавлять букву (a, b, ...) к созданным ключам Default\ pattern=Шаблон по умолчанию +Reset\ %s\ to\ default\ value=Сбросить %s к значению по умолчанию +Library\ mode=Режим библиотеки +Reset\ to\ recommended=Сбросить до рекомендуемых +Remove\ all=Убрать все +Reset\ All=Сбросить все +Column\ type\ %0\ is\ unknown.=Столбец типа %0 неизвестен. +Linked\ identifiers=Связанные идентификаторы +Special\ field\ type\ %0\ is\ unknown.\ Using\ normal\ column\ type.=Особый тип поля %0 неизвестен. Используется нормальный тип столбца. + +insert\ entries=вставить записи +In\ JabRef=В JabRef +On\ disk=На диске +Select\ all\ changes\ on\ the\ left=Выбрать все изменения слева +Select\ all\ changes\ on\ the\ right=Выделить все изменения справа +Dismiss=Отклонить + + diff --git a/src/main/resources/l10n/JabRef_sv.properties b/src/main/resources/l10n/JabRef_sv.properties index c21823b9494..5cd98272451 100644 --- a/src/main/resources/l10n/JabRef_sv.properties +++ b/src/main/resources/l10n/JabRef_sv.properties @@ -27,6 +27,7 @@ Accept=Acceptera Accept\ change=Acceptera ändring +Accept\ recommendations\ from\ Mr.\ DLib=Acceptera rekommendationer från Mr. DLib Action=Händelse @@ -35,6 +36,7 @@ Add=Lägg till Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Lägg till en (kompilerad) Importer-klass från en sökväg till en klass. +Add\ selected\ entries\ to\ this\ group=Lägg till valda poster till denna grupp Add\ subgroup=Lägg till undergrupp @@ -53,10 +55,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=något fält som Appearance=Utseende -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Lägg till innehåll från en BibTeX-databas till den nu aktiva libraryn - -Append\ library=Lägg till databas - Application=Program @@ -86,8 +84,6 @@ Available\ export\ formats=Tillgängliga format för export Available\ import\ formats=Tillgängliga format för import -Backup\ old\ file\ when\ saving=Skapa en säkerhetskopia av den gamla filen vid sparning - %0\ source=%0 källkod Browse=Bläddra @@ -95,6 +91,9 @@ Browse=Bläddra by=med Cancel=Avbryt +Cannot\ create\ group=Kan inte skapa grupp + +Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Kan inte skapa grupp. Skapa en databas först. case\ insensitive=ej skiftlägeskänsligt @@ -114,7 +113,7 @@ Change\ entry\ type=Ändra posttyp change\ preamble=ändra preamble -Changed\ preamble=Ändrade preamble +Changed\ preamble=Ändrad ingress Cite\ command=Citeringskommando @@ -129,6 +128,7 @@ Close\ the\ current\ library=Stäng aktuell databas Close\ window=Stäng fönster +Comments=Kommentarer Contained\ in=Finns i @@ -186,7 +186,7 @@ cut\ entries=klipp ut poster Library\ encoding=Teckenkodning för databas -Library\ properties=Librarygenskaper +Library\ properties=Bibliotekets egenskaper Date\ format=Datumformat @@ -250,7 +250,7 @@ Edit\ file\ type=Ändra filtyp Edit\ group=Ändra grupp -Edit\ preamble=Ändra preamble +Edit\ preamble=Redigera ingress Edit\ strings=Ändra strängar empty\ library=tom databas @@ -308,6 +308,7 @@ field=fält Field\ name=Fältnamn + Field\ to\ group\ by=Fält att använda för gruppering File=Fil @@ -322,6 +323,7 @@ File\ not\ found=Hittar ej filen Filter=Filtrera +Filter\ groups=Filtrera grupper First\ select\ the\ entries\ you\ want\ keys\ to\ be\ generated\ for.=Välj först de poster du vill generera nycklar för. @@ -388,21 +390,14 @@ Import\ and\ remove\ old\ entry=Importera och ta bort gammal post Import\ entries=Importera poster Import\ file=Importera fil -Import\ group\ definitions=Importera gruppdefinitioner - Import\ name=Importnamn Import\ preferences=Importera inställningar Import\ preferences\ from\ file=Importera inställningar från fil -Import\ strings=Importera strängar - - Imported\ entries=Importerade poster -Imported\ from\ library=Importerade från databas - Importer\ class=Importer-klass Importing=Importerar @@ -410,6 +405,7 @@ Importing=Importerar Importing\ in\ unknown\ format=Importerar i okänt format +I\ Agree=Jag godkänner Invalid\ BibTeX\ key=Ogiltig BibTeX-nyckel @@ -439,10 +435,13 @@ Keyword=Nyckelord Language=Språk Last\ modified=Senast ändrad +LaTeX\ AUX\ file\:=LaTeX AUX-fil\: Link=Länk Listen\ for\ remote\ operation\ on\ port=Lyssna efter fjärrstyrning på port +Load\ and\ Save\ preferences\ from/to\ jabref.xml\ on\ start-up\ (memory\ stick\ mode)=Ladda och spara inställningar från/till jabref.xml vid uppstart (minnessticksläge) +Show\ advanced\ hints\ (i.e.\ helpful\ tooltips,\ suggestions\ and\ explanation)=Visa avancerade tips (dvs. hjälpsamma verktygstips, förslag och förklaringar) Main\ file\ directory=Huvudmapp för filer @@ -455,7 +454,9 @@ Mark\ new\ entries\ with\ addition\ date=Märk nya poster med datum de lades til Mark\ new\ entries\ with\ owner\ name=Märk nya poster med ägarnamn +Memory\ stick\ mode=Minnessticksläge +Merged\ external\ changes=Sammanfogade externa ändringar Modified\ group\ "%0".=Modifierade grupp "%0". @@ -496,7 +497,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Inga tidskriftsnamn kunde förkortas No\ journal\ names\ could\ be\ unabbreviated.=Inga tidskriftsnamn kunde expanderas. - not=inte not\ found=hittades inte @@ -505,6 +505,7 @@ Nothing\ to\ redo=Inget att göra om. Nothing\ to\ undo=Inget att ångra. +OK=OK One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=En eller flera BibTeX-nycklar kommer skrivas över. Fortsätt? @@ -578,7 +579,7 @@ Problem\ with\ parsing\ entry=Problem att tolka post Processing\ %0=Behandlar %0 Pull\ changes\ from\ shared\ database=Hämta ändringar från delad databas -Pushed\ citations\ to\ %0=Infogade citeringar i %0 +Pushed\ citations\ to\ %0=Infogade referenser i %0 Quit\ JabRef=Avsluta JabRef @@ -589,6 +590,7 @@ Redo=Gör igen regular\ expression=reguljärt uttryck +Related\ articles=Relaterade artiklar Remote\ operation=Fjärrstyrning @@ -602,6 +604,7 @@ Remove\ all\ subgroups\ of\ "%0"?=Ta bort alla undergrupper till "%0"? Remove\ entry\ from\ import=Ta bort post från import +Remove\ selected\ entries\ from\ this\ group=Ta bort valda poster från denna grupp Remove\ group=Ta bort grupp @@ -631,6 +634,7 @@ Removed\ string=Tog bort sträng Renamed\ string=Bytte namn på sträng +Find\ and\ Replace=Sök och ersätt Replace\ (regular\ expression)=Ersätt (reguljärt uttryck) @@ -730,7 +734,6 @@ Strings\ for\ library=Strängar för libraryn Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Växlar mellan fullt och förkortat tidskiftsnamn om tidskriften är känd. -Tabname=Fliknamn Tertiary\ sort\ criterion=Tredje sorteringskriteriet The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Den valde teckenkodningen '%0' kan inte representera följande tecken @@ -896,9 +899,9 @@ Cite\ selected\ entries\ between\ parenthesis=Referera till valda poster inom pa Cite\ selected\ entries\ with\ in-text\ citation=Referera till valda poster i löpande text Cite\ special=Specialcitering Extra\ information\ (e.g.\ page\ number)=Extrainformation (t. ex. sidnummer) -Manage\ citations=Hantera citeringar +Manage\ citations=Hantera referenser Problem\ modifying\ citation=Problem att modifiera citering -Citation=Citering +Citation=Referens Connecting...=Ansluter... Could\ not\ resolve\ BibTeX\ entry\ for\ citation\ marker\ '%0'.=Kunde inte hitta en BibTeX-post för referensmarkören '%0'. Select\ style=Välj stil @@ -962,8 +965,6 @@ No\ entry\ needed\ a\ clean\ up=Ingen post behövde städas upp One\ entry\ needed\ a\ clean\ up=En post behövde städas upp %0\ entries\ needed\ a\ clean\ up=%0 poster behövde städas upp -Remove\ selected=Ta bort valda - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Gruppträdet kunde inte läsas in. Om du sparar din databas kommer alla grupper att förloras. Attach\ file=Lägg till fil Setting\ all\ preferences\ to\ default\ values.=Återställer alla inställningar till standardvärden @@ -1023,6 +1024,7 @@ Make\ sure\ you\ have\ installed\ OpenOffice/LibreOffice\ with\ Java\ support.=K If\ connecting\ manually,\ please\ verify\ program\ and\ library\ paths.=Om du ansluter manuellt, kontrollera sökvägar till program och bibliotek. Error\ message\:=Felmeddelande\: Removed\ all\ subgroups\ of\ group\ "%0".=Tog bort alla undergrupper för gruppen "%0". +To\ disable\ the\ memory\ stick\ mode\ rename\ or\ remove\ the\ jabref.xml\ file\ in\ the\ same\ folder\ as\ JabRef.=För att inaktivera minnessticksläget, byta namn eller ta bort jabref.xml-filen i samma mapp som JabRef. Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Din stilfil anger bokstavsformatet '%0', som är odefinierat i ditt nuvarande OpenOffice/LibreOffice-dokument. Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Din stilfil anger styckesformatet '%0', som är odefinierat i ditt nuvarande OpenOffice/LibreOffice-dokument. @@ -1123,6 +1125,7 @@ Save\ changes=Spara ändringar Discard\ changes=Ignorera ändringar Library\ '%0'\ has\ changed.=Libraryn '%0' har ändrats. Print\ entry\ preview=Skriv ut postvisning +Copy\ title=Kopiera titel Copy\ \\cite{BibTeX\ key}=Kopiera \\cite{BibTeX-nyckel} Copy\ BibTeX\ key\ and\ title=Kopiera BibTeX-nyckel och titel Invalid\ DOI\:\ '%0'.=Ogiltig DOI\: '%0'. @@ -1143,7 +1146,6 @@ This\ search\ contains\ entries\ in\ which=Denna sökning innehåller poster dä Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Kan inte hitta OpenOffice/LibreOffice. Ställ in sökvägar manuellt. Close\ library=Stäng databas -Decrease\ table\ font\ size=Minska typsnittsstorlek för tabellen Entry\ editor,\ next\ entry=Posteditor, nästa post Entry\ editor,\ next\ panel=Posteditor, nästa panel Entry\ editor,\ next\ panel\ 2=Posteditor, nästa panel 2 @@ -1153,7 +1155,6 @@ Entry\ editor,\ previous\ panel\ 2=Posteditor, föregående panel 2 Focus\ entry\ table=Fokusera tabellen Import\ into\ current\ library=Importera till aktuell databas Import\ into\ new\ library=Importera till ny databas -Increase\ table\ font\ size=Öka typsnittsstorlek för tabellen New\ article=Ny article-post New\ book=Ny book-post New\ entry=Ny post @@ -1185,7 +1186,6 @@ type=typ value=värde Show\ preferences=Visa inställningar Save\ actions=Händelser vid sparning -Enable\ save\ actions=Aktivera automatiska händelser vid sparning Other\ fields=Andra fält Show\ remaining\ fields=Visa kvarvarande fält @@ -1210,7 +1210,6 @@ Reset\ preferences=Återställ inställningar Move\ linked\ files\ to\ default\ file\ directory\ %0=Flytta länkade filer till standardfilmappen %0 Do\ you\ still\ want\ to\ continue?=Vill du fortfarande fortsätta`? -Table\ font\ size\ is\ %0=Typsnittstorlek för tabellen är %0 Internal\ style=Intern stil Add\ style\ file=Lägg till stilfil Current\ style\ is\ '%0'=Aktuell stil är '%0' @@ -1423,10 +1422,13 @@ Existing\ file=Existerande fil +Copy\ BibTeX\ key\ and\ link=Kopiera BibTeX-nyckel och länk +Show\ 'Related\ Articles'\ tab=Visa fliken "Relaterade artiklar" +Update\ with\ bibliographic\ information\ from\ the\ web=Uppdatera med bibliografisk information från webben @@ -1436,6 +1438,7 @@ Existing\ file=Existerande fil strings\ included=innehåller strings Escape\ underscores=Maskera understreck +Sort\ all\ subgroups\ (recursively)=Sortera alla undergrupper (rekursivt) @@ -1446,20 +1449,29 @@ Escape\ underscores=Maskera understreck +Delete\ Entry=Ta bort post add\ group=lägg till grupp +Edit\ Preamble=Redigera ingress +Hide\ panel=Dölj panel +Move\ panel\ up=Flytta panelen uppåt +Move\ panel\ down=Flytta panelen nedåt Blog=Blogg Check\ integrity=Testa integriteten Development\ version=Utvecklingsversion Export\ selected\ entries=Exportera valda poster +Export\ selected\ entries\ to\ clipboard=Exportera markerade poster till urklipp +Find\ duplicates=Hitta dubbletter JabRef\ resources=JabRef-resurser Manage\ protected\ terms=Hantera skyddade ord New\ %0\ library=Ny %0-databas +New\ entry\ from\ plain\ text=Ny post från ren text Push\ entries\ to\ external\ application\ (%0)=Infoga citeringar i externt program (%0) +Recent\ libraries=Senaste bibliotek View\ change\ log=Visa ändringar Website=Hemsida @@ -1467,11 +1479,23 @@ Override\ default\ font\ settings=Ignorera normala typsnittsinställningar Export\ name=Exportnamn Main\ layout\ file=Huvudfil för layout +Edit\ string\ constants=Redigera strängkonstanter +Export\ all\ entries=Exportera alla poster +Generate\ BibTeX\ keys=Generera BibTeX-nycklar +Manage\ field\ names\ &\ content=Hantera fältnamn & innehåll +New\ library=Ny databas +Find\ and\ replace=Sök och ersätt Execute\ command=Kör kommando +Set\ rank\ to\ one=Sätt rank till ett +Set\ rank\ to\ two=Sätt rank till två +Set\ rank\ to\ three=Sätt rank till tre +Set\ rank\ to\ four=Sätt rank till fyra +Set\ rank\ to\ five=Sätt rank till fem +A\ string\ with\ the\ label\ '%0'\ already\ exists.=En sträng med namnet '%0' finns redan. Executing\ command\ "%0"...=Kör kommandot "%0"... @@ -1491,5 +1515,9 @@ Default\ pattern=Standardmönster +Search\ ShortScience=Sök ShortScience + + + diff --git a/src/main/resources/l10n/JabRef_tl.properties b/src/main/resources/l10n/JabRef_tl.properties index 4782266869a..e173220b6df 100644 --- a/src/main/resources/l10n/JabRef_tl.properties +++ b/src/main/resources/l10n/JabRef_tl.properties @@ -56,10 +56,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=anumang patlang a Appearance=Ang hitsura -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Ilakip ang laman ng BibteX na library sa kasalukuyang tinitingnan ang library - -Append\ library=Ilakip ang library - Application=Ang aplikasyon @@ -89,8 +85,6 @@ Available\ export\ formats=Merong mga format sa pag-export Available\ import\ formats=Merong mga format sa pag-import -Backup\ old\ file\ when\ saving=Mag-backup ng lumang file kapag nag-save - %0\ source=%0 pinagmulan Browse=Browse @@ -101,6 +95,7 @@ The\ conflicting\ fields\ of\ these\ entries\ will\ be\ merged\ into\ the\ 'Comm Cancel=Kansela + case\ insensitive=sensitibo ang kaso case\ sensitive=sensitibo ang kaso @@ -313,7 +308,7 @@ Field=Patlang field=patlang Field\ name=Pangalan ng patlang -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Pangalan ng patlang ay hindi pinapayagan na maglaman ng puting espasyo o mga sumusunod na mga karakter + Field\ to\ group\ by=Patlang sa pamamagitan ng pag grupo @@ -405,22 +400,14 @@ Import\ and\ remove\ old\ entry=I-import at alisin ang lumang entry Import\ entries=I-import ang mga entries Import\ file=I-import ang file -Import\ group\ definitions=I-import ang grupo ng mga kahulugan - Import\ name=I-import ang pangalan Import\ preferences=I-import ang mga preferences Import\ preferences\ from\ file=I-import ang mga preferences mula sa file -Import\ strings=I-import ang strings - -Import\ word\ selector\ definitions=I-import ang salita na taga pili ng kahulugan - Imported\ entries=Mga imported na entries -Imported\ from\ library=Na-import mula sa library - Importer\ class=Ang importer na klase Importing=Nag-iimport @@ -522,8 +509,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Walang talaarawan na pangalan ang pu No\ journal\ names\ could\ be\ unabbreviated.=Walang talaarawag ang puwedeng paikliin. -Open\ PDF=Buksan ang PDF - not=hindi not\ found=hindi nakita @@ -777,7 +762,6 @@ Strings\ for\ library=Mga strings para sa library Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Lilipat sa pagitan ng buong at dinaglat na pangalan ng journal kung kulala ang pangalan ng journal. -Tabname=Tabname Tertiary\ sort\ criterion=Kriteryang Tertiaryo ng uri The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Ang napiling encoding na '%0' ay hindi ma-encode ang mga sumusunod na character\: @@ -1034,8 +1018,6 @@ No\ entry\ needed\ a\ clean\ up=Bawal pumasok kung kinakailangan na maglinis One\ entry\ needed\ a\ clean\ up=Isang entry lamang ang kinakailangan para sa paglilinis %0\ entries\ needed\ a\ clean\ up=%0 entries ay kinakailangan para sa paglilinis -Remove\ selected=Tanggalin ang napili - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Ang grupo ng puno ay hindi maaring ma-parse. Kung i-save mo sa library ng BibTeX, ang lahat na mga grupo ay mawawala. Attach\ file=Ilakip ang file Setting\ all\ preferences\ to\ default\ values.=Inihanda ang lahat ng mga preferences para sa default na halaga. @@ -1230,7 +1212,6 @@ This\ search\ contains\ entries\ in\ which=Itong paghahanap ay naglalaman ng ent Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=Hindi awtomatikong ma-detect ang OpenOffice/LibreOffice na instalasyon. Pakiusap pumili ng direktoryo sa pag-instala ng manu-mano. Close\ library=Isara ang library -Decrease\ table\ font\ size=Pababain ang talahanayan ng font size Entry\ editor,\ next\ entry=Ang entry editor, sa susunod na entry Entry\ editor,\ next\ panel=Ang entry editor, sa susunod na panel Entry\ editor,\ next\ panel\ 2=Ang entry editor, sa susunod na panel 2 @@ -1239,7 +1220,6 @@ Entry\ editor,\ previous\ panel=Ang entry editor, ang nakaraang panel Entry\ editor,\ previous\ panel\ 2=Ang entry editor, sa nakaraang panel 2 File\ list\ editor,\ move\ entry\ down=Ang listahan ng file editor, ilipat ang entry paibaba File\ list\ editor,\ move\ entry\ up=Ang listahan ng file editor, ilipat ang entry paitaas -Increase\ table\ font\ size=Pataasin ang talahanayan ng font size New\ article=Bagong artikulo New\ book=Bagong libro New\ entry=Bagong entry @@ -1353,7 +1333,6 @@ Show\ this\ document\ until\ unlocked.=Ipakita ang dokumentong ito hanggang sa m Set\ current\ user\ name\ as\ owner.=Itakda ang kasalukuyang pangalan ng gumagamit bilang may-ari. Sort\ all\ subgroups\ (recursively)=Pagsunod-sunurin ang lahat ng mga subgroup (recursively) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=Kolektahin at ibahagi ang data ng telemetry upang makatulong na mapabuti ang JabRef. Don't\ share=Huwag magbahagi Share\ anonymous\ statistics=Magbahagi ng mga anonymous na istatistika Telemetry\:\ Help\ make\ JabRef\ better=Telemetry\: Tulungan na gawing mas mahusay ang JabRef @@ -1437,3 +1416,6 @@ Default\ pattern=Default na pattern + + + diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index 4a927c6f1ef..24823df3cff 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=%0 düzenl Appearance=Görünüm -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Bir BibTeX veritabanının içeriğini halen görüntülenen veritabanının sonuna ekle - -Append\ library=Veritabanını sonuna ekle - Application=Uygulama Application\ to\ push\ entries\ to=Girdilerin iteleneceği uygulama @@ -94,8 +90,6 @@ Available\ export\ formats=Mevcut dışa aktarım biçemleri Available\ import\ formats=Mevcut içe aktarım biçemleri -Backup\ old\ file\ when\ saving=Kaydederken eski dosyayı yedekle - %0\ source=%0 kaynağı Browse=Göz at @@ -108,6 +102,7 @@ Cannot\ create\ group=Grup oluşturulamıyor Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Grup oluşturulamıyor. Lütfen önce bir kütüphane oluşturun. + case\ insensitive=büyük/kü.ük harfe duyarsız case\ sensitive=büyük/küçük harfe duyarlı @@ -264,7 +259,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Serbest form a Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Bir alan ya da anahtar sözcük aramayla devingence grup girdileri -Each\ line\ must\ be\ of\ the\ following\ form=Her satır aşağıdaki biçimde olmalıdır Edit=Düzenle @@ -335,7 +329,7 @@ Field=Alan field=alan Field\ name=Alan adı -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Alan adlarının boşluk ya da aşağıdaki karakterleri içermesine izin verilmez + Field\ to\ group\ by=Gruplanacak alan @@ -431,22 +425,14 @@ Import\ and\ remove\ old\ entry=Eski girdiyi içe aktar ve sil. Import\ entries=Girdileri içe aktar Import\ file=Dosya içe aktar -Import\ group\ definitions=Grup tanımlarını içe aktar - Import\ name=İsim içe aktar Import\ preferences=İçe aktarma tercihleri Import\ preferences\ from\ file=Dosyadan içe aktarma tercihleri -Import\ strings=Dizgeleri içe aktar - -Import\ word\ selector\ definitions=Sözcük seçici tanımlarını içe aktar - Imported\ entries=İçe aktarılmış girdiler -Imported\ from\ library=Veritabanından içe aktarılmış - Importer\ class=Importer sınıfı Importing=İçe aktarılıyor @@ -561,8 +547,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Hiçbir dergi adı kısaltılamadı. No\ journal\ names\ could\ be\ unabbreviated.=Hiçbir dergi adı kısaltması açılamadı. -Open\ PDF=DPF'i aç - not=hariç not\ found=bulunmadı @@ -841,7 +825,6 @@ Sublibrary\ from\ AUX\ to\ BibTeX=AUX'tan BibTeX'e alt-kütüphane Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Dergi adı biliniyorsa tam ve kısaltılmış dergi adı arasında geçiş yapar. -Tabname=Sekmeadı Tertiary\ sort\ criterion=Üçüncül sıralama ölçütü The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Seçilen '%0' kodlaması şu karakterleri kodlayamıyor\: @@ -1127,8 +1110,6 @@ No\ entry\ needed\ a\ clean\ up=Hiçbir girdiye temizlik gerekmedi One\ entry\ needed\ a\ clean\ up=Bir girdi temizlik gerektirdi %0\ entries\ needed\ a\ clean\ up=%0 girdi temizlik gerektirdi -Remove\ selected=Seçiliyi Sil - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=Grup ağacı çözümlenemedi. Eğer BibTeX veri tabanını kaydederseniz tüm gruplar yitecek. Attach\ file=Dosya ekle Setting\ all\ preferences\ to\ default\ values.=Tüm tercihler öntanımlı değerlere ayarlanıyor. @@ -1340,7 +1321,6 @@ Hint\:\ To\ search\ specific\ fields\ only,\ enter\ for\ example\:=İpucu\: Beli Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=OpenOffice/LibreOffice kurulumu otomatik olarak bulunamadı. Lütfen kurulum dizinini kendiniz seçiniz. Close\ library=Veri tabanını kapat -Decrease\ table\ font\ size=Tablo yazıtipi boyutunu azalt Entry\ editor,\ next\ entry=Girdi düzenleyici, sonraki girdi Entry\ editor,\ next\ panel=Girdi düzenleyici, sonraki panel Entry\ editor,\ next\ panel\ 2=Girdi düzenleyici, sonraki panel 2 @@ -1352,7 +1332,6 @@ File\ list\ editor,\ move\ entry\ up=Dosya listesi düzenleyici, girdiyi yukarı Focus\ entry\ table=Girdi tablosuna odaklan Import\ into\ current\ library=Mevcut veritabanına aktar Import\ into\ new\ library=Yeni veritabanına aktar -Increase\ table\ font\ size=Tablo yazıtipi boyutunu arttır New\ article=Yeni makale New\ book=Yeni kitap New\ entry=Yeni girdi @@ -1384,7 +1363,6 @@ type=tür value=değer Show\ preferences=Tercihleri göster Save\ actions=Eylemleri kaydet -Enable\ save\ actions=Eylemleri kaydetmeyi etkinleştir Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=BibTeX biçimine dönüştür (örneğin, 'journaltitle' alanının değerini 'journal'a taşı) Other\ fields=Diğer alanlar @@ -1420,8 +1398,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Bib dosyasında kötü biçimli gi Move\ linked\ files\ to\ default\ file\ directory\ %0=Bağlantılı dosyaları öntanımlı dosya dizinine aktar %0 Do\ you\ still\ want\ to\ continue?=Hala devam etmek istiyor musunuz? -Run\ field\ formatter\:=Alan biçimlendiriciyi çalıştır\: -Table\ font\ size\ is\ %0=Tablo yazıtipi boyutu %0'dır Internal\ style=Dahili stil Add\ style\ file=Stil dosyası ekle Current\ style\ is\ '%0'=Mevcut stil '%0'dır @@ -1701,8 +1677,6 @@ Author=Yazar Date=Tarih File\ annotations=Dosya açıklama notları Show\ file\ annotations=Dosya açıklama notlarını göster -Adobe\ Acrobat\ Reader=Adobe Acrobat Okuyucu -Sumatra\ Reader=Sumatra Okuyucu 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 @@ -1763,7 +1737,6 @@ journal\ not\ found\ in\ abbreviation\ list=kısaltma listesinde dergi bulunamad Unhandled\ exception\ occurred.=İşlenmemiş istisna oluştu. strings\ included=dizgeler dahil edildi -Default\ table\ font\ size=Öntanımlı tablo yazıtipi boyutu Escape\ underscores=Altçizgileri öncele Color=Renk Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=Mümkünse lütfen bu sorunu yeniden üretebilmek için gereken tüm adımları ekleyin @@ -1781,7 +1754,6 @@ Show\ this\ document\ until\ unlocked.=Kilidi açılana dek bu belgeyi göster. Set\ current\ user\ name\ as\ owner.=Mevcut kullanıcı adını sahip olarak ata. Sort\ all\ subgroups\ (recursively)=Tüm alt grupları (ardışık olarak) sırala -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=JabRef'i geliştirmeye yardımcı olmak için telemetri verilerini topla ve paylaş Don't\ share=Paylaşma Share\ anonymous\ statistics=Anonim istatistikleri paylaş Telemetry\:\ Help\ make\ JabRef\ better=Telemetri\:JabRef'i daha iyi yapmaya yardım et @@ -2039,7 +2011,6 @@ Light\ theme=Aydınlık tema Dark\ theme=Karanlık tema Overwrite\ existing\ keys=Mevcut anahtarların üzerine yaz Key\ patterns=Anahtar desenleri -Size\:=Boyut\: Font\ settings=Yazı tipi ayarları Override\ font\ settings=Yazı tipi ayarlarını geçersiz kıl Override\ font\ size=Yazı tipi boyutunu geçersiz kıl @@ -2109,7 +2080,6 @@ Required\ and\ optional\ fields=Zorunlu ve tercihe bağlı alanlar Index=Dizin Remove\ entry\ type=Girdi türünü sil Remove\ field\ %0\ from\ currently\ selected\ entry\ type=%0 alanını mevcut seçilmiş girdi türlerinden sil - Optional=Tercihe bağlı Required=Zorunlu Entry\ type\ cannot\ be\ empty.\ Please\ enter\ a\ name.=Girdi türü boş olamaz. Lütfen bir isim giriniz. @@ -2120,3 +2090,7 @@ Unable\ to\ open\ ShortScience.=ShortScience açılamadı. Shared\ database=Paylaşılmış veritabanı Lookup=Ara + + + + diff --git a/src/main/resources/l10n/JabRef_vi.properties b/src/main/resources/l10n/JabRef_vi.properties index c1880b582be..fef8acd1179 100644 --- a/src/main/resources/l10n/JabRef_vi.properties +++ b/src/main/resources/l10n/JabRef_vi.properties @@ -60,10 +60,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=bất kỳ dữ l Appearance=Diện mạo -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=Nối nội dung từ một CSDL BibTeX vào CSDL đang xem hiện tại - -Append\ library=Nối CSDL - Application=Ứng dụng @@ -93,8 +89,6 @@ Available\ export\ formats=Các định dạng xuất dùng được Available\ import\ formats=Các định dạng nhập dùng được -Backup\ old\ file\ when\ saving=Sao lại tập tin cũ khi lưu - %0\ source=Nguồn %0 Browse=Duyệt @@ -107,6 +101,7 @@ Cannot\ create\ group=Không thể tạo nhóm Cannot\ create\ group.\ Please\ create\ a\ library\ first.=Không thể tạo nhóm. Xin tạo thư viện trước. + case\ insensitive=không phân biệt chữ hoa/thường case\ sensitive=phân biệt chữ hoa/thường @@ -261,7 +256,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Gộp nhóm đ Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Gộp nhóm động các mục bằng cách tìm dữ liệu hoặc từ khóa -Each\ line\ must\ be\ of\ the\ following\ form=Mỗi dòng phải có dạng sau Edit=Chỉnh sửa @@ -329,7 +323,7 @@ Field=Dữ liệu field=dữ liệu Field\ name=Tên dữ liệu -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Tên dữ liệu không được phép chứa khoảng trắng hoặc các ký tự sau + Field\ to\ group\ by=Dữ liệu gộp nhóm theo @@ -419,22 +413,14 @@ Import\ and\ remove\ old\ entry=Nhập và loại bỏ mục cũ Import\ entries=Nhập các mục Import\ file=Nhập tập tin -Import\ group\ definitions=Nhập các định nghĩa nhóm - Import\ name=Nhập tên Import\ preferences=Nhập các tùy thích Import\ preferences\ from\ file=Nhập các tùy thích từ tập tin -Import\ strings=Nhập các chuỗi - -Import\ word\ selector\ definitions=Nhập các định nghĩa trình chọn từ - Imported\ entries=Các mục được nhập -Imported\ from\ library=được nhập từ CSDL - Importer\ class=Lớp ĐịnhdạngNhập Importing=Đang nhập @@ -537,7 +523,6 @@ No\ journal\ names\ could\ be\ abbreviated.=Không có tên tạp chí nào có No\ journal\ names\ could\ be\ unabbreviated.=Không có tên tạp chí nào có thể viết đầy đủ. - not=không not\ found=không tìm thấy @@ -786,7 +771,6 @@ Strings\ for\ library=Các chuỗi dùng cho CSDL Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=Chuyển đổi giữa tên đầy đủ và tên viết tắt tạp chí nếu biết tên tạp chí đó. -Tabname=Tên bảng Tertiary\ sort\ criterion=Tiêu chuẩn phân loại cấp ba The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=Mã hóa đã chọn '%0' không thể mã hóa được các ký tự sau\: @@ -958,7 +942,6 @@ Web\ search=Tìm kiếm trên web Cleanup\ entries=Dọn dẹp các mục - Clear\ rank=Xóa bỏ hạng Manage\ keywords=Quản lý các từ khóa Rank=Xếp hạng @@ -1107,7 +1090,6 @@ Do\ you\ want\ to\ recover\ the\ library\ from\ the\ backup\ file?=Bạn có mu -Default\ table\ font\ size=Kích thước phông chữ mặc định của bảng @@ -1164,3 +1146,6 @@ Default\ pattern=Kiểu mặc định + + + diff --git a/src/main/resources/l10n/JabRef_zh.properties b/src/main/resources/l10n/JabRef_zh.properties index e112bc648ee..79889b06b34 100644 --- a/src/main/resources/l10n/JabRef_zh.properties +++ b/src/main/resources/l10n/JabRef_zh.properties @@ -57,10 +57,6 @@ any\ field\ that\ matches\ the\ regular\ expression\ %0=匹配正则表 Appearance=外观 -Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ library=从一个 BibTeX 文献库追加内容到当前查看的文献库 - -Append\ library=追加文献库 - Application=应用程序 @@ -90,8 +86,6 @@ Available\ export\ formats=可用的导出格式 Available\ import\ formats=可用的导入格式 -Backup\ old\ file\ when\ saving=保存数据库时保留备份 - %0\ source=%0 源代码 Browse=浏览... @@ -102,6 +96,7 @@ The\ conflicting\ fields\ of\ these\ entries\ will\ be\ merged\ into\ the\ 'Comm Cancel=取消 + case\ insensitive=忽略大小写 case\ sensitive=区分大小写 @@ -252,7 +247,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=使用自定 Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=使用关键词搜索某域创建动态分组 -Each\ line\ must\ be\ of\ the\ following\ form=每一行必须使用以下形式 Edit=编辑 @@ -320,7 +314,7 @@ Field=域 field=域 Field\ name=域名称 -Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=域名中不可含有空格或以下字符 + Field\ to\ group\ by=用来分组的域 @@ -414,22 +408,14 @@ Import\ and\ remove\ old\ entry=导入且移除旧记录 Import\ entries=导入记录 Import\ file=导入文件 -Import\ group\ definitions=导入分组配置 - Import\ name=导入名称 Import\ preferences=导入首选项设置 Import\ preferences\ from\ file=从文件中导入首选项设置 -Import\ strings=导入简写字串 - -Import\ word\ selector\ definitions=导入词组下拉菜单项 - Imported\ entries=已导入记录 -Imported\ from\ library=已从文献库导入 - Importer\ class=Importer 类 Importing=正在导入 @@ -534,8 +520,6 @@ No\ journal\ names\ could\ be\ abbreviated.=没有可供缩写的期刊全称。 No\ journal\ names\ could\ be\ unabbreviated.=没有可供展开的期刊名缩写。 -Open\ PDF=打开 PDF - not=非 not\ found=无法找到 @@ -804,7 +788,6 @@ Strings\ for\ library=简写字串列表——文献库 Switches\ between\ full\ and\ abbreviated\ journal\ name\ if\ the\ journal\ name\ is\ known.=在已知的期刊名简写和全称之间切换。 -Tabname=标签页名 Tertiary\ sort\ criterion=次要依据 The\ chosen\ encoding\ '%0'\ could\ not\ encode\ the\ following\ characters\:=选择的编码 '%0' 无法支持下列字符\: @@ -1068,8 +1051,6 @@ No\ entry\ needed\ a\ clean\ up=没有条目需要清理 One\ entry\ needed\ a\ clean\ up=一个条目需要清理 %0\ entries\ needed\ a\ clean\ up=%0 条目需要清理 -Remove\ selected=移除选中的 - Group\ tree\ could\ not\ be\ parsed.\ If\ you\ save\ the\ BibTeX\ library,\ all\ groups\ will\ be\ lost.=无法解析组树。如果保存BibTeX库,所有组都会丢失。 Attach\ file=附加文件 Setting\ all\ preferences\ to\ default\ values.=重置所有首选项到默认值. @@ -1269,7 +1250,6 @@ This\ search\ contains\ entries\ in\ which=这次搜索的结果记录符合条 Unable\ to\ autodetect\ OpenOffice/LibreOffice\ installation.\ Please\ choose\ the\ installation\ directory\ manually.=自动检测 OpenOffice/LibreOffice 安装位置失败,请手动指定安装目录。 Close\ library=关闭文献库 -Decrease\ table\ font\ size=减小表格字号 Entry\ editor,\ next\ entry=记录编辑器,下一条记录 Entry\ editor,\ next\ panel=记录编辑器,下一个面板 Entry\ editor,\ next\ panel\ 2=记录编辑器,下一个面板 2 @@ -1281,7 +1261,6 @@ File\ list\ editor,\ move\ entry\ up=文件列表编辑器,上移记录 Focus\ entry\ table=激活记录列表 Import\ into\ current\ library=导入到当前文献库 Import\ into\ new\ library=导入到新文献库 -Increase\ table\ font\ size=增大表格字号 New\ article=新建 article New\ book=新建 book New\ entry=新建记录 @@ -1313,7 +1292,6 @@ type=类型 value=值 Show\ preferences=列表显示首选项 Save\ actions=保存时附加操作 -Enable\ save\ actions=启用保存附加操作 Convert\ to\ BibTeX\ format\ (for\ example,\ move\ the\ value\ of\ the\ 'journaltitle'\ field\ to\ 'journal')=转换为 BibTeX 格式 (例如,将 "journaltitle" 字段的值移动到 "journal") Other\ fields=其它域 @@ -1348,8 +1326,6 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=BIB文件中的Ill-formed输入类 Move\ linked\ files\ to\ default\ file\ directory\ %0=移动链接的文件到默认文件目录 %0 Do\ you\ still\ want\ to\ continue?=是否继续? -Run\ field\ formatter\:=运行字段格式化程序: -Table\ font\ size\ is\ %0=表格字号是 %0 Internal\ style=内部样式 Add\ style\ file=添加样式文件 Current\ style\ is\ '%0'=当前样式为 "%0" @@ -1614,8 +1590,6 @@ Author=作者 Date=日期 File\ annotations=文件批注 Show\ file\ annotations=显示文件批注 -Adobe\ Acrobat\ Reader=Adobe Acrobat Reader -Sumatra\ Reader=Sumatra 阅读器 shared=共享 should\ contain\ an\ integer\ or\ a\ literal=应当包含整数或文字 should\ have\ the\ first\ letter\ capitalized=首字母应当大写 @@ -1674,7 +1648,6 @@ journal\ not\ found\ in\ abbreviation\ list=在缩写列表中未能找到期刊 Unhandled\ exception\ occurred.=发生了无法处理的异常。 strings\ included=包含的字符串 -Default\ table\ font\ size=默认表格字号 Escape\ underscores=转义下划线 Color=色彩 Please\ also\ add\ all\ steps\ to\ reproduce\ this\ issue,\ if\ possible.=如果可能的话,也请添加所有步骤以重现这个问题。 @@ -1692,7 +1665,6 @@ Show\ this\ document\ until\ unlocked.=解锁前一直显示此文档。 Set\ current\ user\ name\ as\ owner.=将当前用户名设置为所有者。 Sort\ all\ subgroups\ (recursively)=对所有子组进行排序 (递归) -Collect\ and\ share\ telemetry\ data\ to\ help\ improve\ JabRef.=收集和共享遥测数据,用来帮助改善 JabRef。 Don't\ share=请勿共享 Share\ anonymous\ statistics=共享匿名统计数据 Telemetry\:\ Help\ make\ JabRef\ better=遥测:帮助使 JabRef 越来越好 @@ -1842,3 +1814,6 @@ Default\ pattern=默认模式 + + +