From bac111228ac09cfd67c579d6e6e0d0b2dc15469b Mon Sep 17 00:00:00 2001 From: ThiloteE <73715071+ThiloteE@users.noreply.github.com> Date: Sun, 23 Oct 2022 11:51:32 +0200 Subject: [PATCH 01/30] Replace GitHub action "Greeting" with "GreetingFirstTimeCodeContribution" (#9283) * Delete non-working action Deletes greetings.yml * Add new funktioning action adds GreetingFirstTimeCodeContribution.yml --- .../GreetingFirstTimeCodeContribution.yml | 23 +++++++++++++++++++ .github/workflows/greetings.yml | 19 --------------- 2 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 .github/workflows/GreetingFirstTimeCodeContribution.yml delete mode 100644 .github/workflows/greetings.yml diff --git a/.github/workflows/GreetingFirstTimeCodeContribution.yml b/.github/workflows/GreetingFirstTimeCodeContribution.yml new file mode 100644 index 00000000000..fb0ed3164f4 --- /dev/null +++ b/.github/workflows/GreetingFirstTimeCodeContribution.yml @@ -0,0 +1,23 @@ +name: GreetingFirstTimeCodeContribution + +on: + issues: + types: + - labeled + +jobs: + GreetingFirstTimeCodeContribution: + if: ${{ github.event.label.name == 'FirstTimeCodeContribution' }} + runs-on: ubuntu-latest + permissions: + issues: write + steps: + - name: GreetingFirstTimeCodeContribution + uses: peter-evans/create-or-update-comment@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-number: ${{ github.event.issue.number }} + body: | + As a general advice for newcomers: check out [Contributing](https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md) for a start. Also, [guidelines for setting up a local workspace](https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace) is worth having a look at. + + Feel free to ask here at GitHub, if you have any issue related questions. If you have questions about how to setup your workspace use JabRef's [Gitter](https://gitter.im/JabRef/jabref) chat. Try to open a (draft) pull-request early on, so that people can see you are working on the issue and so that they can see the direction the pull request is heading towards. This way, you will likely receive valuable feedback. diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml deleted file mode 100644 index 13352cc38f1..00000000000 --- a/.github/workflows/greetings.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Greetings - -on: - issues: - types: assigned - -jobs: - greeting: - runs-on: ubuntu-latest - permissions: - issues: write - pull-requests: write - steps: - - uses: actions/first-interaction@v1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - issue-message: "As a general advice for newcomers: check out https://github.com/JabRef/jabref/blob/main/CONTRIBUTING.md for a start. Also, https://devdocs.jabref.org/getting-into-the-code/guidelines-for-setting-up-a-local-workspace is worth having a look at. Feel free to ask if you have any questions here on GitHub or also at JabRef's [Gitter](https://gitter.im/JabRef/jabref) chat. - -Try to open a (draft) pull request early on, so that people can see you are working on the issue and so that they can see the direction the pull request is heading towards. This way, you will likely receive valuable feedback." From 6b40bb68fe927782b8fc19f950291d96be9104c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:25:34 +0200 Subject: [PATCH 02/30] Bump hmarr/auto-approve-action from 3.0.0 to 3.1.0 (#9295) Bumps [hmarr/auto-approve-action](https://github.com/hmarr/auto-approve-action) from 3.0.0 to 3.1.0. - [Release notes](https://github.com/hmarr/auto-approve-action/releases) - [Commits](https://github.com/hmarr/auto-approve-action/compare/v3.0.0...v3.1.0) --- updated-dependencies: - dependency-name: hmarr/auto-approve-action dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 624ead6dc9f..8aa306dcb9e 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -16,7 +16,7 @@ jobs: env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - name: Auto approve - uses: hmarr/auto-approve-action@v3.0.0 + uses: hmarr/auto-approve-action@v3.1.0 if: steps.waitforstatuschecks.outputs.status == 'success' with: github-token: "${{ secrets.GITHUB_TOKEN }}" From 9cd6cb24f5971ea1d845d05a6959550080525f13 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:45:19 +0200 Subject: [PATCH 03/30] Bump mockito-core from 4.8.0 to 4.8.1 (#9300) Bumps [mockito-core](https://github.com/mockito/mockito) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/mockito/mockito/releases) - [Commits](https://github.com/mockito/mockito/compare/v4.8.0...v4.8.1) --- updated-dependencies: - dependency-name: org.mockito:mockito-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f9dcfee846c..ddda4519f69 100644 --- a/build.gradle +++ b/build.gradle @@ -208,7 +208,7 @@ dependencies { testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1' testImplementation 'org.junit.platform:junit-platform-launcher:1.9.1' - testImplementation 'org.mockito:mockito-core:4.8.0' + testImplementation 'org.mockito:mockito-core:4.8.1' testImplementation 'org.xmlunit:xmlunit-core:2.9.0' testImplementation 'org.xmlunit:xmlunit-matchers:2.9.0' testRuntimeOnly 'com.tngtech.archunit:archunit-junit5-engine:1.0.0' From 349c8796d484d3a80f869f6e9e1f6811b2d358f4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 16:45:30 +0200 Subject: [PATCH 04/30] Bump pascalgn/automerge-action from 0.15.3 to 0.15.5 (#9296) Bumps [pascalgn/automerge-action](https://github.com/pascalgn/automerge-action) from 0.15.3 to 0.15.5. - [Release notes](https://github.com/pascalgn/automerge-action/releases) - [Commits](https://github.com/pascalgn/automerge-action/compare/v0.15.3...v0.15.5) --- updated-dependencies: - dependency-name: pascalgn/automerge-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 8aa306dcb9e..2d3633931d4 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -21,7 +21,7 @@ jobs: with: github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Merge pull requests - uses: pascalgn/automerge-action@v0.15.3 + uses: pascalgn/automerge-action@v0.15.5 if: steps.waitforstatuschecks.outputs.status == 'success' env: MERGE_METHOD: "merge" From b638c2a3e5b1e3ec04944238c0619d5756442de9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 24 Oct 2022 22:02:12 +0200 Subject: [PATCH 05/30] Bump lucene-core from 9.4.0 to 9.4.1 (#9301) * Bump lucene-core from 9.4.0 to 9.4.1 Bumps lucene-core from 9.4.0 to 9.4.1. --- updated-dependencies: - dependency-name: org.apache.lucene:lucene-core dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * update all lucence deps works Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Siedlerchr --- build.gradle | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/build.gradle b/build.gradle index ddda4519f69..cd180e5cfc9 100644 --- a/build.gradle +++ b/build.gradle @@ -115,11 +115,11 @@ dependencies { implementation 'org.apache.pdfbox:fontbox:3.0.0-RC1' implementation 'org.apache.pdfbox:xmpbox:3.0.0-RC1' - implementation 'org.apache.lucene:lucene-core:9.4.0' - implementation 'org.apache.lucene:lucene-queryparser:9.4.0' - implementation 'org.apache.lucene:lucene-queries:9.4.0' - implementation 'org.apache.lucene:lucene-analysis-common:9.4.0' - implementation 'org.apache.lucene:lucene-highlighter:9.4.0' + implementation 'org.apache.lucene:lucene-core:9.4.1' + implementation 'org.apache.lucene:lucene-queryparser:9.4.1' + implementation 'org.apache.lucene:lucene-queries:9.4.1' + implementation 'org.apache.lucene:lucene-analysis-common:9.4.1' + implementation 'org.apache.lucene:lucene-highlighter:9.4.1' implementation group: 'org.apache.commons', name: 'commons-csv', version: '1.9.0' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.12.0' From 37595615e19edc3b0c30078303fb7b09fe0515ca Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 24 Oct 2022 22:37:17 +0200 Subject: [PATCH 06/30] Have fetcher tests running only if fetchers are touched --- .github/workflows/tests-fetchers.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests-fetchers.yml b/.github/workflows/tests-fetchers.yml index 8bf681fb7cc..66148b73038 100644 --- a/.github/workflows/tests-fetchers.yml +++ b/.github/workflows/tests-fetchers.yml @@ -11,10 +11,8 @@ on: - 'build.gradle' pull_request: paths: - - 'src/main/java/org/jabref/logic/**' - - 'src/test/java/org/jabref/logic/**' - - 'src/main/java/org/jabref/model/**' - - 'src/test/java/org/jabref/model/**' + - 'src/main/java/org/jabref/logic/importer/fetcher/**' + - 'src/test/java/org/jabref/logic/importer/fetcher/**' - '.github/workflows/tests-fetchers.yml' - 'build.gradle' schedule: From 7f2b602ed4d723f05f94cb7a3936c2d10bbe2f0c Mon Sep 17 00:00:00 2001 From: Gpax971 <34959806+Gpax971@users.noreply.github.com> Date: Tue, 25 Oct 2022 21:03:14 +1100 Subject: [PATCH 07/30] Download from URL now automatically fills with URL in clipboard (#9282) Autofills URL in clipboard when downloading from URL Fixes koppor#535 --- CHANGELOG.md | 1 + .../gui/fieldeditors/LinkedFilesEditorViewModel.java | 12 ++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ed74a68e2c..08d2266ecb1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ 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) +- Download from URL now automatically fills with URL from clipboard. [koppor#535](https://github.com/koppor/jabref/issues/535) ### Fixed diff --git a/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditorViewModel.java b/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditorViewModel.java index 44a3f15d538..94e292babd6 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditorViewModel.java +++ b/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditorViewModel.java @@ -16,6 +16,7 @@ import javafx.collections.FXCollections; import javafx.collections.ObservableList; +import org.jabref.gui.ClipBoardManager; import org.jabref.gui.DialogService; import org.jabref.gui.autocompleter.SuggestionProvider; import org.jabref.gui.externalfiles.AutoSetFileLinksUtil; @@ -214,8 +215,15 @@ public void fetchFulltext() { } public void addFromURL() { - Optional urlText = dialogService.showInputDialogAndWait( - Localization.lang("Download file"), Localization.lang("Enter URL to download")); + String clipText = ClipBoardManager.getContents(); + Optional urlText; + if (clipText.startsWith("http://") || clipText.startsWith("https://") || clipText.startsWith("ftp://")) { + urlText = dialogService.showInputDialogWithDefaultAndWait( + Localization.lang("Download file"), Localization.lang("Enter URL to download"), clipText); + } else { + urlText = dialogService.showInputDialogAndWait( + Localization.lang("Download file"), Localization.lang("Enter URL to download")); + } if (urlText.isPresent()) { try { URL url = new URL(urlText.get()); From 945a540477af84496b55727d58134d7002e57fce Mon Sep 17 00:00:00 2001 From: Rebecca WANG <45301647+Racheal7@users.noreply.github.com> Date: Tue, 25 Oct 2022 21:06:44 +1100 Subject: [PATCH 08/30] Add file path in the Delete dialog text. (#9284) Instead of absolute file path, only the file name is showed in the dialog title. The file's absolute path is added in the dialog text. Fixes https://github.com/koppor/jabref/issues/534. --- CHANGELOG.md | 1 + .../java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java | 4 ++-- src/main/resources/l10n/JabRef_en.properties | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 08d2266ecb1..ab7b83bcc57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ 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) +- 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) ### Fixed diff --git a/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java b/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java index 1b0c9f6da8f..e02143f4554 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java +++ b/src/main/java/org/jabref/gui/fieldeditors/LinkedFileViewModel.java @@ -392,8 +392,8 @@ public boolean delete() { ButtonType removeFromEntry = new ButtonType(Localization.lang("Remove from entry"), ButtonData.YES); ButtonType deleteFromEntry = new ButtonType(Localization.lang("Delete from disk")); Optional buttonType = dialogService.showCustomButtonDialogAndWait(AlertType.INFORMATION, - Localization.lang("Delete '%0'", file.get().toString()), - Localization.lang("Delete the selected file permanently from disk, or just remove the file from the entry? Pressing Delete will delete the file permanently from disk."), + Localization.lang("Delete '%0'", file.get().getFileName().toString()), + Localization.lang("Delete '%0' permanently from disk, or just remove the file from the entry? Pressing Delete will delete the file permanently from disk.", file.get().toString()), removeFromEntry, deleteFromEntry, ButtonType.CANCEL); if (buttonType.isPresent()) { diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 2ac871e6ecc..41ed3db7454 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -1819,7 +1819,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?=This file was found automatically. Do you want to link it to this entry? Names\ are\ not\ in\ the\ standard\ %0\ format.=Names are not in the standard %0 format. -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 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'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Delete '%0' permanently from disk, or just remove the file from the entry? Pressing Delete will delete the file permanently from disk. Delete\ '%0'=Delete '%0' Delete\ from\ disk=Delete from disk Remove\ from\ entry=Remove from entry From b757d0a6bc6d2169e35a09f8389365e01f0e23b4 Mon Sep 17 00:00:00 2001 From: Aditya31398 Date: Thu, 27 Oct 2022 04:21:17 +0530 Subject: [PATCH 09/30] Fix for issue 9304 (#9313) --- src/main/java/org/jabref/gui/groups/GroupTreeView.java | 2 +- src/main/resources/l10n/JabRef_en.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeView.java b/src/main/java/org/jabref/gui/groups/GroupTreeView.java index fd3ab5c7614..81510b3199c 100644 --- a/src/main/java/org/jabref/gui/groups/GroupTreeView.java +++ b/src/main/java/org/jabref/gui/groups/GroupTreeView.java @@ -429,7 +429,7 @@ private ContextMenu createContextMenuForGroup(GroupNodeViewModel group) { viewModel.removeSubgroups(group); }); - MenuItem sortSubgroups = new MenuItem(Localization.lang("Sort subgroups")); + MenuItem sortSubgroups = new MenuItem(Localization.lang("Sort subgroups A-Z")); sortSubgroups.setOnAction(event -> viewModel.sortAlphabeticallyRecursive(group.getGroupNode())); MenuItem addEntries = new MenuItem(Localization.lang("Add selected entries to this group")); diff --git a/src/main/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 41ed3db7454..28fd418f135 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -867,7 +867,7 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Please check your librar SourceTab\ error=SourceTab error User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=User input via entry-editor in `{}bibtex source` tab led to failure. -Sort\ subgroups=Sort subgroups +Sort\ subgroups\ A-Z=Sort subgroups A-Z source\ edit=source edit Special\ name\ formatters=Special name formatters From 31db30656e8ca8c5c3ba91b903ff3dcdf60b16f0 Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 27 Oct 2022 08:03:33 +0200 Subject: [PATCH 10/30] New Crowdin updates (#9248) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (German) * New translations JabRef_en.properties (Arabic) * New translations JabRef_en.properties (Arabic) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (Turkish) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (Japanese) * New translations JabRef_en.properties (Spanish) * New translations JabRef_en.properties (Dutch) * New translations JabRef_en.properties (Korean) * New translations JabRef_en.properties (Italian) * New translations JabRef_en.properties (German) * New translations JabRef_en.properties (Greek) * New translations JabRef_en.properties (Tagalog) * New translations JabRef_en.properties (Indonesian) * New translations JabRef_en.properties (Portuguese, Brazilian) * New translations JabRef_en.properties (Chinese Simplified) * New translations JabRef_en.properties (Turkish) * New translations JabRef_en.properties (Russian) --- src/main/resources/l10n/JabRef_ar.properties | 86 +++++++++++++++++++ src/main/resources/l10n/JabRef_de.properties | 56 +++++++++++- src/main/resources/l10n/JabRef_el.properties | 1 - src/main/resources/l10n/JabRef_es.properties | 1 - src/main/resources/l10n/JabRef_fr.properties | 11 ++- src/main/resources/l10n/JabRef_id.properties | 1 - src/main/resources/l10n/JabRef_it.properties | 2 +- src/main/resources/l10n/JabRef_ja.properties | 1 - src/main/resources/l10n/JabRef_ko.properties | 1 - src/main/resources/l10n/JabRef_nl.properties | 1 - .../resources/l10n/JabRef_pt_BR.properties | 1 - src/main/resources/l10n/JabRef_ru.properties | 1 - src/main/resources/l10n/JabRef_tl.properties | 1 - src/main/resources/l10n/JabRef_tr.properties | 4 +- .../resources/l10n/JabRef_zh_CN.properties | 2 +- 15 files changed, 151 insertions(+), 19 deletions(-) diff --git a/src/main/resources/l10n/JabRef_ar.properties b/src/main/resources/l10n/JabRef_ar.properties index 25474fa1bab..41c4cf07501 100644 --- a/src/main/resources/l10n/JabRef_ar.properties +++ b/src/main/resources/l10n/JabRef_ar.properties @@ -1,5 +1,6 @@ +Empty\ entries=مراجع فارغة @@ -14,27 +15,38 @@ +Abbreviation=اختصار +Abbreviations=الاختصارات +About\ JabRef=حول JabRef +Abstract=الملخص +Accept=قبول +Add=إضافة +Add\ entry\ manually=إنشاء مرجع يدويًا +All\ entries=جميع المراجع +and=و +Application=التطبيق +Apply=فعّل @@ -46,14 +58,19 @@ +Available\ export\ formats=صيغ التصدير المتاحة +Available\ import\ formats=الصيغ المتوفرة +Browse=تصفح +by=عن طريق +Cancel=إلغاء @@ -72,18 +89,29 @@ +Close\ the\ current\ library=إغلاق المكتبة الحالية +Close\ window=إغلاق النافذة +Comments=تعليقات +Content=المحتوى +Copied=تم نسخ +Copy=نسخ +Copy\ title=نسخ العنوان +Copy\ citation\ key=نسخ مفتاح الاستشهاد +Copy\ to\ clipboard=نسخ للحافظة +Could\ not\ export\ file=تعذر تصدير الملف +Could\ not\ export\ preferences=تعذر تصدير الإعدادات @@ -99,14 +127,17 @@ +cut\ entry\ %0=قَص المرجع %0 +Library\ properties=خصائص المكتبة +Delete\ entry=حذف المرجع @@ -136,21 +167,30 @@ +empty\ library=مكتبة فارغة +entry=مرجع +Entry\ editor=محرر المراجع +Entry\ table=جدول المراجع +Export=تصدير +Exporting=جار التصدير +Field=الحقل +field=حقل +Field\ name=اسم الحقل @@ -201,6 +241,7 @@ +JabRef\ preferences=إعدادات JabRef @@ -239,7 +280,9 @@ +Next\ entry=المرجع التالي +no\ library\ generated=لم يتم توليد المكتبة @@ -253,6 +296,7 @@ +Open\ library=فتح المكتبة @@ -279,8 +323,11 @@ +Preferences=الإعدادات +Preferences\ recorded.=تم تسجيل الإعدادات. +Previous\ entry=المرجع السابق @@ -323,9 +370,18 @@ +Save\ library=حفظ المكتبة +Save\ library\ as...=حفظ المكتبة كـ... +Saving\ library=جار حفظ المكتبة +Library\ saved=تم حفظ المكتبة +Automatically\ save\ the\ library\ to=حفظ المكتبة آليا إلى +Library\ protection=حماية المكتبة +Unable\ to\ save\ library=تعذر حفظ المكتبة +Please\ open\ or\ start\ a\ new\ library\ before\ searching=الرجاء فتح أو إنشاء مكتبة جديدة قبل البحث +Please\ enter\ a\ field\ name\ to\ search\ for\ a\ keyword.=الرجاء إدخال اسم الحقل للبحث عن كلمة مفتاحية. @@ -340,7 +396,9 @@ +Show\ optional\ fields=إظهار الحقول الاختيارية +Show\ required\ fields=إظهار الحقول المطلوبة @@ -353,6 +411,7 @@ +the\ field\ %0=الحقل %0 @@ -396,12 +455,14 @@ +Rename\ field=إعادة تسمية الحقل +Optional\ fields\ 2=الحقول الاختيارية 2 @@ -422,6 +483,7 @@ +Enable\ special\ fields=تفعيل الحقول الخاصة @@ -440,11 +502,18 @@ +Original\ entry=المرجع الأصلي +Return\ to\ library=العودة إلى المكتبة +Library\ '%0'\ has\ changed.=المكتبة '%0' تغيرت. +Close\ library=أغلق المكتبة +Import\ into\ current\ library=استيراد إلى المكتبة الحالية +Import\ into\ new\ library=استيراد إلى مكتبة جديدة +Other\ fields=حقول أخرى @@ -480,6 +549,7 @@ +Library=المكتبة @@ -510,19 +580,27 @@ +Next\ library=المكتبة التالية +Previous\ library=المكتبة السابقة +Export\ name=تصدير الإسم +Export\ all\ entries=تصدير جميع المراجع +New\ library=إنشاء مكتبة جديدة +The\ library\ has\ been\ modified\ by\ another\ program.=تم تعديل المكتبة بواسطة برنامج آخر. +Export\ preferences\ to\ a\ file=تصدير الإعدادات إلى ملف +Import\ preferences\ from\ a\ file=استيراد الإعدادات من ملف @@ -532,8 +610,10 @@ +Add\ to\ current\ library=إضافة إلى المكتبة الحالية +Field\ type=نوع الحقل @@ -585,6 +665,12 @@ +Edit\ content=تعديل المحتوى +Copy\ or\ Move\ content=نسخ أو نقل المحتوى +Copy\ content=نسخ المحتوى +Move\ content=نقل المحتوى +Swap\ content=مبادلة المحتوى +Copy\ or\ move\ the\ content\ of\ one\ field\ to\ another=نسخ أو نقل محتوى حقل إلى آخر diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index 12c54f760e3..76974b1a19f 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -62,6 +62,7 @@ Add\ subgroup=Untergruppe hinzufügen Added\ group\ "%0".=Gruppe "%0" hinzugefügt. +Added\ string\:\ '%0'=Zeichenkette hinzugefügt\: '%0' Added\ string=String hinzugefügt All\ entries=Alle Einträge @@ -199,7 +200,9 @@ Create\ custom\ fields\ for\ each\ BibTeX\ entry=Erstellen Sie benutzerdefiniert crossreferenced\ entries\ included=Inklusive querverwiesenen Einträgen +Current\ content\:\ %0=Aktueller Inhalt\: %0 +Current\ value\:\ %0=Aktueller Wert\: %0 Custom\ entry\ types=Benutzerdefinierte Eintragstypen @@ -326,6 +329,7 @@ Export\ to\ text\ file.=In Text-Datei exportieren. Exporting=Exportiere Extension=Erweiterung +External\ Changes\ Resolver=Externer Änderungsauflöser External\ file\ links=Links zu externen Dateien @@ -484,6 +488,8 @@ Keyword=Stichwort Keywords=Schlüsselwörter Label=Name +Label\:\ %0=Bezeichnung %0 +Content\:\ %0=Inhalt\: %0 Language=Sprache Last\ modified=zuletzt geändert @@ -514,6 +520,7 @@ Modified\ group\ "%0".=Gruppe "%0" geändert. Modified\ groups=Geänderte Gruppen Modified\ string=Veränderter String +Modified\ string\:\ '%0' =String geändert\: '%0' Modify=Bearbeiten @@ -706,7 +713,10 @@ Remove\ string\ %0=Entferne String %0 Removed\ group\ "%0".=Gruppe "%0" gelöscht. +Deleted\ string=String gelöscht +Deleted\ string\:\ '%0'=String gelöscht\: '%0' +Renamed\ string\:\ '%0'=String umbenannt\: '%0' Replace=Ersetzen Replace\ With\:=Ersetzen durch\: @@ -760,6 +770,7 @@ Autosave\ local\ libraries=Automatische Abspeicherung für lokale Bibliotheken Automatically\ save\ the\ library\ to=Speichere die Bibliothek automatisch nach Please\ enter\ a\ valid\ file\ path.=Bitte geben Sie einen korrekten Dateipfad ein. Overwrite\ file=Datei überschreiben +Unable\ to\ write\ to\ %0.=Kann nicht nach %0 schreiben. Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Die Bibliothek kann nicht gespeichert werden, bis externe Änderungen geprüft wurden. Library\ protection=Bibliotheksschutz @@ -770,11 +781,14 @@ Character\ encoding\ '%0'\ is\ not\ supported.=Die Zeichenkodierung '%0' wird ni Search=Suchen Searching...=Suche läuft... +Finished\ Searching=Suche beendet Search\ expression=Suchausdruck Fulltext\ search=Volltextsuche Help\ on\ regular\ expression\ search=Hilfe zur Suche mit regulärem Ausdruck Searching\ for\ duplicates...=Suche nach doppelten Einträgen... Searching\ for\ files=Suche nach Dateien +The\ search\ is\ case-insensitive.=Bei der Suche wird die Groß- und Kleinschreibung nicht berücksichtigt. +The\ search\ is\ case-sensitive.=Bei der Suche wird die Groß- und Kleinschreibung berücksichtigt. Use\ regular\ expression\ search=Suche mit regulärem Ausdruck benutzen search\ expression=Suchausdruck Free\ search\ expression=Freier Suchausdruck @@ -917,7 +931,9 @@ Username=Benutzername Value\ cleared\ externally=Wert extern gelöscht +Value\ set\ externally\:\ %0=Wert extern gesetzt\: %0 +Verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid.=Überprüfen Sie, ob LyX läuft und ob die Lyxpipe gültig ist. View=Ansicht Vim\ server\ name=Vim Server-Name @@ -1303,12 +1319,18 @@ OpenDocument\ text=OpenDocument-Text OpenDocument\ spreadsheet=OpenDocument-Tabelle OpenDocument\ presentation=OpenDocument-Präsentation %0\ image=%0-Bild +Added\ entry\ '%0'=Eintrag '%0' hinzugefügt Added\ entry=Eintrag hinzugefügt +Modified\ entry\ '%0'=Eintrag '%0' geändert Modified\ entry=Eintrag bearbeitet +Deleted\ entry\ '%0'=Eintrag '%0' gelöscht Deleted\ entry=Eintrag gelöscht Modified\ groups\ tree=Gruppenstruktur bearbeitet Removed\ all\ groups=Alle Gruppen entfernt +%0.\ Accepting\ the\ change\ replaces\ the\ complete\ groups\ tree\ with\ the\ externally\ modified\ groups\ tree.=%0. Das Akzeptieren der Änderung ersetzt den kompletten Gruppenbaum durch den extern modifizierten Gruppenbaum. Select\ export\ format=Export-Format wählen +Return\ to\ library=Zurück zur Bibliothek +On\ JabRef=In JabRef Could\ not\ connect\ to\ %0=Verbindung zu %0 fehlgeschlagen Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=Warnung\: %0 von %1 Einträgen haben keinen Titel. Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ citation\ key.=Warnung\: %0 von %1 Einträgen haben nicht definierte Zitationsschlüssel. @@ -1667,6 +1689,7 @@ User=Benutzer Connect=Verbinden Connection\ error=Verbindungsfehler Connection\ to\ %0\ server\ established.=Verbindung zum %0 Server hergestellt. +There\ are\ connection\ issues\ with\ a\ JabRef\ server.\ Detailed\ information\:\ %0=Es gibt Verbindungsprobleme mit einem JabRef Server. Detaillierte Informationen\: %0 Required\ field\ "%0"\ is\ empty.=Erforederliches Feld "%0" ist leer. %0\ driver\ not\ available.=%0-Treiber nicht verfügbar. The\ connection\ to\ the\ server\ has\ been\ terminated.=Verbindung zum Server wurde abgebrochen. @@ -1744,6 +1767,7 @@ Error\ while\ generating\ fetch\ URL=Fehler beim generieren der Abruf URL Error\ while\ parsing\ ID\ list=Fehler beim parsen der ID-Liste Unable\ to\ get\ PubMed\ IDs=Es ist nicht möglich die PubMed ID's zu bekommen Backup\ found=Backup gefunden +A\ backup\ file\ for\ '%0'\ was\ found\ at\ '%1'.=Eine Sicherungsdatei für '%0' wurde unter '%1' gefunden. This\ could\ indicate\ that\ JabRef\ did\ not\ shut\ down\ cleanly\ last\ time\ the\ file\ was\ used.=Dies kann bedeuten, dass JabRef bei der letzten Benutzung nicht korrekt beendet wurde. Do\ you\ want\ to\ recover\ the\ library\ from\ the\ backup\ file?=Möchten Sie die Bibliothek mit Hilfe der Backup-Datei wiederherstellen? @@ -1795,7 +1819,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\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Die ausgewählte Datei unwiderruflich löschen oder nur vom Eintrag entfernen? Drücken sie Entfernen, um die Datei von der Festplatte zu löschen. +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'=Lösche Datei '%0' Delete\ from\ disk=Auf der Festplatte löschen Remove\ from\ entry=Vom Eintrag entfernen @@ -2374,7 +2398,9 @@ Research\ Questions=Forschungsfragen Study\ Title\:=Titel der Studie\: Start\ new\ systematic\ literature\ review=Neue systematische Literaturübersicht starten Manage\ study\ definition=Studiendefinition verwalten +Update\ study\ search\ results=Studiensuchergebnisse aktualisieren Study\ repository\ could\ not\ be\ created=Studienrepository konnte nicht angelegt werden +Select\ Databases\:=Datenbanken auswählen\: All\ query\ terms\ are\ joined\ using\ the\ logical\ AND,\ and\ OR\ operators=Alle Suchbegriffe werden mit den logischen Operatoren AND und OR verknüpft Finalize=Fertigstellen @@ -2413,6 +2439,7 @@ Symmetric\ word\ by\ word=Wort für Wort symmetrisch Verbatim=Verbatim Word\ by\ word=Wort für Wort Could\ not\ extract\ Metadata\ from\:\ %0=Metadaten konnten nicht extrahiert werden aus\: %0 +Merge\ PDF\ metadata=PDF-Metadaten zusammenführen Add\ certificate=Zertifikat hinzufügen Serial\ number=Seriennummer @@ -2424,6 +2451,14 @@ Version=Version Error\ downloading=Fehler beim Herunterladen +No\ data\ was\ found\ for\ the\ identifier=Es wurden keine Daten für den Bezeichner gefunden +Server\ not\ available=Server nicht verfügbar +Fetching\ information\ using\ %0=Abrufen von Informationen mit %0 +Look\ up\ identifier=Bezeichner suchen +Bibliographic\ data\ not\ found.\ Cause\ is\ likely\ the\ client\ side.\ Please\ check\ connection\ and\ identifier\ for\ correctness.=Bibliografische Daten nicht gefunden. Ursache ist wahrscheinlich die Client-Seite. Bitte überprüfen Sie die Verbindung und den Bezeichner auf Korrektheit. +Bibliographic\ data\ not\ found.\ Cause\ is\ likely\ the\ server\ side.\ Please\ try\ again\ later.=Bibliografische Daten nicht gefunden. Ursache ist wahrscheinlich die Serverseite. Bitte versuchen Sie es später erneut. +Error\ message\ %0=Fehlermeldung %0 +Identifier\ not\ found=Bezeichner nicht gefunden Custom\ API\ key=Eigener API-Schlüssel Check\ %0\ API\ Key\ Setting=%0 API-Schlüsseleinstellungen überprüfen @@ -2446,13 +2481,32 @@ Automatic\ field\ editor=Automatischer Feldeditor From=Von Keep\ Modifications=Änderungen akzeptieren To=Nach +Open\ Link=Öffne Link +Highlight\ words=Wörter Hervorheben +Highlight\ characters=Zeichen hervorheben +Unified\ View=Vereinheitlichte Ansicht +Split\ View=Geteilte Ansicht +Plain\ Text=Einfacher Text +Show\ Diff=Zeige Änderungen +Merged\ Entry=Zusammengeführter Eintrag +Edit\ file\ link=Datei-Verknüpfung bearbeiten (Note\:\ If\ original\ entries\ lack\ keywords\ to\ qualify\ for\ the\ new\ group\ configuration,\ confirming\ here\ will\ add\ them)=(Hinweis\: Wenn es den ursprünglichen Einträgen an Schlüsselwörtern fehlt, die sich für die neue Gruppenkonfiguration qualifizieren, wird die Bestätigung hier diese hinzufügen) Assign=Zuweisen Do\ not\ assign=Nicht zuweisen +Error\ occured\ %0=Fehler %0 aufgetreten +Left\ Entry=Linker Eintrag +Merge\ %0=%0 zusammenführen +Right\ Entry=Rechter Eintrag +Unmerge\ %0=%0 trennen plain\ text=Klartext +The\ %0s\ are\ the\ same.\ However,\ the\ order\ of\ field\ content\ differs=Die %0s sind identisch. Die Reihenfolge der Feldinhalte ist jedoch unterschiedlich +Keep\ from\ import=Von Import behalten +Keep\ merged=Zusammengeführtes behalten +Keep\ old\ entry=Alten Eintrag behalten +No\ entries\ corresponding\ to\ given\ query=Keine Einträge, die der angegebenen Abfrage entsprechen diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties index d3c987f8fdc..22310bb3c1b 100644 --- a/src/main/resources/l10n/JabRef_el.properties +++ b/src/main/resources/l10n/JabRef_el.properties @@ -1494,7 +1494,6 @@ 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?=Το αρχείο βρέθηκε αυτόματα. Θέλετε να το συνδέσετε με αυτήν την καταχώρηση; 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=Αφαίρεση από την καταχώρηση diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties index a344ed7cce3..4011480fcd0 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -1794,7 +1794,6 @@ 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?=Este archivo se encontró automáticamente. ¿Quiere vincularlo a esta entrada? Names\ are\ not\ in\ the\ standard\ %0\ format.=Los nombres no están en el formato %0 estándar. -Delete\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=¿Eliminar el archivo seleccionado permanentemente del disco, o simplemente eliminar el archivo de la entrada? Pulsando Borrar eliminará el archivo permanentemente del disco. Delete\ '%0'=Eliminar '%0' Delete\ from\ disk=Eliminar del disco duro Remove\ from\ entry=Eliminar de la entrada diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index c5721e1245e..31bc1759d13 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -867,7 +867,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=Trier les sous-groupes +Sort\ subgroups=Trier les sous-groupes A-Z source\ edit=édition du source Special\ name\ formatters=Formateurs de nom spéciaux @@ -1451,11 +1451,11 @@ Invalid\ style\ selected=Style sélectionné non valide Reload=Recharger Capitalize=Mettre Des Majuscules -Capitalize\ all\ words,\ but\ converts\ articles,\ prepositions,\ and\ conjunctions\ to\ lower\ case.=Met une majuscule à tous les mots sauf aux articles, prépositions et conjonctions. +Capitalize\ all\ words,\ but\ converts\ articles,\ prepositions,\ and\ conjunctions\ to\ lower\ case.=Met une Majuscule à tous les Mots sauf aux Articles, Prépositions et Conjonctions. 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 capitales. -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. +Changes\ all\ letters\ to\ lower\ case.=met tout en minuscules. +Changes\ all\ letters\ to\ upper\ case.=MET TOUT EN CAPITALES. +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.=Convertit le code HTML en code LaTeX. HTML\ to\ Unicode=HTML vers Unicode @@ -1819,7 +1819,6 @@ 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\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Supprimer définitivement le ficher sélectionné du disque, ou effacer simplement le fichier de cette entrée ? Presser Suppr supprimera définitivement ce fichier du disque. Delete\ '%0'=Supprimer « %0 » Delete\ from\ disk=Supprimer du disque Remove\ from\ entry=Effacer de l'entrée diff --git a/src/main/resources/l10n/JabRef_id.properties b/src/main/resources/l10n/JabRef_id.properties index 1471063ec4f..6d9250bd9eb 100644 --- a/src/main/resources/l10n/JabRef_id.properties +++ b/src/main/resources/l10n/JabRef_id.properties @@ -1471,7 +1471,6 @@ 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?=File ini ditemukan secara otomatis. Apakah Anda ingin menautkannya ke entri ini? Names\ are\ not\ in\ the\ standard\ %0\ format.=Nama tidak dalam format standar % 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.=Hapus file yang dipilih secara permanen dari disk, atau hapus saja file dari entri? Menekan Delete akan menghapus file secara permanen dari disk. Delete\ '%0'=Hapus ' % 0 ' Delete\ from\ disk=Hapus dari disk Remove\ from\ entry=Hapus dari entri diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index ed3ab0c6fcd..ab6f5b32cd7 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -1787,7 +1787,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?=Questo file è stato trovato automaticamente. Vuoi collegarlo a questa voce? Names\ are\ not\ in\ the\ standard\ %0\ format.=I nomi non sono nel formato standard %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.=Cancello permanentemente i file selezionati dal disco, o rimuovo solo il file dalla voce? Premendo Cancella il file verrà cancellato permanentemente dal disco. +Delete\ '%0'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Eliminare permanentemente '%0' dal disco, o semplicemente rimuovere il file dalla voce? Premendo Eliminare verrà eliminato il file in modo permanente dal disco. Delete\ '%0'=Cancella '%0' Delete\ from\ disk=Cancella dal disco Remove\ from\ entry=Rimuovi dalla voce diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index 7fef0ccb148..4823a300419 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -1795,7 +1795,6 @@ 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?=このファイルは自動的に検出されました.ファイルをこの項目にリンクしますか? 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=項目から除去 diff --git a/src/main/resources/l10n/JabRef_ko.properties b/src/main/resources/l10n/JabRef_ko.properties index b2dcab891ab..ef9211aeccf 100644 --- a/src/main/resources/l10n/JabRef_ko.properties +++ b/src/main/resources/l10n/JabRef_ko.properties @@ -1729,7 +1729,6 @@ 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?=이 파일은 자동으로 발견되었습니다. 이 항목에 연결하시겠습니까? 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=항목에서 제거 diff --git a/src/main/resources/l10n/JabRef_nl.properties b/src/main/resources/l10n/JabRef_nl.properties index 5994a3f987f..fe85c5afa72 100644 --- a/src/main/resources/l10n/JabRef_nl.properties +++ b/src/main/resources/l10n/JabRef_nl.properties @@ -1538,7 +1538,6 @@ 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?=Dit bestand werd automatisch gevonden. Wilt u het koppelen aan deze invoer? Names\ are\ not\ in\ the\ standard\ %0\ format.=Namen zijn niet in de standaard %0 indeling. -Delete\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Het geselecteerde bestand permanent verwijderen van de schijf, of alleen het bestand verwijderen uit de invoer? Op delete drukken zal het bestand permanent verwijderen van de schijf. Delete\ '%0'=Verwijder '%0' Delete\ from\ disk=Van schijf verwijderen Remove\ from\ entry=Invoer wissen diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 3f4f7ba73c9..cb8a99e0fae 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -1760,7 +1760,6 @@ 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?=Este arquivo foi encontrado automaticamente. Deseja vinculá-lo à referência? Names\ are\ not\ in\ the\ standard\ %0\ format.=Nomes não estão no formato padrão %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.=Excluir o arquivo do disco permanentemente, ou apenas remover o arquivo da referência? Pressionando "Remover" você irá excluir o arquivo permanentemente do disco. Delete\ '%0'=Remover '%0' Delete\ from\ disk=Remover do disco Remove\ from\ entry=Remover da referência diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index 2471c4d2aac..ab2e5f041ca 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -1795,7 +1795,6 @@ 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?=Этот файл был найден автоматически. Вы хотите связать его с этой записью? 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=Удалить из записи diff --git a/src/main/resources/l10n/JabRef_tl.properties b/src/main/resources/l10n/JabRef_tl.properties index 04257162742..df83efa53c8 100644 --- a/src/main/resources/l10n/JabRef_tl.properties +++ b/src/main/resources/l10n/JabRef_tl.properties @@ -1201,7 +1201,6 @@ 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?=Awtomatikong nakita ang file na ito. Gusto mo bang i-link ito sa entry na ito? Names\ are\ not\ in\ the\ standard\ %0\ format.=Ang mga pangalan ay wala sa karaniwang format na %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.=Tanggalin ang napiling file nang permanente mula sa disk, o alisin lamang ang file mula sa entry? Ang pagpindot sa Delete ay permanenteng tanggalin ang file mula sa disk. Delete\ '%0'=Tanggalin ang '%0' Delete\ from\ disk=Tanggalin mula sa disk Remove\ from\ entry=Alisin mula sa entry diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index 6253485809a..64c01553ad0 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -19,7 +19,9 @@ Unable\ to\ monitor\ file\ changes.\ Please\ close\ files\ and\ processes\ and\ %0/%1\ entries=%0/%1 girdi +Export\ operation\ finished\ successfully.=Dışa aktarım işlemi başarıyla tamamlandı. +Reveal\ in\ File\ Explorer=Dosya Gezgini'nde Göster %0\ matches\ the\ regular\ expression\ %1=%0 şu Düzenli İfadeyle eşleşiyor %1 @@ -60,6 +62,7 @@ Add\ subgroup=Altgrup ekle Added\ group\ "%0".="%0" grubu eklendi. +Added\ string\:\ '%0'=Dizge eklendi\: '%0' Added\ string=Dizge eklendi All\ entries=Tüm girdiler @@ -1776,7 +1779,6 @@ 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\ the\ selected\ file\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Seçili dosyayı 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 diff --git a/src/main/resources/l10n/JabRef_zh_CN.properties b/src/main/resources/l10n/JabRef_zh_CN.properties index 3b6b53c5ff8..71a6f537f8e 100644 --- a/src/main/resources/l10n/JabRef_zh_CN.properties +++ b/src/main/resources/l10n/JabRef_zh_CN.properties @@ -1819,7 +1819,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?=自动查找到文件。你想把它链接到这个条目吗? 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 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'\ permanently\ from\ disk,\ or\ just\ remove\ the\ file\ from\ the\ entry?\ Pressing\ Delete\ will\ delete\ the\ file\ permanently\ from\ disk.=Delete '%0' 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=从条目中移除 From cc09fabf348717a7b2b097c05adca9167fd23c8a Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 27 Oct 2022 16:10:24 +0200 Subject: [PATCH 11/30] Add skips for MacOS X build (#9305) --- .github/workflows/deployment.yml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deployment.yml b/.github/workflows/deployment.yml index 66315e75afe..e571d163e98 100644 --- a/.github/workflows/deployment.yml +++ b/.github/workflows/deployment.yml @@ -51,6 +51,17 @@ jobs: runs-on: ${{ matrix.os }} name: Create installer and portable version for ${{ matrix.displayName }} steps: + - name: Check secrets presence + id: checksecrets + shell: bash + run: | + if [ "$BUILDJABREFPRIVATEKEY" == "" ]; then + echo ::set-output name=secretspresent::false + else + echo ::set-output name=secretspresent::true + fi + env: + BUILDJABREFPRIVATEKEY: ${{ secrets.buildJabRefPrivateKey }} - name: Fetch all history for all tags and branches uses: actions/checkout@v3 with: @@ -69,14 +80,14 @@ jobs: distribution: 'temurin' cache: 'gradle' - name: Setup OSX key chain on OSX - if: matrix.os == 'macos-latest' + if: (matrix.os == 'macos-latest') && steps.checksecrets.outputs.secretspresent uses: apple-actions/import-codesign-certs@v1 with: p12-file-base64: ${{ secrets.OSX_SIGNING_CERT }} p12-password: ${{ secrets.OSX_CERT_PWD }} keychain-password: jabref - name: Setup OSX key chain on OSX for app id cert - if: matrix.os == 'macos-latest' + if: (matrix.os == 'macos-latest') && steps.checksecrets.outputs.secretspresent uses: apple-actions/import-codesign-certs@v1 with: p12-file-base64: ${{ secrets.OSX_SIGNING_CERT_APPLICATION }} @@ -84,12 +95,14 @@ jobs: create-keychain: false keychain-password: jabref - name: Build runtime image + if: (matrix.os != 'macos-latest') || steps.checksecrets.outputs.secretspresent run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jlinkZip - name: Build installer + if: (matrix.os != 'macos-latest') || steps.checksecrets.outputs.secretspresent run: ./gradlew -i -PprojVersion="${{ steps.gitversion.outputs.AssemblySemVer }}" -PprojVersionInfo="${{ steps.gitversion.outputs.InformationalVersion }}" jpackage shell: bash - name: Resign app image for OSX and build dmg - if: matrix.os == 'macos-latest' + if: (matrix.os == 'macos-latest') && steps.checksecrets.outputs.secretspresent shell: bash run: | codesign --entitlements buildres/mac/jabref.entitlements --options runtime -vvv -f --sign "Developer ID Application: JabRef e.V. (6792V39SK3)" build/distribution/JabRef.app/Contents/runtime/Contents/MacOS/libjli.dylib @@ -100,7 +113,7 @@ jobs: jpackage --type pkg --dest build/distribution --name JabRef --mac-package-identifier JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --app-image build/distribution/JabRef.app --verbose --type pkg --vendor JabRef --app-version "${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}" --file-associations buildres/mac/bibtexAssociations.properties --resource-dir buildres/mac productsign --sign "Developer ID Installer: JabRef e.V. (6792V39SK3)" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.pkg" "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}-signed.pkg" - name: Notarize dmg and pkg installer - if: matrix.os == 'macos-latest' && startsWith(github.ref, 'refs/tags/') + if: (matrix.os == 'macos-latest') && startsWith(github.ref, 'refs/tags/') && steps.checksecrets.outputs.secretspresent shell: bash run: | REQUEST_UUID_DMG=$(xcrun altool --verbose --notarize-app --primary-bundle-id "org.jabref" --username ${{ secrets.OSX_NOTARIZATION_APP_USERNAME }} --password ${{ secrets.OSX_NOTARIZATION_APP_PWD }} --asc-provider "6792V39SK3" --file "build/distribution/JabRef-${{ steps.gitversion.outputs.Major }}.${{ steps.gitversion.outputs.Minor }}.dmg" | grep RequestUUID | awk '{print $3}') From 8df4a8e3875bb17143e54a36d104401bcdf6d23c Mon Sep 17 00:00:00 2001 From: Christoph Date: Thu, 27 Oct 2022 17:21:03 +0200 Subject: [PATCH 12/30] New Crowdin updates (#9317) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (Portuguese, Brazilian) * New translations JabRef_en.properties (Chinese Simplified) * New translations JabRef_en.properties (Turkish) * New translations JabRef_en.properties (Russian) * New translations JabRef_en.properties (Spanish) * New translations JabRef_en.properties (Korean) * New translations JabRef_en.properties (Japanese) * New translations JabRef_en.properties (Italian) * New translations JabRef_en.properties (German) --- src/main/resources/l10n/JabRef_de.properties | 2 +- src/main/resources/l10n/JabRef_es.properties | 1 - src/main/resources/l10n/JabRef_fr.properties | 1 - src/main/resources/l10n/JabRef_it.properties | 2 +- src/main/resources/l10n/JabRef_ja.properties | 1 - src/main/resources/l10n/JabRef_ko.properties | 1 - src/main/resources/l10n/JabRef_pt_BR.properties | 1 - src/main/resources/l10n/JabRef_ru.properties | 1 - src/main/resources/l10n/JabRef_tr.properties | 1 - src/main/resources/l10n/JabRef_zh_CN.properties | 2 +- 10 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index 76974b1a19f..63f27405784 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -867,7 +867,7 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Bitte überprüfen Sie I SourceTab\ error=SourceTab Fehler User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=Benutzereingabe via Eintragseditor im Tab `{}bibtex source` führte zu einem Fehler. -Sort\ subgroups=Untergruppen sortieren +Sort\ subgroups\ A-Z=Untergruppen sortieren A-Z source\ edit=Quelltextbearbeitung Special\ name\ formatters=Spezielle Namens-Formatierer diff --git a/src/main/resources/l10n/JabRef_es.properties b/src/main/resources/l10n/JabRef_es.properties index 4011480fcd0..1f398f4d3bd 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -853,7 +853,6 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Por favor, comprueba err SourceTab\ error=Error de SourceTab User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=Entrada de usuario a través del editor de entrada en la pestaña `{}bibtex source` condujo al error. -Sort\ subgroups=Ordenar subgrupos source\ edit=editar fuente Special\ name\ formatters=Formateadores con nombre especial diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index 31bc1759d13..7972ef44406 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -867,7 +867,6 @@ 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=Trier les sous-groupes A-Z source\ edit=édition du source Special\ name\ formatters=Formateurs de nom spéciaux diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index ab6f5b32cd7..01f82c7e7ee 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -862,7 +862,7 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Controlla il file della SourceTab\ error=Errore SourceTab User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=L'input dell'utente tramite entry-editor nella scheda `{}bibtex source` ha portato al fallimento. -Sort\ subgroups=Ordina sottogruppi +Sort\ subgroups\ A-Z=Ordina sottogruppi A-Z source\ edit=modifica sorgente Special\ name\ formatters=Formattazioni speciali dei nomi diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index 4823a300419..11a860a74c7 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -853,7 +853,6 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=ライブラリファイ SourceTab\ error=ソースタブでエラー User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=項目エディタ経由で `{}bibtex source`タブにユーザー入力を行うと失敗します。 -Sort\ subgroups=下層グループを整序 source\ edit=ソースの編集 Special\ name\ formatters=名前の整形の定義 diff --git a/src/main/resources/l10n/JabRef_ko.properties b/src/main/resources/l10n/JabRef_ko.properties index ef9211aeccf..1778690046b 100644 --- a/src/main/resources/l10n/JabRef_ko.properties +++ b/src/main/resources/l10n/JabRef_ko.properties @@ -821,7 +821,6 @@ Skipped\ -\ No\ PDF\ linked=건너뜀 - 연결된 PDF 없음 Skipped\ -\ PDF\ does\ not\ exist=건너뜀 - PDF가 존재하지 않습니다 -Sort\ subgroups=하위 그룹 정렬 source\ edit=소스 편집 Special\ name\ formatters=특수 이름 포맷터 diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index cb8a99e0fae..8a69d0eb177 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -835,7 +835,6 @@ Skipped\ -\ No\ PDF\ linked=Omitido - Nenhum PDF linkado Skipped\ -\ PDF\ does\ not\ exist=Omitido - O PDF não existe -Sort\ subgroups=Ordenar subgrupos source\ edit=edição de fonte Special\ name\ formatters=Formatadores de nome espepciais diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index ab2e5f041ca..97f81b160ab 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -853,7 +853,6 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=Пожалуйста, п SourceTab\ error=Ошибка SourceTab User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=Пользовательский ввод посредством редактора записей во вкладке `{}bibtex source` привёл к возникновению ошибки. -Sort\ subgroups=Сортировать подгруппы source\ edit=изменение источника Special\ name\ formatters=Особые программы форматирования имени diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index 64c01553ad0..43cbe4e8c60 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -841,7 +841,6 @@ Skipped\ -\ No\ PDF\ linked=Atlandı - PDF eklenmedi Skipped\ -\ PDF\ does\ not\ exist=Atlandı - PDF mevcut değil -Sort\ subgroups=Alt grupları sırala source\ edit=kaynak düzenle Special\ name\ formatters=Özel Ad Biçemleyicileri diff --git a/src/main/resources/l10n/JabRef_zh_CN.properties b/src/main/resources/l10n/JabRef_zh_CN.properties index 71a6f537f8e..4a94a7b8ff5 100644 --- a/src/main/resources/l10n/JabRef_zh_CN.properties +++ b/src/main/resources/l10n/JabRef_zh_CN.properties @@ -867,7 +867,7 @@ Please\ check\ your\ library\ file\ for\ wrong\ syntax.=请检查您的库文件 SourceTab\ error=SourceTab错误 User\ input\ via\ entry-editor\ in\ `{}bibtex\ source`\ tab\ led\ to\ failure.=通过条目编辑器的 "{}bibtex source" 标签中输入时出错。 -Sort\ subgroups=排序子组 +Sort\ subgroups\ A-Z=Sort subgroups A-Z source\ edit=源代码编辑 Special\ name\ formatters=姓名格式化 From 240457868661c5513e96d17c8650c8de37806fbe Mon Sep 17 00:00:00 2001 From: u7232539 <110802700+u7232539@users.noreply.github.com> Date: Sat, 29 Oct 2022 03:29:38 +1100 Subject: [PATCH 13/30] Changed the color of found text from red to high contrast (#9315) * Increases the font weight and font size of found text for readability * Adopted high-contrast colors (yellow and purple) * Updated CHANGELOG.md Co-authored-by: Christoph Co-authored-by: ThiloteE --- CHANGELOG.md | 1 + src/main/java/org/jabref/gui/entryeditor/EntryEditor.css | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ab7b83bcc57..c1b22277ca5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ 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) +- 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) 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 { From 3ca07bf85f0595666dfc42a775da6cc613835600 Mon Sep 17 00:00:00 2001 From: Rebecca WANG <45301647+Racheal7@users.noreply.github.com> Date: Sat, 29 Oct 2022 03:46:34 +1100 Subject: [PATCH 14/30] Changed the messages after importing unlinked local files to past passive tense. (#9308) * Changed messages after importing unlinked files to passive. * Changed icon for successfully import bib entry to "check" icon. * Changed messages after importing to past passive tense. * Modified CHANGLOG.md to reflect the change. Co-authored-by: Christoph Co-authored-by: ThiloteE --- CHANGELOG.md | 2 ++ .../java/org/jabref/gui/externalfiles/ImportHandler.java | 8 ++++---- src/main/resources/l10n/JabRef_en.properties | 8 ++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c1b22277ca5..66c8989828f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,8 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - 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 changed the messages after importing unlinked local files to past passive 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 [koppor#548](https://github.com/koppor/jabref/issues/548) ### Fixed 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/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index 28fd418f135..bd40ee3d0f1 100644 --- a/src/main/resources/l10n/JabRef_en.properties +++ b/src/main/resources/l10n/JabRef_en.properties @@ -2321,10 +2321,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 From 25b6858741fea4c8b84c7889d23061109aca5108 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 28 Oct 2022 21:56:20 +0200 Subject: [PATCH 15/30] Try to relocate listener binding (#9238) * Try to relocate listener binding Co-authored-by: Christoph Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Co-authored-by: Houssem Nasri Co-authored-by: ThiloteE <73715071+ThiloteE@users.noreply.github.com> * Update the side pane when a library is opened asynchronously * Add a comment * Remove weird catch statement formatting - I must have mistakenly changed IntelliJ code style settings Co-authored-by: Christoph Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Co-authored-by: Houssem Nasri Co-authored-by: ThiloteE <73715071+ThiloteE@users.noreply.github.com> --- src/main/java/org/jabref/gui/JabRefFrame.java | 9 +++++++++ src/main/java/org/jabref/gui/LibraryTab.java | 13 +++++-------- src/main/java/org/jabref/gui/StateManager.java | 12 ++++++++++++ .../org/jabref/gui/importer/NewEntryAction.java | 3 +++ 4 files changed, 29 insertions(+), 8 deletions(-) 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/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) { From 326ea99dd708b6bb882a7d48d403afd497a26fe5 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Fri, 28 Oct 2022 23:43:47 +0200 Subject: [PATCH 16/30] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66c8989828f..c5baa5b42a6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,8 +48,8 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - 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 changed the messages after importing unlinked local files to past passive 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 [koppor#548](https://github.com/koppor/jabref/issues/548) +- 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 From 0765d4c83dd8b4243ecec4e0f0bd61b9c345af15 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 30 Oct 2022 14:42:52 +0100 Subject: [PATCH 17/30] New Crowdin updates (#9324) --- src/main/resources/l10n/JabRef_de.properties | 10 +++++----- src/main/resources/l10n/JabRef_es.properties | 4 ---- src/main/resources/l10n/JabRef_fr.properties | 4 ---- src/main/resources/l10n/JabRef_it.properties | 8 ++++---- src/main/resources/l10n/JabRef_ja.properties | 4 ---- src/main/resources/l10n/JabRef_ko.properties | 4 ---- src/main/resources/l10n/JabRef_pt_BR.properties | 4 ---- src/main/resources/l10n/JabRef_ru.properties | 4 ---- src/main/resources/l10n/JabRef_tr.properties | 4 ---- src/main/resources/l10n/JabRef_zh_CN.properties | 8 ++++---- 10 files changed, 13 insertions(+), 41 deletions(-) diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index 63f27405784..42aebe914b6 100644 --- a/src/main/resources/l10n/JabRef_de.properties +++ b/src/main/resources/l10n/JabRef_de.properties @@ -1819,7 +1819,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 +2321,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_es.properties b/src/main/resources/l10n/JabRef_es.properties index 1f398f4d3bd..5f2660adf13 100644 --- a/src/main/resources/l10n/JabRef_es.properties +++ b/src/main/resources/l10n/JabRef_es.properties @@ -2294,10 +2294,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_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index 7972ef44406..7b01b61a814 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -2319,10 +2319,6 @@ 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 Processing\ file\ %0=Traitement du fichier %0 Export\ selected=Exporter la sélection diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index 01f82c7e7ee..71ca8f51598 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -2289,10 +2289,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 diff --git a/src/main/resources/l10n/JabRef_ja.properties b/src/main/resources/l10n/JabRef_ja.properties index 11a860a74c7..97fdc20c7f8 100644 --- a/src/main/resources/l10n/JabRef_ja.properties +++ b/src/main/resources/l10n/JabRef_ja.properties @@ -2295,10 +2295,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..77f1d0d4e7d 100644 --- a/src/main/resources/l10n/JabRef_ko.properties +++ b/src/main/resources/l10n/JabRef_ko.properties @@ -2225,10 +2225,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_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 8a69d0eb177..8278a1786bb 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -2259,10 +2259,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..ba820fb48b8 100644 --- a/src/main/resources/l10n/JabRef_ru.properties +++ b/src/main/resources/l10n/JabRef_ru.properties @@ -2295,10 +2295,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_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index 43cbe4e8c60..144475d65a9 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -2279,10 +2279,6 @@ 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 Processing\ file\ %0=Dosya işleniyor %0 Export\ selected=Seçilenleri dışa aktar diff --git a/src/main/resources/l10n/JabRef_zh_CN.properties b/src/main/resources/l10n/JabRef_zh_CN.properties index 4a94a7b8ff5..78f6748ed68 100644 --- a/src/main/resources/l10n/JabRef_zh_CN.properties +++ b/src/main/resources/l10n/JabRef_zh_CN.properties @@ -2321,10 +2321,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=导出所选项 From 122c1e8d414bbc1b234de6f27f055476616c7e62 Mon Sep 17 00:00:00 2001 From: June Hong <53648623+june-hong@users.noreply.github.com> Date: Mon, 31 Oct 2022 00:59:58 +1100 Subject: [PATCH 18/30] Fix for issue 8806: Button highlights doesn't respect rounded corners (#9320) --- CHANGELOG.md | 1 + src/main/java/org/jabref/gui/Base.css | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5baa5b42a6..2934a1160b6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,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) 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; } From 46b73391c4d7f0d8ffd3f44dd05397648251bc3e Mon Sep 17 00:00:00 2001 From: Rita-Zhou <109927532+Rita-Zhou@users.noreply.github.com> Date: Mon, 31 Oct 2022 06:33:58 +1100 Subject: [PATCH 19/30] Fix issue: Auto-linking files with safe character replacements #9267 (#9316) * fix the safe character replacement and auto-linking the files * Test the unsafe citation key attach the file. * Change to citation key filter to the existing FileNameCleaner * Add tests for "exact" and "startsWith" matches of auto-linking files Co-authored-by: Xianghao Wang --- CHANGELOG.md | 1 + .../util/io/CitationKeyBasedFileFinder.java | 2 +- .../io/CitationKeyBasedFileFinderTest.java | 27 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2934a1160b6..f6434f3742d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,6 +78,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/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/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); + } } From 259eb0e0106aa3e711160c5d2562e7d2a2a34f7b Mon Sep 17 00:00:00 2001 From: Simone Thai <110802893+Simone-Thai@users.noreply.github.com> Date: Mon, 31 Oct 2022 06:39:27 +1100 Subject: [PATCH 20/30] Removed BibTeX file type and included HTML and Markdown types (#9318) * Removed BibTeX file type and included HTML and TXT types * reverted changes to imports in UnlinkedFilesDialogViewModel * removed TXT option from the fileFilterList * Added method to check whether a file is a html file and corrected code comments * Added Markdown as a filter option * resolved changelog conflicts * Added icon to Markdown option * Update CHANGELOG.md * Added markdown to ExternalFileTypesTest and fixed checkstyle * changed Markdown mime to text/markdown * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Christoph Co-authored-by: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> --- CHANGELOG.md | 1 + .../gui/externalfiles/UnlinkedFilesDialogViewModel.java | 3 ++- .../jabref/gui/externalfiletype/StandardExternalFileType.java | 4 ++-- src/main/java/org/jabref/logic/util/StandardFileType.java | 4 +++- src/main/java/org/jabref/logic/util/io/FileUtil.java | 4 ++-- .../jabref/gui/externalfiletype/ExternalFileTypesTest.java | 1 + 6 files changed, 11 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f6434f3742d..503a6dcc2f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -48,6 +48,7 @@ Note that this project **does not** adhere to [Semantic Versioning](http://semve - 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) 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/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/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/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, From 079c27b00713373de86a0a35161f0e0df108a52b Mon Sep 17 00:00:00 2001 From: Gpax971 <34959806+Gpax971@users.noreply.github.com> Date: Mon, 31 Oct 2022 06:43:34 +1100 Subject: [PATCH 21/30] Group context menu presents relevant options depending on number of subgroups (#9286) * Closes issue #1, opens issues #3, #4 * Adjusted removeGroupNoSubgroups to keep consistent with other removeGroup__ methods * Update context menu each time it is opened, to reflect any changes that may have been made to subgroups Adjusted removeSubgroups.setOnAction to be consistent with other action events * Update CHANGELOG.md * Removed "Remove subgroups" and "Sort subgroups" options when no subgroups present * Removed context submenu addition from event listener * Fixed JavaDoc for removeGroupNoSubgroups * Added remove text to language file * Fixed popup when deleting group with no subgroups Co-authored-by: Christoph --- CHANGELOG.md | 1 + .../org/jabref/gui/groups/GroupTreeView.java | 43 ++++++++++++------- .../jabref/gui/groups/GroupTreeViewModel.java | 37 ++++++++++++++++ src/main/resources/l10n/JabRef_en.properties | 2 + 4 files changed, 68 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 503a6dcc2f9..d6c252fd566 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ 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) +- 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) 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/resources/l10n/JabRef_en.properties b/src/main/resources/l10n/JabRef_en.properties index bd40ee3d0f1..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 From be1f9658a16669997c41eceae04d1ed5beb5bff4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 17:03:59 +0100 Subject: [PATCH 22/30] Bump gittools/actions from 0.9.14 to 0.9.15 (#9332) Bumps [gittools/actions](https://github.com/gittools/actions) from 0.9.14 to 0.9.15. - [Release notes](https://github.com/gittools/actions/releases) - [Commits](https://github.com/gittools/actions/compare/v0.9.14...v0.9.15) --- updated-dependencies: - dependency-name: gittools/actions dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/deployment.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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: From 3e764fb6d10d270b09ea014f4a024870b560310d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 17:04:27 +0100 Subject: [PATCH 23/30] Bump checkstyle from 10.3.4 to 10.4 (#9331) Bumps [checkstyle](https://github.com/checkstyle/checkstyle) from 10.3.4 to 10.4. - [Release notes](https://github.com/checkstyle/checkstyle/releases) - [Commits](https://github.com/checkstyle/checkstyle/compare/checkstyle-10.3.4...checkstyle-10.4) --- updated-dependencies: - dependency-name: com.puppycrawl.tools:checkstyle dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index cd180e5cfc9..4b78749ddb4 100644 --- a/build.gradle +++ b/build.gradle @@ -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' From e7c853529e55e86e28fd03e3b114398b965cbd2e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 31 Oct 2022 17:05:08 +0100 Subject: [PATCH 24/30] Bump unirest-java from 3.13.11 to 3.13.12 (#9330) Bumps [unirest-java](https://github.com/Kong/unirest-java) from 3.13.11 to 3.13.12. - [Release notes](https://github.com/Kong/unirest-java/releases) - [Changelog](https://github.com/Kong/unirest-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/Kong/unirest-java/compare/v3.13.11...v3.13.12) --- updated-dependencies: - dependency-name: com.konghq:unirest-java dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 4b78749ddb4..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" From 03022ccce181e599e348aeb63d17b221b5f05c7d Mon Sep 17 00:00:00 2001 From: github actions Date: Tue, 1 Nov 2022 03:00:14 +0000 Subject: [PATCH 25/30] Squashed 'buildres/csl/csl-styles/' changes from 4eee79aa58..13fd98e2c8 13fd98e2c8 Update journal-of-medical-internet-research.csl (#6217) f7acad2729 Updating file to maintain Abertay's Style guide (#6223) 0c4eaaeb51 Update physiotherapy-theory-and-practice.csl (#6210) 2d404f0070 Hanging indent was missing in style (#6278) a2fb5398e2 Bump nokogiri from 1.13.6 to 1.13.9 (#6277) 5a40394437 Create arcadia-science.csl (#6078) 750495a617 Update ieee.csl (#6269) e55930f3b7 Update and rename dependent/veterinary-record-open.csl to veterinary-record-open.csl (#6273) git-subtree-dir: buildres/csl/csl-styles git-subtree-split: 13fd98e2c8ad437794233c0201886297abc8d162 --- Gemfile.lock | 4 +- arcadia-science.csl | 139 +++++++++++++++ dependent/veterinary-record-open.csl | 16 -- harvard-university-of-abertay-dundee.csl | 44 ++--- iawa-journal.csl | 5 +- ieee.csl | 4 +- journal-of-medical-internet-research.csl | 51 +++--- physiotherapy-theory-and-practice.csl | 14 +- veterinary-record-open.csl | 211 +++++++++++++++++++++++ 9 files changed, 406 insertions(+), 82 deletions(-) create mode 100644 arcadia-science.csl delete mode 100644 dependent/veterinary-record-open.csl create mode 100644 veterinary-record-open.csl diff --git a/Gemfile.lock b/Gemfile.lock index dde35577b7f..fcd98426ce1 100644 --- a/Gemfile.lock +++ b/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/arcadia-science.csl b/arcadia-science.csl new file mode 100644 index 00000000000..74c7dc8d89a --- /dev/null +++ b/arcadia-science.csl @@ -0,0 +1,139 @@ + + diff --git a/dependent/veterinary-record-open.csl b/dependent/veterinary-record-open.csl deleted file mode 100644 index 7976ce1ce56..00000000000 --- a/dependent/veterinary-record-open.csl +++ /dev/null @@ -1,16 +0,0 @@ - - diff --git a/harvard-university-of-abertay-dundee.csl b/harvard-university-of-abertay-dundee.csl index 0e21a947c7d..0a793b00138 100644 --- a/harvard-university-of-abertay-dundee.csl +++ b/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 @@ @@ -204,7 +196,6 @@ - diff --git a/physiotherapy-theory-and-practice.csl b/physiotherapy-theory-and-practice.csl index b10b7c0d7c6..5ff20e0edcf 100644 --- a/physiotherapy-theory-and-practice.csl +++ b/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/veterinary-record-open.csl b/veterinary-record-open.csl new file mode 100644 index 00000000000..322dac9de53 --- /dev/null +++ b/veterinary-record-open.csl @@ -0,0 +1,211 @@ + + From 07cfe046e008fdee103691fce80a9d3ad8ce1692 Mon Sep 17 00:00:00 2001 From: github actions Date: Tue, 1 Nov 2022 03:00:14 +0000 Subject: [PATCH 26/30] Refresh example styles --- src/main/resources/csl-styles/ieee.csl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 @@ - + From 4c4a6ac5967bcf4964764dbd8aa5e6caaddcf9bf Mon Sep 17 00:00:00 2001 From: Christoph Date: Tue, 1 Nov 2022 12:43:05 +0100 Subject: [PATCH 27/30] New Crowdin updates (#9333) * New translations JabRef_en.properties (French) * New translations JabRef_en.properties (Swedish) * New translations JabRef_en.properties (Tagalog) * 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 Traditional) * New translations JabRef_en.properties (Chinese Simplified) * New translations JabRef_en.properties (Ukrainian) * New translations JabRef_en.properties (Turkish) * New translations JabRef_en.properties (Russian) * New translations JabRef_en.properties (Spanish) * New translations JabRef_en.properties (Portuguese) * New translations JabRef_en.properties (Polish) * New translations JabRef_en.properties (Norwegian) * New translations JabRef_en.properties (Dutch) * New translations JabRef_en.properties (Korean) * 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 (Arabic) --- src/main/resources/l10n/JabRef_ar.properties | 1 + src/main/resources/l10n/JabRef_da.properties | 1 + src/main/resources/l10n/JabRef_de.properties | 1 + src/main/resources/l10n/JabRef_el.properties | 1 + src/main/resources/l10n/JabRef_es.properties | 1 + src/main/resources/l10n/JabRef_fa.properties | 1 + src/main/resources/l10n/JabRef_fr.properties | 8 ++ src/main/resources/l10n/JabRef_id.properties | 1 + src/main/resources/l10n/JabRef_it.properties | 57 ++++++++++ src/main/resources/l10n/JabRef_ja.properties | 1 + src/main/resources/l10n/JabRef_ko.properties | 1 + src/main/resources/l10n/JabRef_nl.properties | 1 + src/main/resources/l10n/JabRef_no.properties | 1 + src/main/resources/l10n/JabRef_pl.properties | 1 + src/main/resources/l10n/JabRef_pt.properties | 1 + .../resources/l10n/JabRef_pt_BR.properties | 1 + src/main/resources/l10n/JabRef_ru.properties | 1 + src/main/resources/l10n/JabRef_sv.properties | 1 + src/main/resources/l10n/JabRef_tl.properties | 1 + src/main/resources/l10n/JabRef_tr.properties | 105 +++++++++++++++++- src/main/resources/l10n/JabRef_uk.properties | 1 + src/main/resources/l10n/JabRef_vi.properties | 1 + .../resources/l10n/JabRef_zh_CN.properties | 2 + .../resources/l10n/JabRef_zh_TW.properties | 1 + 24 files changed, 189 insertions(+), 3 deletions(-) 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 42aebe914b6..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 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_es.properties b/src/main/resources/l10n/JabRef_es.properties index 5f2660adf13..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 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 7b01b61a814..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,6 +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 +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 71ca8f51598..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 @@ -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 97fdc20c7f8..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 を削除 diff --git a/src/main/resources/l10n/JabRef_ko.properties b/src/main/resources/l10n/JabRef_ko.properties index 77f1d0d4e7d..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 삭제 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 8278a1786bb..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 diff --git a/src/main/resources/l10n/JabRef_ru.properties b/src/main/resources/l10n/JabRef_ru.properties index ba820fb48b8..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 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 144475d65a9..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,6 +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 +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 @@ -2352,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 @@ -2391,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ı @@ -2402,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 78f6748ed68..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 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 From 0d7f855672ec323f2e977236ddd49fbb3c1d9382 Mon Sep 17 00:00:00 2001 From: tomazari <94524320+tomazari@users.noreply.github.com> Date: Wed, 2 Nov 2022 05:48:48 +1100 Subject: [PATCH 28/30] Fix font size preference not updating in preference dialog 8386 (#9287) Co-authored-by: Thomas Nouri-Azari --- CHANGELOG.md | 1 + .../java/org/jabref/gui/theme/ThemeManager.java | 2 +- .../jabref/preferences/AppearancePreferences.java | 8 +++++++- .../org/jabref/preferences/JabRefPreferences.java | 1 + .../org/jabref/gui/theme/ThemeManagerTest.java | 14 +++++++------- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6c252fd566..8f3c3ca1d53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,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 where font size preferences did not apply correctly to preference dialog window and the menu bar. [#8386](https://github.com/JabRef/jabref/issues/8386) and [#9279](https://github.com/JabRef/jabref/issues/9279) - 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/src/main/java/org/jabref/gui/theme/ThemeManager.java b/src/main/java/org/jabref/gui/theme/ThemeManager.java index de6a9f197fa..b6f42071d76 100644 --- a/src/main/java/org/jabref/gui/theme/ThemeManager.java +++ b/src/main/java/org/jabref/gui/theme/ThemeManager.java @@ -213,7 +213,7 @@ public void updateFontStyle(Scene scene) { if (appearancePreferences.shouldOverrideDefaultFontSize()) { scene.getRoot().setStyle("-fx-font-size: " + appearancePreferences.getMainFontSize() + "pt;"); } else { - scene.getRoot().setStyle(""); + scene.getRoot().setStyle("-fx-font-size: " + appearancePreferences.getDefaultFontSize() + "pt;"); } } diff --git a/src/main/java/org/jabref/preferences/AppearancePreferences.java b/src/main/java/org/jabref/preferences/AppearancePreferences.java index a4d04bb70b6..f1dc8782c2d 100644 --- a/src/main/java/org/jabref/preferences/AppearancePreferences.java +++ b/src/main/java/org/jabref/preferences/AppearancePreferences.java @@ -12,11 +12,13 @@ public class AppearancePreferences { private final BooleanProperty shouldOverrideDefaultFontSize; private final IntegerProperty mainFontSize; + private final IntegerProperty defaultFontSize; private final ObjectProperty theme; - public AppearancePreferences(boolean shouldOverrideDefaultFontSize, int mainFontSize, Theme theme) { + public AppearancePreferences(boolean shouldOverrideDefaultFontSize, int mainFontSize, int defaultFontSize, Theme theme) { this.shouldOverrideDefaultFontSize = new SimpleBooleanProperty(shouldOverrideDefaultFontSize); this.mainFontSize = new SimpleIntegerProperty(mainFontSize); + this.defaultFontSize = new SimpleIntegerProperty(defaultFontSize); this.theme = new SimpleObjectProperty<>(theme); } @@ -36,6 +38,10 @@ public int getMainFontSize() { return mainFontSize.get(); } + public int getDefaultFontSize() { + return defaultFontSize.get(); + } + public void setMainFontSize(int mainFontSize) { this.mainFontSize.set(mainFontSize); } diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index f4ddffdb5bf..d3bafb7a661 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -2075,6 +2075,7 @@ public AppearancePreferences getAppearancePreferences() { appearancePreferences = new AppearancePreferences( getBoolean(OVERRIDE_DEFAULT_FONT_SIZE), getInt(MAIN_FONT_SIZE), + (Integer) defaults.get(MAIN_FONT_SIZE), new Theme(get(FX_THEME)) ); diff --git a/src/test/java/org/jabref/gui/theme/ThemeManagerTest.java b/src/test/java/org/jabref/gui/theme/ThemeManagerTest.java index 31bd4a64bbb..d772ca6deff 100644 --- a/src/test/java/org/jabref/gui/theme/ThemeManagerTest.java +++ b/src/test/java/org/jabref/gui/theme/ThemeManagerTest.java @@ -53,7 +53,7 @@ public void themeManagerUsesProvidedTheme() throws IOException { Path testCss = tempFolder.resolve("test.css"); Files.writeString(testCss, TEST_CSS_CONTENT, StandardOpenOption.CREATE); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); ThemeManager themeManager = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -73,7 +73,7 @@ public void customThemeAvailableEvenWhenDeleted() throws IOException { Path testCss = tempFolder.resolve("test.css"); Files.writeString(testCss, TEST_CSS_CONTENT, StandardOpenOption.CREATE); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); // ActiveTheme should provide the additionalStylesheet that was created before ThemeManager themeManagerCreatedBeforeFileDeleted = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -101,7 +101,7 @@ public void customThemeAvailableEvenWhenDeleted() throws IOException { public void customThemeBecomesAvailableAfterFileIsCreated() throws IOException { Path testCss = tempFolder.resolve("test.css"); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); // ActiveTheme should provide no additionalStylesheet when no file exists ThemeManager themeManagerCreatedBeforeFileExists = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -132,7 +132,7 @@ public void largeCustomThemeNotHeldInMemory() throws IOException { } Files.writeString(largeCssTestFile, " */", StandardOpenOption.APPEND); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(largeCssTestFile.toString())); + new AppearancePreferences(false, 0, 0, new Theme(largeCssTestFile.toString())); // ActiveTheme should provide the large additionalStylesheet that was created before ThemeManager themeManager = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -165,7 +165,7 @@ public void installThemeOnScene() throws IOException { Path testCss = tempFolder.resolve("reload.css"); Files.writeString(testCss, TEST_CSS_CONTENT, StandardOpenOption.CREATE); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); ThemeManager themeManager = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -180,7 +180,7 @@ public void installThemeOnWebEngine() throws IOException { Path testCss = tempFolder.resolve("reload.css"); Files.writeString(testCss, TEST_CSS_CONTENT, StandardOpenOption.CREATE); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); ThemeManager themeManager = new ThemeManager(appearancePreferences, new DummyFileUpdateMonitor(), Runnable::run); @@ -209,7 +209,7 @@ public void liveReloadCssDataUrl() throws IOException, InterruptedException { Path testCss = tempFolder.resolve("reload.css"); Files.writeString(testCss, TEST_CSS_CONTENT, StandardOpenOption.CREATE); AppearancePreferences appearancePreferences = - new AppearancePreferences(false, 0, new Theme(testCss.toString())); + new AppearancePreferences(false, 0, 0, new Theme(testCss.toString())); final ThemeManager themeManager; From 7367ee5dc78d721de40ce6e85e4b04cbba32d42f Mon Sep 17 00:00:00 2001 From: ANUu7312578 <111027438+ANUu7312578@users.noreply.github.com> Date: Wed, 2 Nov 2022 18:36:43 +1100 Subject: [PATCH 29/30] Fix Abbreviation for Escaped Ampersand (#9288) Co-authored-by: Akshat Jain <59996182+AkshatJain9@users.noreply.github.com> --- CHANGELOG.md | 1 + .../JournalAbbreviationRepository.java | 5 +- .../architecture/MainArchitectureTests.java | 1 + .../logic/bibtex/BibEntryWriterTest.java | 4 +- .../JournalAbbreviationRepositoryTest.java | 69 +++++++++++++++++++ 5 files changed, 76 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f3c3ca1d53..f4dba622ad6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -80,6 +80,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 where journal abbreviations would not abbreviate journal titles with escaped ampersands (\\&). [#8948](https://github.com/JabRef/jabref/issues/8948) - We fixed an issue where font size preferences did not apply correctly to preference dialog window and the menu bar. [#8386](https://github.com/JabRef/jabref/issues/8386) and [#9279](https://github.com/JabRef/jabref/issues/9279) - 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) diff --git a/src/main/java/org/jabref/logic/journals/JournalAbbreviationRepository.java b/src/main/java/org/jabref/logic/journals/JournalAbbreviationRepository.java index 523e1323be1..825bd706e27 100644 --- a/src/main/java/org/jabref/logic/journals/JournalAbbreviationRepository.java +++ b/src/main/java/org/jabref/logic/journals/JournalAbbreviationRepository.java @@ -7,6 +7,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.regex.Matcher; import java.util.stream.Collectors; import org.h2.mvstore.MVMap; @@ -48,7 +49,7 @@ private static boolean isMatchedAbbreviated(String name, Abbreviation abbreviati * Letters) or its abbreviated form (e.g. Phys. Rev. Lett.). */ public boolean isKnownName(String journalName) { - String journal = journalName.trim(); + String journal = journalName.trim().replaceAll(Matcher.quoteReplacement("\\&"), "&"); boolean isKnown = customAbbreviations.stream().anyMatch(abbreviation -> isMatched(journal, abbreviation)); if (isKnown) { @@ -75,7 +76,7 @@ public boolean isAbbreviatedName(String journalName) { * @param input The journal name (either abbreviated or full name). */ public Optional get(String input) { - String journal = input.trim(); + String journal = input.trim().replaceAll(Matcher.quoteReplacement("\\&"), "&"); Optional customAbbreviation = customAbbreviations.stream() .filter(abbreviation -> isMatched(journal, abbreviation)) diff --git a/src/test/java/org/jabref/architecture/MainArchitectureTests.java b/src/test/java/org/jabref/architecture/MainArchitectureTests.java index 25b60cea46c..86335032845 100644 --- a/src/test/java/org/jabref/architecture/MainArchitectureTests.java +++ b/src/test/java/org/jabref/architecture/MainArchitectureTests.java @@ -115,6 +115,7 @@ public static void restrictUsagesInModel(JavaClasses classes) { @ArchTest public static void restrictUsagesInLogic(JavaClasses classes) { noClasses().that().resideInAPackage(PACKAGE_ORG_JABREF_LOGIC) + .and().areNotAnnotatedWith(AllowedToUseSwing.class) .should().dependOnClassesThat().resideInAPackage(PACKAGE_JAVAX_SWING) .orShould().dependOnClassesThat().haveFullyQualifiedName(CLASS_ORG_JABREF_GLOBALS) .check(classes); diff --git a/src/test/java/org/jabref/logic/bibtex/BibEntryWriterTest.java b/src/test/java/org/jabref/logic/bibtex/BibEntryWriterTest.java index ad5f8f70ecb..9c1dc3f3aa9 100644 --- a/src/test/java/org/jabref/logic/bibtex/BibEntryWriterTest.java +++ b/src/test/java/org/jabref/logic/bibtex/BibEntryWriterTest.java @@ -856,7 +856,7 @@ static Stream testGetFormattedFieldNameData() { @MethodSource("testGetFormattedFieldNameData") void testGetFormattedFieldName(String expected, String fieldName, int indent) { Field field = FieldFactory.parseField(fieldName); - assertEquals(expected, bibEntryWriter.getFormattedFieldName(field, indent)); + assertEquals(expected, BibEntryWriter.getFormattedFieldName(field, indent)); } static Stream testGetLengthOfLongestFieldNameData() { @@ -871,6 +871,6 @@ static Stream testGetLengthOfLongestFieldNameData() { @ParameterizedTest @MethodSource("testGetLengthOfLongestFieldNameData") void testGetLengthOfLongestFieldName(int expected, BibEntry entry) { - assertEquals(expected, bibEntryWriter.getLengthOfLongestFieldName(entry)); + assertEquals(expected, BibEntryWriter.getLengthOfLongestFieldName(entry)); } } diff --git a/src/test/java/org/jabref/logic/journals/JournalAbbreviationRepositoryTest.java b/src/test/java/org/jabref/logic/journals/JournalAbbreviationRepositoryTest.java index 68071fe0089..97c6766676f 100644 --- a/src/test/java/org/jabref/logic/journals/JournalAbbreviationRepositoryTest.java +++ b/src/test/java/org/jabref/logic/journals/JournalAbbreviationRepositoryTest.java @@ -1,5 +1,16 @@ package org.jabref.logic.journals; +import javax.swing.undo.CompoundEdit; + +import org.jabref.architecture.AllowedToUseSwing; +import org.jabref.gui.journals.AbbreviationType; +import org.jabref.gui.journals.UndoableAbbreviator; +import org.jabref.gui.journals.UndoableUnabbreviator; +import org.jabref.model.database.BibDatabase; +import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.field.StandardField; +import org.jabref.model.entry.types.StandardEntryType; + import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -7,6 +18,7 @@ import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; +@AllowedToUseSwing("UndoableUnabbreviator and UndoableAbbreviator requires Swing Compound Edit in order test the abbreviation and unabreviation of journal titles") class JournalAbbreviationRepositoryTest { private JournalAbbreviationRepository repository; @@ -134,4 +146,61 @@ void getFromFullName() { void getFromAbbreviatedName() { assertEquals(new Abbreviation("American Journal of Public Health", "Am. J. Public Health"), repository.get("Am. J. Public Health").get()); } + + @Test + void testAbbreviationsWithEscapedAmpersand() { + assertEquals(new Abbreviation("ACS Applied Materials & Interfaces", "ACS Appl. Mater. Interfaces"), repository.get("ACS Applied Materials & Interfaces").get()); + assertEquals(new Abbreviation("ACS Applied Materials & Interfaces", "ACS Appl. Mater. Interfaces"), repository.get("ACS Applied Materials \\& Interfaces").get()); + assertEquals(new Abbreviation("Antioxidants & Redox Signaling", "Antioxid. Redox Signaling"), repository.get("Antioxidants & Redox Signaling").get()); + assertEquals(new Abbreviation("Antioxidants & Redox Signaling", "Antioxid. Redox Signaling"), repository.get("Antioxidants \\& Redox Signaling").get()); + + repository.addCustomAbbreviation(new Abbreviation("Long & Name", "L. N.", "LN")); + assertEquals(new Abbreviation("Long & Name", "L. N.", "LN"), repository.get("Long & Name").get()); + assertEquals(new Abbreviation("Long & Name", "L. N.", "LN"), repository.get("Long \\& Name").get()); + } + + @Test + void testJournalAbbreviationWithEscapedAmpersand() { + BibDatabase bibDatabase = new BibDatabase(); + JournalAbbreviationRepository journalAbbreviationRepository = JournalAbbreviationLoader.loadBuiltInRepository(); + UndoableAbbreviator undoableAbbreviator = new UndoableAbbreviator(journalAbbreviationRepository, AbbreviationType.DEFAULT); + + BibEntry entryWithEscapedAmpersandInJournal = new BibEntry(StandardEntryType.Article); + entryWithEscapedAmpersandInJournal.setField(StandardField.JOURNAL, "ACS Applied Materials \\& Interfaces"); + + undoableAbbreviator.abbreviate(bibDatabase, entryWithEscapedAmpersandInJournal, StandardField.JOURNAL, new CompoundEdit()); + BibEntry expectedAbbreviatedJournalEntry = new BibEntry(StandardEntryType.Article) + .withField(StandardField.JOURNAL, "ACS Appl. Mater. Interfaces"); + assertEquals(expectedAbbreviatedJournalEntry, entryWithEscapedAmpersandInJournal); + } + + @Test + void testJournalUnabbreviate() { + BibDatabase bibDatabase = new BibDatabase(); + JournalAbbreviationRepository journalAbbreviationRepository = JournalAbbreviationLoader.loadBuiltInRepository(); + UndoableUnabbreviator undoableUnabbreviator = new UndoableUnabbreviator(journalAbbreviationRepository); + + BibEntry abbreviatedJournalEntry = new BibEntry(StandardEntryType.Article); + abbreviatedJournalEntry.setField(StandardField.JOURNAL, "ACS Appl. Mater. Interfaces"); + + undoableUnabbreviator.unabbreviate(bibDatabase, abbreviatedJournalEntry, StandardField.JOURNAL, new CompoundEdit()); + BibEntry expectedAbbreviatedJournalEntry = new BibEntry(StandardEntryType.Article) + .withField(StandardField.JOURNAL, "ACS Applied Materials & Interfaces"); + assertEquals(expectedAbbreviatedJournalEntry, abbreviatedJournalEntry); + } + + @Test + void testJournalAbbreviateWithoutEscapedAmpersand() { + BibDatabase bibDatabase = new BibDatabase(); + JournalAbbreviationRepository journalAbbreviationRepository = JournalAbbreviationLoader.loadBuiltInRepository(); + UndoableAbbreviator undoableAbbreviator = new UndoableAbbreviator(journalAbbreviationRepository, AbbreviationType.DEFAULT); + + BibEntry entryWithoutEscapedAmpersandInJournal = new BibEntry(StandardEntryType.Article); + entryWithoutEscapedAmpersandInJournal.setField(StandardField.JOURNAL, "ACS Applied Materials & Interfaces"); + + undoableAbbreviator.abbreviate(bibDatabase, entryWithoutEscapedAmpersandInJournal, StandardField.JOURNAL, new CompoundEdit()); + BibEntry expectedAbbreviatedJournalEntry = new BibEntry(StandardEntryType.Article) + .withField(StandardField.JOURNAL, "ACS Appl. Mater. Interfaces"); + assertEquals(expectedAbbreviatedJournalEntry, entryWithoutEscapedAmpersandInJournal); + } } From 1face3f7f441aab06f5ffbf829386d3bd9c29304 Mon Sep 17 00:00:00 2001 From: Christoph Date: Wed, 2 Nov 2022 17:19:03 +0100 Subject: [PATCH 30/30] New translations JabRef_en.properties (German) (#9336) --- src/main/resources/l10n/JabRef_de.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/resources/l10n/JabRef_de.properties b/src/main/resources/l10n/JabRef_de.properties index cc32dcb5ced..bdfa809f047 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\ group\ "%0"?=Gruppe "%0" entfernen? Remove\ link=Link löschen