diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml
index e571d163e98..d14a77edd1a 100644
--- a/.github/workflows/deployment.yml
+++ b/.github/workflows/deployment.yml
@@ -67,12 +67,12 @@ jobs:
with:
fetch-depth: 0
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@v0.9.14
+ uses: gittools/actions/gitversion/setup@v0.9.15
with:
versionSpec: "5.x"
- name: Run GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@v0.9.14
+ uses: gittools/actions/gitversion/execute@v0.9.15
- name: Set up JDK
uses: actions/setup-java@v3
with:
@@ -170,12 +170,12 @@ jobs:
- name: Fetch all history for all tags and branches
run: git fetch --prune --unshallow
- name: Install GitVersion
- uses: gittools/actions/gitversion/setup@v0.9.14
+ uses: gittools/actions/gitversion/setup@v0.9.15
with:
versionSpec: '5.x'
- name: Run GitVersion
id: gitversion
- uses: gittools/actions/gitversion/execute@v0.9.14
+ uses: gittools/actions/gitversion/execute@v0.9.15
- name: Get linux binaries
uses: actions/download-artifact@master
with:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d59b62c1e5a..97becb751f8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,7 +20,8 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
- An SLR can now be started from the SLR itself. [#9131](https://github.com/JabRef/jabref/pull/9131), [koppor#601](https://github.com/koppor/jabref/issues/601)
- Implement a new ISBN Fetcher ([doi-to-bibtex-converter.herokuapp.com](http://doi-to-bibtex-converter.herokuapp.com) as source). [#9145](https://github.com/JabRef/jabref/pull/9145)
- We added support for the Ukrainian and Arabic languages. [#9236](https://github.com/JabRef/jabref/pull/9236), [#9243](https://github.com/JabRef/jabref/pull/9243)
-- Alternative ISBN fetcher from book-info. [#9145](https://github.com/JabRef/jabref/issues/9145)
+- We added an a new ISBN fetcher from book-info.com as source [#9145](https://github.com/JabRef/jabref/issues/9145)
+
### Changed
- We disabled the "change case" menu for empty fields [#9214](https://github.com/JabRef/jabref/issues/9214)
@@ -45,10 +46,13 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
- We fixed an issue where a message about changed metadata would occur on saving although nothing changed. [#9159](https://github.com/JabRef/jabref/issues/9159)
- When adding or editing a subgroup it is placed w.r.t. to alphabetical ordering rather than at the end. [koppor#577](https://github.com/koppor/jabref/issues/577)
- We modified the Directory of Open Access Books (DOAB) fetcher so that it will now also fetch the ISBN when possible. [#8708](https://github.com/JabRef/jabref/issues/8708)
--ISBN-fetcher-for-book-info.com-#9145
-- Add book-into ISBN fetcher to retryFetcher in IsbnFetcher [#9145](https://github.com/JabRef/jabref/issues/9145)
+- Groups context menu now shows appropriate options depending on number of subgroups. [koppor#579](https://github.com/koppor/jabref/issues/579)
+- We changed the color of found text from red to high-contrast colors (background: yellow; font color: purple). [koppor#552](https://github.com/koppor/jabref/issues/552)
- We modified the "Delete file" dialog and add the full file path to the dialog text. The file path in the title was changed to file name only. [koppor#534](https://github.com/koppor/jabref/issues/534)
- Download from URL now automatically fills with URL from clipboard. [koppor#535](https://github.com/koppor/jabref/issues/535)
+- We added HTML and Markdown files to Find Unlinked Files and removed BibTeX.[koppor#547](https://github.com/koppor/jabref/issues/547)
+- We changed the messages after importing unlinked local files to past tense. [koppor#548](https://github.com/koppor/jabref/issues/548)
+- We fixed an issue where the wrong icon for a successful import of a bib entry was shown [#9308](https://github.com/JabRef/jabref/pull/9308)
### Fixed
@@ -62,6 +66,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
- We fixed a performance regression when opening large libraries [#9041](https://github.com/JabRef/jabref/issues/9041)
- We fixed a bug where spaces are trimmed when highlighting differences in the Entries merge dialog. [koppor#371](https://github.com/koppor/jabref/issues/371)
- We fixed some visual glitches with the linked files editor field in the entry editor and increased its height. [#8823](https://github.com/JabRef/jabref/issues/8823)
+- We fixed some visual inconsistencies (round corners of highlighted buttons). [#8806](https://github.com/JabRef/jabref/issues/8806)
- We fixed several bugs regarding the manual and the autosave of library files that sometimes lead to exceptions or data loss. [#9067](https://github.com/JabRef/jabref/pull/9067), [#8448](https://github.com/JabRef/jabref/issues/8484), [#8746](https://github.com/JabRef/jabref/issues/8746), [#6684](https://github.com/JabRef/jabref/issues/6684), [#6644](https://github.com/JabRef/jabref/issues/6644), [#6102](https://github.com/JabRef/jabref/issues/6102), [#6002](https://github.com/JabRef/jabref/issues/6000)
- We fixed an issue where applied save actions on saving the library file would lead to the dialog "The library has been modified by another program" popping up [#4877](https://github.com/JabRef/jabref/issues/4877)
- We fixed issues with save actions not correctly loaded when opening the library. [#9122](https://github.com/JabRef/jabref/pull/9122)
@@ -76,6 +81,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve
- We fixed an issue where hitting enter on the search field within the preferences dialog closed the dialog. [koppor#630](https://github.com/koppor/jabref/issues/630)
- We fixed a typo within a connection error message. [koppor#625](https://github.com/koppor/jabref/issues/625)
- We fixed an issue where the 'close dialog' key binding was not closing the Preferences dialog. [#8888](https://github.com/jabref/jabref/issues/8888)
+- We fixed an issue when using an unsafe character in the citation key, the auto-linking feature fails to link files. [#9267](https://github.com/JabRef/jabref/issues/9267)
### Removed
diff --git a/build.gradle b/build.gradle
index cd180e5cfc9..3980eac1247 100644
--- a/build.gradle
+++ b/build.gradle
@@ -176,7 +176,7 @@ dependencies {
implementation 'org.controlsfx:controlsfx:11.1.2'
implementation 'org.jsoup:jsoup:1.15.3'
- implementation 'com.konghq:unirest-java:3.13.11'
+ implementation 'com.konghq:unirest-java:3.13.12'
implementation 'org.slf4j:slf4j-api:2.0.3'
implementation "org.tinylog:tinylog-api:2.5.0"
@@ -217,7 +217,7 @@ dependencies {
testImplementation "org.testfx:testfx-junit5:4.0.16-alpha"
testImplementation "org.hamcrest:hamcrest-library:2.2"
- checkstyle 'com.puppycrawl.tools:checkstyle:10.3.4'
+ checkstyle 'com.puppycrawl.tools:checkstyle:10.4'
// xjc needs the runtime as well for the ant task, otherwise it fails
xjc group: 'org.glassfish.jaxb', name: 'jaxb-xjc', version: '3.0.2'
xjc group: 'org.glassfish.jaxb', name: 'jaxb-runtime', version: '3.0.2'
diff --git a/buildres/csl/csl-styles/Gemfile.lock b/buildres/csl/csl-styles/Gemfile.lock
index dde35577b7f..fcd98426ce1 100644
--- a/buildres/csl/csl-styles/Gemfile.lock
+++ b/buildres/csl/csl-styles/Gemfile.lock
@@ -65,10 +65,10 @@ GEM
mini_portile2 (2.8.0)
multipart-post (2.1.1)
namae (1.1.1)
- nokogiri (1.13.6)
+ nokogiri (1.13.9)
mini_portile2 (~> 2.8.0)
racc (~> 1.4)
- nokogiri (1.13.6-x64-mingw32)
+ nokogiri (1.13.9-x64-mingw32)
racc (~> 1.4)
octokit (4.21.0)
faraday (>= 0.9)
diff --git a/buildres/csl/csl-styles/arcadia-science.csl b/buildres/csl/csl-styles/arcadia-science.csl
new file mode 100644
index 00000000000..74c7dc8d89a
--- /dev/null
+++ b/buildres/csl/csl-styles/arcadia-science.csl
@@ -0,0 +1,139 @@
+
+
diff --git a/buildres/csl/csl-styles/dependent/veterinary-record-open.csl b/buildres/csl/csl-styles/dependent/veterinary-record-open.csl
deleted file mode 100644
index 7976ce1ce56..00000000000
--- a/buildres/csl/csl-styles/dependent/veterinary-record-open.csl
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
diff --git a/buildres/csl/csl-styles/harvard-university-of-abertay-dundee.csl b/buildres/csl/csl-styles/harvard-university-of-abertay-dundee.csl
index 0e21a947c7d..0a793b00138 100644
--- a/buildres/csl/csl-styles/harvard-university-of-abertay-dundee.csl
+++ b/buildres/csl/csl-styles/harvard-university-of-abertay-dundee.csl
@@ -13,10 +13,13 @@
Sebastian Karcher
+
+ Naman Merchant
+
The Abertay version of the Harvard author-date style
- 2012-11-16T18:17:12+00:00
+ 2022-09-11T21:02:45+00:00
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
@@ -47,6 +50,7 @@
+
@@ -56,6 +60,7 @@
+
@@ -64,14 +69,7 @@
-
-
-
-
-
-
-
-
+
@@ -145,22 +143,16 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
@@ -171,9 +163,11 @@
-
+
-
+
+
+
diff --git a/buildres/csl/csl-styles/iawa-journal.csl b/buildres/csl/csl-styles/iawa-journal.csl
index ffae3813e49..da0b9ed086d 100644
--- a/buildres/csl/csl-styles/iawa-journal.csl
+++ b/buildres/csl/csl-styles/iawa-journal.csl
@@ -9,6 +9,9 @@
Patrick O'Brien
+
+ Ronald Visser
+
0928-1541
@@ -131,7 +134,7 @@
-
+
diff --git a/buildres/csl/csl-styles/ieee.csl b/buildres/csl/csl-styles/ieee.csl
index bff5b9197ed..8238e0aac1d 100644
--- a/buildres/csl/csl-styles/ieee.csl
+++ b/buildres/csl/csl-styles/ieee.csl
@@ -45,7 +45,7 @@
IEEE style as per the 2021 guidelines, V 01.29.2021.
- 2021-05-07T00:52:46+10:00
+ 2022-10-11T00:52:46+10:00
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
@@ -177,7 +177,7 @@
-
+
diff --git a/buildres/csl/csl-styles/journal-of-medical-internet-research.csl b/buildres/csl/csl-styles/journal-of-medical-internet-research.csl
index b75708a423d..b597dcd425a 100644
--- a/buildres/csl/csl-styles/journal-of-medical-internet-research.csl
+++ b/buildres/csl/csl-styles/journal-of-medical-internet-research.csl
@@ -20,11 +20,15 @@
Patrick O'Brien
+
+ Andrei Bosco Bezerra Torres
+ andrei.torres@ontariotechu.net
+
1439-4456
1438-8871
- 2017-06-02T10:20:48+00:00
+ 2022-09-08T13:25:00+00:00
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
@@ -74,16 +78,19 @@
-
+
-
-
-
+
+
+
+
+
+
-
+
@@ -96,29 +103,20 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
-
-
-
-
@@ -143,11 +141,6 @@
-
-
-
-
-
@@ -179,7 +172,6 @@
-
@@ -204,7 +196,6 @@
-
diff --git a/buildres/csl/csl-styles/physiotherapy-theory-and-practice.csl b/buildres/csl/csl-styles/physiotherapy-theory-and-practice.csl
index b10b7c0d7c6..5ff20e0edcf 100644
--- a/buildres/csl/csl-styles/physiotherapy-theory-and-practice.csl
+++ b/buildres/csl/csl-styles/physiotherapy-theory-and-practice.csl
@@ -14,7 +14,7 @@
0959-3985
1532-5040
- 2022-01-11T08:37:50+00:00
+ 2022-09-05T16:08:42+00:00
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
@@ -63,8 +63,8 @@
-
+
@@ -73,7 +73,7 @@
-
+
@@ -81,9 +81,11 @@
-
-
-
+
+
+
+
+
diff --git a/buildres/csl/csl-styles/veterinary-record-open.csl b/buildres/csl/csl-styles/veterinary-record-open.csl
new file mode 100644
index 00000000000..322dac9de53
--- /dev/null
+++ b/buildres/csl/csl-styles/veterinary-record-open.csl
@@ -0,0 +1,211 @@
+
+
diff --git a/src/main/java/org/jabref/gui/Base.css b/src/main/java/org/jabref/gui/Base.css
index 9ecf96eea3a..df5ac2adab9 100644
--- a/src/main/java/org/jabref/gui/Base.css
+++ b/src/main/java/org/jabref/gui/Base.css
@@ -339,7 +339,7 @@ TextFlow > .tooltip-text-monospaced {
.combo-box-base:editable > .arrow-button {
-fx-background-color: transparent;
-fx-background-insets: 0;
- -fx-background-radius: 0;
+ -fx-background-radius: 4px;
-fx-text-fill: -fx-text-base-color;
}
diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java
index 9da1e8fd77f..08a03176ec2 100644
--- a/src/main/java/org/jabref/gui/JabRefFrame.java
+++ b/src/main/java/org/jabref/gui/JabRefFrame.java
@@ -659,6 +659,15 @@ public void init() {
Platform.runLater(() -> stateManager.focusOwnerProperty().bind(
EasyBind.map(mainStage.getScene().focusOwnerProperty(), Optional::ofNullable)));
+ EasyBind.subscribe(tabbedPane.getSelectionModel().selectedItemProperty(), selectedTab -> {
+ if (selectedTab instanceof LibraryTab libraryTab) {
+ stateManager.setActiveDatabase(libraryTab.getBibDatabaseContext());
+ } else if (selectedTab == null) {
+ // All databases are closed
+ stateManager.setActiveDatabase(null);
+ }
+ });
+
/*
* The following state listener makes sure focus is registered with the
* correct database when the user switches tabs. Without this,
diff --git a/src/main/java/org/jabref/gui/LibraryTab.java b/src/main/java/org/jabref/gui/LibraryTab.java
index 607bcb474f7..8357479185d 100644
--- a/src/main/java/org/jabref/gui/LibraryTab.java
+++ b/src/main/java/org/jabref/gui/LibraryTab.java
@@ -226,14 +226,6 @@ public void onDatabaseLoadingSucceed(ParserResult result) {
LOGGER.error("Cannot access lucene index", e);
}
}
-
- // a temporary workaround to update groups pane
- stateManager.activeDatabaseProperty().bind(
- EasyBind.map(frame.getTabbedPane().getSelectionModel().selectedItemProperty(),
- selectedTab -> Optional.ofNullable(selectedTab)
- .filter(tab -> tab instanceof LibraryTab)
- .map(tab -> (LibraryTab) tab)
- .map(LibraryTab::getBibDatabaseContext)));
}
public void onDatabaseLoadingFailed(Exception ex) {
@@ -247,6 +239,11 @@ public void feedData(BibDatabaseContext bibDatabaseContext) {
cleanUp();
this.bibDatabaseContext = Objects.requireNonNull(bibDatabaseContext);
+ // When you open an existing library, a library tab with a loading animation is added immediately.
+ // At that point, the library tab is given a temporary bibDatabaseContext with no entries.
+ // This line is necessary because, while there is already a binding that updates the active database when a new tab is added,
+ // it doesn't handle the case when a library is loaded asynchronously.
+ stateManager.setActiveDatabase(bibDatabaseContext);
bibDatabaseContext.getDatabase().registerListener(this);
bibDatabaseContext.getMetaData().registerListener(this);
diff --git a/src/main/java/org/jabref/gui/StateManager.java b/src/main/java/org/jabref/gui/StateManager.java
index 9a27649eb9c..9cab5af0169 100644
--- a/src/main/java/org/jabref/gui/StateManager.java
+++ b/src/main/java/org/jabref/gui/StateManager.java
@@ -34,6 +34,8 @@
import com.tobiasdiez.easybind.EasyBind;
import com.tobiasdiez.easybind.EasyBinding;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* This class manages the GUI-state of JabRef, including:
@@ -49,6 +51,7 @@
*/
public class StateManager {
+ private static final Logger LOGGER = LoggerFactory.getLogger(StateManager.class);
private final CustomLocalDragboard localDragboard = new CustomLocalDragboard();
private final ObservableList openDatabases = FXCollections.observableArrayList();
private final OptionalObjectProperty activeDatabase = OptionalObjectProperty.empty();
@@ -129,6 +132,15 @@ public Optional getActiveDatabase() {
return activeDatabase.get();
}
+ public void setActiveDatabase(BibDatabaseContext database) {
+ if (database == null) {
+ LOGGER.info("No open database detected");
+ activeDatabaseProperty().set(Optional.empty());
+ } else {
+ activeDatabaseProperty().set(Optional.of(database));
+ }
+ }
+
public List getEntriesInCurrentDatabase() {
return OptionalUtil.flatMap(activeDatabase.get(), BibDatabaseContext::getEntries)
.collect(Collectors.toList());
diff --git a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
index e53c688a081..4b2befd4dd3 100644
--- a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
+++ b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.css
@@ -122,7 +122,11 @@
}
#bibtexSourceCodeArea .search {
- -fx-fill: red;
+ -rtfx-background-color: #ffff00;
+ -fx-fill: #7800A9 ;
+ -fx-font-size: 1.2em;
+ -fx-font-weight: bolder;
+
}
#citationsPane {
diff --git a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java
index 873ae09cb59..38fd37299af 100644
--- a/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java
+++ b/src/main/java/org/jabref/gui/externalfiles/ImportHandler.java
@@ -119,10 +119,10 @@ protected List call() {
if (!pdfEntriesInFile.isEmpty()) {
entriesToAdd.addAll(pdfEntriesInFile);
- addResultToList(file, true, Localization.lang("Importing using extracted PDF data"));
+ addResultToList(file, true, Localization.lang("File was successfully imported as a new entry"));
} else {
entriesToAdd.add(createEmptyEntryWithLink(file));
- addResultToList(file, false, Localization.lang("No metadata found. Creating empty entry with file link"));
+ addResultToList(file, false, Localization.lang("No metadata was found. An empty entry was created with file link"));
}
} else if (FileUtil.isBibFile(file)) {
var bibtexParserResult = contentImporter.importFromBibFile(file, fileUpdateMonitor);
@@ -131,10 +131,10 @@ protected List call() {
}
entriesToAdd.addAll(bibtexParserResult.getDatabaseContext().getEntries());
- addResultToList(file, false, Localization.lang("Importing bib entry"));
+ addResultToList(file, true, Localization.lang("Bib entry was successfully imported"));
} else {
entriesToAdd.add(createEmptyEntryWithLink(file));
- addResultToList(file, false, Localization.lang("No BibTeX data found. Creating empty entry with file link"));
+ addResultToList(file, false, Localization.lang("No BibTeX data was found. An empty entry was created with file link"));
}
} catch (IOException ex) {
LOGGER.error("Error importing", ex);
diff --git a/src/main/java/org/jabref/gui/externalfiles/UnlinkedFilesDialogViewModel.java b/src/main/java/org/jabref/gui/externalfiles/UnlinkedFilesDialogViewModel.java
index 2129e473c4a..92fc8904b5e 100644
--- a/src/main/java/org/jabref/gui/externalfiles/UnlinkedFilesDialogViewModel.java
+++ b/src/main/java/org/jabref/gui/externalfiles/UnlinkedFilesDialogViewModel.java
@@ -102,7 +102,8 @@ public UnlinkedFilesDialogViewModel(DialogService dialogService,
this.fileFilterList = FXCollections.observableArrayList(
new FileExtensionViewModel(StandardFileType.ANY_FILE, preferences.getFilePreferences()),
- new FileExtensionViewModel(StandardFileType.BIBTEX_DB, preferences.getFilePreferences()),
+ new FileExtensionViewModel(StandardFileType.HTML, preferences.getFilePreferences()),
+ new FileExtensionViewModel(StandardFileType.MARKDOWN, preferences.getFilePreferences()),
new FileExtensionViewModel(StandardFileType.PDF, preferences.getFilePreferences()));
this.dateFilterList = FXCollections.observableArrayList(DateRange.values());
diff --git a/src/main/java/org/jabref/gui/externalfiletype/StandardExternalFileType.java b/src/main/java/org/jabref/gui/externalfiletype/StandardExternalFileType.java
index 92718e09a7a..fc12e9670e8 100644
--- a/src/main/java/org/jabref/gui/externalfiletype/StandardExternalFileType.java
+++ b/src/main/java/org/jabref/gui/externalfiletype/StandardExternalFileType.java
@@ -28,8 +28,8 @@ public enum StandardExternalFileType implements ExternalFileType {
TIFF(Localization.lang("%0 image", "TIFF"), "tiff", "image/tiff", "gimp", "picture", IconTheme.JabRefIcons.PICTURE),
URL("URL", "html", "text/html", "firefox", "www", IconTheme.JabRefIcons.WWW),
MHT("MHT", "mht", "multipart/related", "firefox", "www", IconTheme.JabRefIcons.WWW),
- ePUB("ePUB", "epub", "application/epub+zip", "firefox", "www", IconTheme.JabRefIcons.WWW);
-
+ ePUB("ePUB", "epub", "application/epub+zip", "firefox", "www", IconTheme.JabRefIcons.WWW),
+ MARKDOWN("Markdown", "md", "text/markdown", "emacs", "emacs", IconTheme.JabRefIcons.FILE_TEXT);
private final String name;
private final String extension;
private final String mimeType;
diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeView.java b/src/main/java/org/jabref/gui/groups/GroupTreeView.java
index 81510b3199c..53495ff6bda 100644
--- a/src/main/java/org/jabref/gui/groups/GroupTreeView.java
+++ b/src/main/java/org/jabref/gui/groups/GroupTreeView.java
@@ -403,7 +403,11 @@ private Optional> getTreeItemByValue(TreeItem viewModel.removeGroupNoSubgroups(group));
MenuItem editGroup = new MenuItem(Localization.lang("Edit group"));
editGroup.setOnAction(event -> {
@@ -425,9 +429,7 @@ private ContextMenu createContextMenuForGroup(GroupNodeViewModel group) {
});
MenuItem removeSubgroups = new MenuItem(Localization.lang("Remove subgroups"));
- removeSubgroups.setOnAction(event -> {
- viewModel.removeSubgroups(group);
- });
+ removeSubgroups.setOnAction(event -> viewModel.removeSubgroups(group));
MenuItem sortSubgroups = new MenuItem(Localization.lang("Sort subgroups A-Z"));
sortSubgroups.setOnAction(event -> viewModel.sortAlphabeticallyRecursive(group.getGroupNode()));
@@ -438,17 +440,28 @@ private ContextMenu createContextMenuForGroup(GroupNodeViewModel group) {
MenuItem removeEntries = new MenuItem(Localization.lang("Remove selected entries from this group"));
removeEntries.setOnAction(event -> viewModel.removeSelectedEntries(group));
- menu.getItems().add(editGroup);
- removeGroup.getItems().add(removeGroupKeepSubgroups);
- removeGroup.getItems().add(removeGroupAndSubgroups);
- menu.getItems().add(removeGroup);
- menu.getItems().add(new SeparatorMenuItem());
- menu.getItems().add(addSubgroup);
- menu.getItems().add(removeSubgroups);
- menu.getItems().add(sortSubgroups);
- menu.getItems().add(new SeparatorMenuItem());
- menu.getItems().add(addEntries);
- menu.getItems().add(removeEntries);
+ menu.setOnShown(event -> {
+ menu.getItems().clear();
+ menu.getItems().add(editGroup);
+ if (group.getChildren().size() > 0) {
+ menu.getItems().add(removeGroupWithSubgroups);
+ menu.getItems().add(new SeparatorMenuItem());
+ menu.getItems().add(addSubgroup);
+ menu.getItems().add(removeSubgroups);
+ menu.getItems().add(sortSubgroups);
+ } else {
+ menu.getItems().add(removeGroupNoSubgroups);
+ menu.getItems().add(new SeparatorMenuItem());
+ menu.getItems().add(addSubgroup);
+ }
+ menu.getItems().add(new SeparatorMenuItem());
+ menu.getItems().add(addEntries);
+ menu.getItems().add(removeEntries);
+ });
+
+ menu.getItems().add(new Menu());
+ removeGroupWithSubgroups.getItems().add(removeGroupKeepSubgroups);
+ removeGroupWithSubgroups.getItems().add(removeGroupAndSubgroups);
// TODO: Disable some actions under certain conditions
// if (group.canBeEdited()) {
diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java b/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java
index 8cf74178629..08a9465b2cf 100644
--- a/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java
+++ b/src/main/java/org/jabref/gui/groups/GroupTreeViewModel.java
@@ -471,6 +471,43 @@ public void removeGroupAndSubgroups(GroupNodeViewModel group) {
}
}
+ /**
+ * Removes the specified group (after asking for confirmation).
+ */
+ public void removeGroupNoSubgroups(GroupNodeViewModel group) {
+ boolean confirmed;
+ if (selectedGroups.size() <= 1) {
+ confirmed = dialogService.showConfirmationDialogAndWait(
+ Localization.lang("Remove group"),
+ Localization.lang("Remove group \"%0\"?", group.getDisplayName()),
+ Localization.lang("Remove"));
+ } else {
+ confirmed = dialogService.showConfirmationDialogAndWait(
+ Localization.lang("Remove groups and subgroups"),
+ Localization.lang("Remove all selected groups and their subgroups?"),
+ Localization.lang("Remove all"));
+ }
+
+ if (confirmed) {
+ // TODO: Add undo
+ // final UndoableAddOrRemoveGroup undo = new UndoableAddOrRemoveGroup(groupsRoot, node, UndoableAddOrRemoveGroup.REMOVE_NODE_WITHOUT_CHILDREN);
+ // panel.getUndoManager().addEdit(undo);
+
+ ArrayList selectedGroupNodes = new ArrayList<>(selectedGroups);
+ selectedGroupNodes.forEach(eachNode -> {
+ removeGroupsAndSubGroupsFromEntries(eachNode);
+ eachNode.getGroupNode().removeFromParent();
+ });
+
+ if (selectedGroupNodes.size() > 1) {
+ dialogService.notify(Localization.lang("Removed all selected groups."));
+ } else {
+ dialogService.notify(Localization.lang("Removed group \"%0\".", group.getDisplayName()));
+ }
+ writeGroupChangesToMetaData();
+ }
+ }
+
void removeGroupsAndSubGroupsFromEntries(GroupNodeViewModel group) {
for (GroupNodeViewModel child : group.getChildren()) {
removeGroupsAndSubGroupsFromEntries(child);
diff --git a/src/main/java/org/jabref/gui/importer/NewEntryAction.java b/src/main/java/org/jabref/gui/importer/NewEntryAction.java
index ef085920713..fcb25a991bc 100644
--- a/src/main/java/org/jabref/gui/importer/NewEntryAction.java
+++ b/src/main/java/org/jabref/gui/importer/NewEntryAction.java
@@ -24,11 +24,14 @@ public class NewEntryAction extends SimpleCommand {
private static final Logger LOGGER = LoggerFactory.getLogger(NewEntryAction.class);
private final JabRefFrame jabRefFrame;
+
/**
* The type of the entry to create.
*/
private Optional type;
+
private final DialogService dialogService;
+
private final PreferencesService preferences;
public NewEntryAction(JabRefFrame jabRefFrame, DialogService dialogService, PreferencesService preferences, StateManager stateManager) {
diff --git a/src/main/java/org/jabref/logic/util/StandardFileType.java b/src/main/java/org/jabref/logic/util/StandardFileType.java
index aadae024051..0b7f73e5a09 100644
--- a/src/main/java/org/jabref/logic/util/StandardFileType.java
+++ b/src/main/java/org/jabref/logic/util/StandardFileType.java
@@ -45,7 +45,9 @@ public enum StandardFileType implements FileType {
CFF("CFF", "cff"),
ANY_FILE("Any", "*"),
CER("SSL Certificate", "cer"),
- CITAVI("Citavi", "ctv6bak", "ctv5bak");
+ CITAVI("Citavi", "ctv6bak", "ctv5bak"),
+ MARKDOWN("Markdown", "md");
+
diff --git a/src/main/java/org/jabref/logic/util/io/CitationKeyBasedFileFinder.java b/src/main/java/org/jabref/logic/util/io/CitationKeyBasedFileFinder.java
index 27f71f6b530..81746101a40 100644
--- a/src/main/java/org/jabref/logic/util/io/CitationKeyBasedFileFinder.java
+++ b/src/main/java/org/jabref/logic/util/io/CitationKeyBasedFileFinder.java
@@ -66,7 +66,7 @@ public List findAssociatedFiles(BibEntry entry, List directories, Li
}
private boolean matches(String filename, String citeKey) {
- boolean startsWithKey = filename.startsWith(citeKey);
+ boolean startsWithKey = filename.startsWith(FileNameCleaner.cleanFileName(citeKey));
if (startsWithKey) {
// The file name starts with the key, that's already a good start
// However, we do not want to match "JabRefa" for "JabRef" since this is probably a file belonging to another entry published in the same time / same name
diff --git a/src/main/java/org/jabref/logic/util/io/FileUtil.java b/src/main/java/org/jabref/logic/util/io/FileUtil.java
index 7d63235c647..2b02869a59d 100644
--- a/src/main/java/org/jabref/logic/util/io/FileUtil.java
+++ b/src/main/java/org/jabref/logic/util/io/FileUtil.java
@@ -380,10 +380,10 @@ public static boolean isBibFile(Path file) {
}
/**
- * Test if the file is a bib file by simply checking the extension to be ".bib"
+ * Test if the file is a pdf file by simply checking the extension to be ".pdf"
*
* @param file The file to check
- * @return True if file extension is ".bib", false otherwise
+ * @return True if file extension is ".pdf", false otherwise
*/
public static boolean isPDFFile(Path file) {
return getFileExtension(file).filter("pdf"::equals).isPresent();
diff --git a/src/main/resources/csl-styles/ieee.csl b/src/main/resources/csl-styles/ieee.csl
index bff5b9197ed..8238e0aac1d 100644
--- a/src/main/resources/csl-styles/ieee.csl
+++ b/src/main/resources/csl-styles/ieee.csl
@@ -45,7 +45,7 @@
IEEE style as per the 2021 guidelines, V 01.29.2021.
- 2021-05-07T00:52:46+10:00
+ 2022-10-11T00:52:46+10:00
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 License
@@ -177,7 +177,7 @@
-
+
diff --git a/src/main/resources/l10n/JabRef_ar.properties b/src/main/resources/l10n/JabRef_ar.properties
index 41c4cf07501..ab8ce21bc4d 100644
--- a/src/main/resources/l10n/JabRef_ar.properties
+++ b/src/main/resources/l10n/JabRef_ar.properties
@@ -368,6 +368,7 @@ Previous\ entry=المرجع السابق
+
Save\ library=حفظ المكتبة
diff --git a/src/main/resources/l10n/JabRef_da.properties b/src/main/resources/l10n/JabRef_da.properties
index 2ba8f8b784f..7093588da0c 100644
--- a/src/main/resources/l10n/JabRef_da.properties
+++ b/src/main/resources/l10n/JabRef_da.properties
@@ -564,6 +564,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Fjernede gruppen "%0" og dens undergr
+
Remove\ link=Slet link
diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties
index 63f27405784..cc32dcb5ced 100644
--- a/src/main/resources/l10n/JabRef_de.properties
+++ b/src/main/resources/l10n/JabRef_de.properties
@@ -707,6 +707,7 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=Alle ausgewählten Gruppen
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Alle ausgewählten Gruppen und ihre Untergruppen entfernt.
+
Remove\ link=Link löschen
Remove\ string\ %0=Entferne String %0
@@ -1819,7 +1820,7 @@ To\ improve\ the\ user\ experience,\ we\ would\ like\ to\ collect\ anonymous\ st
This\ file\ was\ found\ automatically.\ Do\ you\ want\ to\ link\ it\ to\ this\ entry?=Diese Datei wurde automatisch gefunden. Möchten Sie sie dem Eintrag zuordnen?
Names\ are\ not\ in\ the\ standard\ %0\ format.=Namen entsprechen nicht dem Standard %0-Format
-Delete\ '%0'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Soll '%0' unwiderruflich vom Datenträger gelöscht werden oder soll die Datei nur aus dem Eintrag entfernt werden? Durch drücken 'Auf der Festplatte löschen' wird die Datei unwiderruflich vom Datenträger gelöscht.
+Delete\ '%0'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Soll '%0' unwiderruflich vom Datenträger gelöscht oder soll die Datei nur aus dem Eintrag entfernt werden? Durch Drücken 'Auf der Festplatte löschen' wird die Datei unwiderruflich vom Datenträger gelöscht.
Delete\ '%0'=Lösche Datei '%0'
Delete\ from\ disk=Auf der Festplatte löschen
Remove\ from\ entry=Vom Eintrag entfernen
@@ -2321,10 +2322,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Fehler beim Importieren.
Error\ from\ import\:\ %0=Fehler beim Import\: %0
Error\ reading\ PDF\ content\:\ %0=Fehler beim Lesen des PDF-Inhalts\: %0
-Importing\ bib\ entry=Improtiere bib Eintrag
-Importing\ using\ extracted\ PDF\ data=Importieren mit extrahierten PDF-Daten
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=Keine BibTeX-Daten gefunden. Erstelle leeren Eintrag mit Datei-Verknüpfung
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Keine Metadaten gefunden. Leerer Eintrag mit Datei-Link wird erstellt
+Bib\ entry\ was\ successfully\ imported=Bib-Eintrag wurde erfolgreich importiert
+File\ was\ successfully\ imported\ as\ a\ new\ entry=Datei wurde erfolgreich als neuer Eintrag importiert
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Es wurden keine BibTeX-Daten gefunden. Ein leerer Eintrag mit einer Dateiverknüpfung wurde erstellt
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Es wurden keine Metadaten gefunden. Ein leerer Eintrag mit einer Dateiverknüpfung wurde erstellt
Processing\ file\ %0=Datei %0 wird verarbeitet
Export\ selected=Ausgewählte exportieren
diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties
index 22310bb3c1b..3bb4dd92b9a 100644
--- a/src/main/resources/l10n/JabRef_el.properties
+++ b/src/main/resources/l10n/JabRef_el.properties
@@ -601,6 +601,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Η ομάδα "%0" και οι υπο
+
Remove\ link=Αφαίρεση συνδέσμου
diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties
index 28fd418f135..c355aecce47 100644
--- a/src/main/resources/l10n/JabRef_en.properties
+++ b/src/main/resources/l10n/JabRef_en.properties
@@ -707,6 +707,8 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=Remove all selected groups
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Removed all selected groups and their subgroups.
+Remove\ group\ "%0"?=Remove group "%0"?
+
Remove\ link=Remove link
Remove\ string\ %0=Remove string %0
@@ -2321,10 +2323,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Error importing. See the
Error\ from\ import\:\ %0=Error from import\: %0
Error\ reading\ PDF\ content\:\ %0=Error reading PDF content\: %0
-Importing\ bib\ entry=Importing bib entry
-Importing\ using\ extracted\ PDF\ data=Importing using extracted PDF data
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=No BibTeX data found. Creating empty entry with file link
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=No metadata found. Creating empty entry with file link
+Bib\ entry\ was\ successfully\ imported=Bib entry was successfully imported
+File\ was\ successfully\ imported\ as\ a\ new\ entry=File was successfully imported as a new entry
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=No BibTeX data was found. An empty entry was created with file link
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=No metadata was found. An empty entry was created with file link
Processing\ file\ %0=Processing file %0
Export\ selected=Export selected
diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties
index 1f398f4d3bd..cfb9f3195ba 100644
--- a/src/main/resources/l10n/JabRef_es.properties
+++ b/src/main/resources/l10n/JabRef_es.properties
@@ -700,6 +700,7 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=¿Eliminar todos los grupo
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Eliminados todos los grupos seleccionados y sus subgrupos.
+
Remove\ link=Eliminar enlace
Remove\ string\ %0=Eliminar cadena %0
@@ -2294,10 +2295,6 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Error al importar. Consul
Error\ from\ import\:\ %0=Error de importación\: %0
Error\ reading\ PDF\ content\:\ %0=Error al leer el contenido PDF\: %0
-Importing\ bib\ entry=Importando entrada bibliográfica
-Importing\ using\ extracted\ PDF\ data=Importación usando datos extraídos del PDF
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=No se encontraron datos BibTeX. Creando entrada vacía con enlace de archivo
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=No se encontraron metadatos. Creando entrada vacía con enlace de archivo
Processing\ file\ %0=Procesando archivo %0
Export\ selected=Exportar seleccionados
diff --git a/src/main/resources/l10n/JabRef_fa.properties b/src/main/resources/l10n/JabRef_fa.properties
index 24dd75bae5f..0dd902fe0bf 100644
--- a/src/main/resources/l10n/JabRef_fa.properties
+++ b/src/main/resources/l10n/JabRef_fa.properties
@@ -363,6 +363,7 @@ Open\ terminal\ here=در اینجا پایانه را باز کن
+
Library\ saved=کتابخانه ذخیره شد
diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties
index 7972ef44406..ec64debc327 100644
--- a/src/main/resources/l10n/JabRef_fr.properties
+++ b/src/main/resources/l10n/JabRef_fr.properties
@@ -707,6 +707,8 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=Supprimer tous les groupes
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Tous les groupes sélectionnés et leurs sous-groupes ont été supprimés.
+Remove\ group\ "%0"?=Supprimer le groupe "%0" ?
+
Remove\ link=Supprimer le lien
Remove\ string\ %0=Supprimer la chaîne %0
@@ -867,6 +869,7 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Veuillez vérifier la sy
SourceTab\ error=Erreur de SourceTab
User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=La saisie de l'utilisateur via l'éditeur d'entrée dans l'onglet `{}bibtex source` a conduit à un échec.
+Sort\ subgroups\ A-Z=Trier les sous-groupes A-Z
source\ edit=édition du source
Special\ name\ formatters=Formateurs de nom spéciaux
@@ -1818,6 +1821,7 @@ To\ improve\ the\ user\ experience,\ we\ would\ like\ to\ collect\ anonymous\ st
This\ file\ was\ found\ automatically.\ Do\ you\ want\ to\ link\ it\ to\ this\ entry?=Ce fichier a été trouvé automatiquement. Voulez-vous le lier à cette entrée ?
Names\ are\ not\ in\ the\ standard\ %0\ format.=Des noms ne sont pas au standard du format %0.
+Delete\ '%0'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Supprimer '%0' définitivement du disque, ou supprimer juste le fichier de l'entrée ? Appuyer sur Supprimer supprimera définitivement le fichier du disque.
Delete\ '%0'=Supprimer « %0 »
Delete\ from\ disk=Supprimer du disque
Remove\ from\ entry=Effacer de l'entrée
@@ -2319,10 +2323,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Erreur lors de l'importat
Error\ from\ import\:\ %0=Erreur d'importation \: %0
Error\ reading\ PDF\ content\:\ %0=Erreur de lecture du contenu du PDF \: %0
-Importing\ bib\ entry=Importation de l'entrée BIB
-Importing\ using\ extracted\ PDF\ data=Importation en utilisant les données extraites du PDF
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=Aucune donnée BibTeX trouvée. Création d'une entrée vide avec un lien de fichier
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Aucune métadonnée trouvée. Création d'une entrée vide avec un lien de fichier
+Bib\ entry\ was\ successfully\ imported=L'entrée BibTeX a été importée avec succès
+File\ was\ successfully\ imported\ as\ a\ new\ entry=Le fichier a été importé avec succès en tant que nouvelle entrée
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Aucune donnée BibTeX n'a été trouvée. Une entrée vide a été créée avec un lien de fichier
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Aucune métadonnée n'a été trouvée. Une entrée vide a été créée avec un lien de fichier
Processing\ file\ %0=Traitement du fichier %0
Export\ selected=Exporter la sélection
diff --git a/src/main/resources/l10n/JabRef_id.properties b/src/main/resources/l10n/JabRef_id.properties
index 6d9250bd9eb..d61b0f259f9 100644
--- a/src/main/resources/l10n/JabRef_id.properties
+++ b/src/main/resources/l10n/JabRef_id.properties
@@ -593,6 +593,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Hapus grup "%0" dan sub-grup nya.
+
Remove\ link=Hapus tautan
diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties
index 01f82c7e7ee..b7fa7126670 100644
--- a/src/main/resources/l10n/JabRef_it.properties
+++ b/src/main/resources/l10n/JabRef_it.properties
@@ -360,7 +360,10 @@ Filter=Filtro
Filter\ groups=Filtra gruppi
+Success\!\ Finished\ writing\ metadata.=Completato con successo\! Scrivere i metadati.
Finished\ writing\ metadata\ for\ %0\ file\ (%1\ skipped,\ %2\ errors).=Terminata la scrittura di metadati Xmp per %0 file (%1 saltati, %2 errori).
+Error\ while\ writing\ metadata.\ See\ the\ error\ log\ for\ details.=Errore durante la scrittura dei metadati. Vedere il registro degli errori per i dettagli.
+Failed\ to\ write\ metadata,\ file\ %1\ not\ found.=Impossibile scrivere i metadati, file %1 non trovato.
First\ select\ the\ entries\ you\ want\ keys\ to\ be\ generated\ for.=Selezionare dapprima le voci per le quali si vogliono generare le chiavi.
@@ -527,7 +530,9 @@ Moved\ group\ "%0".=Spostato gruppo "%0".
Mr.\ DLib\ Privacy\ settings=Impostazioni Privacy di Mr. DLib
+No\ database\ is\ open=Nessun database è aperto
+We\ need\ a\ database\ to\ export\ from.\ Open\ one.=Abbiamo bisogno di una banca dati da cui esportare. Aprine una.
No\ recommendations\ received\ from\ Mr.\ DLib\ for\ this\ entry.=Nessun suggerimento ricevuto da Mr. DLib per questa voce.
@@ -702,6 +707,8 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=Rimuovere tutti i gruppi s
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Rimossi tutti i gruppi selezionati e i loro sottogruppi.
+Remove\ group\ "%0"?=Rimuovere il gruppo "%0"?
+
Remove\ link=Rimuovere il collegamento
Remove\ string\ %0=Rimuovi la stringa %0
@@ -1057,6 +1064,7 @@ Cite\ special=Citazione speciale
Extra\ information\ (e.g.\ page\ number)=Informazione aggiuntiva (es. numero di pagina)
Manage\ citations=Gestione delle citazioni
Problem\ modifying\ citation=Problema nella modifica della citazione
+Problem\ collecting\ citations=Problema nella raccolta delle citazioni
Citation=Citazione
Connecting...=Connetto...
Select\ style=Seleziona stile
@@ -1071,7 +1079,9 @@ Sync\ OpenOffice/LibreOffice\ bibliography=Sincronizza la bibliografia OpenOffic
Select\ which\ open\ Writer\ document\ to\ work\ on=Selezionare il documento Writer aperto su cui lavorare
Connected\ to\ document=Connesso al documento
+Could\ not\ connect\ to\ any\ Writer\ document.\ Please\ make\ sure\ a\ document\ is\ open\ before\ using\ the\ 'Select\ Writer\ document'\ button\ to\ connect\ to\ it.=Impossibile connettersi ad alcun documento di Writer. Assicurato che un documento sia aperto prima di usare il pulsante 'Seleziona documento di scrittura' per collegarvisi.
+No\ Writer\ documents\ found=Nessun documento di Writer trovato
Insert\ a\ citation\ without\ text\ (the\ entry\ will\ appear\ in\ the\ reference\ list)=Inserire una citazione senza testo (la voce comparirà nella lista dei riferimenti)
Cite\ selected\ entries\ with\ extra\ information=Cita le voci selezionate con informazioni aggiuntive
@@ -1079,8 +1089,11 @@ Ensure\ that\ the\ bibliography\ is\ up-to-date=Assicura che la bibliografia sia
Your\ OpenOffice/LibreOffice\ document\ references\ the\ citation\ key\ '%0',\ which\ could\ not\ be\ found\ in\ your\ current\ library.=Il tuo documento OpenOffice/LibreOffice fa riferimento alla chiave BibTeX '%0', non presente nella libreria corrente.
+This\ operation\ requires\ a\ bibliography\ database.=Questa operazione richiede un database bibliografico.
+Your\ OpenOffice/LibreOffice\ document\ references\ at\ least\ %0\ citation\ keys\ which\ could\ not\ be\ found\ in\ your\ current\ library.\ Some\ of\ these\ are\ %1.=Il documento OpenOffice/LibreOffice fa riferimento ad almeno %0 chiavi di citazione che non possono essere trovate nella tua libreria attuale. Alcune di queste sono %1.
+Your\ OpenOffice/LibreOffice\ document\ references\ no\ citation\ keys\ which\ could\ also\ be\ found\ in\ your\ current\ library.=Il documento OpenOffice/LibreOffice non fa riferimento a nessuna chiave di citazione che possa essere trovata anche nella tua libreria attuale.
Unable\ to\ synchronize\ bibliography=Impossiblile sincronizzare la bibliografia
Combine\ pairs\ of\ citations\ that\ are\ separated\ by\ spaces\ only=Combina le coppie di citazioni separate solo da spazi
@@ -1088,7 +1101,12 @@ Autodetection\ failed=Autorilevamento non riuscito
Please\ wait...=Attendere...
Connection\ lost=Connessione perduta
+Could\ not\ update\ bibliography=Impossibile aggiornare la bibliografia
+Not\ connected\ to\ document=Non connesso al documento
+Problem\ combining\ cite\ markers=Problema di combinazione marcatori citazione
+Unable\ to\ reload\ style\ file=Impossibile ricaricare il file di stile
+Problem\ during\ separating\ cite\ markers=Problema durante la separazione dei marcatori di citazione
Automatically\ sync\ bibliography\ when\ inserting\ citations=Sincronizza automaticamente la bibliografia all'inserimento delle citazioni
Look\ up\ BibTeX\ entries\ in\ the\ active\ tab\ only=Ricerca le voci BibTeX solo nella scheda attiva
@@ -1189,6 +1207,7 @@ Toggle\ relevance=Mostra/Nascondi rilevanza
Toggle\ quality\ assured=Mostra/Nascondi qualità
Toggle\ print\ status=Invertito lo stato di stampa
Update\ keywords=Aggiorna parole chiave
+Problem\ connecting=Problema di connessione
Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Perduta la connessione con OpenOffice/LibreOffice. Assicurarsi che OpenOffice/LibreOffice sia in esecuzione e provare a riconnettersi.
JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRef spedirà almeno una richiesta per voce ad un editore.
@@ -1242,7 +1261,11 @@ Check\ connection=Controlla la connessione
Connection\ failed\!=Connessione fallita\!
Connection\ successful\!=Connessione riuscita\!
+SSL\ Configuration=Configurazione SSL
SSL\ configuration\ changed=Configurazione SSL modificata
+SSL\ certificate\ file=File di certificato SSL
+Duplicate\ Certificates=Certificati Duplicati
+You\ already\ added\ this\ certificate=Hai già aggiunto questo certificato
Open\ folder=Apri cartella
Export\ sort\ order=Esporta il modo di ordinamento
@@ -1577,10 +1600,21 @@ Custom=Appopsito
Export\ cited=Esporta citazioni
Unable\ to\ generate\ new\ library=Impossibile generare la nuova libreria
+The\ cursor\ is\ in\ a\ protected\ area.=Il cursore si trova in un'area protetta.
+JabRefException=JabRefException
+No\ bibliography\ database\ is\ open\ for\ citation.=Nessun database bibliografico è aperto per la citazione.
+No\ database\ is\ open\ for\ updating\ citation\ markers\ after\ citing.=Nessun database è aperto per aggiornare le citazioni dopo aver citato.
+No\ bibliography\ entries\ are\ selected\ for\ citation.=Nessuna voce bibliografica selezionata per la citazione.
+No\ bibliography\ style\ is\ selected\ for\ citation.=Non è stato selezionato uno stile bibliografico per la citazione.
+No\ database=Nessun database
+No\ entries\ selected\ for\ citation=Nessuna voce selezionata per la citazione
+Open\ one\ before\ citing.=Aprirne uno prima di citare.
+Select\ one\ before\ citing.=Selezionane uno prima di citare.
+Select\ some\ before\ citing.=Selezionare alcuni prima di citare.
Found\ identical\ ranges=Trovati intervalli identici
Found\ overlapping\ ranges=Trovati intervalli di sovrapposizione
@@ -2289,10 +2323,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Errore nell'importazione.
Error\ from\ import\:\ %0=Errore dall'importazione\: %0
Error\ reading\ PDF\ content\:\ %0=Errore nel leggere il contenuto PDF\: %0
-Importing\ bib\ entry=Importazione voce bib
-Importing\ using\ extracted\ PDF\ data=Importazione utilizzando i dati PDF estratti
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=Nessun dato BibTeX trovato. Creazione di una voce vuota con collegamento al file
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Nessun metadata trovato. Creazione di una voce vuota con collegamento al file
+Bib\ entry\ was\ successfully\ imported=Voce bib importata con successo
+File\ was\ successfully\ imported\ as\ a\ new\ entry=Il file è stato importato con successo come nuova voce
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Nessun dato BibTeX è stato trovato. Una voce vuota è stata creata con il collegamento del file
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Nessun metadato trovato. Una voce vuota è stata creata con il collegamento del file
Processing\ file\ %0=Elaborazione file %0
Export\ selected=Esporta selezionati
@@ -2308,19 +2342,34 @@ Custom\ DOI\ URI=Uri DOI Personalizzato
Use\ custom\ DOI\ base\ URI\ for\ article\ access=Usa l'URI di base DOI personalizzato per l'accesso agli articoli
Cited\ on\ pages=Citato sulle pagine
+Please\ move\ the\ cursor\ into\ the\ document\ text.=Spostare il cursore nel testo del documento.
+To\ get\ the\ visual\ positions\ of\ your\ citations\ I\ need\ to\ move\ the\ cursor\ around,\ but\ could\ not\ get\ it.=Per ottenere le posizioni visive delle vostre citazioni ho bisogno di spostare il cursore intorno, ma non poteva ottenerlo.
+I\ cannot\ insert\ to\ the\ cursors\ current\ location.=Non posso inserire nella posizione corrente del cursore.
+Please\ move\ the\ cursor\ to\ the\ location\ for\ the\ new\ citation.=Si prega di spostare il cursore nella posizione per la nuova citazione.
+Please\ create\ it\ in\ the\ document\ or\ change\ in\ the\ file\:=Si prega di crearlo nel documento o di modificarlo nel file\:
+Please\ use\ the\ latter\ in\ the\ style\ file\ below\ to\ avoid\ localization\ problems.=Usare quest'ultimo nel file di stile qui sotto per evitare problemi di localizzazione.
+The\ %0\ character\ style\ '%1'\ is\ a\ display\ name\ for\ '%2'.=Lo stile '%1' del carattere %0 è un nome visualizzato per '%2'.
+The\ %0\ character\ style\ '%1'\ is\ missing\ from\ the\ document=Lo stile '%1' del carattere %0 manca nel documento
+The\ %0\ paragraph\ style\ '%1'\ is\ a\ display\ name\ for\ '%2'.=Lo stile '%1' del paragrafo %0 è un nome visualizzato per '%2'.
+The\ %0\ paragraph\ style\ '%1'\ is\ missing\ from\ the\ document=Lo stile '%1' del paragrafo %0 manca nel documento
+Error\ while\ checking\ if\ Writer\ is\ recording\ changes\ or\ has\ recorded\ changes.=Errore durante il controllo se Writer sta registrando modifiche o ha registrato modifiche.
+Cannot\ work\ with\ [Edit]/[Track\ Changes]/[Record]\ turned\ on.=Impossibile lavorare con [Modifica]/[Traccia Cambiamenti/[Registra] attivato.
+Changes\ by\ JabRef\ could\ result\ in\ unexpected\ interactions\ with\ recorded\ changes.=Le modifiche di JabRef potrebbero causare interazioni impreviste con i cambiamenti registrati.
+Recording\ and/or\ Recorded\ changes=Registrazione e/o modifiche registrate
+Use\ [Edit]/[Track\ Changes]/[Manage]\ to\ resolve\ them\ first.=Usa [Modifica]/[Traccia Cambiamenti/[Gestisci] per risolverli prima.
Unable\ to\ find\ valid\ certification\ path\ to\ requested\ target(%0),\ download\ anyway?=Impossibile trovare un percorso di certificazione valido per il target richiesto (%0), scaricare comunque?
Download\ operation\ canceled.=Operazione di download annullata.
@@ -2394,7 +2443,15 @@ Word\ by\ word=Parola per parola
Could\ not\ extract\ Metadata\ from\:\ %0=Impossibile estrarre i metadati da\: %0
Merge\ PDF\ metadata=Unisci i metadati PDF
+Add\ certificate=Aggiungi certificato
+Serial\ number=Numero di serie
+Issuer=Emittente
+Valid\ from=Valido da
+Valid\ to=Valido fino al
+Signature\ algorithm=Algoritmo della firma
+Version=Versione
+Error\ downloading=Errore nel download
No\ data\ was\ found\ for\ the\ identifier=Non sono stati trovati dati per l'identificatore
Server\ not\ available=Server non disponibile
diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties
index 11a860a74c7..506ee061713 100644
--- a/src/main/resources/l10n/JabRef_ja.properties
+++ b/src/main/resources/l10n/JabRef_ja.properties
@@ -700,6 +700,7 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=選択したすべての
Removed\ all\ selected\ groups\ and\ their\ subgroups.=選択したすべてのグループとその下層グループを削除しました。
+
Remove\ link=リンクを削除
Remove\ string\ %0=文字列 %0 を削除
@@ -2295,10 +2296,6 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=読み込みでエラー
Error\ from\ import\:\ %0=読み込みエラー\: %0
Error\ reading\ PDF\ content\:\ %0=PDFコンテンツの読み込みエラー\: %0
-Importing\ bib\ entry=bib 項目を読み込んでいます
-Importing\ using\ extracted\ PDF\ data=抽出したPDFデータを使って読み込み
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=BibTeXデータが見つかりませんでした.ファイルリンクで空の項目を作成します
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=メタデータが見つかりませんでした.ファイルリンクで空の項目を作成します
Processing\ file\ %0=ファイル %0 を処理しています
Export\ selected=選択したものを書き出し
diff --git a/src/main/resources/l10n/JabRef_ko.properties b/src/main/resources/l10n/JabRef_ko.properties
index 1778690046b..13a485b22f3 100644
--- a/src/main/resources/l10n/JabRef_ko.properties
+++ b/src/main/resources/l10n/JabRef_ko.properties
@@ -679,6 +679,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=그룹 "%0" 및 해당 하위 그룹
+
Remove\ link=링크 삭제
Remove\ string\ %0=문자열 %0 삭제
@@ -2225,10 +2226,6 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=가져오는 중에 오
Error\ from\ import\:\ %0=가져오기 오류\: %0
Error\ reading\ PDF\ content\:\ %0=PDF 콘텐츠를 읽는 중 오류\: %0
-Importing\ bib\ entry=출입 항목 가져오는중
-Importing\ using\ extracted\ PDF\ data=추출된 PDF 데이터를 사용하여 가져오기
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=BibTex 데이터가 발견되지 않음.\n파일 링크로 빈 항목 생성 중.
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=메타데이터가 발견되지 않음.\n파일 링크로 빈 항목 생성 중.
Processing\ file\ %0=파일 %0 처리중
Export\ selected=선택한 항목 내보내기
diff --git a/src/main/resources/l10n/JabRef_nl.properties b/src/main/resources/l10n/JabRef_nl.properties
index fe85c5afa72..efbddab6fff 100644
--- a/src/main/resources/l10n/JabRef_nl.properties
+++ b/src/main/resources/l10n/JabRef_nl.properties
@@ -628,6 +628,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Groep "%0" en zijn subgroepen verwijd
+
Remove\ link=Verwijder link
diff --git a/src/main/resources/l10n/JabRef_no.properties b/src/main/resources/l10n/JabRef_no.properties
index cf71027727d..7d88241b3a0 100644
--- a/src/main/resources/l10n/JabRef_no.properties
+++ b/src/main/resources/l10n/JabRef_no.properties
@@ -594,6 +594,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Fjernet gruppen "%0" og dens undergru
+
Remove\ link=Slett link
diff --git a/src/main/resources/l10n/JabRef_pl.properties b/src/main/resources/l10n/JabRef_pl.properties
index 2c35e842738..3fe658bf78f 100644
--- a/src/main/resources/l10n/JabRef_pl.properties
+++ b/src/main/resources/l10n/JabRef_pl.properties
@@ -466,6 +466,7 @@ Remove\ group\ and\ subgroups=Usuń grupę i podgrupy
+
Remove\ link=Usuń łącze
diff --git a/src/main/resources/l10n/JabRef_pt.properties b/src/main/resources/l10n/JabRef_pt.properties
index 1ca88af0623..1e8bcd69a4a 100644
--- a/src/main/resources/l10n/JabRef_pt.properties
+++ b/src/main/resources/l10n/JabRef_pt.properties
@@ -618,6 +618,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Grupo "%0" e seus subgrupos removidos
+
Remove\ link=Remover link
diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties
index 8a69d0eb177..312ab2d2f5f 100644
--- a/src/main/resources/l10n/JabRef_pt_BR.properties
+++ b/src/main/resources/l10n/JabRef_pt_BR.properties
@@ -688,6 +688,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Grupo "%0" e seus subgrupos removidos
+
Remove\ link=Remover link
Remove\ string\ %0=Remover string %0
@@ -2259,10 +2260,6 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Erro ao importar. Veja o
Error\ from\ import\:\ %0=Erro de importação\: %0
Error\ reading\ PDF\ content\:\ %0=Erro ao ler conteúdo do PDF\: %0
-Importing\ bib\ entry=Importando entrada bib
-Importing\ using\ extracted\ PDF\ data=Importando usando dados extraídos do PDF
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=Nenhum dado BibTeX encontrado. Criando uma referência vazia com link do arquivo
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Nenhum metadado encontrado. Criando uma entrada vazia com link de arquivo
Processing\ file\ %0=Processando arquivo %0
Export\ selected=Exportar selecionado
diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties
index 97f81b160ab..d9e60546144 100644
--- a/src/main/resources/l10n/JabRef_ru.properties
+++ b/src/main/resources/l10n/JabRef_ru.properties
@@ -700,6 +700,7 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=Удалить все вы
Removed\ all\ selected\ groups\ and\ their\ subgroups.=Все выбранные группы и их подгруппы удалены.
+
Remove\ link=Удалить ссылку
Remove\ string\ %0=Удалить строку %0
@@ -2295,10 +2296,6 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=Ошибка импорт
Error\ from\ import\:\ %0=Ошибка из импорта\: %0
Error\ reading\ PDF\ content\:\ %0=Ошибка чтения содержимого PDF\: %0
-Importing\ bib\ entry=Импорт записи bib
-Importing\ using\ extracted\ PDF\ data=Импортирование с помощью извлеченных данных PDF
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=Данные BibTeX не найдены. Создание пустой записи со ссылкой на файл
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Метаданные не найдены. Создание пустой записи со ссылкой на файл
Processing\ file\ %0=Обработка файла %0
Export\ selected=Экспортировать выделенное
diff --git a/src/main/resources/l10n/JabRef_sv.properties b/src/main/resources/l10n/JabRef_sv.properties
index d18d1eb4203..8ce0be16b6e 100644
--- a/src/main/resources/l10n/JabRef_sv.properties
+++ b/src/main/resources/l10n/JabRef_sv.properties
@@ -607,6 +607,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Tog bort gruppen "%0" och dess underg
+
Remove\ link=Ta bort länk
Remove\ string\ %0=Ta bort sträng %0
diff --git a/src/main/resources/l10n/JabRef_tl.properties b/src/main/resources/l10n/JabRef_tl.properties
index df83efa53c8..f503a92592a 100644
--- a/src/main/resources/l10n/JabRef_tl.properties
+++ b/src/main/resources/l10n/JabRef_tl.properties
@@ -589,6 +589,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Na tanggal ang grupo "%0"at ang mabab
+
Remove\ link=Tanggalin ang link
diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties
index 43cbe4e8c60..bd98232e1fd 100644
--- a/src/main/resources/l10n/JabRef_tr.properties
+++ b/src/main/resources/l10n/JabRef_tr.properties
@@ -200,7 +200,9 @@ Create\ custom\ fields\ for\ each\ BibTeX\ entry=Her BibTeX girdisi için özel
crossreferenced\ entries\ included=çapraz bağlantılı girdiler dahil edildi
+Current\ content\:\ %0=Mevcut içerik\: %0
+Current\ value\:\ %0=Mevcut değer\: %0
Custom\ entry\ types=Özel girdi türleri
@@ -327,6 +329,7 @@ Export\ to\ text\ file.=Metin dosyasına aktar.
Exporting=Dışa aktarılıyor
Extension=Uzantı
+External\ Changes\ Resolver=Harici Değişiklikler Çözücüsü
External\ file\ links=Harici dosya linkleri
@@ -485,6 +488,8 @@ Keyword=Anahtar sözcük
Keywords=Anahtar Sözcükler
Label=Etiket
+Label\:\ %0=Etiket\: %0
+Content\:\ %0=İçerik\: %0
Language=Dil
Last\ modified=Son değiştirme
@@ -515,6 +520,7 @@ Modified\ group\ "%0".=Değiştirilmiş grup "%0".
Modified\ groups=Değiştirilmiş gruplar
Modified\ string=Değiştirilmiş dizge
+Modified\ string\:\ '%0' =Değiştirilmiş dizge\: '%0'
Modify=Değiştir
@@ -683,16 +689,25 @@ Remove\ group=Grubu sil
Remove\ group\ and\ subgroups=Grubu ve altgrupları sil
+Remove\ groups\ and\ subgroups=Grupları ve alt grupları sil
+Remove\ all\ selected\ groups\ and\ keep\ their\ subgroups?=Tüm seçili grupları sil ve alt gruplarını tut?
+Remove\ group\ "%0"\ and\ keep\ its\ subgroups?=Grup '%0'i sil ve alt gruplarını tut?
+Remove\ groups=Grupları sil
+Removed\ all\ selected\ groups.=Tüm seçili gruplar silindi.
Remove\ group\ "%0"\ and\ its\ subgroups?="%0" grubu ve altgrupları silinsin mi?
Removed\ group\ "%0"\ and\ its\ subgroups.="%0" grubu ve altgrupları silindi.
+Remove\ all\ selected\ groups\ and\ their\ subgroups?=Tüm seçili grupları ve alt gruplarını sil?
+Removed\ all\ selected\ groups\ and\ their\ subgroups.=Tüm seçili gruplar ve alt grupları silindi.
+
+Remove\ group\ "%0"?="%0" grubu silinsin mi?
Remove\ link=Linki sil
@@ -700,7 +715,10 @@ Remove\ string\ %0=%0 Dizgesini sil
Removed\ group\ "%0".="%0" grubu silindi.
+Deleted\ string=Dizge silindi
+Deleted\ string\:\ '%0'=Silinen dizge\: '%0'
+Renamed\ string\:\ '%0'=Yeniden adlandırılan dizge\: '%0'
Replace=Yerine koy
Replace\ With\:=Şununla değiştir\:
@@ -754,6 +772,7 @@ Autosave\ local\ libraries=Yerel kütüphaneleri otomatik kaydet
Automatically\ save\ the\ library\ to=Kütüphaneyi otomatik olarak şuraya kaydet
Please\ enter\ a\ valid\ file\ path.=Lütfen geçerli bir dosya yolu girin.
Overwrite\ file=Dosyanın üzerine yaz
+Unable\ to\ write\ to\ %0.=%0'e yazılamadı.
Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Harici değişiklikler gözden geçirilene dek veritabanının kaydedilmesini reddet.
Library\ protection=Veirtabanı koruması
@@ -764,11 +783,14 @@ Character\ encoding\ '%0'\ is\ not\ supported.='%0' karakter kodlaması destekle
Search=Ara
Searching...=Arıyor...
+Finished\ Searching=Arama Bitti
Search\ expression=İfade ara
Fulltext\ search=Tam metin arama
Help\ on\ regular\ expression\ search=Düzenli İfade Arama hakkında yardım
Searching\ for\ duplicates...=Çift nüshalar aranıyor...
Searching\ for\ files=Dosyalar aranıyor
+The\ search\ is\ case-insensitive.=Arama büyük/küçük harfe duyarsız.
+The\ search\ is\ case-sensitive.=Arama büyük/küçük harfe duyarlı.
Use\ regular\ expression\ search=Düzenli İfade Aramayı kullan
search\ expression=arama ifadesi
Free\ search\ expression=Serbest arama ifadesi
@@ -840,7 +862,14 @@ Size=Boyut
Skipped\ -\ No\ PDF\ linked=Atlandı - PDF eklenmedi
Skipped\ -\ PDF\ does\ not\ exist=Atlandı - PDF mevcut değil
+JabRef\ skipped\ the\ entry.=JabRef girdiyi atladı.
+Import\ error=İçe aktarma hatası
+Open\ library\ error=Açık kütüphane hatası
+Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Lütfen kütüphane dosyanızı yazım hatası için kontrol edin.
+SourceTab\ error=KaynakSekmesi hatası
+User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=`{}bibtex source` sekmesinde girdi düzenleyiciyle yapılan kullanıcı girdisi hataya yol açtı.
+Sort\ subgroups\ A-Z=A-Z alt gruplarını sırala
source\ edit=kaynak düzenle
Special\ name\ formatters=Özel Ad Biçemleyicileri
@@ -904,7 +933,9 @@ Username=Kullanıcı adı
Value\ cleared\ externally=Değer, haricen silindi
+Value\ set\ externally\:\ %0=Değer, haricen atandı\: %0
+Verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid.=LyX'in çalıştığını ve veri iletişim hattının geçerli olduğunu teyit edin.
View=Görüntüle
Vim\ server\ name=Vim Sunucu Adı
@@ -1231,6 +1262,7 @@ Connection\ failed\!=Bağlantı başarısız\!
Connection\ successful\!=Bağlantı başarılı\!
SSL\ Configuration=SSL Yapılandırması
+SSL\ configuration\ changed=SSL yapılandırması değişti
SSL\ certificate\ file=SSL sertifika dosyası
Duplicate\ Certificates=Çift nüsha Sertifikalar
You\ already\ added\ this\ certificate=Bu sertifikayı zaten eklediniz
@@ -1270,6 +1302,7 @@ Please\ open\ %0\ manually.=Lütfen %0'i kendiniz açın.
The\ link\ has\ been\ copied\ to\ the\ clipboard.=Bağlantı panoya kopyalandı.
Open\ %0\ file=%0 dosyayı aç
+Could\ not\ detect\ terminal\ automatically.\ Please\ define\ a\ custom\ terminal\ in\ the\ preferences.=Terminal otomatik olarak belirlenemedi. Lütfen tercihlerde özel bir terminal tanımlayınız.
Cannot\ delete\ file=Dosya silinemiyor
File\ permission\ error=Dosya izin hatası
@@ -1288,12 +1321,18 @@ OpenDocument\ text=AçıkBelge metni
OpenDocument\ spreadsheet=AçıkBelge iş tablosu
OpenDocument\ presentation=AçıkBelge sunumu
%0\ image=%0 resim
+Added\ entry\ '%0'='%0' girdisi eklendi
Added\ entry=Eklenen girdi
+Modified\ entry\ '%0'='%0' girdisi değiştirildi
Modified\ entry=Değiştirilmiş girdi
+Deleted\ entry\ '%0'='%0' girdisi silindi
Deleted\ entry=Girdi silindi
Modified\ groups\ tree=Değiştirilmiş grup ağacı
Removed\ all\ groups=Tüm gruplar silindi
+%0.\ Accepting\ the\ change\ replaces\ the\ complete\ groups\ tree\ with\ the\ externally\ modified\ groups\ tree.=%0. Değişikliği kabul etmek, harici olarak değiştirilmiş grup ağacını mevcut grup ağacının tamamının yerine koyar.
Select\ export\ format=Dışa aktarma biçemini seç
+Return\ to\ library=Kütüphaneye dön
+On\ JabRef=JabRef'te
Could\ not\ connect\ to\ %0=%0'e bağlanılamadı
Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=Uyarı\: %1 girdiden %0'inin tanımlanmamış başlığı var.
Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ citation\ key.=Uyarı\:%1 girdiden %0'inde tanımlanmamış atıf anahtarı var.
@@ -1642,6 +1681,8 @@ Issue\ report\ successful=Sorun raporu başarılı
Your\ issue\ was\ reported\ in\ your\ browser.=Sorununuz tarayıcınızda rapor edildi.
The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=Kayıt dosyası ve istisna bilgisi panonuza kopyalandı.
Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=Lütfen bu bilgiyi sorun tarifine (Ctrl+V ile) yapıştırın.
+Last\ notification=Son bildirim
+Check\ the\ event\ log\ to\ see\ all\ notifications=Tüm bildirimleri görmek için olay kayıtlarını inceleyin
Host=Makine
Port=Bağlantı noktası
@@ -1650,6 +1691,7 @@ User=Kullanıcı
Connect=Bağlan
Connection\ error=Bağlantı hatası
Connection\ to\ %0\ server\ established.=%0 sunucusuna bağlantı sağlandı
+There\ are\ connection\ issues\ with\ a\ JabRef\ server.\ Detailed\ information\:\ %0=Bit JabRef sunucusuyla bağlantı sorunları var. Ayrıntılı bilgi\: %0
Required\ field\ "%0"\ is\ empty.=Gerekli alan "%0" boş.
%0\ driver\ not\ available.=%0 sürücüsü yok
The\ connection\ to\ the\ server\ has\ been\ terminated.=Sunucuyla olan bağlantı sonlandırıldı.
@@ -1727,6 +1769,7 @@ Error\ while\ generating\ fetch\ URL=URL'den getirme oluşturulurken hata
Error\ while\ parsing\ ID\ list=ID listesi çözümlenirken hata
Unable\ to\ get\ PubMed\ IDs=PubMed IDleri alınamadı
Backup\ found=Yedek bulundu
+A\ backup\ file\ for\ '%0'\ was\ found\ at\ '%1'.='%1'de, '%0' için bir yedek dosyası bulundu.
This\ could\ indicate\ that\ JabRef\ did\ not\ shut\ down\ cleanly\ last\ time\ the\ file\ was\ used.=Bu, dosya son kullanıldığında JabRef'in temiz kapatılmadığını belirtiyor olabilir.
Do\ you\ want\ to\ recover\ the\ library\ from\ the\ backup\ file?=Veritabanınızı yedek dosyadan kurtarmak ister misiniz?
@@ -1778,6 +1821,7 @@ To\ improve\ the\ user\ experience,\ we\ would\ like\ to\ collect\ anonymous\ st
This\ file\ was\ found\ automatically.\ Do\ you\ want\ to\ link\ it\ to\ this\ entry?=Bu dosya otomatik olarak bulundu. Bu girdiye bağlantılamak ister misiniz?
Names\ are\ not\ in\ the\ standard\ %0\ format.=İsimler, standart %0 biçeminde değil.
+Delete\ '%0'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.='%0'i diskten kalıcı olarak sil, ya da sadece dosyayı girdiden kaldır? Sile basmak dosyayı diskten kalıcı olarak silecek.
Delete\ '%0'='%0' Sil
Delete\ from\ disk=Diskten sil
Remove\ from\ entry=Girdiden sil
@@ -2279,10 +2323,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=İçe almada hata. Ayrın
Error\ from\ import\:\ %0=İçe aktarmada hata\: %0
Error\ reading\ PDF\ content\:\ %0=PDF içeriğini okumada hata\: %0
-Importing\ bib\ entry=bib girdisi içe aktarılıyor
-Importing\ using\ extracted\ PDF\ data=Ayrıştırılmış PDF verisinden içe aktarılıyor
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=BibTeX verisi bulunamadı. Dosya bağlanısıyla boş girdi oluşturuluyor
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=Metadata verisi bulunamadı. Dosya bağlantısıyla boş girdi oluşturuluyor
+Bib\ entry\ was\ successfully\ imported=Bib girdisi başarıyla içe aktarıldı
+File\ was\ successfully\ imported\ as\ a\ new\ entry=Dosya, yeni bir girdi olarak başarıyla içe aktarıldı
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=BibTeX verisi bulunamadı. Dosya bağlantısıyla boş bir girdi oluşturuldu
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=Metaverisi bulunamadı. Dosya bağlantısıyla boş bir girdi oluşturuldu
Processing\ file\ %0=Dosya işleniyor %0
Export\ selected=Seçilenleri dışa aktar
@@ -2356,7 +2400,9 @@ Research\ Questions=Araştırma Soruları
Study\ Title\:=Çalışma Başlığı\:
Start\ new\ systematic\ literature\ review=Yeni sistematik literatür derlemesini başlat
Manage\ study\ definition=Çalışma tanımını yönet
+Update\ study\ search\ results=Çalışma arama sonuçlarını güncelle
Study\ repository\ could\ not\ be\ created=Çalışma veri havuzu oluşturulamadı
+Select\ Databases\:=Veri Tabanlarını Seçin\:
All\ query\ terms\ are\ joined\ using\ the\ logical\ AND,\ and\ OR\ operators=Tüm sorgu terimleri mantıksal VE ve VEYA işlemcileriyle birleştirildi
Finalize=Tamamla
@@ -2395,6 +2441,7 @@ Symmetric\ word\ by\ word=Sözcük sözcük simetrik
Verbatim=Harfi harfine
Word\ by\ word=Sözcük sözcük
Could\ not\ extract\ Metadata\ from\:\ %0=%0'den Metaverisi çıkarılamadı
+Merge\ PDF\ metadata=PDF metaverisini birleştir
Add\ certificate=Sertifika ekle
Serial\ number=Seri numarası
@@ -2406,14 +2453,62 @@ Version=Sürüm
Error\ downloading=İndirmede hata
+No\ data\ was\ found\ for\ the\ identifier=Tanımlayıcı için veri bulunamadı
+Server\ not\ available=Sunucu mevcut değil
+Fetching\ information\ using\ %0=%0 kullanılarak bilgi getiriliyor
+Look\ up\ identifier=Tanımlayıcıyı ara
+Bibliographic\ data\ not\ found.\ Cause\ is\ likely\ the\ client\ side.\ Please\ check\ connection\ and\ identifier\ for\ correctness.=Kaynakça verisi bulunamadı. Neden muhtemelen istemci tarafında. Lütfen bağlantı ve tanımlayıcıyı doğrulayın.
+Bibliographic\ data\ not\ found.\ Cause\ is\ likely\ the\ server\ side.\ Please\ try\ again\ later.=Kaynakça verisi bulunamadı. Neden muhtemelen sunucu tarafında. Lütfen daha sonra tekrar deneyin.
+Error\ message\ %0=Hata mesajı\: %0
+Identifier\ not\ found=Tanımlayıcı bulunamadı
Custom\ API\ key=Özel API anahtarı
Check\ %0\ API\ Key\ Setting=%0 API Anahtar Ayarlarını Kontrol Edin
-
-
-
+Edit\ content=İçeriği düzenle
+Copy\ or\ Move\ content=İçeriği Kopyala ya da Taşı
+Overwrite\ field\ content=Alan içeriğinin üzerine yaz
+Set=Ata
+Append=Sonuna ekle
+Clear\ field\ content=Alan içeriğini temizle
+Set\ or\ append\ content=İçeriği ata ya da sonuna ekle
+Edit\ field\ content\ for\ selected\ entries=Seçili girdiler için alan içeriğini düzenle
+Rename=Yeniden adlandır
+New\ field\ name=Yeni alan adı
+Copy\ content=İçeriği kopyala
+Move\ content=İçeriği taşı
+Swap\ content=İçeriği takasla
+Copy\ or\ move\ the\ content\ of\ one\ field\ to\ another=İçeriği bir alandan diğerine kopyala ya da taşı
+Automatic\ field\ editor=Otomatik alan düzenleyici
+From=Nereden
+Keep\ Modifications=Değişiklikleri Tut
+To=Nereye
+Open\ Link=Bağlantıyı Aç
+Highlight\ words=Sözcükleri vurgula
+Highlight\ characters=Karakterleri vurgula
+Unified\ View=Birleşik Görünüm
+Split\ View=Ayrık Görünüm
+Plain\ Text=Salt Metin
+Show\ Diff=Farkı Göster
+Merged\ Entry=Birleşik Girdi
+
+Edit\ file\ link=Dosya bağlantısını düzenle
+
+(Note\:\ If\ original\ entries\ lack\ keywords\ to\ qualify\ for\ the\ new\ group\ configuration,\ confirming\ here\ will\ add\ them)=(Not\: Eğer orijinal girdiler yeni grup yapılandırması için gerekli anahtar sözcükleri içermiyorsa, buradaki teyit onları ekleyecektir)
+Assign=Ata
+Do\ not\ assign=Atama
+
+Error\ occured\ %0=Hata oluştu %0
+Left\ Entry=Sol Girdi
+Merge\ %0=Birleştir %0
+Right\ Entry=Sağ Girdi
+Unmerge\ %0=Ayrıştır %0
plain\ text=salt metin
+The\ %0s\ are\ the\ same.\ However,\ the\ order\ of\ field\ content\ differs=%0ler aynı. Lakin, alan içerik sıralaması farklı
+Keep\ from\ import=İçe aktarmaya dahil etme
+Keep\ merged=Birleşik tut
+Keep\ old\ entry=Eski girdiyi tut
+No\ entries\ corresponding\ to\ given\ query=Mevcut sorguya karşılık gelen girdi yok
diff --git a/src/main/resources/l10n/JabRef_uk.properties b/src/main/resources/l10n/JabRef_uk.properties
index 25474fa1bab..d74cacc266f 100644
--- a/src/main/resources/l10n/JabRef_uk.properties
+++ b/src/main/resources/l10n/JabRef_uk.properties
@@ -589,5 +589,6 @@
+
diff --git a/src/main/resources/l10n/JabRef_vi.properties b/src/main/resources/l10n/JabRef_vi.properties
index 89ee00bb63d..6978e6350d7 100644
--- a/src/main/resources/l10n/JabRef_vi.properties
+++ b/src/main/resources/l10n/JabRef_vi.properties
@@ -601,6 +601,7 @@ Removed\ group\ "%0"\ and\ its\ subgroups.=Đã loại bỏ nhóm "%0" và các
+
Remove\ link=Loại bỏ liên kết
diff --git a/src/main/resources/l10n/JabRef_zh_CN.properties b/src/main/resources/l10n/JabRef_zh_CN.properties
index 4a94a7b8ff5..780fddd37c6 100644
--- a/src/main/resources/l10n/JabRef_zh_CN.properties
+++ b/src/main/resources/l10n/JabRef_zh_CN.properties
@@ -707,6 +707,8 @@ Remove\ all\ selected\ groups\ and\ their\ subgroups?=移除所有选定的分
Removed\ all\ selected\ groups\ and\ their\ subgroups.=移除所有选定的分组及其子分组
+Remove\ group\ "%0"?=移除分组 "%0"?
+
Remove\ link=移除链接
Remove\ string\ %0=移除字符串 %0
@@ -2321,10 +2323,10 @@ Error\ importing.\ See\ the\ error\ log\ for\ details.=导入错误。具体内
Error\ from\ import\:\ %0=导入错误: %0
Error\ reading\ PDF\ content\:\ %0=读取 PDF 内容时出错: %0
-Importing\ bib\ entry=正在导入 bib 条目
-Importing\ using\ extracted\ PDF\ data=正在使用提取出的 PDF 数据导入
-No\ BibTeX\ data\ found.\ Creating\ empty\ entry\ with\ file\ link=未找到BibTeX数据。正在创建带有文件链接的空条目
-No\ metadata\ found.\ Creating\ empty\ entry\ with\ file\ link=未找到元数据。正在使用文件链接创建空条目
+Bib\ entry\ was\ successfully\ imported=Bib条目已成功导入
+File\ was\ successfully\ imported\ as\ a\ new\ entry=文件已成功导入为新条目
+No\ BibTeX\ data\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=未找到BibTeX数据,创建了包含文件链接的新条目
+No\ metadata\ was\ found.\ An\ empty\ entry\ was\ created\ with\ file\ link=未找到元数据,创建了包含文件链接的新条目
Processing\ file\ %0=正在处理文件 %0
Export\ selected=导出所选项
diff --git a/src/main/resources/l10n/JabRef_zh_TW.properties b/src/main/resources/l10n/JabRef_zh_TW.properties
index ea1dbb6d53d..52c3162d11e 100644
--- a/src/main/resources/l10n/JabRef_zh_TW.properties
+++ b/src/main/resources/l10n/JabRef_zh_TW.properties
@@ -565,6 +565,7 @@ Remove\ group=移除群組
+
Remove\ link=移除連結
Remove\ string\ %0=移除字串 %0
diff --git a/src/test/java/org/jabref/gui/externalfiletype/ExternalFileTypesTest.java b/src/test/java/org/jabref/gui/externalfiletype/ExternalFileTypesTest.java
index dadcba319fc..8ca169a8fe4 100644
--- a/src/test/java/org/jabref/gui/externalfiletype/ExternalFileTypesTest.java
+++ b/src/test/java/org/jabref/gui/externalfiletype/ExternalFileTypesTest.java
@@ -22,6 +22,7 @@
class ExternalFileTypesTest {
private static final Set TEST_LIST = Set.of(
+ StandardExternalFileType.MARKDOWN,
StandardExternalFileType.PDF,
StandardExternalFileType.URL,
StandardExternalFileType.JPG,
diff --git a/src/test/java/org/jabref/logic/util/io/CitationKeyBasedFileFinderTest.java b/src/test/java/org/jabref/logic/util/io/CitationKeyBasedFileFinderTest.java
index edb0bfaed3a..3f29211f4e0 100644
--- a/src/test/java/org/jabref/logic/util/io/CitationKeyBasedFileFinderTest.java
+++ b/src/test/java/org/jabref/logic/util/io/CitationKeyBasedFileFinderTest.java
@@ -15,6 +15,7 @@
import org.junit.jupiter.api.io.TempDir;
import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotEquals;
class CitationKeyBasedFileFinderTest {
@@ -99,4 +100,30 @@ void findAssociatedFilesInNonExistingDirectoryFindsNothing() throws Exception {
assertEquals(Collections.emptyList(), results);
}
+
+ @Test
+ void findAssociatedFilesWithUnsafeCharactersStartWithSearch() throws Exception {
+ BibEntry entryWithUnsafeCitationKey = new BibEntry(StandardEntryType.Article);
+ entryWithUnsafeCitationKey.setCitationKey("?test");
+
+ Path testFile = Files.createFile(pdfsDir.resolve("_test_file.pdf"));
+ FileFinder fileFinder = new CitationKeyBasedFileFinder(false);
+
+ List results = fileFinder.findAssociatedFiles(entryWithUnsafeCitationKey, Collections.singletonList(pdfsDir), Collections.singletonList("pdf"));
+
+ assertEquals(Collections.singletonList(testFile), results);
+ }
+
+ @Test
+ void findAssociatedFilesWithUnsafeCharactersExactSearch() throws Exception {
+ BibEntry entryWithUnsafeCitationKey = new BibEntry(StandardEntryType.Article);
+ entryWithUnsafeCitationKey.setCitationKey("test:test/*test?");
+
+ Path testFile = Files.createFile(pdfsDir.resolve("test_test__test_.pdf"));
+ FileFinder fileFinder = new CitationKeyBasedFileFinder(true);
+
+ List results = fileFinder.findAssociatedFiles(entryWithUnsafeCitationKey, Collections.singletonList(pdfsDir), Collections.singletonList("pdf"));
+
+ assertNotEquals(Collections.singletonList(testFile), results);
+ }
}