diff --git a/.circleci/config.yml b/.circleci/config.yml index d21c1c05c59..f140a5511af 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,13 +5,15 @@ jobs: docker: - image: circleci/openjdk:8-jdk steps: + - checkout + - run: git submodule sync + - run: git submodule update --init - restore_cache: keys: - - install4j - - checkout + - install4j-{{ checksum "scripts/extract-install4j.sh" }} - run: scripts/download-install4j-and-jres.sh - save_cache: - key: install4j + key: install4j-{{ checksum "scripts/extract-install4j.sh" }} paths: - "~/downloads" - "~/.install4j7" @@ -25,9 +27,11 @@ jobs: steps: - restore_cache: key: dependency-cache - - restore_cache: - key: install4j - checkout + - run: git submodule sync + - run: git submodule update --init + - restore_cache: + key: install4j-{{ checksum "scripts/extract-install4j.sh" }} - run: scripts/extract-install4j.sh - run: install4j7/bin/install4jc --verbose --license=$INSTALL4J_KEY - run: ./gradlew -Pdev=true -Pinstall4jDir="install4j7" release --stacktrace @@ -46,9 +50,11 @@ jobs: steps: - restore_cache: key: dependency-cache - - restore_cache: - key: install4j - checkout + - run: git submodule sync + - run: git submodule update --init + - restore_cache: + key: install4j-{{ checksum "scripts/extract-install4j.sh" }} - run: scripts/extract-install4j.sh - run: install4j7/bin/install4jc --verbose --license=$INSTALL4J_KEY - run: ./gradlew -Pinstall4jDir="install4j7" release --stacktrace diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 32a3c7f37fb..03dff7e01a6 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -11,7 +11,15 @@ Thanks! --> JabRef version on - + + - [ ] I have tested the latest development version from http://builds.jabref.org/master/ and the problem persists diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000000..b37b24cf6d9 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,6 @@ +[submodule "src/main/resources/csl-styles"] + path = src/main/resources/csl-styles + url = https://github.com/citation-style-language/styles.git +[submodule "src/main/resources/csl-locales"] + path = src/main/resources/csl-locales + url = https://github.com/citation-style-language/locales.git diff --git a/AUTHORS b/AUTHORS index 04adf86cb9d..05f6f4111da 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,6 +13,7 @@ Alexsandro Lauber Ali Ayan Alick Zhao Ambrogio Oliva +Amish Shah Andreas Amann Andreas Buhr Andreas Rudert diff --git a/CHANGELOG.md b/CHANGELOG.md index 9848a45705f..f2119c71557 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -31,12 +31,12 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - Files without a defined external file type are now directly opened with the default application of the operating system - We streamlined the process to rename and move files by removing the confirmation dialogs. - We removed the redundant new lines of markings and wrapped the summary in the File annotation tab. [#3823](https://github.com/JabRef/jabref/issues/3823) -- We add auto url formatting when user paste link to URL field in entry editor. [#254](https://github.com/koppor/jabref/issues/254) +- We add auto url formatting when user paste link to URL field in entry editor. [koppor#254](https://github.com/koppor/jabref/issues/254) - We added a minimal height for the entry editor so that it can no longer be hidden by accident. [#4279](https://github.com/JabRef/jabref/issues/4279) - We added a new keyboard shortcut so that the entry editor could be closed by Ctrl + E. [#4222] (https://github.com/JabRef/jabref/issues/4222) - We added an option in the preference dialog box, that allows user to pick the dark or light theme option. [#4130] (https://github.com/JabRef/jabref/issues/4130) - We updated updated the Related Articles tab to accept JSON from the new version of the Mr. DLib service - +- We added an option in the preference dialog box that allows user to choose behavior after dragging and dropping files in Entry Editor. [#4356](https://github.com/JabRef/jabref/issues/4356) @@ -74,8 +74,8 @@ We refer to [GitHub issues](https://github.com/JabRef/jabref/issues) by using `# - We fixed an issue where files added via the "Attach file" contextmenu of an entry were not made relative. [#4201](https://github.com/JabRef/jabref/issues/4201) and [#4241](https://github.com/JabRef/jabref/issues/4241) - We fixed an issue where author list parser can't generate bibtex for Chinese author. [#4169](https://github.com/JabRef/jabref/issues/4169) - We fixed an issue where the list of XMP Exclusion fields in the preferences was not be saved [#4072](https://github.com/JabRef/jabref/issues/4072) -- We fixed an issue where the ArXiv Fetcher did not support HTTP URLs [#4367](https://github.com/JabRef/jabref/pull/4367) - +- We fixed an issue where the ArXiv Fetcher did not support HTTP URLs [koppor#328](https://github.com/koppor/jabref/issues/328) +- We fixed an issue where only one PDF file could be imported [#4422](https://github.com/JabRef/jabref/issues/4422) diff --git a/build.gradle b/build.gradle index a88052930d2..24665d8c2be 100644 --- a/build.gradle +++ b/build.gradle @@ -151,9 +151,6 @@ dependencies { compile 'org.apache.logging.log4j:log4j-api:2.11.1' compile 'org.apache.logging.log4j:log4j-core:2.11.1' - // need to use snapshots as the stable version is from 2013 and doesn't support v1.0.1 CitationStyles - compile 'org.citationstyles:styles:1.0.1-SNAPSHOT' - compile 'org.citationstyles:locales:1.0.1-SNAPSHOT' compile 'de.undercouch:citeproc-java:1.0.1' compile 'com.github.tomtung:latex2unicode_2.12:0.2.2' @@ -168,7 +165,7 @@ dependencies { testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.3.1' testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.3.1' testCompile 'org.junit.platform:junit-platform-launcher:1.3.1' - testCompile 'org.junit-pioneer:junit-pioneer:0.2.2' + testCompile 'org.junit-pioneer:junit-pioneer:0.3.0' testRuntime 'org.apache.logging.log4j:log4j-core:2.11.1' testRuntime 'org.apache.logging.log4j:log4j-jul:2.11.1' testCompile 'org.mockito:mockito-core:2.23.0' diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml index 20cbcee3f60..d0d037d677b 100644 --- a/config/checkstyle/checkstyle.xml +++ b/config/checkstyle/checkstyle.xml @@ -49,6 +49,8 @@ + + diff --git a/jabref.install4j b/jabref.install4j index a79be056141..08da26fd0a2 100644 --- a/jabref.install4j +++ b/jabref.install4j @@ -1,5 +1,5 @@ - + @@ -42,7 +42,10 @@ - + + + + @@ -105,7 +108,7 @@ - + @@ -116,6 +119,9 @@ + + + @@ -144,7 +150,7 @@ - + @@ -766,6 +772,9 @@ return console.askOkCancel(message, true); + + + @@ -1054,7 +1063,7 @@ return console.askYesNo(message, true); false - install4j + JabRef @@ -1262,7 +1271,7 @@ return console.askYesNo(message, true); - icon:${installer:sys.installerApplicationMode}_header.png + ./src/main/resources/icons/JabRef-icon-64.png diff --git a/scripts/download-install4j-and-jres.sh b/scripts/download-install4j-and-jres.sh index 0e99d438c6e..cdd5aee3b20 100755 --- a/scripts/download-install4j-and-jres.sh +++ b/scripts/download-install4j-and-jres.sh @@ -5,7 +5,7 @@ if [ ! -d ~/downloads ]; then mkdir ~/downloads fi cd ~/downloads -wget --quiet -nc http://download-keycdn.ej-technologies.com/install4j/install4j_unix_7_0_4.tar.gz +wget --quiet -nc --show-progress http://download-keycdn.ej-technologies.com/install4j/install4j_unix_7_0_8.tar.gz # fetch JREs if [ ! -d ~/.install4j7/jres ]; then diff --git a/scripts/extract-install4j.sh b/scripts/extract-install4j.sh index 4e8cfcc7dd3..9e960280b81 100755 --- a/scripts/extract-install4j.sh +++ b/scripts/extract-install4j.sh @@ -1,4 +1,4 @@ #!/bin/bash -tar -xf ~/downloads/install4j_unix_7_0_4.tar.gz +tar -xf ~/downloads/install4j_unix_7_0_8.tar.gz # fix directory name (until install4j 6.1.5 it was install4j6 -mv install4j7.0.4 install4j7 +mv install4j7.0.8 install4j7 diff --git a/src/main/java/org/jabref/JabRefGUI.java b/src/main/java/org/jabref/JabRefGUI.java index ac996a79899..57214d9ef9f 100644 --- a/src/main/java/org/jabref/JabRefGUI.java +++ b/src/main/java/org/jabref/JabRefGUI.java @@ -150,7 +150,7 @@ private void openWindow(Stage mainStage) { root.getChildren().add(JabRefGUI.mainFrame); Scene scene = new Scene(root, 800, 800); - Globals.getThemeLoader().installBaseCss(scene, Globals.prefs); + Globals.getThemeLoader().installCss(scene, Globals.prefs); mainStage.setTitle(JabRefFrame.FRAME_TITLE); mainStage.getIcons().addAll(IconTheme.getLogoSetFX()); mainStage.setScene(scene); diff --git a/src/main/java/org/jabref/gui/Base.css b/src/main/java/org/jabref/gui/Base.css index ed4bbd29f96..349b7acc6d7 100644 --- a/src/main/java/org/jabref/gui/Base.css +++ b/src/main/java/org/jabref/gui/Base.css @@ -242,6 +242,7 @@ /* * The base css file defining the style that is valid for every pane and dialog. */ + .hyperlink { -fx-padding: 0; -fx-underline: false; @@ -630,8 +631,10 @@ } .text-input:focused { + -fx-highlight-fill: derive(-jr-accent, 20%); -fx-background-color: -jr-accent, -fx-control-inner-background; -fx-background-insets: 0, 2; + -fx-highlight-text-fill: -fx-text-inner-color; } .text-area { @@ -941,3 +944,15 @@ We want to have a look that matches our icons in the tool-bar */ -fx-text-fill: -fx-light-text-color; -fx-padding: -1ex -0.5ex -1ex -0.5ex; } + +.progress-bar > .bar { + -fx-background-color: -jr-theme; +} + +.progress-bar:indeterminate > .bar { + -fx-background-color: -jr-theme; +} + +.progress-bar > .track { + -fx-background-color: -jr-accent; +} diff --git a/src/main/java/org/jabref/gui/BasePanel.java b/src/main/java/org/jabref/gui/BasePanel.java index 324b6805ccd..f57f69d6134 100644 --- a/src/main/java/org/jabref/gui/BasePanel.java +++ b/src/main/java/org/jabref/gui/BasePanel.java @@ -60,7 +60,7 @@ import org.jabref.gui.journals.UnabbreviateAction; import org.jabref.gui.maintable.MainTable; import org.jabref.gui.maintable.MainTableDataModel; -import org.jabref.gui.mergeentries.MergeEntriesDialog; +import org.jabref.gui.mergeentries.MergeEntriesAction; import org.jabref.gui.mergeentries.MergeWithFetchedEntryAction; import org.jabref.gui.specialfields.SpecialFieldDatabaseChangeListener; import org.jabref.gui.specialfields.SpecialFieldValueViewModel; @@ -324,7 +324,7 @@ private void setupActions() { // The action for cleaning up entry. actions.put(Actions.CLEANUP, cleanUpAction); - actions.put(Actions.MERGE_ENTRIES, () -> new MergeEntriesDialog(BasePanel.this, dialogService)); + actions.put(Actions.MERGE_ENTRIES, () -> new MergeEntriesAction(frame).execute()); // The action for copying the selected entry's key. actions.put(Actions.COPY_KEY, this::copyKey); diff --git a/src/main/java/org/jabref/gui/DuplicateResolverDialog.java b/src/main/java/org/jabref/gui/DuplicateResolverDialog.java index c7d939cbd87..362333ebfa0 100644 --- a/src/main/java/org/jabref/gui/DuplicateResolverDialog.java +++ b/src/main/java/org/jabref/gui/DuplicateResolverDialog.java @@ -8,6 +8,9 @@ import javax.swing.JButton; import javax.swing.JPanel; +import javafx.scene.Scene; + +import org.jabref.gui.customjfx.CustomJFXPanel; import org.jabref.gui.help.HelpAction; import org.jabref.gui.importer.ImportInspectionDialog; import org.jabref.gui.mergeentries.MergeEntries; @@ -119,7 +122,7 @@ public void windowClosing(WindowEvent e) { } }); - getContentPane().add(me.getMergeEntryPanel()); + getContentPane().add(CustomJFXPanel.wrap(new Scene(me))); getContentPane().add(options, BorderLayout.SOUTH); pack(); diff --git a/src/main/java/org/jabref/gui/JabRefFrame.java b/src/main/java/org/jabref/gui/JabRefFrame.java index 596fe1972c9..a7f2586d7e0 100644 --- a/src/main/java/org/jabref/gui/JabRefFrame.java +++ b/src/main/java/org/jabref/gui/JabRefFrame.java @@ -69,7 +69,6 @@ import org.jabref.gui.actions.ManageJournalsAction; import org.jabref.gui.actions.ManageKeywordsAction; import org.jabref.gui.actions.ManageProtectedTermsAction; -import org.jabref.gui.actions.MergeEntriesAction; import org.jabref.gui.actions.NewDatabaseAction; import org.jabref.gui.actions.NewEntryAction; import org.jabref.gui.actions.NewEntryFromPlainTextAction; @@ -97,6 +96,7 @@ import org.jabref.gui.importer.actions.OpenDatabaseAction; import org.jabref.gui.keyboard.KeyBinding; import org.jabref.gui.menus.FileHistoryMenu; +import org.jabref.gui.mergeentries.MergeEntriesAction; import org.jabref.gui.push.PushToApplicationButton; import org.jabref.gui.push.PushToApplications; import org.jabref.gui.search.GlobalSearchBar; diff --git a/src/main/java/org/jabref/gui/actions/MergeEntriesAction.java b/src/main/java/org/jabref/gui/actions/MergeEntriesAction.java deleted file mode 100644 index 257c8b04a18..00000000000 --- a/src/main/java/org/jabref/gui/actions/MergeEntriesAction.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.jabref.gui.actions; - -import org.jabref.gui.JabRefFrame; -import org.jabref.gui.mergeentries.MergeEntriesDialog; - -public class MergeEntriesAction extends SimpleCommand { - - private final JabRefFrame jabRefFrame; - - public MergeEntriesAction(JabRefFrame jabRefFrame) { - this.jabRefFrame = jabRefFrame; - } - - @Override - public void execute() { - MergeEntriesDialog dlg = new MergeEntriesDialog(jabRefFrame.getCurrentBasePanel(), jabRefFrame.getDialogService()); - dlg.setVisible(true); - } - -} diff --git a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java index 08a101c740d..994452e5efa 100644 --- a/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java +++ b/src/main/java/org/jabref/gui/bibtexkeypattern/BibtexKeyPatternPanel.java @@ -75,7 +75,7 @@ private void buildGUI() { rowIndex++; Label defaultPattern = new Label(Localization.lang("Default pattern")); Button button = new Button("Default"); - button.setOnAction(e-> defaultPat.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); + button.setOnAction(e -> defaultPat.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); gridPane.add(defaultPattern, 1, rowIndex); gridPane.add(defaultPat, 2, rowIndex); gridPane.add(button, 3, rowIndex); @@ -87,7 +87,7 @@ private void buildGUI() { Button button1 = new Button("Default"); button1.setOnAction(e1 -> textField.setText((String) Globals.prefs.defaults.get(JabRefPreferences.DEFAULT_BIBTEX_KEY_PATTERN))); - gridPane.add(label1, 1 + (columnIndex * 3) , rowIndex); + gridPane.add(label1, 1 + (columnIndex * 3), rowIndex); gridPane.add(textField, 2 + (columnIndex * 3), rowIndex); gridPane.add(button1, 3 + (columnIndex * 3), rowIndex); @@ -96,18 +96,19 @@ private void buildGUI() { if (columnIndex == COLUMNS - 1) { columnIndex = 0; rowIndex++; - } else + } else { columnIndex++; + } } rowIndex++; Button help1 = new Button("?"); - help1.setOnAction(e->new HelpAction(Localization.lang("Help on key patterns"), HelpFile.BIBTEX_KEY_PATTERN).getHelpButton().doClick()); + help1.setOnAction(e -> new HelpAction(Localization.lang("Help on key patterns"), HelpFile.BIBTEX_KEY_PATTERN).getHelpButton().doClick()); gridPane.add(help1, 1, rowIndex); Button btnDefaultAll1 = new Button(Localization.lang("Reset all")); - btnDefaultAll1.setOnAction(e-> { + btnDefaultAll1.setOnAction(e -> { // reset all fields for (TextField field : textFields.values()) { field.setText(""); diff --git a/src/main/java/org/jabref/gui/customjfx/CustomJFXPanel.java b/src/main/java/org/jabref/gui/customjfx/CustomJFXPanel.java index 5cdafa593ce..e21f8ce805e 100644 --- a/src/main/java/org/jabref/gui/customjfx/CustomJFXPanel.java +++ b/src/main/java/org/jabref/gui/customjfx/CustomJFXPanel.java @@ -13,7 +13,7 @@ public class CustomJFXPanel { public static JFXPanel wrap(Scene scene) { JFXPanel container = new JFXPanel(); - Globals.getThemeLoader().installBaseCss(scene, Globals.prefs); + Globals.getThemeLoader().installCss(scene, Globals.prefs); DefaultTaskExecutor.runInJavaFXThread(() -> container.setScene(scene)); return container; } diff --git a/src/main/java/org/jabref/gui/edit/ReplaceStringViewModel.java b/src/main/java/org/jabref/gui/edit/ReplaceStringViewModel.java index 89fff7fa8b7..db5ce8b4b29 100644 --- a/src/main/java/org/jabref/gui/edit/ReplaceStringViewModel.java +++ b/src/main/java/org/jabref/gui/edit/ReplaceStringViewModel.java @@ -14,8 +14,7 @@ import org.jabref.logic.l10n.Localization; import org.jabref.model.entry.BibEntry; -public class ReplaceStringViewModel extends AbstractViewModel -{ +public class ReplaceStringViewModel extends AbstractViewModel { private boolean allFieldReplace; private String findString; private String replaceString; @@ -29,8 +28,7 @@ public class ReplaceStringViewModel extends AbstractViewModel private BooleanProperty selectOnlyProperty = new SimpleBooleanProperty(); - public ReplaceStringViewModel(BasePanel basePanel) - { + public ReplaceStringViewModel(BasePanel basePanel) { Objects.requireNonNull(basePanel); this.panel = basePanel; } @@ -45,20 +43,20 @@ public int replace() { final NamedCompound compound = new NamedCompound(Localization.lang("Replace string")); int counter = 0; if (selOnly) { - for (BibEntry bibEntry: this.panel.getSelectedEntries()) + for (BibEntry bibEntry : this.panel.getSelectedEntries()) { counter += replaceItem(bibEntry, compound); - } - else { - for (BibEntry bibEntry: this.panel.getDatabase().getEntries()) + } + } else { + for (BibEntry bibEntry : this.panel.getDatabase().getEntries()) { counter += replaceItem(bibEntry, compound); + } } return counter; } /** - * Does the actual operation on a Bibtex entry based on the - * settings specified in this same dialog. Returns the number of - * occurrences replaced. + * Does the actual operation on a Bibtex entry based on the settings specified in this same dialog. Returns the + * number of occurrences replaced. */ private int replaceItem(BibEntry entry, NamedCompound compound) { int counter = 0; diff --git a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java index 46ae9d3d32d..c7961bff628 100644 --- a/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java +++ b/src/main/java/org/jabref/gui/entryeditor/EntryEditor.java @@ -144,19 +144,63 @@ public EntryEditor(BasePanel panel, EntryEditorPreferences preferences, FileUpda if (event.getDragboard().hasContent(DataFormat.FILES)) { List files = event.getDragboard().getFiles().stream().map(File::toPath).collect(Collectors.toList()); - if (event.getTransferMode() == TransferMode.MOVE) { - - LOGGER.debug("Mode MOVE"); //shift on win or no modifier - fileHandler.addToEntryRenameAndMoveToFileDir(entry, files); + FileDragDropPreferenceType dragDropPreferencesType = Globals.prefs.getEntryEditorFileLinkPreference(); + + if (dragDropPreferencesType == FileDragDropPreferenceType.MOVE) + { + if (event.getTransferMode() == TransferMode.LINK) //alt on win + { + LOGGER.debug("Mode LINK"); + fileHandler.addToEntry(entry, files); + } + else if (event.getTransferMode() == TransferMode.COPY) //ctrl on win, no modifier on Xubuntu + { + LOGGER.debug("Mode COPY"); + fileHandler.copyFilesToFileDirAndAddToEntry(entry, files); + } + else + { + LOGGER.debug("Mode MOVE"); //shift on win or no modifier + fileHandler.addToEntryRenameAndMoveToFileDir(entry, files); + } } - if (event.getTransferMode() == TransferMode.LINK) { - LOGGER.debug("Node LINK"); //alt on win - fileHandler.addToEntry(entry, files); + if (dragDropPreferencesType == FileDragDropPreferenceType.COPY) + { + if (event.getTransferMode() == TransferMode.COPY) //ctrl on win, no modifier on Xubuntu + { + LOGGER.debug("Mode MOVE"); + fileHandler.addToEntryRenameAndMoveToFileDir(entry, files); + } + else if (event.getTransferMode() == TransferMode.LINK) //alt on win + { + LOGGER.debug("Mode LINK"); + fileHandler.addToEntry(entry, files); + } + else + { + LOGGER.debug("Mode COPY"); //shift on win or no modifier + fileHandler.copyFilesToFileDirAndAddToEntry(entry, files); + } } - if (event.getTransferMode() == TransferMode.COPY) { - LOGGER.debug("Mode Copy"); //ctrl on win, no modifier on Xubuntu - fileHandler.copyFilesToFileDirAndAddToEntry(entry, files); + + if (dragDropPreferencesType == FileDragDropPreferenceType.LINK) + { + if (event.getTransferMode() == TransferMode.COPY) //ctrl on win, no modifier on Xubuntu + { + LOGGER.debug("Mode COPY"); + fileHandler.copyFilesToFileDirAndAddToEntry(entry, files); + } + else if (event.getTransferMode() == TransferMode.LINK) //alt on win + { + LOGGER.debug("Mode MOVE"); + fileHandler.addToEntryRenameAndMoveToFileDir(entry, files); + } + else + { + LOGGER.debug("Mode LINK"); //shift on win or no modifier + fileHandler.addToEntry(entry, files); + } } } diff --git a/src/main/java/org/jabref/gui/entryeditor/FileDragDropPreferenceType.java b/src/main/java/org/jabref/gui/entryeditor/FileDragDropPreferenceType.java new file mode 100644 index 00000000000..f8bea3ce606 --- /dev/null +++ b/src/main/java/org/jabref/gui/entryeditor/FileDragDropPreferenceType.java @@ -0,0 +1,7 @@ +package org.jabref.gui.entryeditor; + +public enum FileDragDropPreferenceType { + COPY, + LINK, + MOVE; +} diff --git a/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditor.java b/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditor.java index 8c4a94d3517..b782ae80c61 100644 --- a/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditor.java +++ b/src/main/java/org/jabref/gui/fieldeditors/LinkedFilesEditor.java @@ -1,9 +1,6 @@ package org.jabref.gui.fieldeditors; -import java.io.File; -import java.util.List; import java.util.Optional; -import java.util.stream.Collectors; import javafx.beans.binding.Bindings; import javafx.collections.ObservableList; @@ -71,41 +68,14 @@ public LinkedFilesEditor(String fieldName, DialogService dialogService, BibDatab listView.setCellFactory(cellFactory); - setUpFilesDragAndDrop(); Bindings.bindContentBidirectional(listView.itemsProperty().get(), viewModel.filesProperty()); setUpKeyBindings(); } - private void setUpFilesDragAndDrop() { - listView.setOnDragOver(event -> { - if (event.getDragboard().hasFiles()) { - event.acceptTransferModes(TransferMode.COPY, TransferMode.LINK); - } - }); - - listView.setOnDragDropped(event -> { - Dragboard dragboard = event.getDragboard(); - boolean success = false; - ObservableList items = listView.itemsProperty().get(); - - if (dragboard.hasFiles()) { - List linkedFiles = dragboard.getFiles().stream().map(File::toPath).map(viewModel::fromFile).collect(Collectors.toList()); - items.addAll(linkedFiles); - success = true; - } - event.setDropCompleted(success); - event.consume(); - }); - - } - private void handleOnDragOver(LinkedFileViewModel originalItem, DragEvent event) { if ((event.getGestureSource() != originalItem) && event.getDragboard().hasContent(DragAndDropDataFormats.LINKED_FILE)) { event.acceptTransferModes(TransferMode.MOVE); } - if (event.getDragboard().hasFiles()) { - event.acceptTransferModes(TransferMode.COPY, TransferMode.LINK); - } } private void handleOnDragDetected(@SuppressWarnings("unused") LinkedFileViewModel linkedFile, MouseEvent event) { @@ -143,11 +113,7 @@ private void handleOnDragDropped(LinkedFileViewModel originalItem, DragEvent eve items.set(thisIdx, transferedItem); success = true; } - if (dragboard.hasFiles()) { - List linkedFiles = dragboard.getFiles().stream().map(File::toPath).map(viewModel::fromFile).collect(Collectors.toList()); - items.addAll(linkedFiles); - success = true; - } + event.setDropCompleted(success); event.consume(); diff --git a/src/main/java/org/jabref/gui/groups/GroupModeViewModel.java b/src/main/java/org/jabref/gui/groups/GroupModeViewModel.java index d88565f82ba..022941a97d5 100644 --- a/src/main/java/org/jabref/gui/groups/GroupModeViewModel.java +++ b/src/main/java/org/jabref/gui/groups/GroupModeViewModel.java @@ -8,7 +8,7 @@ public class GroupModeViewModel { - private GroupViewMode mode; + private final GroupViewMode mode; public GroupModeViewModel(GroupViewMode mode) { this.mode = mode; @@ -27,9 +27,9 @@ public Node getUnionIntersectionGraphic() { public Tooltip getUnionIntersectionTooltip() { if (mode == GroupViewMode.UNION) { - return new Tooltip(Localization.lang("Toogle intersection")); + return new Tooltip(Localization.lang("Toggle intersection")); } else if (mode == GroupViewMode.INTERSECTION) { - return new Tooltip(Localization.lang("Toogle union")); + return new Tooltip(Localization.lang("Toggle union")); } return new Tooltip(); } diff --git a/src/main/java/org/jabref/gui/groups/GroupTreeView.java b/src/main/java/org/jabref/gui/groups/GroupTreeView.java index 4e4aee8051e..6cdcae3c8ee 100644 --- a/src/main/java/org/jabref/gui/groups/GroupTreeView.java +++ b/src/main/java/org/jabref/gui/groups/GroupTreeView.java @@ -195,20 +195,21 @@ public void initialize() { // Drag and drop support row.setOnDragDetected(event -> { - TreeItem selectedItem = treeTable.getSelectionModel().getSelectedItem(); - if ((selectedItem != null) && (selectedItem.getValue() != null)) { - Dragboard dragboard = treeTable.startDragAndDrop(TransferMode.MOVE); - - // Display the group when dragging - dragboard.setDragView(row.snapshot(null, null)); - - // Put the group node as content - ClipboardContent content = new ClipboardContent(); - content.put(DragAndDropDataFormats.GROUP, selectedItem.getValue().getPath()); - dragboard.setContent(content); - - event.consume(); + List groupsToMove = new ArrayList<>(); + for (TreeItem selectedItem : treeTable.getSelectionModel().getSelectedItems()) { + if ((selectedItem != null) && (selectedItem.getValue() != null)) { + groupsToMove.add(selectedItem.getValue().getPath()); + } } + + // Put the group nodes as content + Dragboard dragboard = treeTable.startDragAndDrop(TransferMode.MOVE); + // Display the group when dragging + dragboard.setDragView(row.snapshot(null, null)); + ClipboardContent content = new ClipboardContent(); + content.put(DragAndDropDataFormats.GROUP, groupsToMove); + dragboard.setContent(content); + event.consume(); }); row.setOnDragOver(event -> { Dragboard dragboard = event.getDragboard(); @@ -240,13 +241,16 @@ public void initialize() { row.setOnDragDropped(event -> { Dragboard dragboard = event.getDragboard(); boolean success = false; + if (dragboard.hasContent(DragAndDropDataFormats.GROUP)) { - String pathToSource = (String) dragboard.getContent(DragAndDropDataFormats.GROUP); - Optional source = viewModel.rootGroupProperty().get() - .getChildByPath(pathToSource); - if (source.isPresent()) { - source.get().draggedOn(row.getItem(), getDroppingMouseLocation(row, event)); - success = true; + List pathToSources = (List) dragboard.getContent(DragAndDropDataFormats.GROUP); + for (String pathToSource : pathToSources) { + Optional source = viewModel.rootGroupProperty().get() + .getChildByPath(pathToSource); + if (source.isPresent()) { + source.get().draggedOn(row.getItem(), getDroppingMouseLocation(row, event)); + success = true; + } } } diff --git a/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java new file mode 100644 index 00000000000..f4812fbc4ad --- /dev/null +++ b/src/main/java/org/jabref/gui/mergeentries/DiffHighlighting.java @@ -0,0 +1,108 @@ +package org.jabref.gui.mergeentries; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +import javafx.scene.text.Text; + +import difflib.Delta; +import difflib.DiffUtils; + +public class DiffHighlighting { + + private DiffHighlighting() { + } + + public static List generateDiffHighlighting(String baseString, String modifiedString, String separator) { + List stringList = Arrays.asList(baseString.split(separator)); + List result = stringList.stream().map(DiffHighlighting::forUnchanged).collect(Collectors.toList()); + List> deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); + Collections.reverse(deltaList); + for (Delta delta : deltaList) { + int startPos = delta.getOriginal().getPosition(); + List lines = delta.getOriginal().getLines(); + int offset = 0; + switch (delta.getType()) { + case CHANGE: + for (String line : lines) { + result.set(startPos + offset, forRemoved(line + separator)); + offset++; + } + result.set(startPos + offset - 1, forRemoved(stringList.get((startPos + offset) - 1) + separator)); + result.add(startPos + offset, forAdded(String.join(separator, delta.getRevised().getLines()))); + break; + case DELETE: + for (String line : lines) { + result.set(startPos + offset, forRemoved(line + separator)); + offset++; + } + break; + case INSERT: + result.add(delta.getOriginal().getPosition(), forAdded(String.join(separator, delta.getRevised().getLines()))); + break; + default: + break; + } + } + return result; + } + + public static Text forChanged(String text) { + Text node = new Text(text); + node.getStyleClass().add("text-changed"); + return node; + } + + public static Text forUnchanged(String text) { + Text node = new Text(text); + node.getStyleClass().add("text-unchanged"); + return node; + } + + public static Text forAdded(String text) { + Text node = new Text(text); + node.getStyleClass().add("text-added"); + return node; + } + + public static Text forRemoved(String text) { + Text node = new Text(text); + node.getStyleClass().add("text-removed"); + return node; + } + + public static List generateSymmetricHighlighting(String baseString, String modifiedString, String separator) { + List stringList = Arrays.asList(baseString.split(separator)); + List result = stringList.stream().map(text -> DiffHighlighting.forUnchanged(text + separator)).collect(Collectors.toList()); + List> deltaList = DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas(); + Collections.reverse(deltaList); + for (Delta delta : deltaList) { + int startPos = delta.getOriginal().getPosition(); + List lines = delta.getOriginal().getLines(); + int offset = 0; + switch (delta.getType()) { + case CHANGE: + for (String line : lines) { + result.set(startPos + offset, forChanged(line + separator)); + offset++; + } + break; + case DELETE: + for (String line : lines) { + result.set(startPos + offset, forAdded(line + separator)); + offset++; + } + break; + case INSERT: + break; + default: + break; + } + } + + return result; + } + +} diff --git a/src/main/java/org/jabref/gui/mergeentries/FetchAndMergeEntry.java b/src/main/java/org/jabref/gui/mergeentries/FetchAndMergeEntry.java index 38a332e6dd3..cd7be54acc3 100644 --- a/src/main/java/org/jabref/gui/mergeentries/FetchAndMergeEntry.java +++ b/src/main/java/org/jabref/gui/mergeentries/FetchAndMergeEntry.java @@ -4,18 +4,25 @@ import java.util.Collections; import java.util.List; import java.util.Optional; +import java.util.Set; +import java.util.TreeSet; import org.jabref.Globals; import org.jabref.gui.BasePanel; import org.jabref.gui.DialogService; +import org.jabref.gui.undo.NamedCompound; +import org.jabref.gui.undo.UndoableChangeType; +import org.jabref.gui.undo.UndoableFieldChange; import org.jabref.gui.util.BackgroundTask; import org.jabref.gui.util.TaskExecutor; import org.jabref.logic.importer.EntryBasedFetcher; import org.jabref.logic.importer.IdBasedFetcher; +import org.jabref.logic.importer.WebFetcher; import org.jabref.logic.importer.WebFetchers; import org.jabref.logic.l10n.Localization; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.FieldName; +import org.jabref.model.entry.InternalBibtexFields; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -56,8 +63,7 @@ public void fetchAndMerge(BibEntry entry, List fields) { .onSuccess(fetchedEntry -> { String type = FieldName.getDisplayName(field); if (fetchedEntry.isPresent()) { - MergeFetchedEntryDialog dialog = new MergeFetchedEntryDialog(panel, entry, fetchedEntry.get(), type); - dialog.setVisible(true); + showMergeDialog(entry, fetchedEntry.get(), fetcher.get()); } else { panel.frame().setStatus(Localization.lang("Cannot get info based on given %0: %1", type, fieldContent.get())); } @@ -74,12 +80,69 @@ public void fetchAndMerge(BibEntry entry, List fields) { } } + private void showMergeDialog(BibEntry originalEntry, BibEntry fetchedEntry, WebFetcher fetcher) { + MergeEntriesDialog dialog = new MergeEntriesDialog(originalEntry, fetchedEntry, panel.getBibDatabaseContext().getMode()); + dialog.setTitle(Localization.lang("Merge entry with %0 information", fetcher.getName())); + dialog.setLeftHeaderText(Localization.lang("Original entry")); + dialog.setRightHeaderText(Localization.lang("Entry from %0", fetcher.getName())); + Optional mergedEntry = dialog.showAndWait(); + if (mergedEntry.isPresent()) { + NamedCompound ce = new NamedCompound(Localization.lang("Merge entry with %0 information", fetcher.getName())); + + // Updated the original entry with the new fields + Set jointFields = new TreeSet<>(mergedEntry.get().getFieldNames()); + Set originalFields = new TreeSet<>(originalEntry.getFieldNames()); + boolean edited = false; + + // entry type + String oldType = originalEntry.getType(); + String newType = mergedEntry.get().getType(); + + if (!oldType.equalsIgnoreCase(newType)) { + originalEntry.setType(newType); + ce.addEdit(new UndoableChangeType(originalEntry, oldType, newType)); + edited = true; + } + + // fields + for (String field : jointFields) { + Optional originalString = originalEntry.getField(field); + Optional mergedString = mergedEntry.get().getField(field); + if (!originalString.isPresent() || !originalString.equals(mergedString)) { + originalEntry.setField(field, mergedString.get()); // mergedString always present + ce.addEdit(new UndoableFieldChange(originalEntry, field, originalString.orElse(null), + mergedString.get())); + edited = true; + } + } + + // Remove fields which are not in the merged entry, unless they are internal fields + for (String field : originalFields) { + if (!jointFields.contains(field) && !InternalBibtexFields.isInternalField(field)) { + Optional originalString = originalEntry.getField(field); + originalEntry.clearField(field); + ce.addEdit(new UndoableFieldChange(originalEntry, field, originalString.get(), null)); // originalString always present + edited = true; + } + } + + if (edited) { + ce.end(); + panel.getUndoManager().addEdit(ce); + dialogService.notify(Localization.lang("Updated entry with info from %0", fetcher.getName())); + } else { + dialogService.notify(Localization.lang("No information added")); + } + } else { + dialogService.notify(Localization.lang("Canceled merging entries")); + } + } + public void fetchAndMerge(BibEntry entry, EntryBasedFetcher fetcher) { BackgroundTask.wrap(() -> fetcher.performSearch(entry).stream().findFirst()) .onSuccess(fetchedEntry -> { if (fetchedEntry.isPresent()) { - MergeFetchedEntryDialog dialog = new MergeFetchedEntryDialog(panel, entry, fetchedEntry.get(), fetcher.getName()); - dialog.setVisible(true); + showMergeDialog(entry, fetchedEntry.get(), fetcher); } else { dialogService.notify(Localization.lang("Could not find any bibliographic information.")); } diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css new file mode 100644 index 00000000000..9c110d24857 --- /dev/null +++ b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.css @@ -0,0 +1,15 @@ +.text-changed { + -fx-fill: darkgreen; +} + +.text-unchanged { + +} + +.text-added { + -fx-fill: blue; +} + +.text-removed { + -fx-fill: red; +} diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeEntries.java b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.java index 1e4db5bcc0f..9deceb0218b 100644 --- a/src/main/java/org/jabref/gui/mergeentries/MergeEntries.java +++ b/src/main/java/org/jabref/gui/mergeentries/MergeEntries.java @@ -1,11 +1,9 @@ package org.jabref.gui.mergeentries; -import java.awt.Font; -import java.io.IOException; -import java.io.StringWriter; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -13,62 +11,38 @@ import java.util.Optional; import java.util.Set; import java.util.TreeSet; - -import javax.swing.BorderFactory; -import javax.swing.ButtonGroup; -import javax.swing.JComboBox; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JRadioButton; -import javax.swing.JScrollPane; -import javax.swing.JSeparator; -import javax.swing.JTextArea; -import javax.swing.JTextPane; -import javax.swing.ScrollPaneConstants; -import javax.swing.SwingUtilities; - -import javafx.embed.swing.JFXPanel; -import javafx.scene.Scene; +import java.util.stream.Collectors; + +import javafx.collections.FXCollections; +import javafx.geometry.Insets; +import javafx.scene.control.ComboBox; +import javafx.scene.control.Label; +import javafx.scene.control.RadioButton; +import javafx.scene.control.ScrollPane; +import javafx.scene.control.ToggleGroup; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.ColumnConstraints; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Priority; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import org.jabref.Globals; -import org.jabref.gui.FXDialogService; -import org.jabref.gui.PreviewPanel; -import org.jabref.gui.customjfx.CustomJFXPanel; -import org.jabref.gui.externalfiletype.ExternalFileTypes; +import org.jabref.gui.util.ViewModelListCellFactory; import org.jabref.gui.util.component.DiffHighlightingTextPane; -import org.jabref.logic.bibtex.BibEntryWriter; -import org.jabref.logic.bibtex.LatexFieldFormatter; import org.jabref.logic.formatter.casechanger.SentenceCaseFormatter; import org.jabref.logic.l10n.Localization; -import org.jabref.logic.util.strings.DiffHighlighting; -import org.jabref.model.database.BibDatabaseContext; import org.jabref.model.database.BibDatabaseMode; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.InternalBibtexFields; import org.jabref.preferences.JabRefPreferences; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.ColumnSpec; -import com.jgoodies.forms.layout.FormLayout; -import com.jgoodies.forms.layout.RowSpec; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class MergeEntries { - - private static final Logger LOGGER = LoggerFactory.getLogger(MergeEntries.class); - - - private static final String MARGIN = "10px"; +import org.fxmisc.easybind.EasyBind; - private static final List HEADING_LABELS = new ArrayList<>(6); +public class MergeEntries extends BorderPane { - private static final CellConstraints CELL_CONSTRAINTS = new CellConstraints(); - private static final String[] DIFF_MODES = {Localization.lang("Plain text"), - Localization.lang("Show diff") + " - " + Localization.lang("word"), - Localization.lang("Show diff") + " - " + Localization.lang("character"), - Localization.lang("Show symmetric diff") + " - " + Localization.lang("word"), - Localization.lang("Show symmetric diff") + " - " + Localization.lang("character")}; + private final ComboBox diffMode = new ComboBox<>(); // Headings private final List columnHeadings = Arrays.asList(Localization.lang("Field"), @@ -82,22 +56,30 @@ public class MergeEntries { private final BibEntry mergedEntry = new BibEntry(); private final BibEntry leftEntry; private final BibEntry rightEntry; - private final BibDatabaseMode databaseType; - private JScrollPane scrollPane; - private JTextArea sourceView; - private PreviewPanel entryPreview; - private Boolean doneBuilding; - private Boolean identicalTypes; - private List typeRadioButtons; + private final Map leftTextPanes = new HashMap<>(); private final Set allFields = new TreeSet<>(); - private final JComboBox diffMode = new JComboBox<>(); - private final Map leftTextPanes = new HashMap<>(); - private final Map rightTextPanes = new HashMap<>(); - - private final Map> radioButtons = new HashMap<>(); + private final Map rightTextPanes = new HashMap<>(); + private final Map> radioButtons = new HashMap<>(); + private Boolean identicalTypes; + private List typeRadioButtons; - private final JPanel mainPanel = new JPanel(); + /** + * Constructor with optional column captions for the two entries + * + * @param entryLeft Left entry + * @param entryRight Right entry + * @param headingLeft Heading for left entry + * @param headingRight Heading for right entry + * @param type Bib database mode + */ + public MergeEntries(BibEntry entryLeft, BibEntry entryRight, String headingLeft, String headingRight, BibDatabaseMode type) { + this.leftEntry = entryLeft; + this.rightEntry = entryRight; + initialize(); + setLeftHeaderText(headingLeft); + setRightHeaderText(headingRight); + } /** @@ -110,112 +92,69 @@ public class MergeEntries { public MergeEntries(BibEntry entryLeft, BibEntry entryRight, BibDatabaseMode type) { leftEntry = entryLeft; rightEntry = entryRight; - this.databaseType = type; initialize(); } - /** - * Constructor with optional column captions for the two entries - * - * @param entryLeft Left entry - * @param entryRight Right entry - * @param headingLeft Heading for left entry - * @param headingRight Heading for right entry - * @param type Bib database mode - */ - public MergeEntries(BibEntry entryLeft, BibEntry entryRight, String headingLeft, String headingRight, BibDatabaseMode type) { - columnHeadings.set(1, headingLeft); - columnHeadings.set(5, headingRight); - this.leftEntry = entryLeft; - this.rightEntry = entryRight; - - this.databaseType = type; - - initialize(); + private static String getDisplayText(DiffMode mode) { + switch (mode) { + case PLAIN: + return Localization.lang("Plain text"); + case WORD: + return Localization.lang("Show diff") + " - " + Localization.lang("word"); + case CHARACTER: + return Localization.lang("Show diff") + " - " + Localization.lang("character"); + case WORD_SYMMETRIC: + return Localization.lang("Show symmetric diff") + " - " + Localization.lang("word"); + case CHARACTER_SYMMETRIC: + return Localization.lang("Show symmetric diff") + " - " + Localization.lang("character"); + default: + throw new UnsupportedOperationException("Not implemented: " + mode); + } } /** * Main function for building the merge entry JPanel */ private void initialize() { - doneBuilding = false; + setPrefWidth(800); + setupFields(); fillDiffModes(); - // Create main layout - String colSpecMain = "left:pref, 5px, center:3cm:grow, 5px, center:pref, 3px, center:pref, 3px, center:pref, 5px, center:3cm:grow"; - String colSpecMerge = "left:pref, 5px, fill:3cm:grow, 5px, center:pref, 3px, center:pref, 3px, center:pref, 5px, fill:3cm:grow"; - String rowSpec = "pref, pref, 10px, fill:5cm:grow, 10px, pref, 10px, fill:3cm:grow"; - StringBuilder rowBuilder = new StringBuilder(""); - for (int i = 0; i < allFields.size(); i++) { - rowBuilder.append("pref, 2dlu, "); - } - rowBuilder.append("pref"); - - JPanel mergePanel = new JPanel(); - FormLayout mainLayout = new FormLayout(colSpecMain, rowSpec); - FormLayout mergeLayout = new FormLayout(colSpecMerge, rowBuilder.toString()); - mainPanel.setLayout(mainLayout); - mergePanel.setLayout(mergeLayout); - - setupHeadingRows(); - - mainPanel.add(new JSeparator(), CELL_CONSTRAINTS.xyw(1, 3, 11)); - + GridPane mergePanel = new GridPane(); + mergePanel.setVgap(10); + mergePanel.setHgap(15); + ColumnConstraints columnLabel = new ColumnConstraints(); + columnLabel.setHgrow(Priority.NEVER); + ColumnConstraints columnValues = new ColumnConstraints(); + columnValues.setHgrow(Priority.ALWAYS); + columnValues.setPercentWidth(40); + ColumnConstraints columnSelect = new ColumnConstraints(); + columnSelect.setHgrow(Priority.NEVER); + mergePanel.getColumnConstraints().setAll(columnLabel, columnValues, columnSelect, columnSelect, columnSelect, columnValues); + + setupHeadingRows(mergePanel); setupEntryTypeRow(mergePanel); + setupFieldRows(mergePanel); - int maxLabelWidth = setupFieldRows(mergePanel); - - // Create and add scrollpane - scrollPane = new JScrollPane(mergePanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, - ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); - scrollPane.setBorder(BorderFactory.createEmptyBorder()); - updateTextPanes(allFields); - mainPanel.add(scrollPane, CELL_CONSTRAINTS.xyw(1, 4, 11)); - mainPanel.add(new JSeparator(), CELL_CONSTRAINTS.xyw(1, 5, 11)); - - synchronizeColumnWidths(mainLayout, mergeLayout, maxLabelWidth); - - // Setup a PreviewPanel and a Bibtex source box for the merged entry - mainPanel.add(boldFontLabel(Localization.lang("Merged entry")), CELL_CONSTRAINTS.xyw(1, 6, 6)); - - entryPreview = new PreviewPanel(null, new BibDatabaseContext(), Globals.getKeyPrefs(), Globals.prefs.getPreviewPreferences(), new FXDialogService(), ExternalFileTypes.getInstance()); - entryPreview.setEntry(mergedEntry); - JFXPanel container = CustomJFXPanel.wrap(new Scene(entryPreview)); - mainPanel.add(container, CELL_CONSTRAINTS.xyw(1, 8, 6)); - - mainPanel.add(boldFontLabel(Localization.lang("Merged BibTeX source code")), CELL_CONSTRAINTS.xyw(8, 6, 4)); - - sourceView = new JTextArea(); - sourceView.setLineWrap(true); - sourceView.setFont(new Font("Monospaced", Font.PLAIN, Globals.prefs.getInt(JabRefPreferences.FONT_SIZE))); - mainPanel.add(new JScrollPane(sourceView), CELL_CONSTRAINTS.xyw(8, 8, 4)); - sourceView.setEditable(false); - - // Add some margin around the layout - mainLayout.appendRow(RowSpec.decode(MARGIN)); - mainLayout.appendColumn(ColumnSpec.decode(MARGIN)); - mainLayout.insertRow(1, RowSpec.decode(MARGIN)); - mainLayout.insertColumn(1, ColumnSpec.decode(MARGIN)); + ScrollPane scrollPane = new ScrollPane(mergePanel); + scrollPane.setFitToWidth(true); + setCenter(scrollPane); - // Everything done, allow any action to actually update the merged entry - doneBuilding = true; + updateFieldValues(allFields); - updateAll(); + updateMergedEntry(); - // Show what we've got - mainPanel.setVisible(true); - SwingUtilities.invokeLater(() -> scrollPane.getVerticalScrollBar().setValue(0)); + getStylesheets().add(0, MergeEntries.class.getResource("MergeEntries.css").toExternalForm()); } - private int setupFieldRows(JPanel mergePanel) { + private void setupFieldRows(GridPane mergePanel) { // For all fields in joint add a row and possibly radio buttons int row = 2; - int maxLabelWidth = -1; for (String field : allFields) { - JLabel label = boldFontLabel(new SentenceCaseFormatter().format(field)); - mergePanel.add(label, CELL_CONSTRAINTS.xy(1, (2 * row) - 1, "left, top")); + Label label = new Label(new SentenceCaseFormatter().format(field)); + mergePanel.add(label, 0, row); Optional leftString = leftEntry.getField(field); Optional rightString = rightEntry.getField(field); if (leftString.equals(rightString)) { @@ -224,12 +163,10 @@ private int setupFieldRows(JPanel mergePanel) { differentFields.add(field); } - maxLabelWidth = Math.max(maxLabelWidth, label.getPreferredSize().width); - // Left text pane if (leftString.isPresent()) { - JTextPane tf = new DiffHighlightingTextPane(); - mergePanel.add(tf, CELL_CONSTRAINTS.xy(3, (2 * row) - 1, "f, f")); + TextFlow tf = new DiffHighlightingTextPane(); + mergePanel.add(tf, 1, row); leftTextPanes.put(field, tf); } @@ -237,167 +174,133 @@ private int setupFieldRows(JPanel mergePanel) { if (identicalFields.contains(field)) { mergedEntry.setField(field, leftString.get()); // Will only happen if both entries have the field and the content is identical } else { - ButtonGroup group = new ButtonGroup(); - List list = new ArrayList<>(3); + ToggleGroup group = new ToggleGroup(); + List list = new ArrayList<>(3); for (int k = 0; k < 3; k++) { - JRadioButton button = new JRadioButton(); - group.add(button); - mergePanel.add(button, CELL_CONSTRAINTS.xy(5 + (k * 2), (2 * row) - 1)); - button.addChangeListener(e -> updateAll()); + RadioButton button = new RadioButton(); + EasyBind.subscribe(button.selectedProperty(), selected -> updateMergedEntry()); + group.getToggles().add(button); + mergePanel.add(button, 2 + k, row); list.add(button); } radioButtons.put(field, list); if (leftString.isPresent()) { list.get(0).setSelected(true); if (!rightString.isPresent()) { - list.get(2).setEnabled(false); + list.get(2).setDisable(true); } } else { - list.get(0).setEnabled(false); + list.get(0).setDisable(true); list.get(2).setSelected(true); } } // Right text pane if (rightString.isPresent()) { - JTextPane tf = new DiffHighlightingTextPane(); - mergePanel.add(tf, CELL_CONSTRAINTS.xy(11, (2 * row) - 1, "f, f")); + TextFlow tf = new DiffHighlightingTextPane(); + mergePanel.add(tf, 5, row); rightTextPanes.put(field, tf); } row++; } - return maxLabelWidth; } - private void setupEntryTypeRow(JPanel mergePanel) { + private void setupEntryTypeRow(GridPane mergePanel) { // Start with entry type - mergePanel.add(boldFontLabel(Localization.lang("Entry type")), CELL_CONSTRAINTS.xy(1, 1)); + mergePanel.add(new Label(Localization.lang("Entry type")), 0, 1); - JTextPane leftTypeDisplay = new DiffHighlightingTextPane(); - leftTypeDisplay.setText(DiffHighlighting.HTML_START + leftEntry.getType() + DiffHighlighting.HTML_END); - mergePanel.add(leftTypeDisplay, CELL_CONSTRAINTS.xy(3, 1)); if (leftEntry.getType().equals(rightEntry.getType())) { + mergePanel.add(DiffHighlighting.forUnchanged(leftEntry.getType()), 1, 1); + mergePanel.add(DiffHighlighting.forUnchanged(rightEntry.getType()), 5, 1); identicalTypes = true; } else { + mergePanel.add(DiffHighlighting.forChanged(leftEntry.getType()), 1, 1); + mergePanel.add(DiffHighlighting.forChanged(rightEntry.getType()), 5, 1); identicalTypes = false; - ButtonGroup group = new ButtonGroup(); + ToggleGroup group = new ToggleGroup(); typeRadioButtons = new ArrayList<>(2); for (int k = 0; k < 3; k += 2) { - JRadioButton button = new JRadioButton(); + RadioButton button = new RadioButton(); + EasyBind.subscribe(button.selectedProperty(), selected -> updateMergedEntry()); typeRadioButtons.add(button); - group.add(button); - mergePanel.add(button, CELL_CONSTRAINTS.xy(5 + (k * 2), 1)); - button.addChangeListener(e -> updateAll()); + group.getToggles().add(button); + mergePanel.add(button, 2 + k, 1); } typeRadioButtons.get(0).setSelected(true); } - JTextPane rightTypeDisplay = new DiffHighlightingTextPane(); - rightTypeDisplay.setText(DiffHighlighting.HTML_START + rightEntry.getType() + DiffHighlighting.HTML_END); - mergePanel.add(rightTypeDisplay, CELL_CONSTRAINTS.xy(11, 1)); } - private void setupHeadingRows() { - mainPanel.add(boldFontLabel(Localization.lang("Use")), CELL_CONSTRAINTS.xyw(4, 1, 7, "center, bottom")); - mainPanel.add(diffMode, CELL_CONSTRAINTS.xy(11, 1, "right, bottom")); - + private void setupHeadingRows(GridPane mergePanel) { // Set headings for (int i = 0; i < 6; i++) { - HEADING_LABELS.add(boldFontLabel(columnHeadings.get(i))); - mainPanel.add(HEADING_LABELS.get(i), CELL_CONSTRAINTS.xy(1 + (i * 2), 2)); + mergePanel.add(new Label(columnHeadings.get(i)), i, 0); } } private void fillDiffModes() { - // Fill diff mode combo box - for (String diffText : DIFF_MODES) { - diffMode.addItem(diffText); - } - diffMode.setSelectedIndex( - Math.min(Globals.prefs.getInt(JabRefPreferences.MERGE_ENTRIES_DIFF_MODE), diffMode.getItemCount() - 1)); - diffMode.addActionListener(e -> { - updateTextPanes(differentFields); - storePreference(); + diffMode.setItems(FXCollections.observableList(Arrays.asList(DiffMode.values()))); + new ViewModelListCellFactory() + .withText(MergeEntries::getDisplayText) + .install(diffMode); + DiffMode diffModePref = Globals.prefs.getAsOptional(JabRefPreferences.MERGE_ENTRIES_DIFF_MODE) + .flatMap(DiffMode::parse) + .orElse(DiffMode.WORD); + diffMode.setValue(diffModePref); + EasyBind.subscribe(this.diffMode.valueProperty(), mode -> { + updateFieldValues(differentFields); + Globals.prefs.put(JabRefPreferences.MERGE_ENTRIES_DIFF_MODE, mode.name()); }); - } - - private void synchronizeColumnWidths(FormLayout mainLayout, FormLayout mergeLayout, - int maxLabelWidth) { - // Synchronize column widths - String[] rbAlign = {"right", "center", "left"}; - mainLayout.setColumnSpec(1, ColumnSpec.decode(Integer.toString(maxLabelWidth) + "px")); - Integer maxRBWidth = -1; - for (int k = 2; k < 5; k++) { - maxRBWidth = Math.max(maxRBWidth, HEADING_LABELS.get(k).getPreferredSize().width); - } - for (int k = 0; k < 3; k++) { - mergeLayout.setColumnSpec(5 + (k * 2), ColumnSpec.decode(rbAlign[k] + ":" + maxRBWidth + "px")); - } - } - - private JLabel boldFontLabel(String text) { - JLabel label = new JLabel(text); - Font font = label.getFont(); - label.setFont(font.deriveFont(font.getStyle() | Font.BOLD)); - return label; - } - private void storePreference() { - Globals.prefs.putInt(JabRefPreferences.MERGE_ENTRIES_DIFF_MODE, diffMode.getSelectedIndex()); + HBox heading = new HBox(10); + heading.getChildren().setAll(this.diffMode); + setTop(heading); + BorderPane.setMargin(heading, new Insets(0, 0, 10, 0)); } private void setupFields() { allFields.addAll(leftEntry.getFieldNames()); allFields.addAll(rightEntry.getFieldNames()); - // Remove internal fields - Set toberemoved = new TreeSet<>(); - for (String field : allFields) { - if (InternalBibtexFields.isInternalField(field)) { - toberemoved.add(field); - } - } - allFields.removeAll(toberemoved); + // Do not show internal fields + Set internalFields = allFields.stream().filter(InternalBibtexFields::isInternalField).collect(Collectors.toSet()); + allFields.removeAll(internalFields); } - private void updateTextPanes(Collection fields) { - int oldScrollPaneValue = scrollPane.getVerticalScrollBar().getValue(); + private void updateFieldValues(Collection fields) { for (String field : fields) { String leftString = leftEntry.getField(field).orElse(""); String rightString = rightEntry.getField(field).orElse(""); - switch (diffMode.getSelectedIndex()) { - case 0: // Plain text - break; - case 1: // Latexdiff style - word - rightString = DiffHighlighting.generateDiffHighlighting(leftString, rightString, " "); - break; - case 2: // Latexdiff style - character - rightString = DiffHighlighting.generateDiffHighlighting(leftString, rightString, ""); - break; - case 3: // Symmetric style - word - String tmpLeftString = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, " "); - rightString = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, " "); - leftString = tmpLeftString; - break; - case 4: // Symmetric style - character - tmpLeftString = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, ""); - rightString = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, ""); - leftString = tmpLeftString; - break; - default: // Shouldn't happen - break; + List leftText = leftString.isEmpty() ? Collections.emptyList() : Collections.singletonList(DiffHighlighting.forUnchanged(leftString)); + List rightText = rightString.isEmpty() ? Collections.emptyList() : Collections.singletonList(DiffHighlighting.forUnchanged(rightString)); + switch (diffMode.getValue()) { + case PLAIN: + break; + case WORD: + rightText = DiffHighlighting.generateDiffHighlighting(leftString, rightString, " "); + break; + case CHARACTER: + rightText = DiffHighlighting.generateDiffHighlighting(leftString, rightString, ""); + break; + case WORD_SYMMETRIC: + leftText = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, " "); + rightText = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, " "); + break; + case CHARACTER_SYMMETRIC: + leftText = DiffHighlighting.generateSymmetricHighlighting(leftString, rightString, ""); + rightText = DiffHighlighting.generateSymmetricHighlighting(rightString, leftString, ""); + break; + default: + throw new UnsupportedOperationException("Not implemented " + diffMode.getValue()); } - if ((leftString != null) && leftTextPanes.containsKey(field)) { - leftTextPanes.get(field).setText(DiffHighlighting.HTML_START + leftString + DiffHighlighting.HTML_END); + if (!leftText.isEmpty() && leftTextPanes.containsKey(field)) { + leftTextPanes.get(field).getChildren().setAll(leftText); } - if ((rightString != null) && rightTextPanes.containsKey(field)) { - rightTextPanes.get(field).setText(DiffHighlighting.HTML_START + rightString + DiffHighlighting.HTML_END); + if (!rightText.isEmpty() && rightTextPanes.containsKey(field)) { + rightTextPanes.get(field).getChildren().setAll(rightText); } } - SwingUtilities.invokeLater(() -> scrollPane.getVerticalScrollBar() - .setValue(Math.min(scrollPane.getVerticalScrollBar().getMaximum(), oldScrollPaneValue))); } - /** * @return Merged BibEntry */ @@ -406,22 +309,11 @@ public BibEntry getMergeEntry() { } /** - * @return The merge entry JPanel - */ - public JPanel getMergeEntryPanel() { - return mainPanel; - } - - /** - * Update the merged BibEntry with source and preview panel every time something is changed + * Update the merged entry */ - private void updateAll() { - if (!doneBuilding) { - // If we are not done adding everything, do not do anything... - return; - } + private void updateMergedEntry() { // Check if the type has changed - if (!identicalTypes && typeRadioButtons.get(0).isSelected()) { + if (!identicalTypes && !typeRadioButtons.isEmpty() && typeRadioButtons.get(0).isSelected()) { mergedEntry.setType(leftEntry.getType()); } else { mergedEntry.setType(rightEntry.getType()); @@ -429,6 +321,10 @@ private void updateAll() { // Check the potentially different fields for (String field : differentFields) { + if (!radioButtons.containsKey(field)) { + // May happen during initialization -> just ignore + continue; + } if (radioButtons.get(field).get(0).isSelected()) { mergedEntry.setField(field, leftEntry.getField(field).get()); // Will only happen if field exists } else if (radioButtons.get(field).get(2).isSelected()) { @@ -437,19 +333,31 @@ private void updateAll() { mergedEntry.clearField(field); } } + } - // Update the PreviewPanel - entryPreview.setEntry(mergedEntry); + public void setLeftHeaderText(String leftHeaderText) { + columnHeadings.set(1, leftHeaderText); + initialize(); + } - // Update the BibTeX source view - StringWriter writer = new StringWriter(); - try { - new BibEntryWriter(new LatexFieldFormatter(Globals.prefs.getLatexFieldFormatterPreferences()), - false).write(mergedEntry, writer, databaseType); - } catch (IOException ex) { - LOGGER.error("Error in entry", ex); + public void setRightHeaderText(String rightHeaderText) { + columnHeadings.set(5, rightHeaderText); + initialize(); + } + + public enum DiffMode { + PLAIN, + WORD, + CHARACTER, + WORD_SYMMETRIC, + CHARACTER_SYMMETRIC; + + public static Optional parse(String name) { + try { + return Optional.of(DiffMode.valueOf(name)); + } catch (IllegalArgumentException e) { + return Optional.empty(); + } } - sourceView.setText(writer.getBuffer().toString()); - sourceView.setCaretPosition(0); } } diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeEntriesAction.java b/src/main/java/org/jabref/gui/mergeentries/MergeEntriesAction.java new file mode 100644 index 00000000000..22ba15d7d8a --- /dev/null +++ b/src/main/java/org/jabref/gui/mergeentries/MergeEntriesAction.java @@ -0,0 +1,68 @@ +package org.jabref.gui.mergeentries; + +import java.util.List; +import java.util.Optional; + +import org.jabref.gui.BasePanel; +import org.jabref.gui.DialogService; +import org.jabref.gui.JabRefFrame; +import org.jabref.gui.actions.SimpleCommand; +import org.jabref.gui.undo.NamedCompound; +import org.jabref.gui.undo.UndoableInsertEntry; +import org.jabref.gui.undo.UndoableRemoveEntry; +import org.jabref.logic.l10n.Localization; +import org.jabref.model.entry.BibEntry; + +public class MergeEntriesAction extends SimpleCommand { + + private final JabRefFrame jabRefFrame; + private final DialogService dialogService; + + public MergeEntriesAction(JabRefFrame jabRefFrame) { + this.jabRefFrame = jabRefFrame; + dialogService = jabRefFrame.getDialogService(); + } + + @Override + public void execute() { + BasePanel basePanel = jabRefFrame.getCurrentBasePanel(); + + // Check if there are two entries selected + List selectedEntries = basePanel.getSelectedEntries(); + if (selectedEntries.size() != 2) { + // Inform the user to select entries first. + dialogService.showInformationDialogAndWait( + Localization.lang("Merge entries"), + Localization.lang("You have to choose exactly two entries to merge.")); + + return; + } + + // Store the two entries + BibEntry one = selectedEntries.get(0); + BibEntry two = selectedEntries.get(1); + + MergeEntriesDialog dlg = new MergeEntriesDialog(one, two, basePanel.getBibDatabaseContext().getMode()); + dlg.setTitle(Localization.lang("Merge entries")); + Optional mergedEntry = dlg.showAndWait(); + if (mergedEntry.isPresent()) { + basePanel.insertEntry(mergedEntry.get()); + + // Create a new entry and add it to the undo stack + // Remove the other two entries and add them to the undo stack (which is not working...) + NamedCompound ce = new NamedCompound(Localization.lang("Merge entries")); + ce.addEdit(new UndoableInsertEntry(basePanel.getDatabase(), mergedEntry.get())); + ce.addEdit(new UndoableRemoveEntry(basePanel.getDatabase(), one, basePanel)); + basePanel.getDatabase().removeEntry(one); + ce.addEdit(new UndoableRemoveEntry(basePanel.getDatabase(), two, basePanel)); + basePanel.getDatabase().removeEntry(two); + ce.end(); + basePanel.getUndoManager().addEdit(ce); + + dialogService.notify(Localization.lang("Merged entries")); + } else { + dialogService.notify(Localization.lang("Canceled merging entries")); + } + } + +} diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeEntriesDialog.java b/src/main/java/org/jabref/gui/mergeentries/MergeEntriesDialog.java index f081759bb67..251f62cfdc6 100644 --- a/src/main/java/org/jabref/gui/mergeentries/MergeEntriesDialog.java +++ b/src/main/java/org/jabref/gui/mergeentries/MergeEntriesDialog.java @@ -1,124 +1,47 @@ package org.jabref.gui.mergeentries; -import java.util.List; +import javafx.scene.control.ButtonBar; +import javafx.scene.control.ButtonType; -import javax.swing.JButton; -import javax.swing.JSeparator; - -import org.jabref.gui.BasePanel; -import org.jabref.gui.DialogService; -import org.jabref.gui.JabRefDialog; -import org.jabref.gui.undo.NamedCompound; -import org.jabref.gui.undo.UndoableInsertEntry; -import org.jabref.gui.undo.UndoableRemoveEntry; -import org.jabref.gui.util.DefaultTaskExecutor; -import org.jabref.gui.util.WindowLocation; +import org.jabref.gui.util.BaseDialog; import org.jabref.logic.l10n.Localization; +import org.jabref.model.database.BibDatabaseMode; import org.jabref.model.entry.BibEntry; -import org.jabref.preferences.JabRefPreferences; - -import com.jgoodies.forms.builder.ButtonBarBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.ColumnSpec; -import com.jgoodies.forms.layout.FormLayout; -import com.jgoodies.forms.layout.RowSpec; - -public class MergeEntriesDialog extends JabRefDialog { - private static final String MERGE_ENTRIES = Localization.lang("Merge entries"); - private static final String MARGIN = "5px"; - private final BasePanel panel; +public class MergeEntriesDialog extends BaseDialog { - private final CellConstraints cc = new CellConstraints(); - private final DialogService dialogService; + private final MergeEntries mergeEntries; - public MergeEntriesDialog(BasePanel panel, DialogService dialogService) { - super(MERGE_ENTRIES, true, MergeEntriesDialog.class); - this.dialogService = dialogService; - this.panel = panel; + public MergeEntriesDialog(BibEntry one, BibEntry two, BibDatabaseMode databaseMode) { + mergeEntries = new MergeEntries(one, two, databaseMode); - // Start setting up the dialog - init(panel.getSelectedEntries()); + init(); } /** * Sets up the dialog * - * @param selected Selected BibtexEntries */ - private void init(List selected) { - - // Check if there are two entries selected - if (selected.size() != 2) { // None selected. Inform the user to select entries first. - - dialogService.showInformationDialogAndWait(Localization.lang("Merge entries"), - Localization.lang("You have to choose exactly two entries to merge.")); - - this.dispose(); - return; - } - - // Store the two entries - BibEntry one = selected.get(0); - BibEntry two = selected.get(1); - - MergeEntries mergeEntries = new MergeEntries(one, two, panel.getBibDatabaseContext().getMode()); - - // Create undo-compound - NamedCompound ce = new NamedCompound(MERGE_ENTRIES); - - FormLayout layout = new FormLayout("fill:700px:grow", "fill:400px:grow, 4px, p, 5px, p"); - this.setLayout(layout); - - this.add(mergeEntries.getMergeEntryPanel(), cc.xy(1, 1)); - this.add(new JSeparator(), cc.xy(1, 3)); + private void init() { + this.getDialogPane().setContent(mergeEntries); // Create buttons - ButtonBarBuilder bb = new ButtonBarBuilder(); - bb.addGlue(); - JButton cancel = new JButton(Localization.lang("Cancel")); - cancel.setActionCommand("cancel"); - cancel.addActionListener(e -> { - panel.output(Localization.lang("Canceled merging entries")); - dispose(); - }); - - JButton replaceentries = new JButton(MERGE_ENTRIES); - replaceentries.setActionCommand("replace"); - replaceentries.addActionListener(e -> { - // Create a new entry and add it to the undo stack - // Remove the other two entries and add them to the undo stack (which is not working...) - BibEntry mergedEntry = mergeEntries.getMergeEntry(); - DefaultTaskExecutor.runInJavaFXThread(() -> { - panel.insertEntry(mergedEntry); - ce.addEdit(new UndoableInsertEntry(panel.getDatabase(), mergedEntry)); - ce.addEdit(new UndoableRemoveEntry(panel.getDatabase(), one, panel)); - panel.getDatabase().removeEntry(one); - ce.addEdit(new UndoableRemoveEntry(panel.getDatabase(), two, panel)); - panel.getDatabase().removeEntry(two); - ce.end(); - panel.getUndoManager().addEdit(ce); - panel.output(Localization.lang("Merged entries")); - }); - - dispose(); + ButtonType replaceEntries = new ButtonType(Localization.lang("Merge entries"), ButtonBar.ButtonData.OK_DONE); + this.getDialogPane().getButtonTypes().setAll(ButtonType.CANCEL, replaceEntries); + this.setResultConverter(buttonType -> { + if (buttonType.equals(replaceEntries)) { + return mergeEntries.getMergeEntry(); + } else { + return null; + } }); + } - bb.addButton(new JButton[] {replaceentries, cancel}); - this.add(bb.getPanel(), cc.xy(1, 5)); - - // Add some margin around the layout - layout.appendRow(RowSpec.decode(MARGIN)); - layout.appendColumn(ColumnSpec.decode(MARGIN)); - layout.insertRow(1, RowSpec.decode(MARGIN)); - layout.insertColumn(1, ColumnSpec.decode(MARGIN)); - - WindowLocation pw = new WindowLocation(this, JabRefPreferences.MERGEENTRIES_POS_X, - JabRefPreferences.MERGEENTRIES_POS_Y, JabRefPreferences.MERGEENTRIES_SIZE_X, - JabRefPreferences.MERGEENTRIES_SIZE_Y); - pw.displayWindowAtStoredLocation(); + public void setLeftHeaderText(String leftHeaderText) { + mergeEntries.setLeftHeaderText(leftHeaderText); + } - // Show what we've got - setVisible(true); + public void setRightHeaderText(String rightHeaderText) { + mergeEntries.setRightHeaderText(rightHeaderText); } } diff --git a/src/main/java/org/jabref/gui/mergeentries/MergeFetchedEntryDialog.java b/src/main/java/org/jabref/gui/mergeentries/MergeFetchedEntryDialog.java deleted file mode 100644 index 516f59f98b9..00000000000 --- a/src/main/java/org/jabref/gui/mergeentries/MergeFetchedEntryDialog.java +++ /dev/null @@ -1,167 +0,0 @@ -package org.jabref.gui.mergeentries; - -import java.awt.event.ActionEvent; -import java.util.Optional; -import java.util.Set; -import java.util.TreeSet; - -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JButton; -import javax.swing.JSeparator; - -import org.jabref.gui.BasePanel; -import org.jabref.gui.JabRefDialog; -import org.jabref.gui.undo.NamedCompound; -import org.jabref.gui.undo.UndoableChangeType; -import org.jabref.gui.undo.UndoableFieldChange; -import org.jabref.gui.util.WindowLocation; -import org.jabref.logic.l10n.Localization; -import org.jabref.model.entry.BibEntry; -import org.jabref.model.entry.InternalBibtexFields; -import org.jabref.preferences.JabRefPreferences; - -import com.jgoodies.forms.builder.ButtonBarBuilder; -import com.jgoodies.forms.layout.CellConstraints; -import com.jgoodies.forms.layout.ColumnSpec; -import com.jgoodies.forms.layout.FormLayout; -import com.jgoodies.forms.layout.RowSpec; - -/** - * Dialog for merging Bibtex entry with fetched data - */ -public class MergeFetchedEntryDialog extends JabRefDialog { - - private static final String MARGIN = "5px"; - private final BasePanel panel; - private final CellConstraints cc = new CellConstraints(); - private final BibEntry originalEntry; - private final BibEntry fetchedEntry; - private NamedCompound ce; - private MergeEntries mergeEntries; - private final String type; - - - public MergeFetchedEntryDialog(BasePanel panel, BibEntry originalEntry, BibEntry fetchedEntry, String type) { - super(Localization.lang("Merge entry with %0 information", type), true, MergeFetchedEntryDialog.class); - - this.panel = panel; - this.originalEntry = originalEntry; - this.fetchedEntry = fetchedEntry; - this.type = type; - - // Start setting up the dialog - init(); - } - - /** - * Sets up the dialog - */ - private void init() { - mergeEntries = new MergeEntries(this.originalEntry, this.fetchedEntry, Localization.lang("Original entry"), - Localization.lang("Entry from %0", type), panel.getBibDatabaseContext().getMode()); - - // Create undo-compound - ce = new NamedCompound(Localization.lang("Merge entry with %0 information", type)); - - FormLayout layout = new FormLayout("fill:700px:grow", "fill:400px:grow, 4px, p, 5px, p"); - this.setLayout(layout); - - this.add(mergeEntries.getMergeEntryPanel(), cc.xy(1, 1)); - this.add(new JSeparator(), cc.xy(1, 3)); - - // Create buttons - ButtonBarBuilder bb = new ButtonBarBuilder(); - bb.addGlue(); - - JButton cancel = new JButton(new CancelAction()); - JButton replaceEntry = new JButton(new ReplaceAction()); - - bb.addButton(replaceEntry, cancel); - this.add(bb.getPanel(), cc.xy(1, 5)); - - // Add some margin around the layout - layout.appendRow(RowSpec.decode(MARGIN)); - layout.appendColumn(ColumnSpec.decode(MARGIN)); - layout.insertRow(1, RowSpec.decode(MARGIN)); - layout.insertColumn(1, ColumnSpec.decode(MARGIN)); - - WindowLocation pw = new WindowLocation(this, JabRefPreferences.MERGEENTRIES_POS_X, - JabRefPreferences.MERGEENTRIES_POS_Y, JabRefPreferences.MERGEENTRIES_SIZE_X, - JabRefPreferences.MERGEENTRIES_SIZE_Y); - pw.displayWindowAtStoredLocation(); - - } - - private class CancelAction extends AbstractAction { - CancelAction() { - putValue(Action.NAME, Localization.lang("Cancel")); - } - - @Override - public void actionPerformed(ActionEvent e) { - panel.output(Localization.lang("Canceled merging entries")); - dispose(); - } - } - - private class ReplaceAction extends AbstractAction { - ReplaceAction() { - putValue(Action.NAME, Localization.lang("Replace original entry")); - } - - @Override - public void actionPerformed(ActionEvent e) { - BibEntry mergedEntry = mergeEntries.getMergeEntry(); - - // Updated the original entry with the new fields - Set jointFields = new TreeSet<>(mergedEntry.getFieldNames()); - Set originalFields = new TreeSet<>(originalEntry.getFieldNames()); - boolean edited = false; - - // entry type - String oldType = originalEntry.getType(); - String newType = mergedEntry.getType(); - - if (!oldType.equalsIgnoreCase(newType)) { - originalEntry.setType(newType); - ce.addEdit(new UndoableChangeType(originalEntry, oldType, newType)); - edited = true; - } - - // fields - for (String field : jointFields) { - Optional originalString = originalEntry.getField(field); - Optional mergedString = mergedEntry.getField(field); - if (!originalString.isPresent() || !originalString.equals(mergedString)) { - originalEntry.setField(field, mergedString.get()); // mergedString always present - ce.addEdit(new UndoableFieldChange(originalEntry, field, originalString.orElse(null), - mergedString.get())); - edited = true; - } - } - - // Remove fields which are not in the merged entry, unless they are internal fields - for (String field : originalFields) { - if (!jointFields.contains(field) && !InternalBibtexFields.isInternalField(field)) { - Optional originalString = originalEntry.getField(field); - originalEntry.clearField(field); - ce.addEdit(new UndoableFieldChange(originalEntry, field, originalString.get(), null)); // originalString always present - edited = true; - } - } - - if (edited) { - ce.end(); - panel.getUndoManager().addEdit(ce); - panel.output(Localization.lang("Updated entry with info from %0", type)); - panel.updateEntryEditorIfShowing(); - panel.markBaseChanged(); - } else { - panel.output(Localization.lang("No information added")); - } - - dispose(); - } - } -} diff --git a/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java b/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java index a3a8a349d56..917b88b3ea4 100644 --- a/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/AppearancePrefsTab.java @@ -13,14 +13,13 @@ import org.jabref.gui.DialogService; import org.jabref.gui.util.ControlHelper; +import org.jabref.gui.util.ThemeLoader; import org.jabref.logic.l10n.Localization; import org.jabref.model.strings.StringUtil; import org.jabref.preferences.JabRefPreferences; class AppearancePrefsTab extends Pane implements PrefsTab { - public static final String BASE_CSS = "Base.css"; - public static final String DARK_CSS = "Dark.css"; private final JabRefPreferences prefs; private final CheckBox fontTweaksLAF; private final TextField fontSize; @@ -55,14 +54,13 @@ public AppearancePrefsTab(DialogService dialogService, JabRefPreferences prefs) darkTheme.setToggleGroup(themeGroup); String cssFileName = prefs.get(JabRefPreferences.FX_THEME); - if (StringUtil.isBlank(cssFileName) || BASE_CSS.equals(cssFileName)) { + if (StringUtil.isBlank(cssFileName) || ThemeLoader.MAIN_CSS.equalsIgnoreCase(cssFileName)) { lightTheme.setSelected(true); - } else if (DARK_CSS.equals(cssFileName)) { + } else if (ThemeLoader.DARK_CSS.equals(cssFileName)) { darkTheme.setSelected(true); } container.getChildren().addAll(overrideFonts, fontSizeContainer, fontTweaksLAF, lightTheme, darkTheme); - } public Node getBuilder() { @@ -90,11 +88,11 @@ public void storeSettings() { boolean isThemeChanged = false; - if (lightTheme.isSelected() && !prefs.get(JabRefPreferences.FX_THEME).equals(BASE_CSS)) { - prefs.put(JabRefPreferences.FX_THEME, BASE_CSS); + if (lightTheme.isSelected() && !prefs.get(JabRefPreferences.FX_THEME).equals(ThemeLoader.MAIN_CSS)) { + prefs.put(JabRefPreferences.FX_THEME, ThemeLoader.MAIN_CSS); isThemeChanged = true; - } else if (darkTheme.isSelected() && !prefs.get(JabRefPreferences.FX_THEME).equals(DARK_CSS)) { - prefs.put(JabRefPreferences.FX_THEME, DARK_CSS); + } else if (darkTheme.isSelected() && !prefs.get(JabRefPreferences.FX_THEME).equals(ThemeLoader.DARK_CSS)) { + prefs.put(JabRefPreferences.FX_THEME, ThemeLoader.DARK_CSS); isThemeChanged = true; } diff --git a/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java b/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java index ab874bf1287..2fd8a9a6653 100644 --- a/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/EntryEditorPrefsTab.java @@ -6,11 +6,13 @@ import javafx.scene.control.RadioButton; import javafx.scene.control.Separator; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; import org.jabref.gui.autocompleter.AutoCompleteFirstNameMode; import org.jabref.gui.autocompleter.AutoCompletePreferences; +import org.jabref.gui.entryeditor.FileDragDropPreferenceType; import org.jabref.gui.keyboard.EmacsKeyBindings; import org.jabref.logic.l10n.Localization; import org.jabref.preferences.JabRefPreferences; @@ -41,10 +43,14 @@ class EntryEditorPrefsTab extends Pane implements PrefsTab { private final JabRefPreferences prefs; private final AutoCompletePreferences autoCompletePreferences; + private final RadioButton copyFile; + private final RadioButton linkFile; + private final RadioButton renameCopyFile; public EntryEditorPrefsTab(JabRefPreferences prefs) { this.prefs = prefs; autoCompletePreferences = prefs.getAutoCompletePreferences(); + autoOpenForm = new CheckBox(Localization.lang("Open editor when a new entry is created")); defSource = new CheckBox(Localization.lang("Show BibTeX source by default")); emacsMode = new CheckBox(Localization.lang("Use Emacs key bindings")); @@ -102,18 +108,40 @@ public EntryEditorPrefsTab(JabRefPreferences prefs) { Label nameFormat = new Label(Localization.lang("Name format used for autocompletion")); nameFormat.getStyleClass().add("sectionHeader"); + final ToggleGroup autocompletionToggleGroup = new ToggleGroup(); builder.add(nameFormat, 1, 14); builder.add(autoCompFF, 1, 15); builder.add(autoCompLF, 1, 16); builder.add(autoCompBoth, 1, 17); + autoCompFF.setToggleGroup(autocompletionToggleGroup); + autoCompLF.setToggleGroup(autocompletionToggleGroup); + autoCompBoth.setToggleGroup(autocompletionToggleGroup); builder.add(new Label(""), 1, 18); Label treatment = new Label(Localization.lang("Treatment of first names")); treatment.getStyleClass().add("sectionHeader"); + final ToggleGroup treatmentOfFirstNamesToggleGroup = new ToggleGroup(); builder.add(treatment, 1, 19); builder.add(firstNameModeAbbr, 1, 20); builder.add(firstNameModeFull, 1, 21); builder.add(firstNameModeBoth, 1, 22); + firstNameModeAbbr.setToggleGroup(treatmentOfFirstNamesToggleGroup); + firstNameModeFull.setToggleGroup(treatmentOfFirstNamesToggleGroup); + firstNameModeBoth.setToggleGroup(treatmentOfFirstNamesToggleGroup); + + final ToggleGroup group = new ToggleGroup(); + Label linkFileOptions = new Label(Localization.lang("Default drag & drop action")); + linkFileOptions.getStyleClass().add("sectionHeader"); + copyFile = new RadioButton(Localization.lang("Copy file to default file folder")); + linkFile = new RadioButton(Localization.lang("Link file (without copying)")); + renameCopyFile = new RadioButton(Localization.lang("Copy, rename and link file")); + builder.add(linkFileOptions, 1, 23); + builder.add(copyFile, 1, 24); + builder.add(linkFile, 1, 25); + builder.add(renameCopyFile, 1, 26); + copyFile.setToggleGroup(group); + linkFile.setToggleGroup(group); + renameCopyFile.setToggleGroup(group); } @Override @@ -163,6 +191,15 @@ public void setValues() { break; } + FileDragDropPreferenceType dragDropPreferenceType = prefs.getEntryEditorFileLinkPreference(); + if (dragDropPreferenceType == FileDragDropPreferenceType.COPY) { + copyFile.setSelected(true); + } else if (dragDropPreferenceType == FileDragDropPreferenceType.LINK) { + linkFile.setSelected(true); + } else { + renameCopyFile.setSelected(true); + } + // similar for emacs CTRL-a and emacs mode emacsRebindCtrlA.setDisable(!emacsMode.isSelected()); // Autocomplete fields is only enabled when autocompletion is selected @@ -221,6 +258,15 @@ else if (autoCompFF.isSelected()) { } else { autoCompletePreferences.setFirstNameMode(AutoCompleteFirstNameMode.BOTH); } + + if (copyFile.isSelected()) { + prefs.storeEntryEditorFileLinkPreference(FileDragDropPreferenceType.COPY); + } else if (linkFile.isSelected()) { + prefs.storeEntryEditorFileLinkPreference(FileDragDropPreferenceType.LINK); + } else { + prefs.storeEntryEditorFileLinkPreference(FileDragDropPreferenceType.MOVE); + } + prefs.storeAutoCompletePreferences(autoCompletePreferences); } diff --git a/src/main/java/org/jabref/gui/preferences/ExternalTab.java b/src/main/java/org/jabref/gui/preferences/ExternalTab.java index a9ec0064a42..782a14fa11d 100644 --- a/src/main/java/org/jabref/gui/preferences/ExternalTab.java +++ b/src/main/java/org/jabref/gui/preferences/ExternalTab.java @@ -13,6 +13,7 @@ import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import org.jabref.Globals; @@ -69,6 +70,9 @@ public ExternalTab(JabRefFrame frame, PreferencesDialog prefsDiag, JabRefPrefere browseAdobeAcrobatReader.setOnAction(e -> showAdobeChooser()); GridPane consoleOptionPanel = new GridPane(); + final ToggleGroup consoleGroup = new ToggleGroup(); + defaultConsole.setToggleGroup(consoleGroup); + executeConsole.setToggleGroup(consoleGroup); consoleOptionPanel.add(defaultConsole, 1, 1); consoleOptionPanel.add(executeConsole, 1, 2); consoleOptionPanel.add(consoleCommand, 2, 2); @@ -76,13 +80,16 @@ public ExternalTab(JabRefFrame frame, PreferencesDialog prefsDiag, JabRefPrefere consoleOptionPanel.add(commandDescription, 2, 3); GridPane pdfOptionPanel = new GridPane(); + final ToggleGroup pdfReaderGroup = new ToggleGroup(); pdfOptionPanel.add(adobeAcrobatReader, 1, 1); pdfOptionPanel.add(adobeAcrobatReaderPath, 2, 1); + adobeAcrobatReader.setToggleGroup(pdfReaderGroup); pdfOptionPanel.add(browseAdobeAcrobatReader, 3, 1); if (OS.WINDOWS) { browseSumatraReader.setOnAction(e -> showSumatraChooser()); pdfOptionPanel.add(sumatraReader, 1, 2); + sumatraReader.setToggleGroup(pdfReaderGroup); pdfOptionPanel.add(sumatraReaderPath, 2, 2); pdfOptionPanel.add(browseSumatraReader, 3, 2); } diff --git a/src/main/java/org/jabref/gui/preferences/FileTab.java b/src/main/java/org/jabref/gui/preferences/FileTab.java index 110caa3f640..55e599e67ae 100644 --- a/src/main/java/org/jabref/gui/preferences/FileTab.java +++ b/src/main/java/org/jabref/gui/preferences/FileTab.java @@ -12,6 +12,7 @@ import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; @@ -95,11 +96,13 @@ public FileTab(DialogService dialogService, JabRefPreferences prefs) { builder.add(backup, 1, 3); Label label = new Label(Localization.lang("Do not wrap the following fields when saving") + ":"); builder.add(label, 1, 4); + final ToggleGroup resolveGroup = new ToggleGroup(); builder.add(nonWrappableFields, 2, 4); builder.add(resolveStringsStandard, 1, 5); builder.add(resolveStringsAll, 1, 6); builder.add(doNotResolveStringsFor, 2, 6); - + resolveStringsStandard.setToggleGroup(resolveGroup); + resolveStringsAll.setToggleGroup(resolveGroup); Label newlineSeparatorLabel = new Label(Localization.lang("Newline separator") + ":"); builder.add(newlineSeparatorLabel, 1, 7); builder.add(newlineSeparator, 2, 7); @@ -125,10 +128,14 @@ public FileTab(DialogService dialogService, JabRefPreferences prefs) { }); builder.add(browse, 3, 12); builder.add(bibLocAsPrimaryDir, 1, 13); + final ToggleGroup autolinkGroup = new ToggleGroup(); builder.add(matchStartsWithKey, 1, 14); builder.add(matchExactKeyOnly, 1, 15); builder.add(useRegExpComboBox, 1, 16); builder.add(regExpTextField, 2, 16); + matchStartsWithKey.setToggleGroup(autolinkGroup); + matchExactKeyOnly.setToggleGroup(autolinkGroup); + useRegExpComboBox.setToggleGroup(autolinkGroup); Button help = new Button("?"); help.setOnAction(event -> new HelpAction(Localization.lang("Help on regular expression search"), diff --git a/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java b/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java index 989f4b534cc..e7086e15e0b 100644 --- a/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/GroupsPrefsTab.java @@ -7,6 +7,7 @@ import javafx.scene.control.Label; import javafx.scene.control.RadioButton; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; @@ -45,8 +46,11 @@ public void handle(ActionEvent event) { builder.add(view, 1, 1); builder.add(hideNonHits, 2, 2); builder.add(grayOut, 2, 3); + final ToggleGroup selectionModeGroup = new ToggleGroup(); builder.add(multiSelectionModeIntersection, 2, 4); builder.add(multiSelectionModeUnion, 2, 5); + multiSelectionModeIntersection.setToggleGroup(selectionModeGroup); + multiSelectionModeUnion.setToggleGroup(selectionModeGroup); builder.add(autoAssignGroup, 2, 6); builder.add(new Label(""), 1, 7); diff --git a/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java b/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java index ad63acc2ffa..d2dd0896a7e 100644 --- a/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java +++ b/src/main/java/org/jabref/gui/preferences/ImportSettingsTab.java @@ -10,6 +10,7 @@ import javafx.scene.control.RadioButton; import javafx.scene.control.Separator; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; @@ -60,11 +61,16 @@ public ImportSettingsTab(JabRefPreferences prefs) { Label defaultImportStyle = new Label(Localization.lang("Default import style for drag and drop of PDFs")); defaultImportStyle.getStyleClass().add("sectionHeader"); builder.add(defaultImportStyle, 1, 1); + final ToggleGroup defaultImportStyleDragDropPdfs = new ToggleGroup(); builder.add(new Separator(), 2, 1); builder.add(radioButtonNoMeta, 2, 2); builder.add(radioButtonXmp, 2, 3); builder.add(radioButtonPDFcontent, 2, 4); builder.add(radioButtononlyAttachPDF, 2, 5); + radioButtonNoMeta.setToggleGroup(defaultImportStyleDragDropPdfs); + radioButtonXmp.setToggleGroup(defaultImportStyleDragDropPdfs); + radioButtonPDFcontent.setToggleGroup(defaultImportStyleDragDropPdfs); + radioButtononlyAttachPDF.setToggleGroup(defaultImportStyleDragDropPdfs); builder.add(useDefaultPDFImportStyle, 2, 6); builder.add(new Label(""), 1, 7); diff --git a/src/main/java/org/jabref/gui/preferences/TableColumnsTab.java b/src/main/java/org/jabref/gui/preferences/TableColumnsTab.java index 9a9ea48bd0b..40ae74463ed 100644 --- a/src/main/java/org/jabref/gui/preferences/TableColumnsTab.java +++ b/src/main/java/org/jabref/gui/preferences/TableColumnsTab.java @@ -24,6 +24,7 @@ import javafx.scene.control.TableColumn; import javafx.scene.control.TableView; import javafx.scene.control.TextField; +import javafx.scene.control.ToggleGroup; import javafx.scene.control.cell.PropertyValueFactory; import javafx.scene.control.cell.TextFieldTableCell; import javafx.scene.layout.BorderPane; @@ -284,14 +285,20 @@ public TableColumnsTab(JabRefPreferences prefs, JabRefFrame frame) { specialTableColumnsBuilder.add(priorityColumn, 1, 5); specialTableColumnsBuilder.add(printedColumn, 1, 6); specialTableColumnsBuilder.add(readStatusColumn, 1, 7); + final ToggleGroup syncGroup = new ToggleGroup(); specialTableColumnsBuilder.add(syncKeywords, 1, 8); specialTableColumnsBuilder.add(writeSpecialFields, 1, 9); + syncKeywords.setToggleGroup(syncGroup); + writeSpecialFields.setToggleGroup(syncGroup); specialTableColumnsBuilder.add(helpButton, 1, 10); specialTableColumnsBuilder.add(fileColumn, 2, 1); specialTableColumnsBuilder.add(urlColumn, 2, 2); + final ToggleGroup preferUrlOrDoi = new ToggleGroup(); specialTableColumnsBuilder.add(preferUrl, 2 ,3); specialTableColumnsBuilder.add(preferDoi, 2, 4); + preferUrl.setToggleGroup(preferUrlOrDoi); + preferDoi.setToggleGroup(preferUrlOrDoi); specialTableColumnsBuilder.add(arxivColumn, 2, 5); specialTableColumnsBuilder.add(extraFileColumns,2, 6); diff --git a/src/main/java/org/jabref/gui/preferences/TablePrefsTab.java b/src/main/java/org/jabref/gui/preferences/TablePrefsTab.java index 4ec10405351..c0dfe9b90be 100644 --- a/src/main/java/org/jabref/gui/preferences/TablePrefsTab.java +++ b/src/main/java/org/jabref/gui/preferences/TablePrefsTab.java @@ -4,6 +4,7 @@ import javafx.scene.control.CheckBox; import javafx.scene.control.Label; import javafx.scene.control.RadioButton; +import javafx.scene.control.ToggleGroup; import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; @@ -54,26 +55,33 @@ public TablePrefsTab(JabRefPreferences prefs) { Label formatOfAuthor = new Label(Localization.lang("Format of author and editor names")); formatOfAuthor.getStyleClass().add("sectionHeader"); builder.add(formatOfAuthor, 1, 1); + final ToggleGroup formatNamesToggleGroup = new ToggleGroup(); + final ToggleGroup nameAbbrevToggleGroup = new ToggleGroup(); builder.add(namesAsIs, 1, 2); + namesAsIs.setToggleGroup(formatNamesToggleGroup); builder.add(noAbbrNames, 2, 2); + noAbbrNames.setToggleGroup(nameAbbrevToggleGroup); builder.add(namesFf, 1, 3); + namesFf.setToggleGroup(formatNamesToggleGroup); builder.add(abbrNames, 2, 3); + abbrNames.setToggleGroup(nameAbbrevToggleGroup); builder.add(namesFl, 1, 4); + namesFl.setToggleGroup(formatNamesToggleGroup); builder.add(lastNamesOnly, 2, 4); + lastNamesOnly.setToggleGroup(nameAbbrevToggleGroup); builder.add(namesNatbib, 1, 5); - + namesNatbib.setToggleGroup(formatNamesToggleGroup); Label label1 = new Label(""); builder.add(label1, 1, 6); - Label general = new Label(Localization.lang("General")); general.getStyleClass().add("sectionHeader"); builder.add(general, 1, 7); builder.add(autoResizeMode, 1, 8); - namesNatbib.setOnAction(e -> { - abbrNames.setDisable(namesNatbib.isSelected()); - lastNamesOnly.setDisable(namesNatbib.isSelected()); - noAbbrNames.setDisable(namesNatbib.isSelected()); - }); + + abbrNames.disableProperty().bind(namesNatbib.selectedProperty()); + lastNamesOnly.disableProperty().bind(namesNatbib.selectedProperty()); + noAbbrNames.disableProperty().bind(namesNatbib.selectedProperty()); + } @Override @@ -102,10 +110,6 @@ public void setValues() { noAbbrNames.setSelected(true); } - abbrNames.setDisable(namesNatbib.isSelected()); - lastNamesOnly.setDisable(namesNatbib.isSelected()); - noAbbrNames.setDisable(namesNatbib.isSelected()); - } /** diff --git a/src/main/java/org/jabref/gui/shared/MergeSharedEntryDialog.java b/src/main/java/org/jabref/gui/shared/MergeSharedEntryDialog.java index e2ac256b025..44a26afd33b 100644 --- a/src/main/java/org/jabref/gui/shared/MergeSharedEntryDialog.java +++ b/src/main/java/org/jabref/gui/shared/MergeSharedEntryDialog.java @@ -14,7 +14,10 @@ import javax.swing.WindowConstants; import javax.swing.border.EmptyBorder; +import javafx.scene.Scene; + import org.jabref.gui.JabRefFrame; +import org.jabref.gui.customjfx.CustomJFXPanel; import org.jabref.gui.mergeentries.MergeEntries; import org.jabref.logic.l10n.Localization; import org.jabref.model.database.BibDatabaseMode; @@ -65,7 +68,7 @@ public void showMergeDialog() { mergeInnformation.setBorder(new EmptyBorder(9, 9, 9, 9)); mergeDialog.add(mergeInnformation, BorderLayout.NORTH); - mergeDialog.add(mergeEntries.getMergeEntryPanel(), BorderLayout.CENTER); + mergeDialog.add(CustomJFXPanel.wrap(new Scene(mergeEntries)), BorderLayout.CENTER); JButton mergeButton = new JButton(Localization.lang("Merge entries")); mergeButton.addActionListener(e -> mergeEntries()); diff --git a/src/main/java/org/jabref/gui/util/BaseDialog.java b/src/main/java/org/jabref/gui/util/BaseDialog.java index 41dda14d551..59f6e034e3b 100644 --- a/src/main/java/org/jabref/gui/util/BaseDialog.java +++ b/src/main/java/org/jabref/gui/util/BaseDialog.java @@ -21,7 +21,7 @@ protected BaseDialog() { setDialogIcon(IconTheme.getJabRefImageFX()); setResizable(true); - Globals.getThemeLoader().installBaseCss(getDialogPane().getScene(), Globals.prefs); + Globals.getThemeLoader().installCss(getDialogPane().getScene(), Globals.prefs); } private void setDialogIcon(Image image) { diff --git a/src/main/java/org/jabref/gui/util/ThemeLoader.java b/src/main/java/org/jabref/gui/util/ThemeLoader.java index 9c4e84ce3f6..d7d452e2b3e 100644 --- a/src/main/java/org/jabref/gui/util/ThemeLoader.java +++ b/src/main/java/org/jabref/gui/util/ThemeLoader.java @@ -1,13 +1,15 @@ package org.jabref.gui.util; import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Objects; +import java.util.Optional; -import javafx.scene.Parent; import javafx.scene.Scene; import org.jabref.gui.JabRefFrame; @@ -34,79 +36,78 @@ */ public class ThemeLoader { - public static final String DEFAULT_MAIN_CSS = "Base.css"; - private static final String DEFAULT_PATH_MAIN_CSS = JabRefFrame.class.getResource(DEFAULT_MAIN_CSS).toExternalForm(); + public static final String MAIN_CSS = "Base.css"; + public static final String DARK_CSS = "Dark.css"; + private static final Logger LOGGER = LoggerFactory.getLogger(ThemeLoader.class); - private String cssToLoad = System.getProperty("jabref.theme.css"); + private final Optional additionalCssToLoad; private final FileUpdateMonitor fileUpdateMonitor; public ThemeLoader(FileUpdateMonitor fileUpdateMonitor, JabRefPreferences jabRefPreferences) { this.fileUpdateMonitor = Objects.requireNonNull(fileUpdateMonitor); - if (!StringUtil.isNullOrEmpty(cssToLoad)) { - LOGGER.info("using css from system " + cssToLoad); - return; - } - - // otherwise load css from preference - String cssFileName = jabRefPreferences.get(JabRefPreferences.FX_THEME); - if (cssFileName != null) { + String cssVmArgument = System.getProperty("jabref.theme.css"); + String cssPreferences = jabRefPreferences.get(JabRefPreferences.FX_THEME); + if (StringUtil.isNotBlank(cssVmArgument)) { + // First priority: VM argument + LOGGER.info("Using css from VM option: " + cssVmArgument); + URL cssVmUrl = null; try { - cssToLoad = JabRefFrame.class.getResource(cssFileName).toExternalForm(); - LOGGER.info("using css " + cssToLoad); - } catch (Exception e) { - LOGGER.warn("can't get css file path of " + cssFileName); + cssVmUrl = Paths.get(cssVmArgument).toUri().toURL(); + } catch (MalformedURLException e) { + LOGGER.warn("Cannot load css " + cssVmArgument, e); + } + additionalCssToLoad = Optional.ofNullable(cssVmUrl); + } else if (StringUtil.isNotBlank(cssPreferences) && !MAIN_CSS.equalsIgnoreCase(cssPreferences)) { + // Otherwise load css from preference + URL cssResource = JabRefFrame.class.getResource(cssPreferences); + if (cssResource != null) { + LOGGER.debug("Using css " + cssResource); + additionalCssToLoad = Optional.of(cssResource); + } else { + additionalCssToLoad = Optional.empty(); + LOGGER.warn("Cannot load css " + cssPreferences); } + } else { + additionalCssToLoad = Optional.empty(); } } - /** - * Installs the base css file as a stylesheet in the given scene. - * Changes in the css file lead to a redraw of the scene using the new css file. + * Installs the base css file as a stylesheet in the given scene. Changes in the css file lead to a redraw of the + * scene using the new css file. */ - public void installBaseCss(Scene scene, JabRefPreferences preferences) { - if (!StringUtil.isNullOrEmpty(cssToLoad)) { - addAndWatchForChanges(scene, cssToLoad, 0); - } else { - LOGGER.warn("using the last default css " + DEFAULT_PATH_MAIN_CSS); - addAndWatchForChanges(scene, DEFAULT_PATH_MAIN_CSS, 0); - } + public void installCss(Scene scene, JabRefPreferences preferences) { + addAndWatchForChanges(scene, JabRefFrame.class.getResource(MAIN_CSS), 0); + additionalCssToLoad.ifPresent(file -> addAndWatchForChanges(scene, file, 1)); preferences.getFontSize().ifPresent(size -> scene.getRoot().setStyle("-fx-font-size: " + size + "pt;")); } - private void addAndWatchForChanges(Scene scene, String cssUrl, int index) { - // avoid repeat add - if (scene.getStylesheets().contains(cssUrl)) return; - - scene.getStylesheets().add(index, cssUrl); + private void addAndWatchForChanges(Scene scene, URL cssFile, int index) { + scene.getStylesheets().add(index, cssFile.toExternalForm()); try { - // If -Djabref.theme.css is defined and the resources are not part of a .jar bundle, - // we watch the file for changes and turn on live reloading - if (!cssUrl.startsWith("jar:")) { - Path cssFile = Paths.get(new URL(cssUrl).toURI()); - LOGGER.info("Enabling live reloading of " + cssFile); - fileUpdateMonitor.addListenerForFile(cssFile, () -> { - LOGGER.info("Reload css file " + cssFile); - DefaultTaskExecutor.runInJavaFXThread(() -> { - scene.getStylesheets().remove(cssUrl); - scene.getStylesheets().add(index, cssUrl); - } - ); - }); + + URI cssUri = cssFile.toURI(); + if (!cssUri.toString().contains("jar")) { + LOGGER.debug("CSS URI {}", cssUri); + + Path cssPath = Paths.get(cssUri).toAbsolutePath(); + // If the file is an ordinary file (i.e. not a resource part of a .jar bundle), we watch it for changes and turn on live reloading + if (!cssUri.toString().contains("jar")) { + LOGGER.info("Enabling live reloading of {}", cssPath); + fileUpdateMonitor.addListenerForFile(cssPath, () -> { + LOGGER.info("Reload css file " + cssFile); + DefaultTaskExecutor.runInJavaFXThread(() -> { + scene.getStylesheets().remove(cssFile.toExternalForm()); + scene.getStylesheets().add(index, cssFile.toExternalForm()); + }); + }); + } } - } catch (URISyntaxException | IOException e) { - LOGGER.error("Could not watch css file for changes " + cssUrl, e); + } catch (IOException | URISyntaxException e) { + LOGGER.error("Could not watch css file for changes " + cssFile, e); } } - - /** - * @deprecated you should never need to add css to a control, add it to the scene containing the control - */ - @Deprecated - public void installBaseCss(Parent control) { - control.getStylesheets().add(0, DEFAULT_PATH_MAIN_CSS); - } } diff --git a/src/main/java/org/jabref/gui/util/component/DiffHighlightingTextPane.java b/src/main/java/org/jabref/gui/util/component/DiffHighlightingTextPane.java index e02eb7d080a..496feb1e5ee 100644 --- a/src/main/java/org/jabref/gui/util/component/DiffHighlightingTextPane.java +++ b/src/main/java/org/jabref/gui/util/component/DiffHighlightingTextPane.java @@ -1,10 +1,8 @@ package org.jabref.gui.util.component; -import javax.swing.JTextPane; -import javax.swing.text.html.HTMLEditorKit; -import javax.swing.text.html.StyleSheet; +import javafx.scene.text.TextFlow; -public class DiffHighlightingTextPane extends JTextPane { +public class DiffHighlightingTextPane extends TextFlow { private static final String BODY_STYLE = "body{font:sans-serif}"; private static final String ADDITION_STYLE = ".add{color:blue;text-decoration:underline}"; @@ -16,13 +14,13 @@ public class DiffHighlightingTextPane extends JTextPane { public DiffHighlightingTextPane() { super(); - setContentType(CONTENT_TYPE); - StyleSheet sheet = ((HTMLEditorKit) getEditorKit()).getStyleSheet(); - sheet.addRule(BODY_STYLE); - sheet.addRule(ADDITION_STYLE); - sheet.addRule(REMOVAL_STYLE); - sheet.addRule(CHANGE_STYLE); - setEditable(false); +// setContentType(CONTENT_TYPE); +// StyleSheet sheet = ((HTMLEditorKit) getEditorKit()).getStyleSheet(); +// sheet.addRule(BODY_STYLE); +// sheet.addRule(ADDITION_STYLE); +// sheet.addRule(REMOVAL_STYLE); +// sheet.addRule(CHANGE_STYLE); +// setEditable(false); } } diff --git a/src/main/java/org/jabref/logic/citationstyle/CSLAdapter.java b/src/main/java/org/jabref/logic/citationstyle/CSLAdapter.java index 7ce1e57e6f6..cda929568d2 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CSLAdapter.java +++ b/src/main/java/org/jabref/logic/citationstyle/CSLAdapter.java @@ -64,7 +64,8 @@ public synchronized List makeBibliography(List bibEntries, Str */ private void initialize(String newStyle, CitationStyleOutputFormat newFormat) throws IOException { if (cslInstance == null || !Objects.equals(newStyle, style)) { - cslInstance = new CSL(dataProvider, newStyle); + // lang and forceLang are set to the default values of other CSL constructors + cslInstance = new CSL(dataProvider, new JabRefLocaleProvider(), newStyle, "en-US", false); style = newStyle; } diff --git a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java index 02010cbbea6..f1ebe894836 100644 --- a/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java +++ b/src/main/java/org/jabref/logic/citationstyle/CitationStyle.java @@ -2,7 +2,7 @@ import java.io.IOException; import java.io.StringReader; -import java.io.UncheckedIOException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -13,12 +13,10 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Objects; import java.util.Optional; -import java.util.regex.Pattern; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -39,15 +37,13 @@ import org.xml.sax.SAXException; /** - * Representation of a CitationStyle. - * Stores its name, the file path and the style itself + * Representation of a CitationStyle. Stores its name, the file path and the style itself */ public class CitationStyle { public static final String DEFAULT = "/ieee.csl"; private static final Logger LOGGER = LoggerFactory.getLogger(CitationStyle.class); - - private static final Pattern SNAPSHOT_NAME = Pattern.compile(".*styles-1\\.0\\.1-SNAPSHOT\\.jar"); + private static final String STYLES_ROOT = "/csl-styles"; private static final List STYLES = new ArrayList<>(); @@ -88,7 +84,7 @@ private static Optional createCitationStyleFromSource(final Strin private static String stripInvalidProlog(String source) { int startIndex = source.indexOf("<"); if (startIndex > 0) { - return source.substring(startIndex, source.length()); + return source.substring(startIndex); } else { return source; } @@ -99,13 +95,13 @@ private static String stripInvalidProlog(String source) { */ public static Optional createCitationStyleFromFile(final String styleFile) { if (!isCitationStyleFile(styleFile)) { - LOGGER.error("Can only load style files: " + styleFile); + LOGGER.error("Can only load style files: {}", styleFile); return Optional.empty(); } try { String text; - String internalFile = (styleFile.startsWith("/") ? "" : "/") + styleFile; + String internalFile = STYLES_ROOT + (styleFile.startsWith("/") ? "" : "/") + styleFile; URL url = CitationStyle.class.getResource(internalFile); if (url != null) { text = CSLUtils.readURLToString(url, StandardCharsets.UTF_8.toString()); @@ -140,36 +136,37 @@ public static List discoverCitationStyles() { if (!STYLES.isEmpty()) { return STYLES; } - try { - - Path filePath = Paths.get(CitationStyle.class.getProtectionDomain().getCodeSource().getLocation().toURI()); - String path = filePath.toString(); - - // This is a quick fix to have the styles when running JabRef in a development environment. - // The styles.jar is not extracted into the JabRef.jar and therefore, we search the classpath for it. - if (Files.isDirectory(filePath)) { - final String cp = System.getProperty("java.class.path"); - final String[] entries = cp.split(System.getProperty("path.separator")); - - Optional foundStyle = Arrays.stream(entries).filter(entry -> SNAPSHOT_NAME.matcher(entry).matches()).findFirst(); - path = foundStyle.orElse(path); - } - - try (FileSystem jarFs = FileSystems.newFileSystem(Paths.get(path), null)) { - try (Stream stylefileStream = Files.find(jarFs.getRootDirectories().iterator().next(), 1, (file, attr) -> file.toString().endsWith("csl"))) { - for (Path style : stylefileStream.collect(Collectors.toList())) { - CitationStyle.createCitationStyleFromFile(style.getFileName().toString()).ifPresent(STYLES::add); - } - } catch (UncheckedIOException e) { - throw new IOException(e); + URL url = CitationStyle.class.getResource(STYLES_ROOT); + if (url == null) { + return Collections.emptyList(); + } + try { + URI uri = url.toURI(); + if ("jar".equals(uri.getScheme())) { + try (FileSystem fs = FileSystems.newFileSystem(uri, Collections.emptyMap())) { + Path path = fs.getPath(STYLES_ROOT); + STYLES.addAll(discoverCitationStylesInPath(path)); } + } else { + STYLES.addAll(discoverCitationStylesInPath(Paths.get(uri))); } return STYLES; - } catch (UncheckedIOException | IOException | URISyntaxException ex) { - LOGGER.error("something went wrong while searching available CitationStyles. Are you running directly from source code?", ex); + } catch (URISyntaxException | IOException e) { + LOGGER.error("something went wrong while searching available CitationStyles. Are you running directly from source code?", e); + return Collections.emptyList(); + } + } + + private static List discoverCitationStylesInPath(Path path) throws IOException { + try (Stream stream = Files.find(path, 1, (file, attr) -> file.toString().endsWith("csl"))) { + return stream.map(Path::getFileName) + .map(Path::toString) + .map(CitationStyle::createCitationStyleFromFile) + .filter(Optional::isPresent) + .map(Optional::get) + .collect(Collectors.toList()); } - return Collections.emptyList(); } /** diff --git a/src/main/java/org/jabref/logic/citationstyle/JabRefLocaleProvider.java b/src/main/java/org/jabref/logic/citationstyle/JabRefLocaleProvider.java new file mode 100644 index 00000000000..ecfc18d55de --- /dev/null +++ b/src/main/java/org/jabref/logic/citationstyle/JabRefLocaleProvider.java @@ -0,0 +1,38 @@ +package org.jabref.logic.citationstyle; + +import java.io.IOException; +import java.io.UncheckedIOException; +import java.net.URL; +import java.util.HashMap; +import java.util.Map; + +import de.undercouch.citeproc.LocaleProvider; +import de.undercouch.citeproc.helper.CSLUtils; + +/** + * A {@link LocaleProvider} that loads locales from a directory in the current module. + * + * This implementation is only a slight adaption of {@link de.undercouch.citeproc.DefaultLocaleProvider}. + */ +public class JabRefLocaleProvider implements LocaleProvider { + + private static final String LOCALES_ROOT = "/csl-locales"; + + private final Map locales = new HashMap<>(); + + @Override + public String retrieveLocale(String lang) { + return locales.computeIfAbsent(lang, locale -> { + try { + URL url = getClass().getResource(LOCALES_ROOT + "/locales-" + locale + ".xml"); + if (url == null) { + throw new IllegalArgumentException("Unable to load locale " + locale); + } + + return CSLUtils.readURLToString(url, "UTF-8"); + } catch (IOException e) { + throw new UncheckedIOException("failed to read locale " + locale, e); + } + }); + } +} diff --git a/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java index 0deb118292e..0fd2880a30d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/DoiFetcher.java @@ -2,7 +2,7 @@ import java.io.IOException; import java.net.URL; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Optional; @@ -22,6 +22,7 @@ import org.jabref.model.entry.FieldName; import org.jabref.model.entry.identifier.DOI; import org.jabref.model.util.DummyFileUpdateMonitor; +import org.jabref.model.util.OptionalUtil; public class DoiFetcher implements IdBasedFetcher, EntryBasedFetcher { public static final String NAME = "DOI"; @@ -75,9 +76,11 @@ private void doPostCleanup(BibEntry entry) { @Override public List performSearch(BibEntry entry) throws FetcherException { - Optional bibEntry = performSearchById(entry.getField(FieldName.DOI).orElse("")); - List list = new ArrayList<>(); - bibEntry.ifPresent(list::add); - return list; + Optional doi = entry.getField(FieldName.DOI); + if (doi.isPresent()) { + return OptionalUtil.toList(performSearchById(doi.get())); + } else { + return Collections.emptyList(); + } } } diff --git a/src/main/java/org/jabref/logic/importer/fileformat/PdfContentImporter.java b/src/main/java/org/jabref/logic/importer/fileformat/PdfContentImporter.java index 67020c721fc..73d5f0544fc 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/PdfContentImporter.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/PdfContentImporter.java @@ -45,13 +45,14 @@ public class PdfContentImporter extends Importer { // input lines into several lines private String[] lines; // current index in lines - private int i; + private int lineIndex; private String curString; private String year; public PdfContentImporter(ImportFormatPreferences importFormatPreferences) { this.importFormatPreferences = importFormatPreferences; + } /** * Removes all non-letter characters at the end @@ -225,17 +226,19 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { // the different lines are joined into one and thereby separated by " " lines = firstPageContents.split(System.lineSeparator()); + lineIndex = 0; //to prevent array index out of bounds exception on second run we need to reset i to zero + proceedToNextNonEmptyLine(); - if (i >= lines.length) { + if (lineIndex >= lines.length) { // PDF could not be parsed or is empty // return empty list return new ParserResult(); } // we start at the current line - curString = lines[i]; + curString = lines[lineIndex]; // i might get incremented later and curString modified, too - i = i + 1; + lineIndex = lineIndex + 1; String author; String editor = null; @@ -279,10 +282,10 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { // after title: authors author = null; - while ((i < lines.length) && !"".equals(lines[i])) { + while ((lineIndex < lines.length) && !"".equals(lines[lineIndex])) { // author names are unlikely to be lines among different lines // treat them line by line - curString = streamlineNames(lines[i]); + curString = streamlineNames(lines[lineIndex]); if (author == null) { author = curString; } else { @@ -292,14 +295,14 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { author = author.concat(" and ").concat(curString); } } - i++; + lineIndex++; } curString = ""; - i++; + lineIndex++; // then, abstract and keywords follow - while (i < lines.length) { - curString = lines[i]; + while (lineIndex < lines.length) { + curString = lines[lineIndex]; if ((curString.length() >= "Abstract".length()) && "Abstract".equalsIgnoreCase(curString.substring(0, "Abstract".length()))) { if (curString.length() == "Abstract".length()) { // only word "abstract" found -- skip line @@ -307,15 +310,15 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { } else { curString = curString.substring("Abstract".length() + 1).trim().concat(System.lineSeparator()); } - i++; + lineIndex++; // fillCurStringWithNonEmptyLines() cannot be used as that uses " " as line separator // whereas we need linebreak as separator - while ((i < lines.length) && !"".equals(lines[i])) { - curString = curString.concat(lines[i]).concat(System.lineSeparator()); - i++; + while ((lineIndex < lines.length) && !"".equals(lines[lineIndex])) { + curString = curString.concat(lines[lineIndex]).concat(System.lineSeparator()); + lineIndex++; } abstractT = curString.trim(); - i++; + lineIndex++; } else if ((curString.length() >= "Keywords".length()) && "Keywords".equalsIgnoreCase(curString.substring(0, "Keywords".length()))) { if (curString.length() == "Keywords".length()) { // only word "Keywords" found -- skip line @@ -323,7 +326,7 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { } else { curString = curString.substring("Keywords".length() + 1).trim(); } - i++; + lineIndex++; fillCurStringWithNonEmptyLines(); keywords = removeNonLettersAtEnd(curString); } else { @@ -340,18 +343,18 @@ public ParserResult importDatabase(Path filePath, Charset defaultEncoding) { } } - i++; + lineIndex++; proceedToNextNonEmptyLine(); } } - i = lines.length - 1; + lineIndex = lines.length - 1; // last block: DOI, detailed information // sometimes, this information is in the third last block etc... // therefore, read until the beginning of the file - while (i >= 0) { + while (lineIndex >= 0) { readLastBlock(); // i now points to the block before or is -1 // curString contains the last block, separated by " " @@ -522,8 +525,8 @@ private void extractYear() { * proceed to next non-empty line */ private void proceedToNextNonEmptyLine() { - while ((i < lines.length) && "".equals(lines[i].trim())) { - i++; + while ((lineIndex < lines.length) && "".equals(lines[lineIndex].trim())) { + lineIndex++; } } @@ -540,16 +543,16 @@ private void proceedToNextNonEmptyLine() { private void fillCurStringWithNonEmptyLines() { // ensure that curString does not end with " " curString = curString.trim(); - while ((i < lines.length) && !"".equals(lines[i])) { - String curLine = lines[i].trim(); + while ((lineIndex < lines.length) && !"".equals(lines[lineIndex])) { + String curLine = lines[lineIndex].trim(); if (!"".equals(curLine)) { if (!curString.isEmpty()) { // insert separating space if necessary curString = curString.concat(" "); } - curString = curString.concat(lines[i]); + curString = curString.concat(lines[lineIndex]); } - i++; + lineIndex++; } proceedToNextNonEmptyLine(); @@ -563,22 +566,22 @@ private void fillCurStringWithNonEmptyLines() { * invariant before/after: i points to line before the last handled block */ private void readLastBlock() { - while ((i >= 0) && "".equals(lines[i].trim())) { - i--; + while ((lineIndex >= 0) && "".equals(lines[lineIndex].trim())) { + lineIndex--; } // i is now at the end of a block - int end = i; + int end = lineIndex; // find beginning - while ((i >= 0) && !"".equals(lines[i])) { - i--; + while ((lineIndex >= 0) && !"".equals(lines[lineIndex])) { + lineIndex--; } // i is now the line before the beginning of the block // this fulfills the invariant curString = ""; - for (int j = i + 1; j <= end; j++) { + for (int j = lineIndex + 1; j <= end; j++) { curString = curString.concat(lines[j].trim()); if (j != end) { curString = curString.concat(" "); diff --git a/src/main/java/org/jabref/logic/integrity/IntegrityMessage.java b/src/main/java/org/jabref/logic/integrity/IntegrityMessage.java index c04a63f87fa..f11fa936187 100644 --- a/src/main/java/org/jabref/logic/integrity/IntegrityMessage.java +++ b/src/main/java/org/jabref/logic/integrity/IntegrityMessage.java @@ -41,8 +41,12 @@ public Object clone() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } IntegrityMessage that = (IntegrityMessage) o; return Objects.equals(entry, that.entry) && Objects.equals(fieldName, that.fieldName) && @@ -53,5 +57,4 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash(entry, fieldName, message); } - } diff --git a/src/main/java/org/jabref/logic/util/strings/DiffHighlighting.java b/src/main/java/org/jabref/logic/util/strings/DiffHighlighting.java deleted file mode 100644 index acd358d99e4..00000000000 --- a/src/main/java/org/jabref/logic/util/strings/DiffHighlighting.java +++ /dev/null @@ -1,103 +0,0 @@ -package org.jabref.logic.util.strings; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -import difflib.Delta; -import difflib.DiffUtils; - -public class DiffHighlighting { - - public static final String HTML_START = ""; - public static final String HTML_END = ""; - private static final String ADDITION_START = ""; - private static final String REMOVAL_START = ""; - private static final String CHANGE_START = ""; - - private static final String TAG_END = ""; - - private DiffHighlighting() { - } - - public static String generateDiffHighlighting(String baseString, String modifiedString, String separator) { - Objects.requireNonNull(separator); - if ((baseString != null) && (modifiedString != null)) { - List stringList = new ArrayList<>(Arrays.asList(baseString.split(separator))); - List> deltaList = new ArrayList<>( - DiffUtils.diff(stringList, Arrays.asList(modifiedString.split(separator))).getDeltas()); - Collections.reverse(deltaList); - for (Delta delta : deltaList) { - int startPos = delta.getOriginal().getPosition(); - List lines = delta.getOriginal().getLines(); - int offset = 0; - switch (delta.getType()) { - case CHANGE: - for (String line : lines) { - stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.REMOVAL_START : "") + line); - offset++; - } - stringList.set((startPos + offset) - 1, - stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END + separator + DiffHighlighting.ADDITION_START - + String.join(separator, delta.getRevised().getLines()) + DiffHighlighting.TAG_END); - break; - case DELETE: - for (String line : lines) { - stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.REMOVAL_START : "") + line); - offset++; - } - stringList.set((startPos + offset) - 1, - stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END); - break; - case INSERT: - stringList.add(delta.getOriginal().getPosition(), - DiffHighlighting.ADDITION_START + String.join(separator, delta.getRevised().getLines()) + DiffHighlighting.TAG_END); - break; - default: - break; - } - } - return String.join(separator, stringList); - } - return modifiedString; - } - - public static String generateSymmetricHighlighting(String baseString, String modifiedString, String separator) { - if ((baseString != null) && (modifiedString != null)) { - List stringList = new ArrayList<>(Arrays.asList(baseString.split(separator))); - List> deltaList = new ArrayList<>(DiffUtils - .diff(stringList, new ArrayList<>(Arrays.asList(modifiedString.split(separator)))).getDeltas()); - Collections.reverse(deltaList); - for (Delta delta : deltaList) { - int startPos = delta.getOriginal().getPosition(); - List lines = delta.getOriginal().getLines(); - int offset = 0; - switch (delta.getType()) { - case CHANGE: - for (String line : lines) { - stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.CHANGE_START : "") + line); - offset++; - } - stringList.set((startPos + offset) - 1, stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END); - break; - case DELETE: - for (String line : lines) { - stringList.set(startPos + offset, (offset == 0 ? DiffHighlighting.ADDITION_START : "") + line); - offset++; - } - stringList.set((startPos + offset) - 1, stringList.get((startPos + offset) - 1) + DiffHighlighting.TAG_END); - break; - case INSERT: - break; - default: - break; - } - } - return String.join(separator, stringList); - } - return modifiedString; - } - -} diff --git a/src/main/java/org/jabref/model/entry/BibtexString.java b/src/main/java/org/jabref/model/entry/BibtexString.java index b03d9ba08e7..52268364cd3 100644 --- a/src/main/java/org/jabref/model/entry/BibtexString.java +++ b/src/main/java/org/jabref/model/entry/BibtexString.java @@ -135,7 +135,7 @@ public boolean hasChanged() { } /* - * Returns user comments (arbitrary text before the string) if there are any. If not returns the empty string + * Returns user comments (arbitrary text before the string) if there are any. If not returns the empty string */ public String getUserComments() { if (parsedSerialization != null) { @@ -173,8 +173,12 @@ public String toString() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } BibtexString that = (BibtexString) o; return hasChanged == that.hasChanged && Objects.equals(name, that.name) && @@ -188,5 +192,4 @@ public boolean equals(Object o) { public int hashCode() { return Objects.hash(name, content, id, type, parsedSerialization, hasChanged); } - } diff --git a/src/main/java/org/jabref/model/entry/identifier/MathSciNetId.java b/src/main/java/org/jabref/model/entry/identifier/MathSciNetId.java index c848e56025b..f07ec8be273 100644 --- a/src/main/java/org/jabref/model/entry/identifier/MathSciNetId.java +++ b/src/main/java/org/jabref/model/entry/identifier/MathSciNetId.java @@ -27,8 +27,12 @@ public static Optional parse(String mrNumberRaw) { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } MathSciNetId that = (MathSciNetId) o; return Objects.equals(identifier, that.identifier); } diff --git a/src/main/java/org/jabref/model/groups/AutomaticKeywordGroup.java b/src/main/java/org/jabref/model/groups/AutomaticKeywordGroup.java index 062648d7f72..f4952a4f751 100644 --- a/src/main/java/org/jabref/model/groups/AutomaticKeywordGroup.java +++ b/src/main/java/org/jabref/model/groups/AutomaticKeywordGroup.java @@ -42,8 +42,12 @@ public AbstractGroup deepCopy() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } AutomaticKeywordGroup that = (AutomaticKeywordGroup) o; return Objects.equals(keywordDelimiter, that.keywordDelimiter) && Objects.equals(field, that.field); diff --git a/src/main/java/org/jabref/model/groups/AutomaticPersonsGroup.java b/src/main/java/org/jabref/model/groups/AutomaticPersonsGroup.java index 61992508ab9..58f11af3b4c 100644 --- a/src/main/java/org/jabref/model/groups/AutomaticPersonsGroup.java +++ b/src/main/java/org/jabref/model/groups/AutomaticPersonsGroup.java @@ -21,8 +21,12 @@ public AutomaticPersonsGroup(String name, GroupHierarchyType context, String fie @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } AutomaticPersonsGroup that = (AutomaticPersonsGroup) o; return Objects.equals(field, that.field); } diff --git a/src/main/java/org/jabref/model/groups/TexGroup.java b/src/main/java/org/jabref/model/groups/TexGroup.java index 3c0ef915db9..a9e7f82e006 100644 --- a/src/main/java/org/jabref/model/groups/TexGroup.java +++ b/src/main/java/org/jabref/model/groups/TexGroup.java @@ -59,9 +59,15 @@ public AbstractGroup deepCopy() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - if (!super.equals(o)) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + if (!super.equals(o)) { + return false; + } TexGroup group = (TexGroup) o; return Objects.equals(filePath, group.filePath); } diff --git a/src/main/java/org/jabref/model/metadata/ContentSelectors.java b/src/main/java/org/jabref/model/metadata/ContentSelectors.java index 96269ff9349..7f841494bf2 100644 --- a/src/main/java/org/jabref/model/metadata/ContentSelectors.java +++ b/src/main/java/org/jabref/model/metadata/ContentSelectors.java @@ -21,7 +21,7 @@ public void addContentSelector(ContentSelector contentSelector) { } public List getSelectorValuesForField(String fieldName) { - for (ContentSelector selector: contentSelectors) { + for (ContentSelector selector : contentSelectors) { if (selector.getFieldName().equals(fieldName)) { return selector.getValues(); } @@ -33,7 +33,7 @@ public List getSelectorValuesForField(String fieldName) { public void removeSelector(String fieldName) { ContentSelector toRemove = null; - for (ContentSelector selector: contentSelectors) { + for (ContentSelector selector : contentSelectors) { if (selector.getFieldName().equals(fieldName)) { toRemove = selector; break; @@ -61,7 +61,7 @@ public static ContentSelector parse(String key, String values) { public List getFieldNamesWithSelectors() { List result = new ArrayList<>(contentSelectors.size()); - for (ContentSelector selector: contentSelectors) { + for (ContentSelector selector : contentSelectors) { result.add(selector.getFieldName()); } @@ -70,8 +70,12 @@ public List getFieldNamesWithSelectors() { @Override public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } ContentSelectors that = (ContentSelectors) o; return Objects.equals(contentSelectors, that.contentSelectors); } diff --git a/src/main/java/org/jabref/preferences/JabRefPreferences.java b/src/main/java/org/jabref/preferences/JabRefPreferences.java index a8a43082550..45332334475 100644 --- a/src/main/java/org/jabref/preferences/JabRefPreferences.java +++ b/src/main/java/org/jabref/preferences/JabRefPreferences.java @@ -46,10 +46,12 @@ import org.jabref.gui.desktop.JabRefDesktop; import org.jabref.gui.entryeditor.EntryEditorPreferences; import org.jabref.gui.entryeditor.EntryEditorTabList; +import org.jabref.gui.entryeditor.FileDragDropPreferenceType; import org.jabref.gui.groups.GroupViewMode; import org.jabref.gui.keyboard.KeyBindingRepository; import org.jabref.gui.maintable.ColumnPreferences; import org.jabref.gui.maintable.MainTablePreferences; +import org.jabref.gui.mergeentries.MergeEntries; import org.jabref.gui.preferences.ImportSettingsTab; import org.jabref.gui.util.ThemeLoader; import org.jabref.logic.bibtex.FieldContentParserPreferences; @@ -368,6 +370,10 @@ public class JabRefPreferences implements PreferencesService { // Id Entry Generator Preferences public static final String ID_ENTRY_GENERATOR = "idEntryGenerator"; + + //File linking Options for entry editor + public static final String ENTRY_EDITOR_DRAG_DROP_PREFERENCE_TYPE = "DragDropPreferenceType"; + // Preview private static final String PREVIEW_STYLE = "previewStyle"; private static final String CYCLE_PREVIEW_POS = "cyclePreviewPos"; @@ -410,6 +416,7 @@ public class JabRefPreferences implements PreferencesService { // Helper string private static final String USER_HOME = System.getProperty("user.home"); + // The only instance of this class: private static JabRefPreferences singleton; /** @@ -569,7 +576,7 @@ private JabRefPreferences() { defaults.put(DEFAULT_AUTO_SORT, Boolean.FALSE); - defaults.put(MERGE_ENTRIES_DIFF_MODE, 2); + defaults.put(MERGE_ENTRIES_DIFF_MODE, MergeEntries.DiffMode.WORD.name()); defaults.put(SHOW_RECOMMENDATIONS, Boolean.TRUE); defaults.put(ACCEPT_RECOMMENDATIONS, Boolean.FALSE); @@ -784,7 +791,9 @@ private JabRefPreferences() { + "__NEWLINE__

"); // set default theme - defaults.put(JabRefPreferences.FX_THEME, ThemeLoader.DEFAULT_MAIN_CSS); + defaults.put(JabRefPreferences.FX_THEME, ThemeLoader.MAIN_CSS); + + defaults.put(ENTRY_EDITOR_DRAG_DROP_PREFERENCE_TYPE, FileDragDropPreferenceType.MOVE.name()); setLanguageDependentDefaultValues(); } @@ -2021,4 +2030,12 @@ public Map getMainTableColumnSortTypes() { } return map; } + + public FileDragDropPreferenceType getEntryEditorFileLinkPreference() { + return FileDragDropPreferenceType.valueOf(get(ENTRY_EDITOR_DRAG_DROP_PREFERENCE_TYPE)); + } + + public void storeEntryEditorFileLinkPreference(FileDragDropPreferenceType type) { + put(ENTRY_EDITOR_DRAG_DROP_PREFERENCE_TYPE, type.name()); + } } diff --git a/src/main/java/org/jabref/styletester/StyleTesterMain.java b/src/main/java/org/jabref/styletester/StyleTesterMain.java index 68a7331b989..13fa1ffcf7c 100644 --- a/src/main/java/org/jabref/styletester/StyleTesterMain.java +++ b/src/main/java/org/jabref/styletester/StyleTesterMain.java @@ -30,7 +30,7 @@ public void start(Stage stage) throws JabRefException { JabRefExecutorService.INSTANCE.executeInterruptableTask(fileUpdateMonitor, "FileUpdateMonitor"); Scene scene = new Scene(view.getContent()); - new ThemeLoader(fileUpdateMonitor, JabRefPreferences.getInstance()).installBaseCss(scene, JabRefPreferences.getInstance()); + new ThemeLoader(fileUpdateMonitor, JabRefPreferences.getInstance()).installCss(scene, JabRefPreferences.getInstance()); stage.setScene(scene); stage.show(); } diff --git a/src/main/resources/csl-locales b/src/main/resources/csl-locales new file mode 160000 index 00000000000..29ed2ff4328 --- /dev/null +++ b/src/main/resources/csl-locales @@ -0,0 +1 @@ +Subproject commit 29ed2ff43284f726f9f583981650a86ffb9b236f diff --git a/src/main/resources/csl-styles b/src/main/resources/csl-styles new file mode 160000 index 00000000000..6ed87f55fd7 --- /dev/null +++ b/src/main/resources/csl-styles @@ -0,0 +1 @@ +Subproject commit 6ed87f55fd75fcecbf8f6b8a96d5edd0c935702e diff --git a/src/main/resources/icons/JabRef-icon-64.png b/src/main/resources/icons/JabRef-icon-64.png new file mode 100644 index 00000000000..e807e0448d3 Binary files /dev/null and b/src/main/resources/icons/JabRef-icon-64.png differ diff --git a/src/main/resources/l10n/JabRef_da.properties b/src/main/resources/l10n/JabRef_da.properties index d8975e95327..32ad4beec00 100644 --- a/src/main/resources/l10n/JabRef_da.properties +++ b/src/main/resources/l10n/JabRef_da.properties @@ -15,8 +15,6 @@ = -= - = Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Zeitschriftentitel der ausgewählten Einträge abkürzen (ISO-Abkürzung) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Zeitschriftentitel der ausgewählten Einträge abkürzen (MEDLINE-Abkürzung) @@ -34,12 +32,13 @@ Accept=Übernehmen Accept\ change=Änderung akzeptieren -Action=Aktion -What\ is\ Mr.\ DLib?=Was ist Mr. DLib? +Action=Aktion Add=Hinzufügen +Add\ new=Neu + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Füge eine (kompilierte) externe Importer Klasse aus einem Verzeichnis hinzu. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Das Verzeichnis muss nicht im Klassenpfad von JabRef enthalten sein. @@ -50,20 +49,16 @@ Add\ a\ regular\ expression\ for\ the\ key\ pattern.=Füge einen Regulären Ausd Add\ selected\ entries\ to\ this\ group=Ausgewählte Einträge zu dieser Gruppe hinzufügen -Add\ from\ folder=Aus Klassenpfad hinzufügen +Add\ from\ folder=Aus Ordner hinzufügen Add\ from\ JAR=Aus Archiv-Datei hinzufügen -Add\ new=Neu - Add\ subgroup=Untergruppe hinzufügen Add\ to\ group=Zu Gruppe hinzufügen Added\ group\ "%0".=Gruppe "%0" hinzugefügt. -Added\ new=Neu hinzugefügt - Added\ string=String hinzugefügt Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Zusätzlich können Einträge, deren Feld %0 nicht %1 enthält, dieser Gruppe manuell hinzugefügt werden, indem Sie sie selektieren und dann entweder Drag&Drop oder das Kontextmenü benutzen. Dieser Vorgang fügt %1 dem Feld %0 jedes Eintrags hinzu. Einträge können manuell aus dieser Gruppe entfernt werden, indem Sie sie selektieren und dann das Kontextmenü benutzen. Dieser Vorgang entfernt %1 aus dem Feld %0 jedes Eintrags. @@ -72,12 +67,8 @@ Advanced=Erweitert All\ entries=Alle Einträge All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Alle Einträge dieses Typs werden als 'ohne Typ' angesehen. Fortfahren? -All\ fields=Alle Felder - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Formatiere BIB Datei immer neu beim Exportieren -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=Beim Parsen von '%0' ist eine SAX-Exception aufgetreten\: - and=und any\ field\ that\ matches\ the\ regular\ expression\ %0=ein beliebiges Feld, auf das der reguläre Ausdruck %0 passt, @@ -89,7 +80,7 @@ Append\ contents\ from\ a\ BibTeX\ library\ into\ the\ currently\ viewed\ librar Append\ library=Bibliothek anhängen -Append\ the\ selected\ text\ to\ BibTeX\ field=Ausgewählten Text an BibTeX-Key anhängen +Append\ the\ selected\ text\ to\ BibTeX\ field=Ausgewählten Text an BibTeX-Feld anhängen Application=Anwendung Apply=Übernehmen @@ -168,6 +159,7 @@ Clear\ fields=Felder löschen Close=Schließen + Close\ dialog=Dialog schließen Close\ the\ current\ library=Aktuelle Bibliothek schließen @@ -223,6 +215,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Das Programm 'vim' konnte nicht gestartet Could\ not\ save\ file.=Datei konnte nicht gespeichert werden. Character\ encoding\ '%0'\ is\ not\ supported.=Die Zeichenkodierung '%0' wird nicht unterstützt. + crossreferenced\ entries\ included=Inklusive querverwiesenen Einträgen Current\ content=Aktueller Inhalt @@ -258,8 +251,6 @@ Default\ grouping\ field=Standard Gruppierungs-Feld Default\ pattern=Standardmuster -Default\ sort\ criteria=Standard-Sortierkriterium - Delete=Löschen Delete\ custom\ format=Format des Eintragstyps löschen @@ -280,8 +271,6 @@ Deleted=Gelöscht Permanently\ delete\ local\ file=Lösche lokale Datei -Delimit\ fields\ with\ semicolon,\ ex.=Felder mit Semikolon abgrenzen, z.B. - Descending=Absteigend Description=Beschreibung @@ -336,7 +325,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Dynamisches Gr Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Dynamisches Gruppieren der Einträge anhand eines Stichworts in einem Feld -Each\ line\ must\ be\ on\ the\ following\ form=Jede Zeile muss das folgende Format aufweisen Edit=Bearbeiten @@ -383,12 +371,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Eintragstypen Error=Fehler -Error\ exporting\ to\ clipboard=Fehler beim Exportieren in die Zwischenablage Error\ occurred\ when\ parsing\ entry=Fehler beim Analysieren des Eintrags Error\ opening\ file=Fehler beim Öffnen der Datei + Error\ while\ writing=Fehler beim Schreiben '%0'\ exists.\ Overwrite\ file?='%0' existiert bereits. Überschreiben? @@ -406,6 +394,7 @@ Export\ properties=Eigenschaften für Exportfilter Export\ to\ clipboard=In die Zwischenablage kopieren +Export\ to\ text\ file.=In Text-Datei exportieren. Exporting=Exportiere Extension=Erweiterung @@ -418,8 +407,6 @@ External\ programs=Externe Programme External\ viewer\ called=Externer Betrachter aufgerufen -Fetch=Abrufen - Field=Feld field=Feld @@ -427,8 +414,6 @@ field=Feld Field\ name=Feldname Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Feldbezeichnungen dürfen keine Leerzeichen enthalten und keine der folgenden Zeichen -Field\ to\ filter=Feld für Filter - Field\ to\ group\ by=Sortierfeld File=Datei @@ -443,13 +428,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Dateiverzeichnis ist nicht File\ exists=Datei ist vorhanden -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Die Datei wurde extern aktualisiert. Was wollen Sie tun? - File\ not\ found=Datei nicht gefunden File\ type=Dateityp - -File\ updated\ externally=Datei extern geändert - filename=Dateiname Files\ opened=Dateien geöffnet @@ -472,6 +452,7 @@ Float=Oben einsortieren for=für + Format\ of\ author\ and\ editor\ names=Format der Autoren- und Hrsg.-Namen Format\ string=Formatier-Ausdruck @@ -482,9 +463,9 @@ found\ in\ AUX\ file=gefundene Schlüssel in AUX Datei Full\ name=Kompletter Name + General=Allgemein -General\ fields=Allgemeine Felder Generate=Erzeugen @@ -570,15 +551,13 @@ Importing=Importieren Importing\ in\ unknown\ format=Ein unbekanntes Format importieren -Include\ abstracts=Abstracts berücksichtigen -Include\ entries=Einträge einschließen - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Untergruppen berücksichtigen\: Einträge dieser Gruppe und ihrer Untergruppen anzeigen Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Unabhängige Gruppen\: Nur die Einträge dieser Gruppe anzeigen Work\ options=Bearbeitungsoptionen + Insert=einfügen Insert\ rows=Zeilen einfügen @@ -628,10 +607,6 @@ Leave\ file\ in\ its\ current\ directory=Datei im aktuellen Verzeichnis lassen Left=Links -Limit\ to\ fields=Auf folgende Felder begrenzen - -Limit\ to\ selected\ entries=Auf ausgewählte Einträge begrenzen - Link=Link Link\ local\ file=Link zu lokaler Datei Link\ to\ file\ %0=Link zur Datei %0 @@ -654,8 +629,6 @@ Mark\ new\ entries\ with\ owner\ name=Neue Einträge mit Namen des Besitzers ver Memory\ stick\ mode=Memory Stick-Modus -Menu\ and\ label\ font\ size=Schriftgröße in Menüs - Merged\ external\ changes=Externe Änderungen eingefügt Merge\ fields=Felder zusammenführen @@ -681,6 +654,8 @@ Move\ up=Nach oben Moved\ group\ "%0".=Gruppe "%0" verschoben. + + Name=Name Name\ formatter=Namens-Formatierer @@ -698,8 +673,6 @@ New\ content=Neuer Inhalt New\ library\ created.=Neue Bibliothek angelegt. -New\ field\ value=Neuer Feldwert - New\ group=Neue Gruppe New\ string=Neuer String @@ -714,9 +687,6 @@ no\ library\ generated=keine Bibliothek erstellt und geschrieben No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Keine Einträge gefunden. Bitte vergewissern Sie sich, dass Sie den richtigen Importfilter benutzen. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Für den Suchausdruck '%0' wurden keine Einträge gefunden - No\ entries\ imported.=Keine Einträge importiert. No\ files\ found.=Keine Dateien gefunden. @@ -738,8 +708,6 @@ Nothing\ to\ redo=Wiederholen nicht möglich Nothing\ to\ undo=Rückgängig nicht möglich -occurrences=Vorkommen - OK=OK One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Einer oder mehrere Keys werden überschrieben. Fortsetzen? @@ -779,13 +747,10 @@ Override=überschreiben Override\ default\ file\ directories=Standard-Verzeichnisse überschreiben -Override\ default\ font\ settings=Standardschrifteinstellungen überschreiben - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=BibTeX-Key mit ausgewähltem Text überschreiben Overwrite=Überschreiben -Overwrite\ existing\ field\ values=Bestehende Feldwerte überschreiben Overwrite\ keys=Keys überschreiben @@ -821,6 +786,7 @@ Please\ enter\ the\ string's\ label=Geben Sie bitte den Namen des Strings ein. Please\ select\ an\ importer.=Bitte Importer auswählen. + Possible\ duplicate\ entries=Mögliche doppelte Einträge Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Möglicherweise doppelter Eintrag. Klicken um Konflikt zu lösen. @@ -856,8 +822,6 @@ Redo=Wiederholen Reference\ library=Referenz-Bibliothek -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=%0 Literaturangaben gefunden. Anzahl der abzurufenden Literaturangaben? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Obergruppe einbeziehen\: Einträge aus dieser Gruppe und ihrer übergeordneten Gruppe anzeigen regular\ expression=Regulärer Ausdruck @@ -916,13 +880,9 @@ Replace\ (regular\ expression)=Ersetzen (regulärer Ausdruck) Replace\ string=String ersetzen -Replace\ with=Ersetzen durch - Replace\ Unicode\ ligatures=Unicode-Ligaturen ersetzen Replaces\ Unicode\ ligatures\ with\ their\ expanded\ form=Unicode-Ligaturen durch ihre erweiterte Form ersetzen -Replaced=Ersetzt\: - Required\ fields=Benötigte Felder Reset\ all=Alle zurücksetzen @@ -931,6 +891,8 @@ Resolve\ strings\ for\ all\ fields\ except=Strings auflösen für alle Felder au Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Strings nur für Standard-BibTeX-Felder auflösen resolved=davon aufgelöst + + Review=Überprüfung Review\ changes=Änderungen überprüfen Review\ Field\ Migration=Review-Feld Migration @@ -949,10 +911,6 @@ Save\ library\ as...=Bibliothek speichern unter ... Save\ entries\ in\ their\ original\ order=Einträge in ursprünglicher Reihenfolge abspeichern -Save\ failed=Fehler beim Speichern - -Save\ failed\ during\ backup\ creation=Während der Erstellung des Backups ist das Speichern fehlgeschlagen - Saved\ library=Bibliothek gespeichert Saved\ selected\ to\ '%0'.=Auswahl gespeichert unter '%0'. @@ -966,8 +924,6 @@ Search=Suchen Search\ expression=Suchausdruck -Search\ for=Suchen nach - Searching\ for\ duplicates...=Suche nach doppelten Einträgen... Searching\ for\ files=Suche nach Dateien @@ -976,19 +932,16 @@ Secondary\ sort\ criterion=Zweites Sortierkriterium Select\ all=Alle auswählen -Select\ encoding=Kodierung wählen - Select\ entry\ type=Eintragstyp auswählen -Select\ external\ application=Externe Anwendung auswählen Select\ file\ from\ ZIP-archive=Eintrag aus der ZIP-Archiv auswählen Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Wählen Sie die Verzweigungen aus, um die Änderungen zu sehen und anzunehmen oder zu verwerfen -Selected\ entries=Ausgewählte Einträge + Set\ field=Setze Feld Set\ fields=Felder setzen -Set\ general\ fields=Allgemeine Felder festlegen + Set\ main\ external\ file\ directory=Standard-Verzeichnis für externe Dateien bestimmen Settings=Einstellungen @@ -1044,8 +997,6 @@ Status=Status Stop=Stopp -Strings=Ersetzen - Strings\ for\ library=Strings für die Bibliothek Sublibrary\ from\ AUX=Teilbibliothek aus AUX-Datei @@ -1106,8 +1057,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Für diesen Vorgang muss mindestens ein Eintrag ausgewählt sein. + Toggle\ entry\ preview=Eintragsvorschau ein-/ausblenden Toggle\ groups\ interface=Gruppenansicht ein-/ausblenden + + + Try\ different\ encoding=Versuchen Sie es mit einer anderen Kodierung Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Abkürzung der Zeitschriftentitel der ausgewählten Einträge aufheben @@ -1154,8 +1109,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=überprüfen View=Ansicht Vim\ server\ name=Vim Server-Name -Waiting\ for\ ArXiv...=Warte auf ArXiv... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Warnung zu ungeklärten Duplikaten ausgeben, wenn das Kontrollfenster geschlossen wird Warn\ before\ overwriting\ existing\ keys=Vor dem Überschreiben von existierenden Keys warnen @@ -1187,7 +1140,6 @@ XMP-metadata=XMP-Metadaten XMP-metadata\ found\ in\ PDF\:\ %0=XMP-Metadaten gefunden im PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Sie müssen JabRef neu starten, damit diese Änderungen in Kraft treten. You\ have\ changed\ the\ language\ setting.=Sie haben die Spracheinstellung geändert. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Sie haben eine ungültige Suche '%0' eingegeben. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Sie müssen JabRef neu starten, damit die Tastenkürzel funktionieren. @@ -1196,27 +1148,21 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Ihre neuen Tastenkürzel wurden ge The\ following\ fetchers\ are\ available\:=Folgende Recherchetools stehen zur Verfügung\: Could\ not\ find\ fetcher\ '%0'=Recherchetool '%0' konnte nicht gefunden werden Running\ query\ '%0'\ with\ fetcher\ '%1'.=Abfrage '%0' wird mit dem Recherchetool '%1' durchgeführt. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Die Abfrage '%0' mit dem Recherchetool '%1' lieferte keine Ergebnisse. Move\ file=Datei verschoben Rename\ file=Datei umbenennen + Move\ file\ failed=Fehler beim Verschieben der Datei Could\ not\ move\ file\ '%0'.=Datei '%0' konnte nicht verschoben werden. Could\ not\ find\ file\ '%0'.=Datei '%0' nicht gefunden. Number\ of\ entries\ successfully\ imported=Zahl der erfolgreich importierten Einträge Import\ canceled\ by\ user=Import durch Benutzer abgebrochen -Progress\:\ %0\ of\ %1=Fortschritt\: %0 von %1 Error\ while\ fetching\ from\ %0=Fehler beim Abrufen von %0 -Please\ enter\ a\ valid\ number=Bitte geben Sie eine gültige Zahl ein Show\ search\ results\ in\ a\ window=Suchergebnisse in einem Fenster anzeigen Show\ global\ search\ results\ in\ a\ window=Globale Suchergebnisse in einem Fenster anzeigen Search\ in\ all\ open\ libraries=Suche in allen offenen Bibliotheken -Move\ file\ to\ file\ directory?=Datei in Dateiverzeichnis verschieben? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=Die Bibliothek ist geschützt. Speichern nicht möglich, bis externe Änderungen geprüft wurden. -Protected\ library=Geschützte Bibliothek 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 Unable\ to\ save\ library=Speichern der Bibliothek nicht möglich @@ -1228,19 +1174,17 @@ MIME\ type=MIME-Typ This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Diese Funktion öffnet neue oder importierte Dateien in einer bereits laufenden Instanz von JabRef
und nicht in einem neuen Fenster. Das ist beispielsweise nützlich,
wenn Sie JabRef von einem Webbrowser aus starten.
Beachten Sie, dass damit nicht mehr als eine Instanz von JabRef gestartet werden kann. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Recherche starten, z.B. "--fetch\=Medline\:cancer" -The\ ACM\ Digital\ Library=ACM Digital Library Reset=Zurücksetzen Use\ IEEE\ LaTeX\ abbreviations=Benutze IEEE-LaTeX-Abkürzungen -The\ Guide\ to\ Computing\ Literature=The Guide to Computing Literature When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Beim Öffnen des Dateilinks die passende Datei suchen, falls keine verlinkt ist Settings\ for\ %0=Einstellungen für %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Sortiere folgende Felder als numerische Felder Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Zeile %0\: Beschädigter BibTeX-Key gefunden. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Zeile %0\: Beschädigter BibTeX-Key gefunden (enthält Leerzeichen). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Zeile %0\: Beschädigter BibTeX-Key gefunden (Komma fehlt). +No\ full\ text\ document\ found=Kein Volltext-Dokument gefunden Update\ to\ current\ column\ order=Aktuelle Spaltenanordnung verwenden Download\ from\ URL=Download von URL Rename\ field=Feld umbenennen @@ -1249,7 +1193,6 @@ Append\ field=An Feld anfügen Append\ to\ fields=An Felder anfügen Rename\ field\ to=Feld umbenennen Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Inhalt eines Felds in ein Feld mit anderem Namen verschieben -You\ can\ only\ rename\ one\ field\ at\ a\ time=Sie können nur eine Datei auf einmal umbenennen Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Port %0 konnte nicht für externen Zugriff genutzt werden; er wird möglicherweise von einer anderen Anwendung benutzt. Versuchen Sie einen anderen Port. @@ -1269,9 +1212,6 @@ Formatter\ not\ found\:\ %0=Formatierer nicht gefunden\: %0 Clear\ inputarea=Eingabefeld löschen Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Speichern nicht möglich, die Datei wird von einer anderen JabRef-Instanz verwendet. -File\ is\ locked\ by\ another\ JabRef\ instance.=Die Datei ist durch eine andere JabRef-Instanz gesperrt. -Do\ you\ want\ to\ override\ the\ file\ lock?=Wollen Sie die Datei trotz Sperre überschreiben? -File\ locked=Datei gesperrt Current\ tmp\ value=Derzeitiger tmp-Wert Metadata\ change=Metadaten-Änderung Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=An den folgenden Metadaten wurden Änderungen vorgenommen @@ -1280,7 +1220,6 @@ Generate\ groups\ for\ author\ last\ names=Erstelle Gruppen für Nachnamen der A Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Erstelle Gruppen aus den Stichwörtern eines BibTeX-Feldes Enforce\ legal\ characters\ in\ BibTeX\ keys=Erzwinge erlaubte Zeichen in BibTeX-Keys -Save\ without\ backup?=Ohne Backup Speichern? Unable\ to\ create\ backup=Erstellen des Backups fehlgeschlagen Move\ file\ to\ file\ directory=Datei ins Dateiverzeichnis verschieben Rename\ file\ to=Datei umbenennen in @@ -1319,14 +1258,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Quelle zum Import von Metadaten Create\ entry\ based\ on\ XMP-metadata=Eintrag aus XMP-Daten erstellen Create\ blank\ entry\ linking\ the\ PDF=Leeren Eintrag erstellen mit Link zum PDF Only\ attach\ PDF=Nur PDF anhängen -Title=Titel Create\ new\ entry=Neuen Eintrag erstellen Update\ existing\ entry=Bestehenden Eintrag aktualisieren Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Automatische Vervollständigung von Namen nur im Format 'Vorname Nachname' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Automatische Vervollständigung von Namen nur im Format 'Nachname, Vorname' Autocomplete\ names\ in\ both\ formats=Automatische Vervollständigung von Namen in beiden Formaten The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=Der Name 'comment' kann nicht als Name für einen Eintragstyp verwendet werden. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Sie müssen einen Zahlwert eintragen im Textfeld für Send\ as\ email=Als E-Mail senden References=Literaturverweise Sending\ of\ emails=Senden der E-Mails @@ -1448,7 +1385,6 @@ Opens\ the\ file\ browser.=Öffnet den Dateimanager. Scan\ directory=Ordner durchsuchen Searches\ the\ selected\ directory\ for\ unlinked\ files.=Sucht im ausgewählten Ordner nach nicht-verlinkten Dateien. Starts\ the\ import\ of\ BibTeX\ entries.=Startet den Import von BibTeX-Einträgen. -Leave\ this\ dialog.=Verlasse diesen Dialog. Create\ directory\ based\ keywords=Erstelle Stichworte, die auf Ordnern basieren Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=Erstellt Stichworte in erstellten Einträgen mit Ordner-Pfadnamen Select\ a\ directory\ where\ the\ search\ shall\ start.=Verzeichnis wählen, in dem die Suche starten soll. @@ -1456,11 +1392,9 @@ Select\ file\ type\:=Dateityp wählen\: These\ files\ are\ not\ linked\ in\ the\ active\ library.=Diese Dateien sind in der aktiven Bibliothek nicht verlinkt. Entry\ type\ to\ be\ created\:=Eintragstyp, der erstellt werden soll\: Searching\ file\ system...=Dateisystem wird durchsucht... -Importing\ into\ Library...=In die Bibliothek importieren... Select\ directory=Verzeichnis wählen Select\ files=Dateien wählen BibTeX\ entry\ creation=Erstellung eines BibTeX-Eintrags -= Unable\ to\ connect\ to\ FreeCite\ online\ service.=Verbindung zu FreeCite konnte nicht hergestellt werden. Parse\ with\ FreeCite=Mit FreeCite parsen How\ would\ you\ like\ to\ link\ to\ '%0'?=Wie möchten Sie zu '%0' verlinken? @@ -1502,7 +1436,6 @@ Toggle\ print\ status=Druckstatus umschalten Update\ keywords=Stichworte aktualisieren Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Werte spezieller Felder separat in die BibTeX-Datei schreiben You\ have\ changed\ settings\ for\ special\ fields.=Sie haben die Einstellungen für spezielle Felder geändert. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=%0 Einträge gefunden. Um die Serverlast zu reduzieren, werden nur %1 heruntergeladen. A\ string\ with\ that\ label\ already\ exists=Ein String mit diesem Label ist bereits vorhanden Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Verbindung zu OpenOffice/LibreOffice verloren. Bitte stellen Sie sicher, dass OpenOffice/LibreOffice läuft, und versuchen Sie, erneut zu verbinden. JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRef sendet pro Eintrag mindestens eine Anfrage an einen Herausgeber. @@ -1523,8 +1456,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Ihre Stildatei legt das Abschnittsformat '%0' fest, das in Ihrem aktuellen OpenOffice/LibreOffice-Dokument nicht definiert ist. Searching...=Suche läuft... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=Sie haben mehr als %0 Einträge zum Download ausgewählt. Einige Webseiten könnten zu viele Downloads blockieren. Möchten Sie fortfahren? -Confirm\ selection=Auswahl bestätigen Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=Nach der Suche {} zu festgesetzten Titelworten hinzufügen, um Groß-/Kleinschreibung beizubehalten Import\ conversions=Konvertierungen importieren Please\ enter\ a\ search\ string=Bitte geben Sie eine Suchphrase ein @@ -1535,7 +1466,6 @@ Canceled\ merging\ entries=Zusammenführen der Einträge abgebrochen Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=Einheiten formatieren\: nicht-umbrechende Trennzeichen hinzufügen und bei der Suche Groß-/Kleinschreibung beibehalten Merge\ entries=Einträge zusammenführen Merged\ entries=Die Einträge wurden zusammengeführt -Merged\ entry=Eintrag zusammengeführt None=Kein(e/r) Parse=Parsen Result=Ergebnis @@ -1619,9 +1549,7 @@ Add\ new\ file\ type=Füge neuen Dateityp hinzu Left\ entry=Linker Eintrag Right\ entry=Rechter Eintrag -Use=Benutze Original\ entry=Originaleintrag -Replace\ original\ entry=Ersetze Originaleintrag No\ information\ added=Keine Informationen hinzugefügt Select\ at\ least\ one\ entry\ to\ manage\ keywords.=Es muss mindestens ein Eintrag ausgewählt sein um Stichworte verwalten zu können. OpenDocument\ text=OpenDocument-Text @@ -1640,7 +1568,6 @@ Please\ move\ the\ file\ manually\ and\ link\ in\ place.=Bitte die Datei manuell 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\ BibTeX\ key.=Warnung\: %0 von %1 Einträgen haben keinen BibTeX-Key. -occurrence=Vorkommen Added\ new\ '%0'\ entry.=Neuer '%0' Eintrag hinzugefügt. Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=Mehrere Einträge ausgewählt. Wollen Sie den Typ aller Einträge zu '%0' ändern? Changed\ type\ to\ '%0'\ for=Typ geändert zu '%0' für @@ -1660,8 +1587,6 @@ Print\ entry\ preview=Eintragsvorschau drucken Copy\ title=Kopiere Titel Copy\ \\cite{BibTeX\ key}=\\cite{BibTeX key} kopieren Copy\ BibTeX\ key\ and\ title=BibTeX-Key und Titel kopieren -File\ rename\ failed\ for\ %0\ entries.=Dateiumbennung schlug ür %0 Einträge fehl. -Merged\ BibTeX\ source\ code=BibTeX-Quelltext zusammengeführt Invalid\ DOI\:\ '%0'.=Ungültiger DOI\: '%0'. should\ start\ with\ a\ name=sollte mit einem Name beginnen should\ end\ with\ a\ name=sollte mit einem Name enden @@ -1715,7 +1640,7 @@ Preamble\ editor,\ store\ changes=Präambeleditor, speichere Änderungen Push\ to\ application=In Applikation einfügen Refresh\ OpenOffice/LibreOffice=Aktualisiere OpenOffice/LibreOffice Resolve\ duplicate\ BibTeX\ keys=Doppelte BibTeX-Keys beseitigen -Save\ all=A&lle speichern +Save\ all=Alle speichern String\ dialog,\ add\ string=Stringdialog, String hinzufügen String\ dialog,\ remove\ string=Stringdialog, String entfernen Synchronize\ files=Sychronisiere Dateien @@ -1754,10 +1679,8 @@ Error\ Occurred=Fehler aufgetreten Journal\ file\ %s\ already\ added=Zeitschriftentiteldatei %s ist bereits vorhanden Name\ cannot\ be\ empty=Name darf nicht leer sein -Adding\ fetched\ entries=Füge abgerufene Einträge hinzu Display\ keywords\ appearing\ in\ ALL\ entries=Zeige Schlüsselwörter die in ALLEN Einträgen vorkommen Display\ keywords\ appearing\ in\ ANY\ entry=Zeige Schlüsselwörter die in mind. EINEM Eintrag vorkommen -Fetching\ entries\ from\ Inspire=Rufe Einträge von Inspire ab None\ of\ the\ selected\ entries\ have\ titles.=Keiner der selektierten Einträge besitzt einen Titel. None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=Keiner der selektieren Einträge besitzt BibTeX-Keys. Unabbreviate\ journal\ names=&Abkürzung der Zeitschriftentitel aufheben @@ -1772,14 +1695,11 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Fehlerhafter Eintragstypkommentar Move\ linked\ files\ to\ default\ file\ directory\ %0=Verknüpfte Dateien in das Standardverzeichnis %0 verschieben -Clipboard=Zwischenablage -Could\ not\ paste\ entry\ as\ text\:=Konnte Einträge nicht als Text parsen\: Do\ you\ still\ want\ to\ continue?=Wollen Sie wirklich fortfahren? This\ action\ will\ modify\ the\ following\ field(s)\ in\ at\ least\ one\ entry\ each\:=Diese Aktion wird jeweils das/die folgenden Feld(er) in mindestens einem Eintrag ändern\: This\ could\ cause\ undesired\ changes\ to\ your\ entries.=Dies könnte ungewollte Änderungen an Ihren Einträgen hervorrufen. Run\ field\ formatter\:=Führe Feldformatierer aus\: Table\ font\ size\ is\ %0=Tabellenschriftgröße ist %0% -%0\ import\ canceled=%0-Import abgebrochen Internal\ style=Interner Stil Add\ style\ file=Füge Stildatei hinzu Are\ you\ sure\ you\ want\ to\ remove\ the\ style?=Wollen Sie wirklich den Stil entfernen? @@ -1797,6 +1717,7 @@ Changes\ all\ letters\ to\ upper\ case.=Ändere alle Buchstaben in Großschreibu Changes\ the\ first\ letter\ of\ all\ words\ to\ capital\ case\ and\ the\ remaining\ letters\ to\ lower\ case.=Schreibt den ersten Buchstaben eines jeden Wortes groß und schreibt alle anderen Wörter klein. Cleans\ up\ LaTeX\ code.=Räumt LaTeX-Code auf. Converts\ HTML\ code\ to\ LaTeX\ code.=Konvertiere HTML-Code in LaTeX-Code. +HTML\ to\ Unicode=HTML zu Unicode Converts\ HTML\ code\ to\ Unicode.=Konvertiere HTML-Code in Unicode. Converts\ LaTeX\ encoding\ to\ Unicode\ characters.=Konvertiere LaTeX Kodierung in Unicode Zeichen. Converts\ Unicode\ characters\ to\ LaTeX\ encoding.=Konvertiere Unicode Zeichen in LaTeX Kodierung. @@ -1808,6 +1729,7 @@ LaTeX\ to\ Unicode=LaTeX zu Unicode Lower\ case=Kleinschreibung Minify\ list\ of\ person\ names=Reduziere Liste der Personen Normalize\ date=Normalisiere Datum +Normalize\ en\ dashes=Gedankenstriche normalisieren Normalize\ month=Normalisiere Monat Normalize\ month\ to\ BibTeX\ standard\ abbreviation.=Normalisiere Datum in BibTeX Standardabkürzung. Normalize\ names\ of\ persons=Normalisiere Personennamen @@ -1815,8 +1737,11 @@ Normalize\ page\ numbers=Normalisiere Seitennummern Normalize\ pages\ to\ BibTeX\ standard.=Normalisiere Seiten in Bibtex-Standard Normalizes\ lists\ of\ persons\ to\ the\ BibTeX\ standard.=Normalisiere Liste der Personen in BibTeX-Standard Normalizes\ the\ date\ to\ ISO\ date\ format.=Normalisiere Datum ins ISO-Datumsformat +Normalizes\ the\ en\ dashes.=Die Gedankenstriche normalisieren. Ordinals\ to\ LaTeX\ superscript=Ordinalzahlen in LaTeX Hochstellungen Protect\ terms=Schütze Terme +Add\ enclosing\ braces=Füge einschließende Klammern hinzu +Add\ braces\ encapsulating\ the\ complete\ field\ content.=Füge Klammern, die den kompletten Feldinhalt einschließen, hinzu. Remove\ enclosing\ braces=Entferne einschließende Klammern Removes\ braces\ encapsulating\ the\ complete\ field\ content.=Entferne Klammern, die den kompletten Feldinhalt einschließen. Sentence\ case=Groß-/Kleinschreibung von Sätzen @@ -1997,7 +1922,6 @@ Your\ issue\ was\ reported\ in\ your\ browser.=Ihr Problem wurde im Browser geme The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=Die Log und Ausnahmefehler-Informationen wurden in die Zwischenablage kopiert. Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=Bitte fügen Sie die Informationen (mit STRG+V) in die Problembeschreibung ein. -Connection=Verbindung Connecting...=Verbinde... Host=Host Port=Port @@ -2024,9 +1948,7 @@ Shared\ version\:\ %0=Geteilte genutzte Version\: %0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Bitte führen Sie den gemeinsam genutzten Eintrag mit Ihrem zusammen und klicken Sie auf "Einträge zuammenführen", um das Problem zu beheben. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=Durch einen Abbruch dieser Operation werden die Änderungen nicht synchronisiert. Trotzdem abbrechen? Shared\ entry\ is\ no\ longer\ present=Geteilter Eintrag ist nicht mehr vorhanden -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=Der Eintrag, welchen Sie zur Zeit bearbeiten, ist auf der geteilten Datenbank nicht mehr vorhanden. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Unter Benutzung der "Rückgängig"-Funktion kann der Eintrag wiederhergestellt werden. -Remember\ password?=Passwort merken? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Eine Datenbankverbindung mit den eingegebenen Verbindungsinformationen besteht bereits. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=Kann keine Einträge ohne BibTeX-Key zitieren. Keys jetzt generieren? @@ -2042,7 +1964,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=Sie müssen mindestens einen Feldn Non-ASCII\ encoded\ character\ found=Nicht ASCII-kodiertes Zeichen gefunden Toggle\ web\ search\ interface=Websuche ein-/ausschalten %0\ files\ found=%0 Dateien gefunden -%0\ of\ %1=%0 von %1 One\ file\ found=Eine Datei gefunden The\ import\ finished\ with\ warnings\:=Der Import wurde mit Warnungen abgeschlossen\: There\ was\ one\ file\ that\ could\ not\ be\ imported.=Eine Datei konnte nicht importiert werden. @@ -2051,7 +1972,6 @@ There\ were\ %0\ files\ which\ could\ not\ be\ imported.=%0 Dateien konnten nich Migration\ help\ information=Hilfe zur Migration Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=Die gewählte Datenbank nutzt eine veraltete, nicht mehr unterstützte Struktur. However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=Dennoch wurde eine neue Datenbank neben der alten Datenbank erzeugt. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Klicken um Informationen zur Migration von vor-3.6-Datenbanken zu erhalten. Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=Öffnet eine Seite auf der die aktuellste Entwicklungsversion heruntergeladen werden kann See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=Beschreibt was in den verschiedenen JabRef-Versionen geändert wurde Referenced\ BibTeX\ key\ does\ not\ exist=Referenzierter BibTeX-Key existiert nicht @@ -2079,7 +1999,6 @@ Existing\ file=Existierende Datei ID=Id ID\ type=ID-Typ -ID-based\ entry\ generator=ID-basierter Eintragsgenerator Fetcher\ '%0'\ did\ not\ find\ an\ entry\ for\ id\ '%1'.=Der %0-Fetcher hat keinen Eintrag für die ID '%1' gefunden. Select\ first\ entry=Ersten Eintrag auswählen @@ -2130,8 +2049,6 @@ journal\ not\ found\ in\ abbreviation\ list=Journal nicht in Abkürzungsliste ge Unhandled\ exception\ occurred.=Unbehandelte Ausnahme aufgetreten. strings\ included=Strings eingeschlossen -Size\ of\ large\ icons=Größe für große Icons -Size\ of\ small\ icons=Größe für kleine Icon Default\ table\ font\ size=Standard Tabellenschriftgröße Escape\ underscores=Unterstriche maskieren Color=Farbe @@ -2199,13 +2116,47 @@ Any\ file=Beliebige Datei No\ linked\ files\ found\ for\ export.=Keine verknüpften Dateien für den Export gefunden. +Full\ text\ document\ download\ failed\ for\ entry\ %0=Download des Volltextdokuments für Eintrag %0 fehlgeschlagen +No\ full\ text\ document\ found\ for\ entry\ %0.=Kein Volltext-Dokument für Eintrag %0 gefunden. +Delete\ Entry=Eintrag löschen +Import\ &\ Export=Import & Export +Look\ up\ document\ identifier=Dokument-ID nachschlagen +Next\ library=Nächste Bibliothek +Previous\ library=Vorherige Bibliothek add\ group=Gruppe hinzufügen - - - - - +Entry\ is\ contained\ in\ the\ following\ groups\:=Eintrag ist in folgenden Gruppen enthalten\: +Delete\ entries=Einträge löschen +Keep\ entries=Einträge behalten +Keep\ entry=Eintrag behalten +Ignore\ backup=Sicherung ignorieren +Restore\ from\ backup=Aus Sicherung wiederherstellen + +Continue=Fortsetzen +Generate\ key=Schlüssel erzeugen +Overwrite\ file=Datei überschreiben +Shared\ database\ connection=Gemeinsame Datenbankverbindung + +Could\ not\ connect\ to\ Vim\ server.\ Make\ sure\ that\ Vim\ is\ running\ with\ correct\ server\ name.=Verbindung zum Vim-Server fehlgeschlagen. Vergewissern Sie sich, dass Vim mit korrektem Servernamen läuft. +Could\ not\ connect\ to\ a\ running\ gnuserv\ process.\ Make\ sure\ that\ Emacs\ or\ XEmacs\ is\ running,\ and\ that\ the\ server\ has\ been\ started\ (by\ running\ the\ command\ 'server-start'/'gnuserv-start').=Keine Verbindung zu einem laufenden gnuserv-Prozess möglich. Vergewissern Sie sich, dass Emacs oder XEmacs läuft und dass der Server gestartet wurde (mit dem Befehl 'server-start'/'gnuserv-start'). +Error\ pushing\ entries=Fehler beim Einfügen der Einträge + +Undefined\ character\ format=Nicht definiertes Zeichenformat +Undefined\ paragraph\ format=Nicht definiertes Paragraphenformat + +Edit\ Preamble=Präambel bearbeiten +Markings=Markierungen +Use\ selected\ instance=Ausgewählte Instanz verwenden + +Hide\ panel=Panel ausblenden +Move\ panel\ up=Panel nach oben bewegen +Move\ panel\ down=Panel nach unten verschieben +Linked\ files=Verknüpfte Dateien +Group\ view\ mode\ set\ to\ intersection=Gruppen-Anzeigemodus auf Durchschnitt eingestellt +Group\ view\ mode\ set\ to\ union=Gruppen-Anzeigemodus auf Vereinigung eingestellt +Open\ %0\ URL\ (%1)=URL %0 öffnen (%1) +Open\ URL\ (%0)=URL öffnen (%0) +Open\ file\ %0=Datei %0 öffnen Jump\ to\ entry=Springe zu Eintrag The\ group\ name\ contains\ the\ keyword\ separator\ "%0"\ and\ thus\ probably\ does\ not\ work\ as\ expected.=Der Gruppename enthält das Trennzeichen "%0" und wird deswegen möglicherweise nicht wie erwartet funktionieren. Abbreviate\ journal\ names\ (ISO)=Zeitschriftentitel abkürzen (&ISO) @@ -2216,13 +2167,25 @@ Copy\ DOI\ url=DOI-URL kopieren Copy\ citation=Kopiere Zitation Development\ version=Entwicklungsversion Export\ selected\ entries=Ausgewählte Einträge exportieren +Export\ selected\ entries\ to\ clipboard=Ausgewählte Einträge in die Zwischenablage kopieren +Find\ duplicates=Duplikate finden Fork\ me\ on\ GitHub=Forke mich auf GitHub JabRef\ resources=Mehr zu JabRef +Manage\ journal\ abbreviations=Abkürzung der Zeitschriftentitel verwalten Manage\ protected\ terms=Geschützte Terme verwalten New\ %0\ library=Neue %0 Bibliothek +New\ entry\ from\ plain\ text=Neuer Eintrag aus Klartext +New\ sublibrary\ based\ on\ AUX\ file=Neue Unterbibliothek basierend auf AUX Datei Push\ entries\ to\ external\ application\ (%0)=&Einträge in externe Anwendung einfügen (%0) +Quit=Beenden +Recent\ libraries=Zuletzt geöffnete Bibliotheken +Set\ up\ general\ fields=Allgemeine Felder festlegen View\ change\ log=Changelog öffnen View\ event\ log=Ereignisprotokoll anzeigen Website=Webseite Write\ XMP-metadata\ to\ PDFs=&XMP-Metadaten in PDFs schreiben +Override\ default\ font\ settings=Standardschrifteinstellungen überschreiben + + + diff --git a/src/main/resources/l10n/JabRef_el.properties b/src/main/resources/l10n/JabRef_el.properties index 7ee7f396782..6e51a88ed2f 100644 --- a/src/main/resources/l10n/JabRef_el.properties +++ b/src/main/resources/l10n/JabRef_el.properties @@ -15,11 +15,9 @@ =<όνομα πεδίου> -= - = Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Abreviar nombres de revistas de las entradas seleccionadas (Abreviatura ISO) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Abreviar nombres de revistas de las entradas seleccionadas (Abreviatura MEDLINE) @@ -34,12 +32,13 @@ Accept=Aceptar Accept\ change=Aceptar cambio -Action=Acción -What\ is\ Mr.\ DLib?=¿Qué es Mr. DLib? +Action=Acción Add=Añadir +Add\ new=Añadir nuevo + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Añadir una clase personalizada (compilada) Importer desde una classpath. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=La ruta no debe estar en la classpath de JabRef. @@ -53,16 +52,12 @@ Add\ from\ folder=Añadir desde carpeta Add\ from\ JAR=Añadir desde JAR -Add\ new=Añadir nuevo - Add\ subgroup=Añadir subgrupo Add\ to\ group=Añadir a grupo Added\ group\ "%0".=Grupo "%0" añadido -Added\ new=Nuevo añadido - Added\ string=Cadena añadida Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Adicionalmente, entradas cuyo campo %0 no contenga %1 pueden ser asignadas manualmente al grupo seleccionándolas y arrastrándolas sobre el menu contextual. Este proceso añade el término %1 al campo de cada entrada. Las entradas pueden ser eliminadas manualmente del grupo seleccionándolas y usando a continuación el menú contextual. Este proceso elimina el término %1 del campo de cada entrada. @@ -71,12 +66,8 @@ Advanced=Avanzado All\ entries=Todas las entradas All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Todas las entradas de este tipo serán declaradas Sin Tipo. ¿Continuar? -All\ fields=Todos los campos - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Siempre reformatear el fichero BIB al guardar y exportar -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=Ocurrió una Excepción SAX mientras se analizaba la sintaxis de '%0'\: - and=y any\ field\ that\ matches\ the\ regular\ expression\ %0=cualquier campo que satisfaga la Expresión Regular %0 @@ -166,6 +157,7 @@ Clear\ fields=Limpiar campos Close=Cerrar + Close\ dialog=Cerrar diálogo Close\ the\ current\ library=Cerrar la biblioteca actual @@ -221,6 +213,7 @@ Could\ not\ run\ the\ 'vim'\ program.=No se puede ejecutar Vim Could\ not\ save\ file.=No se puede guardar el archivo. Character\ encoding\ '%0'\ is\ not\ supported.=La codificaciónd de caracteres '%0' no está soportada. + crossreferenced\ entries\ included=entradas de referencia cruzada incluídas Current\ content=Contenido actual @@ -256,8 +249,6 @@ Default\ grouping\ field=Campo de agrupación por defecto Default\ pattern=Patrón por defecto -Default\ sort\ criteria=Criterio de ordenación por defecto - Delete=Borrar Delete\ custom\ format=Borrar formato por defecto @@ -278,8 +269,6 @@ Deleted=Borrado Permanently\ delete\ local\ file=Eliminar archivo local -Delimit\ fields\ with\ semicolon,\ ex.=Delimitar campos con punto y coma - Descending=Descendiente Description=Descripción @@ -334,7 +323,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Agrupar entrad Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Agrupar entradas dinámicamente buscando palabra clave en campo -Each\ line\ must\ be\ on\ the\ following\ form=Cada línea debe tener la siguiente forma Edit=Editar @@ -381,12 +369,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Tipos de entrada Error=Error -Error\ exporting\ to\ clipboard=Error exportando al portapapeles Error\ occurred\ when\ parsing\ entry=Ocurrió un error al analizar la entrada Error\ opening\ file=Error al abrir el archivo + Error\ while\ writing=Error al escribir '%0'\ exists.\ Overwrite\ file?='%0' existe. ¿Sobreescribir? @@ -416,8 +404,6 @@ External\ programs=Programas externos External\ viewer\ called=Se ha lanzado el visor externo -Fetch=Recuperar - Field=Campo field=campo @@ -425,8 +411,6 @@ field=campo Field\ name=Nombre del campo Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=No se permiten los espacios o los siguientes caracteres en los nombres de campo -Field\ to\ filter=Filtro a partir de campo - Field\ to\ group\ by=Agrupar a partir de campo File=Archivo @@ -441,13 +425,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=¡La carpeta de archivos n File\ exists=El archivo ya existe -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=El archivo ha sido editado - File\ not\ found=No se ha encontrado el archivo File\ type=Tipo de archivo - -File\ updated\ externally=Archivo actualizado externamente - filename=nombre de archivo Files\ opened=Archivos abiertos @@ -469,6 +448,7 @@ Float=Flotar for=para + Format\ of\ author\ and\ editor\ names=Formato de los nombres de autor y editor Format\ string=Formatear cadena @@ -479,9 +459,9 @@ found\ in\ AUX\ file=encontrado en archivo AUX Full\ name=Nombre completo + General=General -General\ fields=Generar campos Generate=Generar @@ -566,15 +546,13 @@ Importing=Importando Importing\ in\ unknown\ format=Importando en formato desconocido -Include\ abstracts=Incluir abstracts -Include\ entries=Incluir entradas - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Incluir subgrupos\: Ver entradas contenidas es este grupo o sus subgrupos cuando estén seleccionadas. Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Grupo independiente\: ver sólo las entradas de este grupo cuando esté seleccionado. Work\ options=Opciones de trabajo + Insert=Insertar Insert\ rows=Insertar filas @@ -622,10 +600,6 @@ Leave\ file\ in\ its\ current\ directory=Dejar el archivo en su directorio actua Left=Dejar -Limit\ to\ fields=Limitar a los campos - -Limit\ to\ selected\ entries=Limitar a las entradas seleccionadas - Link=Enlace Link\ local\ file=Enlazar archivo local Link\ to\ file\ %0=Enlazar al archivo %0 @@ -648,8 +622,6 @@ Mark\ new\ entries\ with\ owner\ name=Marcar nuevas entradas con nombre de propi Memory\ stick\ mode=Modo lápiz de memoria -Menu\ and\ label\ font\ size=Tamaño de tipo de letra para menú y etiquetas - Merged\ external\ changes=Cambios externos incorporados Merge\ fields=Combinar campos @@ -675,6 +647,8 @@ Move\ up=Mover hacia arriba Moved\ group\ "%0".=Se ha movido el grupo "%0". + + Name=Nombre Name\ formatter=Formateador de nombre @@ -692,8 +666,6 @@ New\ content=Nuevo contenido New\ library\ created.=Nueva biblioteca creada. -New\ field\ value=Nuevo valor de campo - New\ group=Nuevo grupo New\ string=Nueva cadena @@ -708,9 +680,6 @@ no\ library\ generated=No se generó biblioteca No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=No se han encontrado entradas. Asegúrese de que está usando el filtro de importación correcto. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=No se han encontrado entdas para la cadena de búsqueda '%0' - No\ entries\ imported.=No se han importado entradas. No\ files\ found.=No se han encontrado archivos. @@ -732,8 +701,6 @@ Nothing\ to\ redo=Nada que rehacer Nothing\ to\ undo=Nada que deshacer -occurrences=apariciones - OK=Ok One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Una o claves se sobreescribirán. ¿Continuar? @@ -773,13 +740,10 @@ Override=Ignorar Override\ default\ file\ directories=Ignorar carpetas de archivo por defecto -Override\ default\ font\ settings=Ignorar ajustes de tipo de letra por defecto - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=Ignorar la clave BibTeX por el texto seleccionado Overwrite=Sobreescribir -Overwrite\ existing\ field\ values=Sobreescribir valores de campo existentes Overwrite\ keys=Sobreescribir claves @@ -815,6 +779,7 @@ Please\ enter\ the\ string's\ label=Introduzca la etiqueta de la cadena Please\ select\ an\ importer.=Seleccionar un importador. + Possible\ duplicate\ entries=Posibles entradas duplicadas Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Posible duplicado de entrada existente. Clique para resolver. @@ -850,8 +815,6 @@ Redo=Rehacer Reference\ library=Biblioteca de referencia -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=Referencias encontradas\: %0. ¿Número de apariciones a recuperar? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Refinar supergrupo\: Ver entradas contenidas en este grupo y sus subgrupos cuando estén seleccionadas regular\ expression=Expresión Regular @@ -910,10 +873,6 @@ Replace\ (regular\ expression)=Reemplazar (Expresión regular) Replace\ string=Reemplazar cadena -Replace\ with=Reemplazar con - - -Replaced=Reemplazado Required\ fields=Campos requeridos @@ -923,6 +882,8 @@ Resolve\ strings\ for\ all\ fields\ except=Resolver cadenas para todos los campo Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Resolver cadenas únicamente para los campos BibTeX estándar resolved=resuelto + + Review=Revisar Review\ changes=Revisar cambios @@ -940,10 +901,6 @@ Save\ library\ as...=Guardar biblioteca como... Save\ entries\ in\ their\ original\ order=Guardar entradas en el orden original -Save\ failed=Fallón el guardado - -Save\ failed\ during\ backup\ creation=Error durante el guardado mientras se creaba la copia de seguridad - Saved\ library=Biblioteca guardada Saved\ selected\ to\ '%0'.=Guardar seleccionados a '%0'. @@ -957,8 +914,6 @@ Search=Buscar Search\ expression=Buscar expresión -Search\ for=Buscar - Searching\ for\ duplicates...=Buscando duplicados... Searching\ for\ files=Buscando archivos @@ -967,19 +922,16 @@ Secondary\ sort\ criterion=Criterio secundario de ordenación Select\ all=Seleccionar todo -Select\ encoding=Seleccionar codificación - Select\ entry\ type=Seleccionar tipo de entrada -Select\ external\ application=Seleccionar aplicación externa Select\ file\ from\ ZIP-archive=Seleccionar archivo desde archivo ZIP Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Seleccionar nodos de árbol para ver y aceptar o rechazar los cambios. -Selected\ entries=Entradas seleccionadas + Set\ field=Establecer campo Set\ fields=Establecer campos -Set\ general\ fields=Establecer campos generales + Set\ main\ external\ file\ directory=Establecer carpeta de archivo externo principal Settings=Ajustes @@ -1033,8 +985,6 @@ Status=Estado Stop=Parar -Strings=Cadenas - Strings\ for\ library=Cadenas para biblioteca Sublibrary\ from\ AUX=Biblioteca secundaria desde AUX @@ -1095,8 +1045,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Esta operación requiere seleccionar una o más entradas. + Toggle\ entry\ preview=Usar vista previa de la entrada si/no Toggle\ groups\ interface=Usar interfaz de grupos si/no + + + Try\ different\ encoding=Probar una codificación diferente Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Desabreviar nombre de revista de las entradas seleccionadas @@ -1141,8 +1095,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=virificar que View=Ver Vim\ server\ name=Nombre de servidor Vim -Waiting\ for\ ArXiv...=Esperando a ArXiv - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Advertir sobre duplicados sin resolver cuando al cerrar la ventana de inspección Warn\ before\ overwriting\ existing\ keys=Advertir antes de sobreescribir claves existentes @@ -1174,7 +1126,6 @@ XMP-metadata=Metadatos XMP XMP-metadata\ found\ in\ PDF\:\ %0=Metadatos XMP encontrados en PDF\: '%0' You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Debe reiniciar JabRef para que los cambios surtan efecto. You\ have\ changed\ the\ language\ setting.=Ha cambiado el ajuste de lenguaje. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Ha introducido una búsqueda inválida '%0' You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Debe reiniciar JabRef para que las nuevas combinaciones de teclas funcionen correctamente. @@ -1183,27 +1134,21 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Sus nuevas combinaciones de teclas The\ following\ fetchers\ are\ available\:=Están disponibles los siguientes recuperadores de datos\: Could\ not\ find\ fetcher\ '%0'=No se puede encontrar el recuperador de datos '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Ejecutando consulta '%0' con recuperador '%1' -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=La consulta '%0' con el recuperador ¡%1' no devolvió ningún resultado. Move\ file=Mover archivo Rename\ file=renombrar archivo + Move\ file\ failed=Error al mover de archivos Could\ not\ move\ file\ '%0'.=No se puede mover el archivo '%0'. Could\ not\ find\ file\ '%0'.=No se encuentra el archivo '%0'. Number\ of\ entries\ successfully\ imported=Número de entradas importadas con éxito Import\ canceled\ by\ user=Importación cancelada por el usuario -Progress\:\ %0\ of\ %1=Progreso\: %0 de %1 Error\ while\ fetching\ from\ %0=Error al recuperar desde %0 -Please\ enter\ a\ valid\ number=Por favor, introduzca un número válido Show\ search\ results\ in\ a\ window=Mostrar los resultados de la búsqueda en una ventana Show\ global\ search\ results\ in\ a\ window=Mostrar resultados de búsqueda global en una ventana Search\ in\ all\ open\ libraries=Buscar en todos los archivos abiertos -Move\ file\ to\ file\ directory?=¿Mover archivo a la carpeta de archivos? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=La biblioteca está protegida. No se puede guardar hasta que los cambios externos hayan sido revisados. -Protected\ library=Biblioteca protegida Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Rechazar guadar la biblioteca antes qde que los cambios externos hayan sido revisado. Library\ protection=Proteccion de la biblioteca Unable\ to\ save\ library=No es posible guardar la biblioteca @@ -1215,7 +1160,6 @@ MIME\ type=Tipo MIME This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Esta función permite que nuevos archivos seasn abiertos o importados en una instancia de JabRef que ya se esté ejecutando,
en lugar de abrir una nueva instancia. Esto es útil, por ejemplo, cuando se abre un archivo en JabRef desde
el navegador de internet.
Tenga en cuenta que esto le impedirá ejecutar más de una instancia de JabRef a la vez. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Ejecutar recuperador, por ejemplo "--fetch\=Medline\:cancer" -The\ ACM\ Digital\ Library=La Biblioteca Digital ACM Reset=Restablecer Use\ IEEE\ LaTeX\ abbreviations=Usar abreviaturas LaTeX IEEE @@ -1223,7 +1167,6 @@ Use\ IEEE\ LaTeX\ abbreviations=Usar abreviaturas LaTeX IEEE When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Al abrir el enlace al archivo, buscar por archivo coincidente si no hay enlace definido Settings\ for\ %0=Ajustes para %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Ordenar los siguientes campos como campos numéricos Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Línea %0\: Se ha encontrado una clave BibTeX corrupta. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Línea %0\: Se ha encontrado una clave BibTeX corrupta (contiene espacios en blanco) Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Línea %0\: Se ha encontrado clave BibTeX corrupta (falta coma). @@ -1235,7 +1178,6 @@ Append\ field=Añadir campo Append\ to\ fields=Añadir a campos Rename\ field\ to=Renombrar campo a Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Mover contenidos de un campo en un campo con nombre diferente -You\ can\ only\ rename\ one\ field\ at\ a\ time=Sólo puede renombrar un campo a la vez Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=No se puede usar el puerto %0 para operación remota\: Puede estar en uso por otra aplicación. Pruebe a especificar otro puerto. @@ -1255,9 +1197,6 @@ Formatter\ not\ found\:\ %0=Formateador no encontrado\: %0 Clear\ inputarea=Limpiar área de entrada Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=No se puede guardar. Fichero bloqueado por otra instancia JabRef. -File\ is\ locked\ by\ another\ JabRef\ instance.=El archivo está bloqueado por otra instancia de JabRef. -Do\ you\ want\ to\ override\ the\ file\ lock?=¿Quiere saltarse el bloqueo de archivo? -File\ locked=Archivo bloqueado Current\ tmp\ value=Valor temporal actual Metadata\ change=Cambio de metadatos Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Se han efectuado los cambios a los siguientes elementos de los metadatos @@ -1266,7 +1205,6 @@ Generate\ groups\ for\ author\ last\ names=Generar grupos para apellidos de auto Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Generar grupos desde palabras claves de un campo BibTeX Enforce\ legal\ characters\ in\ BibTeX\ keys=Uso obligado de caracteres legales en claves BibTeX -Save\ without\ backup?=¿Guardar sin copia de seguridad? Unable\ to\ create\ backup=No es posible crear la copia de seguridad Move\ file\ to\ file\ directory=Mover archivo al directorio de archivos Rename\ file\ to=Renombrar archivo a @@ -1305,14 +1243,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Escoger fuente para importar met Create\ entry\ based\ on\ XMP-metadata=Crear entradas a partir de datos XMP Create\ blank\ entry\ linking\ the\ PDF=Crear entrada en blanco enlazando el PDF Only\ attach\ PDF=Sólo adjnntar PDF -Title=Título Create\ new\ entry=Crear nueva entrada Update\ existing\ entry=Actualizar entrada existente Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Autocompletar nombres sólo en el formato 'Nombre Apellidos' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Autocompletar nombres sólo en el formato 'Apellidos, Nombre' Autocomplete\ names\ in\ both\ formats=Autocompletar nombres en ambos formatos The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=El nombre 'comment' no puede ser usado como nombre de tipo de entrada. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Es preciso introducir un valor entero en el campo de texto para Send\ as\ email=Enviar como email References=Referencias Sending\ of\ emails=Envío de emails @@ -1434,7 +1370,6 @@ Opens\ the\ file\ browser.=Abre el explorador de archivos. Scan\ directory=Escanear directorio Searches\ the\ selected\ directory\ for\ unlinked\ files.=Busca archivos sin enlazar en la carpeta seleccionada. Starts\ the\ import\ of\ BibTeX\ entries.=Comienza la importación de entradas BibTeX. -Leave\ this\ dialog.=Dejar este diálogo. Create\ directory\ based\ keywords=Crear palabras clave basadas en carpeta Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=Crea palabras clave en entradas creadas con nombres de ruta de carpeta. Select\ a\ directory\ where\ the\ search\ shall\ start.=Seleccione el directorio donde debería comenzar la búsqueda. @@ -1442,11 +1377,9 @@ Select\ file\ type\:=Seleccione el tipo de archivo\: These\ files\ are\ not\ linked\ in\ the\ active\ library.=Estos archivos no están enlazados en la biblioteca activa. Entry\ type\ to\ be\ created\:=Tipo de entrada a crear\: Searching\ file\ system...=Buscando en el sistema de archivos... -Importing\ into\ Library...=Importando en biblioteca... Select\ directory=Seleccionar carpeta Select\ files=Seleccionar archivos BibTeX\ entry\ creation=Creación de entrada BibTeX -= Unable\ to\ connect\ to\ FreeCite\ online\ service.=No es posible conectar con el servicio online FreeCite. Parse\ with\ FreeCite=Analizar con FreeCite How\ would\ you\ like\ to\ link\ to\ '%0'?=¿Cómo desea enlazar '%0'? @@ -1488,7 +1421,6 @@ Toggle\ print\ status=Cambiar estatus de impresion Update\ keywords=Actualizar palabras clave Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Escribir valores de campos especiales como campos separados en BibTeX You\ have\ changed\ settings\ for\ special\ fields.=Ha cambiado los ajustes para campos especiales. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=%0 entradas encontradas. Para reducir la carga del servidor, sólo %1 será(n) descargada(s). A\ string\ with\ that\ label\ already\ exists=Una cadena con esa etiqueta ya existe Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=La conexión con OpenOffice/LibreOffice se ha perdido. Asegúrese de que OpenOffice/LibreOffice está ejecutándose e intente reconectar. JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRed enviará al menos una solicitud por entrada al editor @@ -1509,8 +1441,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Su archivo de estilo especifica el formato de párrafo '%0', que no está definido en su documento OpenOffice/LibreOffice. Searching...=Buscando... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=Ha seleccionado más de %0 entradas para descargar. Algunos sitios web podrían bloquearle si hace demasiadas descargas. ¿Desea continuar? -Confirm\ selection=Confirmar selección Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=Añadir {} para especificar las palabras del título para mantener mayúsculas/minúsculas correctamente Import\ conversions=Importar conversiones Please\ enter\ a\ search\ string=Introduzca una cadena de búsqueda, por favor @@ -1521,7 +1451,6 @@ Canceled\ merging\ entries=Cancelar fusionado de entradas Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=Formatear unidades añadiendo separadores no divisores y manteniendo mayúsculas/minúsculas correctamente en la búsqueda Merge\ entries=Fusionar entradas Merged\ entries=Fusionar entradas en una nueva y mantener la antigua -Merged\ entry=Entrada fusionada None=Ningún Parse=Analizar Result=Resultado @@ -1605,9 +1534,7 @@ Add\ new\ file\ type=Añadir un nuevo tipo de archivo Left\ entry=Entrada izquierda Right\ entry=Entrada derecha -Use=Usar Original\ entry=Entrada original -Replace\ original\ entry=Reemplazar entrada original No\ information\ added=No se ha añadido información Select\ at\ least\ one\ entry\ to\ manage\ keywords.=Seleccionar al menos una entrada para gestionar palabras clave. OpenDocument\ text=Texto OpenDocument @@ -1626,7 +1553,6 @@ Please\ move\ the\ file\ manually\ and\ link\ in\ place.=Por favor, mueva el fic Could\ not\ connect\ to\ %0=No se puede conectar a %0 Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=Atención\: %0 de %1 entradas tienen el título sin definir Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ BibTeX\ key.=Atención\: %0 de un total de %1 entradas tienen clave BibTex indefinida. -occurrence=incidencia Added\ new\ '%0'\ entry.=Añadida la nueva entrada '%0' Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=Múltiples entradas seleccionadas. ¿Desea cambiar el tipo de todas ellas a '%0'? Changed\ type\ to\ '%0'\ for=Tipo cambiado a '%0' para @@ -1646,8 +1572,6 @@ Print\ entry\ preview=Imprimir vista previa de la entrada Copy\ title=Copiar título Copy\ \\cite{BibTeX\ key}=Copiar \\cite{clave BibTeX} Copy\ BibTeX\ key\ and\ title=Copiar clave y título BibTeX -File\ rename\ failed\ for\ %0\ entries.=Ha fallado el renombrado para %0 entradas. -Merged\ BibTeX\ source\ code=Código fuente BibTex fusionado Invalid\ DOI\:\ '%0'.=DOI no válida\: '%0'. should\ start\ with\ a\ name=debería comenzar por un nombre should\ end\ with\ a\ name=debería acabar por un nombre @@ -1740,10 +1664,8 @@ Error\ Occurred=Ha ocurrido un error Journal\ file\ %s\ already\ added=El fichero de revista %s ya está añadido Name\ cannot\ be\ empty=El nombre no puede estar vacío -Adding\ fetched\ entries=Añadiendo las entradas recuperadas Display\ keywords\ appearing\ in\ ALL\ entries=Mostrar palabras clave que aparezcan en TODAS las entradas Display\ keywords\ appearing\ in\ ANY\ entry=Mostrar palabras clave que aparezcan en ALGUNA entrada -Fetching\ entries\ from\ Inspire=Recuperando entradas desde Inspire None\ of\ the\ selected\ entries\ have\ titles.=Ninguna de las entradas seleccionadas tiene título None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=Ninguna de las entradas seleccionadas tiene clave BibTeX Unabbreviate\ journal\ names=Quitar abreviatción de nombres de journal @@ -1758,14 +1680,11 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Comentario de tipo de entrada mal Move\ linked\ files\ to\ default\ file\ directory\ %0=Mover archivos enlazados a la carpeta de archivos por defecto -Clipboard=Portapapeles -Could\ not\ paste\ entry\ as\ text\:=No se puede pegar la entrada como texto\: Do\ you\ still\ want\ to\ continue?=¿Aún desea continuar? This\ action\ will\ modify\ the\ following\ field(s)\ in\ at\ least\ one\ entry\ each\:=Esta acción modificará los siguientes campos en al menos una entrad por cada uno\: This\ could\ cause\ undesired\ changes\ to\ your\ entries.=Esto podría causar cambios indeseados a sus entradas. Run\ field\ formatter\:=Ejecutar formateador de campo\: Table\ font\ size\ is\ %0=El tamaño de tipo de letra es %0 -%0\ import\ canceled=Importación desde %0 cancelada Internal\ style=Estilo interno Add\ style\ file=Añadir archivo de estilo Are\ you\ sure\ you\ want\ to\ remove\ the\ style?=¿Está seguro de querer eliminar el archivo? @@ -1980,7 +1899,6 @@ Your\ issue\ was\ reported\ in\ your\ browser.=Su problema fue comunicado a trav The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=La información de excepción y registro fue copiada a su portapapeles Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=Por favor, pegue esta información (con Ctrl+V) en la descripción del problema. -Connection=Conexión Connecting...=Conectando... Port=Puerto Library=Biblioteca @@ -2006,9 +1924,7 @@ Shared\ version\:\ %0=Versión compartida\: %0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Por favor, fusione la entrada compartida con la suya y presione "Fusionar entradas" para resolver el problema. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=Cancelar la operación dejará sus cambios sin sincronizar. ¿Cancelar de todos modos? Shared\ entry\ is\ no\ longer\ present=La entrada compartida ya no está presente. -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=La BibEntry en la que trabaja actualmente ha sido eliminada en la parte compartida. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Puede restaurar la entrada mediante la operación "Deshacer" -Remember\ password?=¿Recordar contraseña? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Ya esa conectado a una vase de datos usando los detalles de la conexión introducidos. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=No se puede citar entradas sin las claves BibTeX. ¿Generar ahora? @@ -2024,7 +1940,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=Debe introducir, al menos, un nomb Non-ASCII\ encoded\ character\ found=Se han encontrado caracteres con codificación no-ASCII Toggle\ web\ search\ interface=Cambiar interfaz de búsqueda web %0\ files\ found=Se encontraron %0 archivos -%0\ of\ %1=%0 de %1 One\ file\ found=Se encontró un archivo The\ import\ finished\ with\ warnings\:=La importación finalizó con las siguientes alertas\: There\ was\ one\ file\ that\ could\ not\ be\ imported.=No se pudo importar un archivo. @@ -2033,7 +1948,6 @@ There\ were\ %0\ files\ which\ could\ not\ be\ imported.=No se pudieron importar Migration\ help\ information=Información de ayuda para la migración Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=La biblioteca introducida tiene una estructura obsoleta y no se soporta. However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=En todo caso, una nueva biblioteca ha sido creada junto a la previa a la versión 3.6. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Haga click aquí para aprender sobre la migración de bibliotecas de versiones previas a la 3.6 Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=Abre un enlace donde descarga la versión de desarrollo See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=Vea lo que se ha cambiado en las versiones de JabRef Referenced\ BibTeX\ key\ does\ not\ exist=La clave BibTex referenciada no existe @@ -2059,7 +1973,6 @@ Used\ libraries=Librerías usadas Existing\ file=Fichero existente ID\ type=Tipo de ID -ID-based\ entry\ generator=Generador de entradas basado en ID Fetcher\ '%0'\ did\ not\ find\ an\ entry\ for\ id\ '%1'.=El recolector '%0' no encontró entradas para la id '%1'. Select\ first\ entry=Seleccionar primera entrada @@ -2110,8 +2023,6 @@ journal\ not\ found\ in\ abbreviation\ list=No se encuentra la revista en la lis Unhandled\ exception\ occurred.=Ocurrió una excepción no manejada strings\ included=cadenas incluidas -Size\ of\ large\ icons=Tamaño de iconos grandes -Size\ of\ small\ icons=Tamaño de iconos pequeños Default\ table\ font\ size=Tamaño de fuente por defecto para tabla Escape\ underscores=Escapar guiones bajos Color=Color @@ -2171,3 +2082,7 @@ View\ event\ log=Ver visor de eventos Website=Sitio web Write\ XMP-metadata\ to\ PDFs=Escribir metadatos XMP a PDF +Override\ default\ font\ settings=Ignorar ajustes de tipo de letra por defecto + + + diff --git a/src/main/resources/l10n/JabRef_fa.properties b/src/main/resources/l10n/JabRef_fa.properties index fd28a1ef31f..fa813cdeff6 100644 --- a/src/main/resources/l10n/JabRef_fa.properties +++ b/src/main/resources/l10n/JabRef_fa.properties @@ -17,6 +17,7 @@ +Add\ new=اضافه کردن جدید @@ -29,12 +30,16 @@ +Advanced=پیشرفته +and=و +Appearance=ظاهر +Append\ library=افزودن پایگاه داده @@ -53,11 +58,10 @@ +%0\ source=%0 منبع - - - +by=توسط @@ -145,7 +149,6 @@ Delete\ entry=حذف مدخل - Donate\ to\ JabRef=هدیه دادن به JabRef @@ -291,10 +294,6 @@ Donate\ to\ JabRef=هدیه دادن به JabRef - - - - @@ -346,9 +345,6 @@ Manage\ external\ file\ types=مدیریت نوع پرونده‌های خارج - - - @@ -557,7 +553,6 @@ Open\ terminal\ here=در اینجا پایانه را باز کن - Set/clear/append/rename\ fields=تنظیم/حذف/تغییرنام حوزه‌ها @@ -686,3 +681,6 @@ Fork\ me\ on\ GitHub=مرا در GitHub منشعب کن Push\ entries\ to\ external\ application\ (%0)=(نشاندن ورودی‌ها به برنامه‌ی خارجی (%0 Write\ XMP-metadata\ to\ PDFs=نوشتن XMP-metadata در PDFها + + + diff --git a/src/main/resources/l10n/JabRef_fr.properties b/src/main/resources/l10n/JabRef_fr.properties index 2bddd1e7cd6..7647e660e9f 100644 --- a/src/main/resources/l10n/JabRef_fr.properties +++ b/src/main/resources/l10n/JabRef_fr.properties @@ -15,8 +15,6 @@ = -= - = Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Singkat nama jurnal dari entri pilihan (Singkatan ISO) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Singkat nama jurnal dari entri pilihan (Singkatan MEDLINE) @@ -34,12 +32,13 @@ Accept=Terima Accept\ change=Terima perubahan -Action=Aksi -What\ is\ Mr.\ DLib?=Apakah bapak Dlib? +Action=Aksi Add=Tambah +Add\ new=Tambah baru + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Tambah kelas Importer dari lokasi class. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Lokasi tidak harus pada lokasi kelas JabRef. @@ -54,16 +53,12 @@ Add\ from\ folder=Tambah dari folder Add\ from\ JAR=Tambah dari JAR -Add\ new=Tambah baru - Add\ subgroup=Tambah Anak Grup Add\ to\ group=Tambah ke grup Added\ group\ "%0".=Grup ditambahkan "%0". -Added\ new=Ditambahkan baru - Added\ string=Ditambahkan string Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Tambahan, entri bidang %0 yang tidak mengandung%1 dapat ditugaskan secara manual ke grup ini dengan memilihnya kemudian menggunakan dengan cara seret dan tempatkan atau melalui menu konteks. Proses ini menghapus istilah %1 pada tiap bidang %0. @@ -72,12 +67,8 @@ Advanced=Tingkat lanjut All\ entries=Semua entri All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Semua entri tipe ini akan dinyatakan sebagai tanpa tipe. Teruskan? -All\ fields=Semua bidang - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Selalu memformat BIB file pada menyimpan dan ekspor -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=SAXException terjadi ketika mengurai '%0'\: - and=dan any\ field\ that\ matches\ the\ regular\ expression\ %0=bidang yang sesuai dengan ekspresi reguler %0 @@ -167,6 +158,7 @@ Clear\ fields=Bersihkan beberapa bidang Close=Tutup + Close\ dialog=Tutup dialog Close\ the\ current\ library=Tutup basisdata yang sekarang @@ -221,6 +213,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Tidak bisa menjalankan program 'vim'. Could\ not\ save\ file.=Tidak bisa membuka berkas. Character\ encoding\ '%0'\ is\ not\ supported.=Enkoding karakter '%0' tidak didukung. + crossreferenced\ entries\ included=entri referensi silang diikutkan Current\ content=Isi sekarang @@ -256,8 +249,6 @@ Default\ grouping\ field=Bidang grup bawaan Default\ pattern=Pola bawaan -Default\ sort\ criteria=Kriteria pengurutan bawaan - Delete=Hapus Delete\ custom\ format=Menghapus format suaian @@ -278,8 +269,6 @@ Deleted=Dihapus Permanently\ delete\ local\ file=Hapus berkas lokal -Delimit\ fields\ with\ semicolon,\ ex.=Batas bidang dengan titik koma, misal, - Descending=Urutan menurun Description=Deskripsi @@ -334,7 +323,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Entri grup din Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Entri grup dinamk dengan pencarian bidang dari katakunci -Each\ line\ must\ be\ on\ the\ following\ form=Setiap baris harus menurut bentuk berikut Edit=Sunting @@ -381,12 +369,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Tipe entri Error=Kesalahan -Error\ exporting\ to\ clipboard=Kesalahan mengekspor ke papan klip Error\ occurred\ when\ parsing\ entry=Kesalahan terjadi ketika mengurai entri Error\ opening\ file=Kesalahan ketika membuka berkas + Error\ while\ writing=Kesalahan ketika menulis '%0'\ exists.\ Overwrite\ file?='%0' esudah ada. Berkas ditindih? @@ -416,8 +404,6 @@ External\ programs=Program eksternal External\ viewer\ called=Penampil eksternal dijalankan -Fetch=Mengambil - Field=Bidang field=bidang @@ -425,8 +411,6 @@ field=bidang Field\ name=Nama bidang Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Nama bidang tidak diijinkan mengandung spasi kosong atau karakter berikut -Field\ to\ filter=Bidang ditapis - Field\ to\ group\ by=Bidang ke grup berdasar File=Berkas @@ -441,13 +425,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Lokasi berkas belum ditent File\ exists=Berkas ada -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Berkas diperbarui dengan program eksternal. Apakah yang and inginkan? - File\ not\ found=Berkas tidak ditemukan File\ type=Tipe berkas - -File\ updated\ externally=Berkas diperbarui secara eksternal - filename=nama berkas Files\ opened=Berkas dibuka @@ -470,6 +449,7 @@ Float=Ambangan for=untuk + Format\ of\ author\ and\ editor\ names=Format nama penulis dan penyunting Format\ string=Format string @@ -480,9 +460,9 @@ found\ in\ AUX\ file=ditemukan dalam berkas AUX Full\ name=Nama lengkap + General=Umum -General\ fields=Bidang umum Generate=Membuat @@ -567,15 +547,13 @@ Importing=Sedang mengimpor Importing\ in\ unknown\ format=Mengimpor pada format tidak dikenal -Include\ abstracts=Termasuk abstrak -Include\ entries=Termasuk entri - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Termasuk sub-grup\: Ketika dipilih, lihat entri yang ada di grup atau sub-grup ini. Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Grup bebas\: Ketika dipilih, lihat hanya entri grup ini Work\ options=Pilihan kerja + Insert=Sisipkan Insert\ rows=Sisipkan baris @@ -625,10 +603,6 @@ Leave\ file\ in\ its\ current\ directory=Tinggalkan berkas di direktori yg sekar Left=Kiri -Limit\ to\ fields=Batasi ke bidang - -Limit\ to\ selected\ entries=Batasi ke entri pilihan - Link=Tautan Link\ local\ file=Tautan berkas lokal Link\ to\ file\ %0=Tautan ke berkas %0 @@ -651,8 +625,6 @@ Mark\ new\ entries\ with\ owner\ name=Tandai entri baru dengan nama pemilik Memory\ stick\ mode=Mode Pena Simpan -Menu\ and\ label\ font\ size=Ukuran huruf menu dan label - Merged\ external\ changes=Menggabung perubahan eksternal Messages=Pesan @@ -677,6 +649,8 @@ Move\ up=Pindah keatas Moved\ group\ "%0".=Grup dipindah "%0". + + Name=Nama Name\ formatter=Pemformat nama @@ -694,8 +668,6 @@ New\ content=Isi baru New\ library\ created.=Basisdata baru selesai dibuat. -New\ field\ value=Isi bidang baru - New\ group=Grup baru New\ string=String baru @@ -710,9 +682,6 @@ no\ library\ generated=tidak ada basisdata dibuat No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Entri tidak ditemukan. Pastikan anda menggunakan penapis impor yang tepat. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Tidak adan entri ditemukan untuk pencarian string '%0' - No\ entries\ imported.=Tidak ada entri yang diimpor. No\ files\ found.=Berkas tidak ditemukan. @@ -734,8 +703,6 @@ Nothing\ to\ redo=Tidak ada yang dibatalkan Nothing\ to\ undo=Tidak ada yang dikembalikan -occurrences=kali - OK=Ok One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Satu atau lebih kunci akan ditindih. Teruskan? @@ -775,13 +742,10 @@ Override=Ganti Override\ default\ file\ directories=Ganti direktori berkas bawaan -Override\ default\ font\ settings=Ganti ukuran huruf bawaan - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=Ganti kunci BibTeX dengan pilihan teks Overwrite=Tindih -Overwrite\ existing\ field\ values=Tindih isi bidang yang ada Overwrite\ keys=Tindih kunci @@ -817,6 +781,7 @@ Please\ enter\ the\ string's\ label=Tuliskan label string Please\ select\ an\ importer.=Silahkan pilih pengimpor. + Possible\ duplicate\ entries=Mungkin entri sama Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Mungkin entri sama dengan lainnya. Klik untuk menyelesaikan. @@ -852,8 +817,6 @@ Redo=Mengembalikan Reference\ library=Basisdata acuan -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=Acuan ditemukan\: %0. Nomor referensi yang diambil? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Perbaiki supergrup\: Ketika dipilih, lihat entri yang ada di grup ini dan supergrup regular\ expression=Ekspresi reguler @@ -912,10 +875,6 @@ Replace\ (regular\ expression)=Ganti (ekspresi reguler) Replace\ string=Ganti string -Replace\ with=Ganti dengan - - -Replaced=Diganti Required\ fields=Bidang diperlukan @@ -925,6 +884,8 @@ Resolve\ strings\ for\ all\ fields\ except=Selesaikan masalah string untuk semua Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Selesaikan masalah string hanya pada bidang BibTeX standar resolved=sudah diselesaikan + + Review=Periksa ulang Review\ changes=Periksa ulang perubahan @@ -942,10 +903,6 @@ Save\ library\ as...=Simpan basisdata sebagai... Save\ entries\ in\ their\ original\ order=Simpan entri pada urutan aslinya -Save\ failed=Gagal menyimpan - -Save\ failed\ during\ backup\ creation=Gagal menyimpan waktu membuat cadangan - Saved\ library=Basisdata disimpan Saved\ selected\ to\ '%0'.=Simpan pilihan ke '%0'. @@ -959,8 +916,6 @@ Search=Cari Search\ expression=Ekspresi pencarian -Search\ for=Mencari - Searching\ for\ duplicates...=pencarian hal yang sama... Searching\ for\ files=Mencari berkas @@ -969,19 +924,16 @@ Secondary\ sort\ criterion=Kriteria kedua Select\ all=Pilih semua -Select\ encoding=Pilih enkoding - Select\ entry\ type=Pilih tipe entri -Select\ external\ application=Pilih aplikasi eksternal Select\ file\ from\ ZIP-archive=Pilih berkas dari arsip ZIP Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Pilih tiga nodal untuk melihat, menerima atau menolak perubahan -Selected\ entries=Entri pilihan + Set\ field=Pilih bidang Set\ fields=Pilih beberapa bidang -Set\ general\ fields=Pilih bidang umum + Set\ main\ external\ file\ directory=Tetapkan direktori utama berkas eksternal Settings=Pengaturan @@ -1035,8 +987,6 @@ Status=Keadaan Stop=Berhenti -Strings=String - Strings\ for\ library=String untuk basisdata Sublibrary\ from\ AUX=Sub-basisdata dari AUX @@ -1097,8 +1047,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Operasi ini memerlukan satu atau lebih entri yang dipilih. + Toggle\ entry\ preview=Gunakan pratampilan entri Toggle\ groups\ interface=Gunakan antarmuka grup + + + Try\ different\ encoding=Coba enkoding lain Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Nama jurnal tidak disingkat dari entri pilihan @@ -1144,8 +1098,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=pastikan LyX View=Tampilkan Vim\ server\ name=Nama Server Vim -Waiting\ for\ ArXiv...=Menunggu ArXiv... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Peringatkan jika masih ada duplikasi ketika menutup dialog Warn\ before\ overwriting\ existing\ keys=Peringatan sebelum menindih kunci @@ -1177,7 +1129,6 @@ XMP-metadata=Metadata XMP XMP-metadata\ found\ in\ PDF\:\ %0=XMP metadata ditemukan di PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Anda harus menjalankan ulang JabRef agar berfungsi. You\ have\ changed\ the\ language\ setting.=Anda telah mengganti pengaturan bahasa. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Anda telah menulis pencarian yang salah '%0'. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Anda harus menjalankan ulang JabRef agar gabungan kunci dapat berfungsi. @@ -1186,27 +1137,21 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Gabungan kunci anda sudah disimpan The\ following\ fetchers\ are\ available\:=Pengambil berikut tersedia\: Could\ not\ find\ fetcher\ '%0'=Tidak bisa menemukan pengambil '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Jalankan Kueri '%0' dengan pengambil '%1'. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Kueri '%0' dengan pengambil '%1' tidak ada hasilnya. Move\ file=Memindah berkas Rename\ file=Menamai berkas + Move\ file\ failed=Gagal memindah berkas Could\ not\ move\ file\ '%0'.=Tidak bisa meindah berkas '%0'. Could\ not\ find\ file\ '%0'.=Tidak bisa menemukan berkas '%0'. Number\ of\ entries\ successfully\ imported=Jumlah entri yang berhasil diimpor Import\ canceled\ by\ user=Impor dibatalkan oleh pengguna -Progress\:\ %0\ of\ %1=Berlangsung\: %0 of %1 Error\ while\ fetching\ from\ %0=Kesalahan ketika mengambil dari %0 -Please\ enter\ a\ valid\ number=Tuliskan nomor yang benar Show\ search\ results\ in\ a\ window=Tampilkan hasil pencarian di jendela Show\ global\ search\ results\ in\ a\ window=Tampilkan hasil pencarian global di jendela Search\ in\ all\ open\ libraries=Cari di semua perpustakaan yang terbuka -Move\ file\ to\ file\ directory?=Pindah berkas ke direktori berkas? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=Basisdata dilindungi. Tidak bisa disimpan sebelum perubahan eksternal diperiksa. -Protected\ library=Basisdata terlindungi Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Menolak menyimpan basisdata sebelum perubahan eksternal diperiksa. Library\ protection=Perlindungan basisdata Unable\ to\ save\ library=Tidak bisa menyimpan basisdata @@ -1218,16 +1163,13 @@ MIME\ type=Tipe MIME This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Fitur ini memungkinkan berkas baru atau impor ke jendela JabRef yang aktif
bukan membuat baru. Hal ini berguna ketika anda membuka berkas di JabRef
dari halaman web.
Hal ini akan menghindari anda membuka beberapa JabRef pada saat yang sama. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Jalankan Pengambil, misal. "--fetch\=Medline\:cancer" -The\ ACM\ Digital\ Library=Pustaka ACM Dijital Reset=Atur ulang Use\ IEEE\ LaTeX\ abbreviations=Gunakan singkatan IEEE LaTeX -The\ Guide\ to\ Computing\ Literature=Panduan untuk Computing Literature When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Ketika membuka tautan berkas, cari berkas yang sesuai Settings\ for\ %0=Pengaturan untuk -Sort\ the\ following\ fields\ as\ numeric\ fields=Urutkan bidang berikut sepeerti angka Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Baris %0\: Ditemukan kunci BibTeX ada kesalahan. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Baris %0\: Ditemukan kunci BibTeX ada kesalahan (mengandung spasi kosong). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Baris %0\: Ditemukan kunci BibTeX ada kesalahan (tidak ada koma). @@ -1239,7 +1181,6 @@ Append\ field=Tambahkan bidang Append\ to\ fields=Tambahkan ke bidang Rename\ field\ to=Ganti nama bidang menjadi Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Pindah isi dari bidang ke bidang lain dengan nama lain -You\ can\ only\ rename\ one\ field\ at\ a\ time=Anda bisa mengganti nama satu bidang dalam satu waktu Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Tidak bisa memakai port %0 untuk operasi jauh; aplikasi lain mungkin sedang menggunakan. Coba port lain. @@ -1259,9 +1200,6 @@ Formatter\ not\ found\:\ %0=Pemformat tidak ditemukan\: %0 Clear\ inputarea=Bersihkan area masukan Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Tidak bisa menyimpan, berkas dikunci oleh JabRef yang jalan. -File\ is\ locked\ by\ another\ JabRef\ instance.=Berkas dikunci oleh JabRef lain. -Do\ you\ want\ to\ override\ the\ file\ lock?=Apakah anda ingin menindih kunci berkas? -File\ locked=Berkas dikunci Current\ tmp\ value=Angka tmp sekarang Metadata\ change=Perubahan Metadata Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Perubahan telah dilakukan pada elemen metadata berikut @@ -1270,7 +1208,6 @@ Generate\ groups\ for\ author\ last\ names=Membuat grup untuk nama belakang penu Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Membuat grup dari katakunci di bidang BibTeX Enforce\ legal\ characters\ in\ BibTeX\ keys=Menggunakan karakter legal untuk kunci BibTeX -Save\ without\ backup?=Simpan tanpa cadangan? Unable\ to\ create\ backup=Tidak bisa membuat cadangan Move\ file\ to\ file\ directory=Pindah berkas ke direktori berkas Rename\ file\ to=Ganti nama berkas menjadi @@ -1309,14 +1246,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Pilih sumber untuk impor metadat Create\ entry\ based\ on\ XMP-metadata=Membuat entri berasal data XMP Create\ blank\ entry\ linking\ the\ PDF=Membuat entri kosong tautan PDF Only\ attach\ PDF=Hanya lampirkan PDF -Title=Judul Create\ new\ entry=membuat Entri Baru Update\ existing\ entry=Perbarui Entri Yang Sudah Ada Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Nama isian otomatis hanya untuk format 'Namadepan Namaakhir' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Nama isian otomatis hanya untuk format 'Namaakhir, Namadepan' Autocomplete\ names\ in\ both\ formats=Nama isian otomatis untuk kedua format The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=Nama 'kometar' tidak dapat digunakan sebagai tipe nama entri. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Anda harus menggunakan bilangan bulat di bidang teks untuk Send\ as\ email=Kirim sebagai email References=Referensi Sending\ of\ emails=Sedang Mengirim email @@ -1438,7 +1373,6 @@ Opens\ the\ file\ browser.=Buka penjelajah berkas. Scan\ directory=Pindai direktori Searches\ the\ selected\ directory\ for\ unlinked\ files.=Mencari berkas yang belum ditautkan dalam direktori pilihan. Starts\ the\ import\ of\ BibTeX\ entries.=Memulai impor entri BibTeX. -Leave\ this\ dialog.=Tinggalkan dialog ini. Create\ directory\ based\ keywords=Buat katakunci berdasar direktori Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=Buat katakunci dalam entri pembuatan dengan direktori Select\ a\ directory\ where\ the\ search\ shall\ start.=Pilih direktori mulaan pencarian. @@ -1446,11 +1380,9 @@ Select\ file\ type\:=Pilih tipe berkas\: These\ files\ are\ not\ linked\ in\ the\ active\ library.=Para berkas ini tidak bertautan dalam basisdata yang aktif Entry\ type\ to\ be\ created\:=Tipe entri untuk dibuat\: Searching\ file\ system...=Pencarian dalam sistem berkas... -Importing\ into\ Library...=Impor ke basisdata... Select\ directory=Pilih direktori Select\ files=Pilih berkas BibTeX\ entry\ creation=Pembuatan entri BibTeX -= Unable\ to\ connect\ to\ FreeCite\ online\ service.=Koneksi ke layanan online FreeCite gagal. Parse\ with\ FreeCite=Urai dengan FreeCite How\ would\ you\ like\ to\ link\ to\ '%0'?=Bagaimana mau menautkan ke '%0'? @@ -1492,7 +1424,6 @@ Toggle\ print\ status=Beralih status cetak Update\ keywords=Perbarui katakunci Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Tulis isi bidang khusus sebagai bidang terpisah ke BibTeX You\ have\ changed\ settings\ for\ special\ fields.=Anda telah merubah pengaturan bidang khusus. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=%0 entri ditemukan. Untuk mengurangi beban server, hanya %1 akan dimuatturun. A\ string\ with\ that\ label\ already\ exists=String dengan label tadi sudah ada Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Sambungan ke OpenOffice/LibreOffice terlepas. Pastikan OpenOffice/LibreOffice dijalankan, dan coba menyambung sekali lagi. JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRef akan mengirimkan minimal satu permintaan per entri ke penerbit. @@ -1513,8 +1444,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Berkas gaya anda menspesifikasi format paragraf '%0', yang tidak terdefinisi dalam dokumen OpenOffice/LibreOffice terkini anda. Searching...=Sedang mencari... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=Anda memilih lebih dari %0 entri. Sejumlah situs web akan memblokir anda kalau melakukan terlalu banyak pemuatturunan dengan cepat. Apa mau teruskan? -Confirm\ selection=Mengkonfirmasi pilihan Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=Tambahkan {} ke judul kata yang ditentukan pada pencarian untuk menyimpan kasus yang benar Import\ conversions=Impor konversi Please\ enter\ a\ search\ string=Tuliskan string pencarian @@ -1525,7 +1454,6 @@ Canceled\ merging\ entries=Penggabungan entri dibatalkan Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=Format unit dengan menambahkan pemisah tanpa henti dan menyimpan kasus yang benar pada pencarian Merge\ entries=Gabung entri Merged\ entries=Entri Gabungan -Merged\ entry=Entri gabungan None=Kosong Parse=Urai Result=Hasil @@ -1608,9 +1536,7 @@ Add\ new\ file\ type=Tambahkan tipe berkas yang baru Left\ entry=Masuk kiri Right\ entry=Masuk Kanan -Use=Menggunakan Original\ entry=Entri asli -Replace\ original\ entry=Ganti entri asli No\ information\ added=Tidak ada informasi yang ditambahkan Select\ at\ least\ one\ entry\ to\ manage\ keywords.=Pilih paling sedikit sebuah entri untuk mengatur katakunci. OpenDocument\ text=Teks OpenDocument @@ -1629,7 +1555,6 @@ Please\ move\ the\ file\ manually\ and\ link\ in\ place.=Silahkan memindah berka Could\ not\ connect\ to\ %0=Tidak bisa menghubungi %0 Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=Peringatan\: %0 dari %1 entri memiliki judul yang tidak terdefinisi. Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ BibTeX\ key.=Peringatan\: %0 dari %1 entri ada kunci BibTeX yang tidak terdefinisi. -occurrence=kejadian Added\ new\ '%0'\ entry.=Entri yang baru '%0' ditambahkan. Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=Beberapa entri dipilih. Apakah Anda ingin mengubah jenis semua ini menjadi '%0'? Changed\ type\ to\ '%0'\ for=Merubah tipe ke '%0' untuk @@ -1649,8 +1574,6 @@ Print\ entry\ preview=Cetak pratinjau entri Copy\ title=Kopi judul Copy\ \\cite{BibTeX\ key}=Salin \\cite{kunci BibTeX} Copy\ BibTeX\ key\ and\ title=Salin kunci BibTeX dan judul -File\ rename\ failed\ for\ %0\ entries.=Perubahan nama berkas gagal untuk %0 entri. -Merged\ BibTeX\ source\ code=Menggabungkan kode sumber BibTeX Invalid\ DOI\:\ '%0'.=DOI salah\: '%0'. should\ start\ with\ a\ name=harus bermula dengan nama should\ end\ with\ a\ name=harus berakhiran nama @@ -1741,10 +1664,8 @@ Error\ Occurred=Terjadi kesalahan Journal\ file\ %s\ already\ added=File Jurnal %s sudah ditambahkan Name\ cannot\ be\ empty=Kolom Nama tidak boleh kosong -Adding\ fetched\ entries=Tambah entri ambilan Display\ keywords\ appearing\ in\ ALL\ entries=Tampilkan katakunci yang ada dalam semua entri Display\ keywords\ appearing\ in\ ANY\ entry=Menampilkan kata kunci yang muncul dalam ANY entri -Fetching\ entries\ from\ Inspire=Mengambil entri dari inspire None\ of\ the\ selected\ entries\ have\ titles.=Tak satu pun dari entri yang dipilih memiliki judul. None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=Tak satu pun dari entri yang dipilih memiliki kunci BibTeX. Unabbreviate\ journal\ names=Nama jurnal tidak disingkat @@ -1759,14 +1680,11 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Komentar Ill-formed entrytype di B Move\ linked\ files\ to\ default\ file\ directory\ %0=Memindahkan file yang berhubungan ke default file direktori %0 -Clipboard=Papan klip -Could\ not\ paste\ entry\ as\ text\:=Entri tidak bisa dimuat sebagai teks\: Do\ you\ still\ want\ to\ continue?=Apa masih mau meneruskan? This\ action\ will\ modify\ the\ following\ field(s)\ in\ at\ least\ one\ entry\ each\:=Tindakan ini akan mengubah bidang berikut setidaknya dalam satu entri\: This\ could\ cause\ undesired\ changes\ to\ your\ entries.=Hal ini bisa menyebabkan perubahan yang tidak diinginkan untuk entri Anda. Run\ field\ formatter\:=Jalankan formatter bidang\: Table\ font\ size\ is\ %0=Tabel ukuran font adalah %0 -%0\ import\ canceled=Impor %0 dibatalkan Internal\ style=Gaya internal Add\ style\ file=Tambah berkas gaya Are\ you\ sure\ you\ want\ to\ remove\ the\ style?=Apakah anda Yakin ingin menghapus gayanya? @@ -1984,7 +1902,6 @@ Your\ issue\ was\ reported\ in\ your\ browser.=Masalah Anda dilaporkan di browse The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=Informasi log dan pengecualian disalin ke clipboard Anda. Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=Silahkan paste informasi ini (dengan Ctrl + V) dalam deskripsi masalah. -Connection=Koneksi Connecting...=Menghubungkan... Host=Tuan rumah Port=Pelabuhan @@ -2011,9 +1928,7 @@ Shared\ version\:\ %0=Versi bersama\: % 0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Harap gabungkan entri bersama dengan Anda dan tekan "Gabungkan entri" untuk mengatasi masalah ini. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=Membatalkan operasi ini akan membuat perubahan Anda tidak sinkron. Batalkan pula? Shared\ entry\ is\ no\ longer\ present=Entri bersama sudah tidak ada lagi -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=Bibit yang Anda kerjakan sekarang telah dihapus di sisi yang sama. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Anda dapat mengembalikan entri menggunakan operasi "Undo". -Remember\ password?=Ingat kata Sandi? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Anda sudah terhubung ke database menggunakan rincian koneksi yang dimasukkan. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=Tidak bisa mengutip entri tanpa kunci BibTeX. Buat kunci sekarang? @@ -2029,7 +1944,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=Anda harus memasukkan setidaknya s Non-ASCII\ encoded\ character\ found=Karakter yang dikodekan non-ASCII ditemukan Toggle\ web\ search\ interface=Alihkan antarmuka pencarian web %0\ files\ found=%0 file ditemukan -%0\ of\ %1=%0 dari %1 One\ file\ found=Satu file ditemukan The\ import\ finished\ with\ warnings\:=Impor selesai dengan peringatan\: There\ was\ one\ file\ that\ could\ not\ be\ imported.=Ada satu file yang tidak bisa diimpor. @@ -2038,7 +1952,6 @@ There\ were\ %0\ files\ which\ could\ not\ be\ imported.=Ada file %0 yang tidak Migration\ help\ information=Migrasi membantu informasi Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=Memasuki database memiliki struktur usang dan tidak lagi didukung. However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=Namun, database baru dibuat bersamaan dengan pra-3.6 satu. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Klik di sini untuk mempelajari tentang migrasi database pra-3.6. Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=Membuka tautan dimana versi pengembangan saat ini dapat diunduh See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=Lihat apa yang telah diubah di versi JabRef Referenced\ BibTeX\ key\ does\ not\ exist=Kunci BibTeX yang dirujuk tidak ada @@ -2066,7 +1979,6 @@ Existing\ file=Berkas yang ada ID=ID ID\ type=Tipe ID -ID-based\ entry\ generator=Generator entri berbasis ID Fetcher\ '%0'\ did\ not\ find\ an\ entry\ for\ id\ '%1'.=Fetcher ' % 0 ' tidak menemukan entri untuk id ' % 1 '. Select\ first\ entry=Pilih entri pertama @@ -2117,8 +2029,6 @@ journal\ not\ found\ in\ abbreviation\ list=jurnal tidak ditemukan dalam daftar Unhandled\ exception\ occurred.=Pengecualian yang tidak tertangani terjadi. strings\ included=senar disertakan -Size\ of\ large\ icons=Ukuran ikon besar -Size\ of\ small\ icons=Ukuran ikon kecil Default\ table\ font\ size=Ukuran font tabel default Escape\ underscores=Escape menggarisbawahi Color=Warna @@ -2207,3 +2117,7 @@ View\ event\ log=Lihat log aktivitas Website=Situs web Write\ XMP-metadata\ to\ PDFs=Tulis metadata XMP ke PSF +Override\ default\ font\ settings=Ganti ukuran huruf bawaan + + + diff --git a/src/main/resources/l10n/JabRef_it.properties b/src/main/resources/l10n/JabRef_it.properties index b632ec492b9..1f88b742ea7 100644 --- a/src/main/resources/l10n/JabRef_it.properties +++ b/src/main/resources/l10n/JabRef_it.properties @@ -15,8 +15,7 @@ = -=<選択してください> - =<単語を選択してください> Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=選択項目の学術誌名を短縮形にします(ISO式短縮形) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=選択項目の学術誌名を短縮形にします(MEDLINE式短縮形) @@ -34,12 +32,13 @@ Accept=受け付ける Accept\ change=変更を受け付ける -Action=動作 -What\ is\ Mr.\ DLib?=Mr. DLibってなにですか? +Action=動作 Add=追加 +Add\ new=新規追加 + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=(コンパイルした)ユーザー定義ImportFormatクラスをクラスパスから追加します. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=このパスは,JabRefのクラスパスにあるとは限りません. @@ -54,16 +53,12 @@ Add\ from\ folder=フォルダから追加 Add\ from\ JAR=jarから追加 -Add\ new=新規追加 - Add\ subgroup=下層グループを追加 Add\ to\ group=グループに追加 Added\ group\ "%0".=グループ「%0」を追加しました. -Added\ new=新規に追加しました - Added\ string=文字列を追加しました Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=さらに,%0フィールドに%1が含まれていない項目は,選択してからドラッグアンドドロップをするかコンテクストメニューを使うことで,手動でこのグループに割り当てることができます.こうすることによって,各項目の%0フィールドに用語%1が追加されます. @@ -72,12 +67,8 @@ Advanced=詳細設定 All\ entries=全項目 All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=この型の項目はすべて型なしと宣言されます.続けますか? -All\ fields=全フィールド - Always\ reformat\ BIB\ file\ on\ save\ and\ export=保存・書出の際,つねにBIBファイルを再整形する -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=「%0」を解析中にSAX例外エラーが発生しました: - and=および any\ field\ that\ matches\ the\ regular\ expression\ %0=正規表現%0に一致するフィールドすべて @@ -168,6 +159,7 @@ Clear\ fields=フィールドを消去 Close=閉じる + Close\ dialog=ダイアログを閉じる Close\ the\ current\ library=現在のデータベースを閉じる @@ -223,6 +215,7 @@ Could\ not\ run\ the\ 'vim'\ program.=「vim」プログラムを実行できま Could\ not\ save\ file.=ファイルを保存できませんでした Character\ encoding\ '%0'\ is\ not\ supported.=.文字エンコーディング「%0」はサポートされていません. + crossreferenced\ entries\ included=相互参照している項目を取り込みました Current\ content=現在の内容 @@ -258,8 +251,6 @@ Default\ grouping\ field=既定のグループ化フィールド Default\ pattern=既定パターン -Default\ sort\ criteria=既定の整序基準 - Delete=削除 Delete\ custom\ format=ユーザー形式を削除 @@ -280,8 +271,6 @@ Deleted=削除しました Permanently\ delete\ local\ file=ローカルファイルを削除 -Delimit\ fields\ with\ semicolon,\ ex.=各フィールドをセミコロンで区切ってください.例) - Descending=降順 Description=説明 @@ -336,7 +325,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=自由型検 Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=フィールド中のキーワードを検索して動的にグループ化 -Each\ line\ must\ be\ on\ the\ following\ form=各行は以下の形でなくてはなりません Edit=編集 @@ -383,12 +371,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=項目型 Error=エラー -Error\ exporting\ to\ clipboard=クリップボード書き出し中にエラー発生 Error\ occurred\ when\ parsing\ entry=項目を解析中にエラーが発生 Error\ opening\ file=ファイルを開く際にエラー発生 + Error\ while\ writing=書き込み中にエラー発生 '%0'\ exists.\ Overwrite\ file?='%0' は存在します.ファイルを上書きしますか? @@ -406,6 +394,7 @@ Export\ properties=特性を書き出す Export\ to\ clipboard=クリップボードに書き出す +Export\ to\ text\ file.=テキストファイルにエクスポートします. Exporting=書き出し中 Extension=拡張子 @@ -418,8 +407,6 @@ External\ programs=外部プログラム External\ viewer\ called=外部ビューアが呼び出されました -Fetch=取得 - Field=フィールド field=フィールド @@ -427,8 +414,6 @@ field=フィールド Field\ name=フィールド名 Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=フィールド名には,スペースや以下の文字を使うことはできません -Field\ to\ filter=フィルタを掛けるフィールド - Field\ to\ group\ by=グループ化するフィールド File=ファイル @@ -443,13 +428,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=ファイルディレク File\ exists=ファイルが存在します -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=ファイルが外部から更新されました.どうしますか? - File\ not\ found=ファイルが見つかりませんでした File\ type=ファイル型 - -File\ updated\ externally=ファイルが外部から更新されました - filename=ファイル名 Files\ opened=ファイルは開かれています @@ -472,6 +452,7 @@ Float=上部に表示 for=;対象: + Format\ of\ author\ and\ editor\ names=著者名と編集者名の書式 Format\ string=整形文字列 @@ -482,9 +463,9 @@ found\ in\ AUX\ file=AUXファイルを検出 Full\ name=完全な名称 + General=一般 -General\ fields=汎用フィールド Generate=生成 @@ -570,15 +551,13 @@ Importing=読み込んでいます Importing\ in\ unknown\ format=未知の書式で読み込んでいます -Include\ abstracts=概要を取り込む -Include\ entries=項目を含める - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=下層グループの取り込み:このグループやその配下の下層グループに含まれている項目を表示 Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=独立グループ:このグループの項目のみを表示 Work\ options=作業オプション + Insert=挿入 Insert\ rows=行を挿入 @@ -628,10 +607,6 @@ Leave\ file\ in\ its\ current\ directory=ファイルを現ディレクトリに Left=左側 -Limit\ to\ fields=以下のフィールドに制限 - -Limit\ to\ selected\ entries=選択項目に制限 - Link=リンク Link\ local\ file=ローカルファイルをリンク Link\ to\ file\ %0=ファイル%0へのリンク @@ -654,8 +629,6 @@ Mark\ new\ entries\ with\ owner\ name=新規項目にオーナー名を記載 Memory\ stick\ mode=メモリースティックモード -Menu\ and\ label\ font\ size=メニューとラベルのフォント寸法 - Merged\ external\ changes=外部からの変更を統合しました Merge\ fields=フィールドをマージ @@ -681,6 +654,8 @@ Move\ up=上げる Moved\ group\ "%0".=グループ「%0」を移動しました. + + Name=名称 Name\ formatter=名前の整形 @@ -698,8 +673,6 @@ New\ content=新規内容 New\ library\ created.=新規データベースが作成されました. -New\ field\ value=新規フィールド値 - New\ group=新規グループ New\ string=新規文字列 @@ -714,9 +687,6 @@ no\ library\ generated=データベースは生成されませんでした No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=項目が見つかりませんでした.正しい読み込みフィルタを使用していることを確認してください. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=検索文字列「%0」に一致する項目が見つかりませんでした. - No\ entries\ imported.=項目は読み込まれませんでした. No\ files\ found.=ファイルがみつかりません. @@ -738,8 +708,6 @@ Nothing\ to\ redo=繰り返すべきものがありません Nothing\ to\ undo=取り消すべきものがありません -occurrences=個 - OK=OK One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=一つないしそれ以上の鍵が上書きされます.続けますか? @@ -779,13 +747,10 @@ Override=上書き Override\ default\ file\ directories=ファイルディレクトリ既定値の上書き -Override\ default\ font\ settings=既定フォント設定を上書き - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=BibTeX鍵を選択した文字列で上書き Overwrite=上書き -Overwrite\ existing\ field\ values=既存のフィールド値を上書き Overwrite\ keys=鍵の上書き @@ -821,6 +786,7 @@ Please\ enter\ the\ string's\ label=文字列のラベルを入力してくだ Please\ select\ an\ importer.=読込を選択してください. + Possible\ duplicate\ entries=重複の可能性のある項目 Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=既存項目と重複している可能性があります.解消するにはクリックしてください. @@ -856,8 +822,6 @@ Redo=繰り返し Reference\ library=参照データベース -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=%0個の参照を検出しました.いくつの参照を取得しますか? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=上層グループの絞り込み:このグループとその上層グループの両方に含まれている項目を表示 regular\ expression=正規表現 @@ -916,13 +880,9 @@ Replace\ (regular\ expression)=置換対象(正規表現) Replace\ string=文字列の置換 -Replace\ with=置換文字列 - Replace\ Unicode\ ligatures=Unicode合字を置換 Replaces\ Unicode\ ligatures\ with\ their\ expanded\ form=Unicode合字を分離形で置換 -Replaced=置換しました - Required\ fields=必須フィールド Reset\ all=すべてリセット @@ -931,6 +891,8 @@ Resolve\ strings\ for\ all\ fields\ except=文字列を以下を除いた全フ Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=文字列をBibTeX標準フィールドでのみ展開する resolved=解消しました + + Review=論評 Review\ changes=変更を検査する Review\ Field\ Migration=Reviewフィールドの取り込み @@ -949,10 +911,6 @@ Save\ library\ as...=データベースに名前を付けて保存... Save\ entries\ in\ their\ original\ order=項目をオリジナルの順序で保存 -Save\ failed=保存に失敗 - -Save\ failed\ during\ backup\ creation=バックアップ作成中に保存に失敗 - Saved\ library=データベースを保存しました Saved\ selected\ to\ '%0'.=選択部を以下に保存しました:'%0' @@ -966,8 +924,6 @@ Search=検索 Search\ expression=検索表現 -Search\ for=検索対象 - Searching\ for\ duplicates...=重複を検索しています... Searching\ for\ files=ファイルを検索しています @@ -976,19 +932,16 @@ Secondary\ sort\ criterion=第二整序基準 Select\ all=すべて選択 -Select\ encoding=エンコーディングを選択 - Select\ entry\ type=項目型を選択してください -Select\ external\ application=外部アプリケーションを選択 Select\ file\ from\ ZIP-archive=ZIP書庫からファイルを選択してください Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=ツリーノードを選択して表示させ,変更を受諾ないし拒否してください -Selected\ entries=選択した項目 + Set\ field=フィールドを設定 Set\ fields=フィールドを設定 -Set\ general\ fields=汎用フィールドを設定 + Set\ main\ external\ file\ directory=主幹外部ファイルディレクトリを設定してください Settings=設定 @@ -1044,8 +997,6 @@ Status=状態 Stop=停止 -Strings=文字列 - Strings\ for\ library=右のデータベースで用いる文字列 Sublibrary\ from\ AUX=AUXからの部分データベース @@ -1106,8 +1057,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=この操作を行うには,1つ以上の項目が選択されている必要があります. + Toggle\ entry\ preview=項目プレビューを入切 Toggle\ groups\ interface=グループ制御面を入切 + + + Try\ different\ encoding=別のエンコーディングを試す Unabbreviate\ journal\ names\ of\ the\ selected\ entries=選択した項目の誌名を非短縮形にする @@ -1154,8 +1109,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=LyXが実行 View=表示 Vim\ server\ name=Vimサーバー名 -Waiting\ for\ ArXiv...=ArXivの応答を待っています... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=精査ウィンドウを閉じる際に解消されていない重複項目に対して警告する Warn\ before\ overwriting\ existing\ keys=既存の鍵を上書きする前に警告 @@ -1187,7 +1140,6 @@ XMP-metadata=XMPメタデータ XMP-metadata\ found\ in\ PDF\:\ %0=PDF中にXMPメタデータを検出しました:%0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=これを有効にするためにはJabRefを再起動する必要があります. You\ have\ changed\ the\ language\ setting.=言語設定が変更されました. -You\ have\ entered\ an\ invalid\ search\ '%0'.=無効な検索「%0」を入力しました. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=新しいキー割当が正しく機能するようにするためには,JabRefを再起動しなくてはなりません. @@ -1196,27 +1148,21 @@ Your\ new\ key\ bindings\ have\ been\ stored.=新しいキー割当が保管さ The\ following\ fetchers\ are\ available\:=以下の取得子が使用できます: Could\ not\ find\ fetcher\ '%0'=取得子「%0」を見つけられませんでした Running\ query\ '%0'\ with\ fetcher\ '%1'.=取得子「%1」を使用して,クエリ「%0」を実行しています. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=取得子「%1」を使用したクエリ「%0」は,結果を何も返しませんでした. Move\ file=ファイルを移動 Rename\ file=ファイルを改名 + Move\ file\ failed=ファイルの移動に失敗 Could\ not\ move\ file\ '%0'.=ファイルを%0移動できませんでした Could\ not\ find\ file\ '%0'.=ファイル「%0」を見つけられませんでした. Number\ of\ entries\ successfully\ imported=読み込みに成功した項目数 Import\ canceled\ by\ user=読み込みはユーザーによって取り消されました -Progress\:\ %0\ of\ %1=進捗状況:%1のうち%0 Error\ while\ fetching\ from\ %0=%0からの取得中にエラー発生 -Please\ enter\ a\ valid\ number=有効な数値を入力してください Show\ search\ results\ in\ a\ window=検索結果をウィンドウに表示 Show\ global\ search\ results\ in\ a\ window=大域検索の結果をウィンドウに表示 Search\ in\ all\ open\ libraries=全データベースを検索 -Move\ file\ to\ file\ directory?=ファイルをファイルディレクトリに移動しますか? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=データベースは保護されています.外部からの変更を検査しない限り,保存することができません. -Protected\ library=保護されたデータベース Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=外部からの変更を検査するまではデータベースを保存することを拒絶する Library\ protection=データベース保護 Unable\ to\ save\ library=データベースを保存することができませんでした @@ -1228,16 +1174,13 @@ MIME\ type=MIME型 This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=この機能は,新規ファイルを,新しいJabRefインスタンスを開かないで,すでに実行されているインスタンスに開いたり
読み込んだりするものです.たとえば,これは,ウェブブラウザからJabRefにファイルを開かせたい時に便利です.
これによって,一度にJabRefのインスタンスを一つしか開けなくなることに注意してください. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=取得子を実行する.例:「--fetch\=Medline\:cancer」 -The\ ACM\ Digital\ Library=ACMデジタルライブラリ Reset=リセット Use\ IEEE\ LaTeX\ abbreviations=IEEEのLaTeX略語を使用 -The\ Guide\ to\ Computing\ Literature=計算科学文献へのガイド When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=ファイルリンクを開く際,リンクが定義されていなければ,一致するファイルを検索する Settings\ for\ %0=「%0」の設定 -Sort\ the\ following\ fields\ as\ numeric\ fields=以下のフィールドは数値フィールドとして整序 Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=%0行め:破損したBibTeX鍵を検出しました. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=%0行め:破損したBibTeX鍵を発見しました(空白が入っている). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=%0行め:破損したBibTeX鍵を発見しました(コンマが欠落). @@ -1250,7 +1193,6 @@ Append\ field=フィールドを追加 Append\ to\ fields=フィールドに追加 Rename\ field\ to=フィールド名を以下に変更 Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=フィールドの内容を別名のフィールドに移動する -You\ can\ only\ rename\ one\ field\ at\ a\ time=一度に改名できるのはひとつのフィールドだけです Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=リモート操作用に%0ポートを使用することができません.別のアプリケーションが使用している可能性があります.別のポートを指定してみてください. @@ -1270,9 +1212,6 @@ Formatter\ not\ found\:\ %0=整形子が見つかりません:%0 Clear\ inputarea=入力領域を一掃 Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=保存できませんでした.ファイルが他のJabRefインスタンスによってロックされています. -File\ is\ locked\ by\ another\ JabRef\ instance.=ファイルがもうひとつのJabRefインスタンスによってロックされています. -Do\ you\ want\ to\ override\ the\ file\ lock?=ファイルロックを上書きしますか? -File\ locked=ファイルがロックされています Current\ tmp\ value=現在のtmp値 Metadata\ change=メタデータの変更 Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=以下のメタデータ要素に変更を加えました @@ -1281,7 +1220,6 @@ Generate\ groups\ for\ author\ last\ names=著者の姓でグループを生成 Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=BibTeXフィールドのキーワードからグループを生成する Enforce\ legal\ characters\ in\ BibTeX\ keys=BibTeX鍵で規則に則った文字の使用を強制する -Save\ without\ backup?=バックアップを取らずに保存しますか? Unable\ to\ create\ backup=バックアップを作成することができません Move\ file\ to\ file\ directory=ファイルをファイルディレクトリに移動 Rename\ file\ to=ファイル名を以下に改名: @@ -1320,14 +1258,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=メタデータを読み込む Create\ entry\ based\ on\ XMP-metadata=XMPデータに基づいて項目を生成 Create\ blank\ entry\ linking\ the\ PDF=PDFにリンクした空の項目を生成 Only\ attach\ PDF=PDFを添付してください -Title=タイトル Create\ new\ entry=新規項目を作成 Update\ existing\ entry=既存項目を更新 Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=「名 姓」形式の名前のみ自動補完 Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=「姓, 名」形式の名前のみ自動補完 Autocomplete\ names\ in\ both\ formats=両方の形式とも自動補完 The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=「comment」という名前は,項目型名としては使用することができません. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=右記のテキストフィールド中には整数値を入力しなくてはなりません: Send\ as\ email=電子メールとして送る References=書誌情報 Sending\ of\ emails=電子メールの送付 @@ -1449,7 +1385,6 @@ Opens\ the\ file\ browser.=ファイルブラウザを開きます Scan\ directory=ディレクトリを走査 Searches\ the\ selected\ directory\ for\ unlinked\ files.=選択したディレクトリでリンクされていないファイルを検索 Starts\ the\ import\ of\ BibTeX\ entries.=BibTeX項目の読み込みを開始します. -Leave\ this\ dialog.=このダイアログを閉じます. Create\ directory\ based\ keywords=ディレクトリに基づいたキーワードを生成 Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=生成した項目のキーワードにディレクトリパス名を入れる Select\ a\ directory\ where\ the\ search\ shall\ start.=検索を開始するディレクトリを選んでください. @@ -1457,11 +1392,9 @@ Select\ file\ type\:=ファイル型を選択: These\ files\ are\ not\ linked\ in\ the\ active\ library.=これらのファイルは,現在アクティブなデータベースにリンクされていません. Entry\ type\ to\ be\ created\:=生成する項目型: Searching\ file\ system...=ファイルシステムを検索しています... -Importing\ into\ Library...=データベースに読み込んでいます... Select\ directory=辞書を選択 Select\ files=ファイルを選択 BibTeX\ entry\ creation=BibTeX項目の引用 -=<選択されていません> Unable\ to\ connect\ to\ FreeCite\ online\ service.=freeciteオンラインサービスに接続できませんでした. Parse\ with\ FreeCite=FreeCiteで解析 How\ would\ you\ like\ to\ link\ to\ '%0'?=「%0」へのリンクをどうしますか? @@ -1503,7 +1436,6 @@ Toggle\ print\ status=印刷済情報を変更 Update\ keywords=キーワードを更新 Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=特殊フィールドの値を独立したフィールドとしてBibTeXに書き込む You\ have\ changed\ settings\ for\ special\ fields.=特殊フィールドの設定が変更されました. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=%0個の項目が検出されました.サーバー負荷を軽減するため,%1個のみがダウンロードされます. A\ string\ with\ that\ label\ already\ exists=そのラベルを持つ文字列は既に存在しています Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=OpenOffice/LibreOfficeへの接続が失われました.OpenOffice/LibreOfficeが実行されていることを確認して再接続を試みてください. JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=JabRefは,項目あたり少なくとも一つのリクエストを出版社に送ります. @@ -1524,8 +1456,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=お使いの様式ファイルは,段落様式「%0」を指定していますが,これは,現在のOpenOffice/LibreOffice文書には定義されていません. Searching...=検索中... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=ダウンロードする項目を%0個以上選択しました.あまりに多くのダウンロードを急に行うと,其れをブロックするウェブサイトもあります.続けますか? -Confirm\ selection=選択範囲を確認 Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=大小文字を正しく維持するため,検索中に指定したタイトル語に{}を付け加える Import\ conversions=読み込み時変換 Please\ enter\ a\ search\ string=検索文字列を入力してください @@ -1536,7 +1466,6 @@ Canceled\ merging\ entries=項目の統合を取り消しました Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=非改行区切りを付して検索で大文字小文字が正しくなるよう単位を整形 Merge\ entries=項目の統合 Merged\ entries=項目を統合しました -Merged\ entry=統合後の項目 None=なし Parse=解析 Result=結果 @@ -1620,9 +1549,7 @@ Add\ new\ file\ type=新規ファイル形式を追加 Left\ entry=左側の項目 Right\ entry=右側の項目 -Use=採用 Original\ entry=元の項目 -Replace\ original\ entry=元の項目を置き換える No\ information\ added=情報は追加されていません Select\ at\ least\ one\ entry\ to\ manage\ keywords.=キーワードを操作するには少なくともひとつの項目を選択してください. OpenDocument\ text=OpenDocument文書 @@ -1641,7 +1568,6 @@ Please\ move\ the\ file\ manually\ and\ link\ in\ place.=ファイルを手動 Could\ not\ connect\ to\ %0=%0に接続することができませんでした Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=警告;%1項目中%0項目に定義されていないタイトルがあります. Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ BibTeX\ key.=警告;%1項目中%0項目に定義されていないBibTeX鍵があります. -occurrence=個 Added\ new\ '%0'\ entry.=「%0」項目を新規に追加しました. Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=複数の項目を選択しています.これらすべての項目の型を「%0」に変更しますか? Changed\ type\ to\ '%0'\ for=右記を「%0」型に変更しました: @@ -1661,8 +1587,6 @@ Print\ entry\ preview=項目プレビューを印刷 Copy\ title=タイトルをコピー Copy\ \\cite{BibTeX\ key}=\\cite{BibTeX鍵}をコピー Copy\ BibTeX\ key\ and\ title=BibTeX鍵とタイトルをコピー -File\ rename\ failed\ for\ %0\ entries.=%0項目のファイル名変更が失敗しました. -Merged\ BibTeX\ source\ code=統合後のBibTeXソースコード Invalid\ DOI\:\ '%0'.=無効なDOIです:'%0'. should\ start\ with\ a\ name=始まりは名前でなくてはなりません should\ end\ with\ a\ name=終わりは名前でなくてはなりません @@ -1755,10 +1679,8 @@ Error\ Occurred=エラーが発生しました Journal\ file\ %s\ already\ added=がくじゅつしふぁいる%sは追加済みです Name\ cannot\ be\ empty=名称は空にはできません -Adding\ fetched\ entries=取得した項目を追加しています Display\ keywords\ appearing\ in\ ALL\ entries=全ての項目に現れるキーワードを表示 Display\ keywords\ appearing\ in\ ANY\ entry=いずれかの項目に現れるキーワードを表示 -Fetching\ entries\ from\ Inspire=Inspireから項目を取得 None\ of\ the\ selected\ entries\ have\ titles.=選択した項目のいずれにもタイトルがありません. None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=選択した項目のいずれにもBibTeX鍵がありません. Unabbreviate\ journal\ names=学術誌名を非短縮形に @@ -1773,14 +1695,11 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=bibファイル中に誤った書 Move\ linked\ files\ to\ default\ file\ directory\ %0=リンクを張られたファイルを既定ファイルディレクトリ%0に移動 -Clipboard=クリップボード -Could\ not\ paste\ entry\ as\ text\:=項目をテキストとして貼り付けることができませんでした: Do\ you\ still\ want\ to\ continue?=それでも続けますか? This\ action\ will\ modify\ the\ following\ field(s)\ in\ at\ least\ one\ entry\ each\:=この動作は,次の各フィールドをそれぞれ少なくとも1項目以上書き換えます: This\ could\ cause\ undesired\ changes\ to\ your\ entries.=これはあなたの項目に望ましくない変更を加えるおそれがあります. Run\ field\ formatter\:=フィールド整形を実行: Table\ font\ size\ is\ %0=表フォント寸法は%0です -%0\ import\ canceled=%0からの読み込みを取り消しました Internal\ style=内部スタイル Add\ style\ file=スタイルファイルを追加 Are\ you\ sure\ you\ want\ to\ remove\ the\ style?=本当にこのスタイルを削除しますか? @@ -1798,6 +1717,7 @@ Changes\ all\ letters\ to\ upper\ case.=全文字を大文字に変換します Changes\ the\ first\ letter\ of\ all\ words\ to\ capital\ case\ and\ the\ remaining\ letters\ to\ lower\ case.=全単語の最初の文字を大文字に変換し,他の文字を小文字に変換します. Cleans\ up\ LaTeX\ code.=LaTeXコードを剪定します. Converts\ HTML\ code\ to\ LaTeX\ code.=HTMLコードをLaTeXコードに変換します. +HTML\ to\ Unicode=HTMLからUnicodeへ Converts\ HTML\ code\ to\ Unicode.=HTMLコードをUnicodeに変換します. Converts\ LaTeX\ encoding\ to\ Unicode\ characters.=LaTeXエンコーディングをUnicode文字に変換します. Converts\ Unicode\ characters\ to\ LaTeX\ encoding.=Unicode文字をLaTeXエンコーディングに変換します. @@ -1809,6 +1729,7 @@ LaTeX\ to\ Unicode=LaTeXからUnicodeへ Lower\ case=小文字 Minify\ list\ of\ person\ names=人名一覧の圧縮 Normalize\ date=日付を標準化 +Normalize\ en\ dashes=エヌ・ダッシュを正規化 Normalize\ month=月を標準化 Normalize\ month\ to\ BibTeX\ standard\ abbreviation.=月をBibTeX標準の短縮形に標準化します. Normalize\ names\ of\ persons=人名を標準化 @@ -1816,8 +1737,11 @@ Normalize\ page\ numbers=ページ番号を標準化 Normalize\ pages\ to\ BibTeX\ standard.=ページをBibTeX標準に標準化します. Normalizes\ lists\ of\ persons\ to\ the\ BibTeX\ standard.=人名一覧をBibTeX標準に標準化します. Normalizes\ the\ date\ to\ ISO\ date\ format.=日付をISO日付書式に標準化します. +Normalizes\ the\ en\ dashes.=エヌ・ダッシュを正規化します. Ordinals\ to\ LaTeX\ superscript=序数をLaTeX上付き文字に Protect\ terms=用語を保護 +Add\ enclosing\ braces=波括弧でくくる +Add\ braces\ encapsulating\ the\ complete\ field\ content.=フィールドの内容全体を波括弧で括ります. Remove\ enclosing\ braces=包含括弧を除去 Removes\ braces\ encapsulating\ the\ complete\ field\ content.=フィールド内容全体を包含する括弧を除去します. Sentence\ case=文の大小文字パターン @@ -1998,7 +1922,6 @@ Your\ issue\ was\ reported\ in\ your\ browser.=あなたの問題はブラウザ The\ log\ and\ exception\ information\ was\ copied\ to\ your\ clipboard.=ログと例外情報がクリップボードにコピーされました. Please\ paste\ this\ information\ (with\ Ctrl+V)\ in\ the\ issue\ description.=この情報を問題の記述部に(Ctrl+Vを使って)貼り付けてください. -Connection=接続 Connecting...=接続中... Host=ホスト Port=ポート @@ -2025,9 +1948,7 @@ Shared\ version\:\ %0=共有のバージョン:%0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=この問題を解決するには,共有項目をローカル項目と統合して「項目を統合」ボタンを押してください. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=この操作を取り消してしまうと,変更点が同期されないまま残ってしまいます.それでも取り消しますか? Shared\ entry\ is\ no\ longer\ present=共有項目がすでに存在しません -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=現在作業しているBibEntryが共有側で削除されています. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=「取り消し」操作を行って項目を復活させることができます. -Remember\ password?=パスワードを記憶しますか? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=入力済みの接続詳細情報を使って,データベースにすでに接続されています. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=BibTeX鍵がないと,項目を引用することができません.ここで鍵を生成しますか? @@ -2043,7 +1964,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=少なくとも一つのフィー Non-ASCII\ encoded\ character\ found=ASCIIエンコードでない文字が検出されました Toggle\ web\ search\ interface=ウェブ検索インタフェースを入切 %0\ files\ found=%0個のファイルが見つかりました -%0\ of\ %1=%1のうちの%0 One\ file\ found=1個のファイルが見つかりました The\ import\ finished\ with\ warnings\:=右記の警告とともに読み込みが終了しました: There\ was\ one\ file\ that\ could\ not\ be\ imported.=読み込みのできなかったファイルが一つありました. @@ -2052,7 +1972,6 @@ There\ were\ %0\ files\ which\ could\ not\ be\ imported.=読み込みのでき Migration\ help\ information=移出入ヘルプ情報 Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=入力されたデータベースは旧式の構造を持っていて,もうサポートされていません. However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=しかしながら,pre-3.6データベースに従って,新しいデータベースが生成されました. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=pre-3.6データベースの移出入について知るには,ここをクリックしてください. Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=現行開発版をダウンロードできる場所へのリンクを開きます See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=JabRefの各版における変更点を見ます Referenced\ BibTeX\ key\ does\ not\ exist=参照されたBibTeX鍵は存在しません @@ -2080,7 +1999,6 @@ Existing\ file=既存ファイル ID=ID ID\ type=ID型 -ID-based\ entry\ generator=IDから項目を生成 Fetcher\ '%0'\ did\ not\ find\ an\ entry\ for\ id\ '%1'.=取得子「%0」は,IDが「%1」の項目を見つけられませんでした. Select\ first\ entry=最初の項目を選択 @@ -2131,8 +2049,6 @@ journal\ not\ found\ in\ abbreviation\ list=短縮名リストにない学術誌 Unhandled\ exception\ occurred.=取り扱えない例外が発生しました. strings\ included=インクルードした文字列 -Size\ of\ large\ icons=大アイコンの大きさ -Size\ of\ small\ icons=小アイコンの大きさ Default\ table\ font\ size=表の既定フォント寸法 Escape\ underscores=アンダースコアをエスケープ Color=色 @@ -2199,12 +2115,15 @@ Group\ containing\ entries\ cited\ in\ a\ given\ TeX\ file=特定のTeXファイ Any\ file=任意のファイル No\ linked\ files\ found\ for\ export.=エクスポートしようとしましたが,リンク先のファイルが見つかりません. -Database=データベース -Database\ type=データベース型 Full\ text\ document\ download\ failed\ for\ entry\ %0=項目%0の文書全文のダウンロードに失敗しました No\ full\ text\ document\ found\ for\ entry\ %0.=項目%0の文書全文が見つかりません. +Delete\ Entry=項目を削除 +Import\ &\ Export=インポート及エクスポート +Look\ up\ document\ identifier=文書IDを検索 +Next\ library=次のライブラリ +Previous\ library=前のライブラリ add\ group=グループを追加 @@ -2231,3 +2150,7 @@ View\ event\ log=イベントログを表示 Website=ウェブサイト Write\ XMP-metadata\ to\ PDFs=XMPメタデータをPDFに書き出す +Override\ default\ font\ settings=既定フォント設定を上書き + + + diff --git a/src/main/resources/l10n/JabRef_nl.properties b/src/main/resources/l10n/JabRef_nl.properties index e2a0b0579d9..96c5d572ece 100644 --- a/src/main/resources/l10n/JabRef_nl.properties +++ b/src/main/resources/l10n/JabRef_nl.properties @@ -1,74 +1,73 @@ #X-Generator: crowdin.com -%0\ contains\ the\ regular\ expression\ %1=%0 bevat de regular expression %1 +%0\ contains\ the\ regular\ expression\ %1=%0 bevat de standaard-uitdruk %1 %0\ contains\ the\ term\ %1=%0 bevat de term %1 -%0\ doesn't\ contain\ the\ regular\ expression\ %1=%0 bevat de regular expression %1 niet +%0\ doesn't\ contain\ the\ regular\ expression\ %1=%0 bevat de standaard-uitdruk %1 niet %0\ doesn't\ contain\ the\ term\ %1=%0 bevat de term %1 niet +%0\ export\ successful=%0 export succesvol -%0\ matches\ the\ regular\ expression\ %1=%0 komt overeen met de regular expression %1 +%0\ matches\ the\ regular\ expression\ %1=%0 komt overeen met de standaard-uitdruk %1 %0\ matches\ the\ term\ %1=%0 komt overeen met de term %1 = -= - = Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Forkort journalnavn for de valgte enhetene (ISO-forkortelse) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Forkort journalnavn for de valgte enhetene (MEDLINE-forkortelse) @@ -34,11 +32,13 @@ Accept=Aksepter Accept\ change=Aksepter endring -Action=Aksjon +Action=Aksjon Add=Legg til +Add\ new=Legg til ny + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Legg til en (kompilert) egendefinert Importer-klasse fra en classpath. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Stien trenger ikke å være på JabRefs classpath. @@ -51,16 +51,12 @@ Add\ from\ folder=Legg til fra mappe Add\ from\ JAR=Legg til fra JAR-fil -Add\ new=Legg til ny - Add\ subgroup=Legg til undergruppe Add\ to\ group=Legg til i gruppe Added\ group\ "%0".=La til gruppe "%0". -Added\ new=La til ny - Added\ string=La til streng Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Dessuten, enheter hvis %0-felt ikke inneholder %1 kan legges manuelt til denne gruppen ved å velge dem, og enten dra dem over eller bruke kontekstmenyen. Denne prosessen legger til uttrykket %1 til hver av enhetenes %0-felt. Enheter kan fjernes manuelt fra denne gruppen ved å velge dem og deretter bruke kontekstmenyen. Denne prosessen fjerner uttrykket %1 fra hver av enhetenes %0-felt. @@ -69,10 +65,6 @@ Advanced=Avansert All\ entries=Alle enheter All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Alle enhetene av denne typen vil bli klassifisert som typeløse. Fortsette? -All\ fields=Alle felter - - -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=En SAXException forekom ved lesing av '%0'\: and=og @@ -162,6 +154,7 @@ Clear\ fields=Slett felter Close=Lukk + Close\ dialog=Lukk dialog Close\ the\ current\ library=Lukk denne libraryn @@ -213,6 +206,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Kunne ikke kjøre 'vim'-programmet Character\ encoding\ '%0'\ is\ not\ supported.=Tegnkodingen '%0' er ikke støttet. + crossreferenced\ entries\ included=refererte enheter inkludert Current\ content=Nåværende innhold @@ -247,8 +241,6 @@ Default\ encoding=Standard koding Default\ grouping\ field=Standardfelt for gruppering -Default\ sort\ criteria=Standard sorteringskriteria - Delete=Slett Delete\ custom\ format=Slett tilpasset type @@ -268,8 +260,6 @@ Delete\ strings=Slett strenger Deleted=Slettet -Delimit\ fields\ with\ semicolon,\ ex.=Avgrens felter med semikolon, f.eks. - Descending=Synkende Description=Beskrivelse @@ -324,7 +314,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Grupper enhete Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Grupper enheter dynamisk ved å søke etter nøkkelord i et felt -Each\ line\ must\ be\ on\ the\ following\ form=Hver av linjene må være på den følgende formen Edit=Rediger @@ -371,12 +360,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Enhetstyper Error=Feil -Error\ exporting\ to\ clipboard=Feil ved eksport til utklippstavle Error\ occurred\ when\ parsing\ entry=En feil oppsto ved lesing av enhet Error\ opening\ file=Feil ved åpning av fil + Error\ while\ writing=En feil oppsto ved skriving '%0'\ exists.\ Overwrite\ file?='%0' eksisterer. Erstatt filen? @@ -406,8 +395,6 @@ External\ programs=Eksterne programmer External\ viewer\ called=Eksternt program kalt opp -Fetch=Hent - Field=Felt field=felt @@ -415,8 +402,6 @@ field=felt Field\ name=Feltnavn Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Feltnavn kan ikke inneholde opperom eller de følgende tegnene -Field\ to\ filter=Felt som skal filtreres - Field\ to\ group\ by=Grupperingsfelt File=Fil @@ -431,13 +416,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Filkatalogen er ikke satt File\ exists=Filen eksisterer -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Filen har blitt endret eksternt. Hva vil du gjøre? - File\ not\ found=Fant ikke filen File\ type=Filtype - -File\ updated\ externally=Filen har blitt endret eksternt - filename=filnavn Files\ opened=Filer åpnet @@ -456,6 +436,7 @@ Fit\ table\ horizontally\ on\ screen=Tilpass tabellbredden horisontalt Float=Flyt + Format\ of\ author\ and\ editor\ names=Formatering av forfatter- og redaktørnavn Format\ string=Formatstreng @@ -466,9 +447,9 @@ found\ in\ AUX\ file=funnet i AUX-fil Full\ name=Fullt navn + General=Generelt -General\ fields=Generelle felter Generate=Generer @@ -546,14 +527,12 @@ Importing=Importerer Importing\ in\ unknown\ format=Importerer ukjent format -Include\ abstracts=Inkluder sammendrag -Include\ entries=Inkluder enheter - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Inkluder undergrupper\: Vis enheter inneholdt i denne gruppen eller en undergruppe Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Uavhengig gruppe\: Vis bare denne gruppens enheter + Insert=Legg til Insert\ rows=Legg til rader @@ -601,10 +580,6 @@ Leave\ file\ in\ its\ current\ directory=La filen ligge i katalogen den ligger i Left=Venstre -Limit\ to\ fields=Begrens til følgende felter - -Limit\ to\ selected\ entries=Begrens til valgte enheter - Link\ local\ file=Link til lokal fil Link\ to\ file\ %0=Link til filen %0 @@ -626,8 +601,6 @@ Mark\ new\ entries\ with\ owner\ name=Merk nye enheter med navn på eier Memory\ stick\ mode=Minnepinne-modus -Menu\ and\ label\ font\ size=Størrelse av menyfonter - Merged\ external\ changes=Inkorporerte eksterne endringer Messages=Meldinger @@ -652,6 +625,8 @@ Move\ up=Flytt opp Moved\ group\ "%0".=Flyttet gruppen "%0". + + Name=Navn Name\ formatter=Navneformaterer @@ -669,8 +644,6 @@ New\ content=Nytt innhold New\ library\ created.=Opprettet ny library. -New\ field\ value=Ny verdi - New\ group=Ny gruppe New\ string=Ny streng @@ -685,9 +658,6 @@ no\ library\ generated=ingen library generert No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Ingen enheter funnet. Kontroller at du bruker riktig importfilter. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Fant ingen enheter for søketeksten '%0' - No\ entries\ imported.=Ingen enheter importert. No\ files\ found.=Ingen filer funnet. @@ -708,8 +678,6 @@ Nothing\ to\ redo=Ingenting å gjenta Nothing\ to\ undo=Ingenting å angre -occurrences=treff - One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=En eller flere nøkler vil bli skrevet over. Fortsett? @@ -748,13 +716,10 @@ Override=Skriv over Override\ default\ file\ directories=Overstyr hovekataloger for filer -Override\ default\ font\ settings=Overstyr standardfonter - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=Overskriv BibTeX-nøkkelen med den valgte teksten Overwrite=Skriv over -Overwrite\ existing\ field\ values=Skriv over eksisterende verdier Overwrite\ keys=Skriv over nøkler @@ -789,6 +754,7 @@ Please\ enter\ the\ string's\ label=Skriv inn et navn for strengen Please\ select\ an\ importer.=Velg et importfilter. + Possible\ duplicate\ entries=Mulige duplikater Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Mulig duplikat av eksisterende enhet. Klikk for å håndtere. @@ -815,8 +781,6 @@ Redo=Gjenta Reference\ library=Referanselibrary -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=Referanser funnet\: %0. Antall referanser som skal hentes? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Undergruppe\: Vis enheter innehold både i denne gruppen og gruppen over regular\ expression=Regulæruttrykk @@ -871,10 +835,6 @@ Replace\ (regular\ expression)=Erstatt (regulæruttrykk) Replace\ string=Erstatt streng -Replace\ with=Erstatt med - - -Replaced=Erstattet Required\ fields=Nødvendige felter @@ -884,6 +844,8 @@ Resolve\ strings\ for\ all\ fields\ except=Slå opp strenger for alle felter unn Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Slå opp strenger kun for standard BibTeX-felter resolved=tatt hånd om + + Review=Kommentarer Review\ changes=Se over endringer @@ -901,10 +863,6 @@ Save\ library\ as...=Lagre library som ... Save\ entries\ in\ their\ original\ order=Lagre enheter i opprinnelig rekkefølge -Save\ failed=Lagring mislyktes - -Save\ failed\ during\ backup\ creation=Lagring mislyktes ved opprettelse av sikkerhetskopi - Saved\ library=Lagret library Saved\ selected\ to\ '%0'.=Lagret valgte i '%0'. @@ -918,8 +876,6 @@ Search=Søk Search\ expression=Søkeuttrykk -Search\ for=Søk etter - Searching\ for\ duplicates...=Søker etter duplikater... Searching\ for\ files=Søker etter filer @@ -928,19 +884,16 @@ Secondary\ sort\ criterion=Andre sorteringskriterium Select\ all=Velg alle -Select\ encoding=Velg koding - Select\ entry\ type=Velg enhetstype -Select\ external\ application=Velg ekstern applikasjon Select\ file\ from\ ZIP-archive=Velg fil fra ZIP-fil Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Velg trenodene for å inspisere og akseptere eller avslå endringer -Selected\ entries=Valgte enheter + Set\ field=Sett felt Set\ fields=Sett felter -Set\ general\ fields=Tilpass generelle felter + Set\ main\ external\ file\ directory=Sett hovedkatalog for eksterne linker Settings=Innstillinger @@ -992,8 +945,6 @@ Statically\ group\ entries\ by\ manual\ assignment=Grupper enheter statisk ved m Stop=Stopp -Strings=Strenger - Strings\ for\ library=Strenger for library Sublibrary\ from\ AUX=Dellibrary fra AUX-fil @@ -1053,8 +1004,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Denne operasjonen krever at en eller flere enheter er valgt. + Toggle\ entry\ preview=Vis/skjul forhåndsvisning Toggle\ groups\ interface=Vis/skjul grupperingskontroll + + + Try\ different\ encoding=Prøv en annen tegnkoding Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Ekspander journalnavn for de valgte enhetene @@ -1098,8 +1053,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=kontroller at View=Vis Vim\ server\ name=Navn på Vim-server -Waiting\ for\ ArXiv...=Venter på ArXiv - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Advar om duplikater som ikke er blitt håndtert når inspeksjonsvinduet lukkes Warn\ before\ overwriting\ existing\ keys=Gi advarsel før eksisterende nøkler skrives over @@ -1130,7 +1083,6 @@ XMP\ export\ privacy\ settings=Innstillinger for XMP-eksport XMP-metadata\ found\ in\ PDF\:\ %0=XMP-metadata funnet i PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Du må starte JabRef på nytt for at dette skal tre i kraft. You\ have\ changed\ the\ language\ setting.=Du har valgt et nytt språk. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Ugyldig søkeuttrykk '%0'. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Du må starte JabRef på nytt for at de nye hurtigtastene skal fungere. @@ -1139,25 +1091,19 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Dine nye hurtigtaster har blitt la The\ following\ fetchers\ are\ available\:=De følgende nedlasterne er tilgjengelige\: Could\ not\ find\ fetcher\ '%0'=Kunne ikke finne nedlasteren '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Utfører søk '%0' med nedlaster '%1'. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Søket '%0' med nedlaster '%1' ga ingen resultater. Move\ file=Flytt fil Rename\ file=endre navn på fil + Move\ file\ failed=Flytting av fil mislyktes Could\ not\ move\ file\ '%0'.=Kunne ikke flytte filen '%0'. Could\ not\ find\ file\ '%0'.=Kunne ikke finne filen '%0'. Number\ of\ entries\ successfully\ imported=Antall enheter importert Import\ canceled\ by\ user=Import avbrutt av bruker -Progress\:\ %0\ of\ %1=Framdrift\: %0 av %1 Error\ while\ fetching\ from\ %0=Feil ved henting fra %0 -Please\ enter\ a\ valid\ number=Vennligst skriv inn et gyldig tall Show\ search\ results\ in\ a\ window=Vis søkeresultatene i et vundu -Move\ file\ to\ file\ directory?=Flytt filen til hovedkatalogen for filer? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=Libraryn er beskyttet. Kan ikke lagre før eksterne endringer har blitt gjennomgått. -Protected\ library=Beskyttet library Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Nekt å lagre libraryn før eksterne endringer har blitt gjennomgått. Library\ protection=Librarybeskyttelse Unable\ to\ save\ library=Kan ikke lagre libraryn @@ -1168,7 +1114,6 @@ MIME\ type=MIME-type This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Denne funksjonen lar deg åpne eller importere nye filer til en allerede kjørende instans av JabRef
fra nettleseren din.
Merk at dette vil hindre deg i å kjøre mer enn en instans av JabRef av gangen. -The\ ACM\ Digital\ Library=ACM Digital Library Reset=Resett Use\ IEEE\ LaTeX\ abbreviations=Bruk IEEE-LaTeX-forkortelser @@ -1176,7 +1121,6 @@ Use\ IEEE\ LaTeX\ abbreviations=Bruk IEEE-LaTeX-forkortelser When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Ved åpning av linke, s¸k etter matchende fil hvis ingen er definert Settings\ for\ %0=Innstillinger for %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Sorter de følgende feltene som tall Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Linje %0\: Fant ugyldig BibTeX-n¸kkel. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Linje %0\: Fant ugyldig BibTeX-n¸kkel (inneholder mellomrom). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Linje %0\: Fant ugyldig BibTeX-n¸kkel (manglende komma). @@ -1185,7 +1129,6 @@ Rename\ field=Endre navn på felt Set/clear/append/rename\ fields=Sett/slett/endre navn på felter Rename\ field\ to=Endre navn på felt til Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Flytt innholdet i et felt til et annet felt -You\ can\ only\ rename\ one\ field\ at\ a\ time=Du kan bare endre navn på ett felt av gangen Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Kan ikke bruke port %0 for fjernstyring; den kan være i bruk av et annet program. Pr¸v å spesifisere en annen port. @@ -1201,9 +1144,6 @@ Formatter\ not\ found\:\ %0=Fant ikke formaterer\: %0 Clear\ inputarea=T¸m inputfelt Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Kunne ikke lagre, filen er låst av en annen instans av JabRef. -File\ is\ locked\ by\ another\ JabRef\ instance.=Filen er låst av en annen instans av JabRef. -Do\ you\ want\ to\ override\ the\ file\ lock?=Vil du overstyre fillåsen? -File\ locked=Filen er låst Current\ tmp\ value=Nåværende tmp-verdi Metadata\ change=Endring av metadata Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Endringer er gjort for de f¸lgende metadata-elementene @@ -1212,7 +1152,6 @@ Generate\ groups\ for\ author\ last\ names=Generer grupper for etternavn fra aut Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Generer grupper fra n¸kkelord i et BibTeX-felt Enforce\ legal\ characters\ in\ BibTeX\ keys=Forby tegn i BibTeX-n¸kler som ikke aksepteres av BibTeX -Save\ without\ backup?=Lagre uten backup? Unable\ to\ create\ backup=Kan ikke lagre backup? Move\ file\ to\ file\ directory=Flytt fil til filkatalog Rename\ file\ to=Endre navn på fil til @@ -1250,14 +1189,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Velg kilde for import av metadat Create\ entry\ based\ on\ XMP-metadata=Lag enhet basert på XMP-data Create\ blank\ entry\ linking\ the\ PDF=Lag blank enhet med lenke til PDF Only\ attach\ PDF=Bare lenk til PDF -Title=Tittel Create\ new\ entry=Lag ny enhet Update\ existing\ entry=Oppdater eksisterende enhet Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Autokompletter navn i 'Fornavn Etternavn'-format Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Autokompletter navn i 'Etternavn, Fornavn'-format Autocomplete\ names\ in\ both\ formats=Autokompletter navn i begge format The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=Navnet 'comment' kan ikke brukes som navn på en enhetstype -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Du må skrive inn en heltallverdi i tekstfeltet for Send\ as\ email=Send som e-post References=Referanser Sending\ of\ emails=Sending av e-post @@ -1393,7 +1330,6 @@ Unabbreviate\ journal\ names=Ekspander journalnavn -%0\ import\ canceled=%0-import kansellert @@ -1469,3 +1405,7 @@ View\ change\ log=Vis endringslogg Website=Nettsted Write\ XMP-metadata\ to\ PDFs=Skriv XMP-metadata til PDF-filer +Override\ default\ font\ settings=Overstyr standardfonter + + + diff --git a/src/main/resources/l10n/JabRef_pt_BR.properties b/src/main/resources/l10n/JabRef_pt_BR.properties index 0ec55dd71ac..b683d07c9da 100644 --- a/src/main/resources/l10n/JabRef_pt_BR.properties +++ b/src/main/resources/l10n/JabRef_pt_BR.properties @@ -15,8 +15,6 @@ = -=<выбрать> - =<выбрать слово> Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Сокращения названий журналов для выбранных записей (аббр. ISO) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Сокращения названий журналов для выбранных записей (аббр. MEDLINE) @@ -34,11 +32,13 @@ Accept=Принять Accept\ change=Принять изменение -Action=Действие +Action=Действие Add=Добавить +Add\ new=Добавить новую + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Добавить (скомпил.) пользовательский класс Importer из пути класса. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Путь может не совпадать с путем классов JabRef. @@ -51,16 +51,12 @@ Add\ from\ folder=Добавить из папки Add\ from\ JAR=Добавить из JAR -Add\ new=Добавить новую - Add\ subgroup=Добавить подгруппу Add\ to\ group=Добавить в группу Added\ group\ "%0".=Группа "%0" добавлена. -Added\ new=Добавлена новая - Added\ string=Строка добавлена Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Кроме того, записи, в которых поле %0 не содержит %1 могут быть назначены этой группе вручную путем их выбора и перетаскивания в группу или с помощью команды контекстного меню. В этом случае условие%1 будет добавлено к полю %0 каждой записи. Чтобы вручную удалить записи из этой группы, выберите записи и примените команду контекстного меню. В этом случае условие %1 будет удалено из поля %0 каждой записи. @@ -69,12 +65,8 @@ Advanced=Расширенные All\ entries=Все записи All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Все записи этого типа будут объявлены записями 'без типа'. Продолжть? -All\ fields=Все поля - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Всегда преобразовывать формат файла BIB при сохранении и экспорте -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=Исключение SAX при анализе '%0'\: - and=и any\ field\ that\ matches\ the\ regular\ expression\ %0=любое поле, соответствующее регулярному выражению %0 @@ -164,6 +156,7 @@ Clear\ fields=Очистить поля Close=Закрыть + Close\ dialog=Закрыть диалоговое окно Close\ the\ current\ library=Закрыть текущую БД @@ -216,6 +209,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Не удалось запустить п Could\ not\ save\ file.=Не удалось сохранить файл. Character\ encoding\ '%0'\ is\ not\ supported.=Кодировка '%0' не поддерживается. + crossreferenced\ entries\ included=записи с перекрестными ссылками Current\ content=Текущее содержимое @@ -251,8 +245,6 @@ Default\ grouping\ field=Поле группировки по умолчанию Default\ pattern=Шаблон по умолчанию -Default\ sort\ criteria=Критерий сортировки по умолчанию - Delete=Удалить Delete\ custom\ format=Удалить пользовательский формат @@ -273,8 +265,6 @@ Deleted=Удалено Permanently\ delete\ local\ file=Удалить локальный файл -Delimit\ fields\ with\ semicolon,\ ex.=Разделитель для полей\: точка с запятой, напр.\: - Descending=В порядке убывания Description=Описание @@ -329,7 +319,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Динамич Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Динамическая группировка записей по поиску ключегого слова в поле -Each\ line\ must\ be\ on\ the\ following\ form=Каждая строка должна иметь следующую форму Edit=Изменить @@ -376,12 +365,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Типы записей Error=Ошибка -Error\ exporting\ to\ clipboard=Ошибка экспорта в буфер обмена Error\ occurred\ when\ parsing\ entry=Ошибка анализа записи Error\ opening\ file=Ошибка при открытии файла + Error\ while\ writing=Ошибка при записи '%0'\ exists.\ Overwrite\ file?='%0' существует. Перезаписать файл? @@ -411,8 +400,6 @@ External\ programs=Внешние программы External\ viewer\ called=Вызов внешней программы просмотра -Fetch=Выборка - Field=Поле field=поле @@ -420,8 +407,6 @@ field=поле Field\ name=Имя поля Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Имена полей не должны содержать пробелов или следующих знаков -Field\ to\ filter=Поле для фильтра - Field\ to\ group\ by=Поле для группировки File=Файл @@ -436,13 +421,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Каталог файло File\ exists=Файл существует -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Файл изменен внешними средствами. Выберите дальнейшие действия. - File\ not\ found=Файл не найден File\ type=Тип файла - -File\ updated\ externally=Файл изменен внешними средствами - filename=имя файла Files\ opened=Открытые файлы @@ -463,6 +443,7 @@ Float=Нефиксированные for=для + Format\ of\ author\ and\ editor\ names=Формат имени автора/редактора Format\ string=Форматировать строку @@ -473,9 +454,9 @@ found\ in\ AUX\ file=найдено в файле AUX Full\ name=Полное имя + General=Общие -General\ fields=Общие поля Generate=Создать @@ -554,15 +535,13 @@ Importing=Импорт Importing\ in\ unknown\ format=Импорт неизвестного формата -Include\ abstracts=Включить конспект -Include\ entries=Включить записи - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Включить подгруппы\: Просмотр записей, содержащихся в этой группе или ее подгруппах (если выбрано) Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Независимая группа\: Просмотр записей только этой группы (если выбрано) Work\ options=Рабочие параметры + Insert=Вставить Insert\ rows=Вставить строки @@ -610,10 +589,6 @@ Leave\ file\ in\ its\ current\ directory=Сохранить файл в теку Left=Левый -Limit\ to\ fields=Ограничение для полей - -Limit\ to\ selected\ entries=Ограничение для выбранных записей - Link=Ссылка Link\ local\ file=Ссылка на локальный файл Link\ to\ file\ %0=Ссылка на файл %0 @@ -636,8 +611,6 @@ Mark\ new\ entries\ with\ owner\ name=Метка имени владельца Memory\ stick\ mode=Режим флеш-памяти -Menu\ and\ label\ font\ size=Кегль меню и подписи - Merged\ external\ changes=Внешние изменения с объединением Messages=Сообщения @@ -662,6 +635,8 @@ Move\ up=Переместить вверх Moved\ group\ "%0".=Перемещенная группа "%0". + + Name=Имя Name\ formatter=Программа форматирования имени @@ -679,8 +654,6 @@ New\ content=Создать контент New\ library\ created.=Создана новая БД. -New\ field\ value=Создать значение поля - New\ group=Создать группу New\ string=Создать строку @@ -695,9 +668,6 @@ no\ library\ generated=БД не создана No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Записи не найдены. Убедитесь, что используется правильный фильтр импорта. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Не найдены записи для строки поиска '%0' - No\ entries\ imported.=Записи не импортированы. No\ files\ found.=Файлы не найдены. @@ -718,8 +688,6 @@ Nothing\ to\ redo=Нет действий для повтора Nothing\ to\ undo=Нет действий для отмены -occurrences=встречаемость - One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Один или несколько ключей будут перезаписаны. Продолжить? @@ -758,13 +726,10 @@ Override=Переопределить Override\ default\ file\ directories=Переопределить каталоги файлов, заданные по умолчанию -Override\ default\ font\ settings=Переопределить настройки шрифта, заданные по умолчанию - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=заменить ключ BibTeX на выделенный текст Overwrite=Перезаписать -Overwrite\ existing\ field\ values=Перезаписать текущие значения полей Overwrite\ keys=Перезаписать ключи @@ -799,6 +764,7 @@ Please\ enter\ the\ string's\ label=Введите подпись для стр Please\ select\ an\ importer.=Выберите фильтр импорта. + Possible\ duplicate\ entries=Возможные дубликаты записей Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Возможный дубликат существующей записи. Щелкните для разрешения. @@ -826,8 +792,6 @@ Redo=Повторить Reference\ library=БД для ссылки -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=Найдены ссылки\: %0. Число ссылок для выборки? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Детализировать супергруппу\: Просмотр записей, содержащихся в группе и ее супергруппе (если выбрано) regular\ expression=Регулярное выражение @@ -883,10 +847,6 @@ Replace\ (regular\ expression)=Заменить (регулярное выраж Replace\ string=Заменить строку -Replace\ with=Заменить на - - -Replaced=Заменено Required\ fields=Обязательные поля @@ -896,6 +856,8 @@ Resolve\ strings\ for\ all\ fields\ except=Разрешение для стро Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Разрешение для строк только стандартных полей BibTeX resolved=разрешено + + Review=Просмотр Review\ changes=Просмотр изменений @@ -913,10 +875,6 @@ Save\ library\ as...=Сохранить БД как... Save\ entries\ in\ their\ original\ order=Сохранить записи в исходном порядке -Save\ failed=Ошибка сохранения - -Save\ failed\ during\ backup\ creation=Ошибка сохранения при создании резервной копии - Saved\ library=БД сохранена Saved\ selected\ to\ '%0'.=Сохранить выбранное в '%0'. @@ -930,8 +888,6 @@ Search=Поиск Search\ expression=Выражение для поиска -Search\ for=Поиск - Searching\ for\ duplicates...=Выполняется поиск дубликатов... Searching\ for\ files=Выполняется поиск файлов... @@ -940,19 +896,16 @@ Secondary\ sort\ criterion=Вторичный критерий сортиров Select\ all=Выбрать все -Select\ encoding=Выбрать кодировку - Select\ entry\ type=Выбрать тип записи -Select\ external\ application=Выбрать внешнее приложение Select\ file\ from\ ZIP-archive=Выбрать файл из ZIP-архива Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Выбрать узлы дерева для просмотра и применения/отклонения изменений -Selected\ entries=Записи выбраны + Set\ field=Настройка поля Set\ fields=Настройка полей -Set\ general\ fields=Настройка общих полей + Set\ main\ external\ file\ directory=Задать основной файловый каталог внешних файлов Settings=Параметры @@ -1005,8 +958,6 @@ Status=Статус Stop=Остановить -Strings=Строки - Strings\ for\ library=Строки БД Sublibrary\ from\ AUX=Подчиненная БД из AUX @@ -1067,8 +1018,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Для этой операции необходимо выбрать одну или несколько записей. + Toggle\ entry\ preview=Показать/скрыть просмотр записи Toggle\ groups\ interface=Показать/скрыть интерфейс групп + + + Try\ different\ encoding=Используйте другую кодировку Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Развернуть названия журналов для выбранных записей @@ -1113,8 +1068,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=убедит View=Вид Vim\ server\ name=Имя сервера Vim -Waiting\ for\ ArXiv...=Ожидание ArXiv... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Выдать предупреждение о неразрешенных дубликатах при закрытии окна контроля Warn\ before\ overwriting\ existing\ keys=Выдать предупреждение при перезаписи текущих ключей @@ -1146,7 +1099,6 @@ XMP-metadata=Метаданные XMP XMP-metadata\ found\ in\ PDF\:\ %0=Найдены метаданные XMP в PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Для применения изменений необходимо перезапустить JabRef. You\ have\ changed\ the\ language\ setting.=Настройки языка изменены пользователем. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Указано недопустимое значение для поиска '%0'. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Для правильной работы новых назначений функциональных клавиш необходимо перезапустить JabRef. @@ -1155,26 +1107,20 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Новые назначения ф The\ following\ fetchers\ are\ available\:=Доступны следующие инструменты выборки\: Could\ not\ find\ fetcher\ '%0'=Не удалось найти инструмент выборки '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Выполняется запрос '%0' для инструмента выборки '%1'. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Не найдено результатов запроса '%0' для инструмента выборки '%1'. Move\ file=Переместить файл Rename\ file=Ппереименовать файл + Move\ file\ failed=Ошибка перемещения файла Could\ not\ move\ file\ '%0'.=Не удалось переместить файл '%0'. Could\ not\ find\ file\ '%0'.=Не удалось найти файл '%0'. Number\ of\ entries\ successfully\ imported=Число успешно импортированных записей Import\ canceled\ by\ user=Импорт отменен пользователем -Progress\:\ %0\ of\ %1=Выполнено\: %0 из %1 Error\ while\ fetching\ from\ %0=Ошибка выполнения выборки %0 -Please\ enter\ a\ valid\ number=Введите допустимое число Show\ search\ results\ in\ a\ window=Показать результаты в окне Search\ in\ all\ open\ libraries=Поиск во всех открытых БД -Move\ file\ to\ file\ directory?=Файл будет перемещен в каталог файлов. Продолжить? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=Защищенная БД. Невозможно сохранить без просмотра внешних изменений. -Protected\ library=Защищенная БД Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Невозможно сохранить БД без просмотра внешних изменений. Library\ protection=Защита БД Unable\ to\ save\ library=Не удалось сохранить БД @@ -1186,16 +1132,13 @@ MIME\ type=MIME-тип This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Эта функция позволяет открывать или импортировать файлы в работающий экземпляр JabRef
без запуска нового экземпляра приложения. Например, при передаче файла в JabRef
из веб-браузера.
Обратите внимание, что эта функция позволяет не запускать несколько экземпляров JabRef одновременно. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Запуск инструмента выборки, напр.\: "--fetch\=Medline\:cancer" -The\ ACM\ Digital\ Library=Цифровая библиотека ACM Reset=Инициализировать Use\ IEEE\ LaTeX\ abbreviations=Использовать сокращения LaTeX для IEEE -The\ Guide\ to\ Computing\ Literature=ACM - Каталог публикаций по информатике и ВТ When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=При переходе по ссылке выполнять поиск соответствующего файла, если ссылка не определена Settings\ for\ %0=Настройки для %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Сортировать следующие поля как числовые Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Строка %0\: Найден поврежденный ключ BibTeX. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Строка %0\: Найден поврежденный ключ BibTeX (содержит пробелы) Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Строка %0\: Найден поврежденный ключ BibTeX (пропущена запятая) @@ -1205,7 +1148,6 @@ Rename\ field=Переименовать поле Set/clear/append/rename\ fields=Задать/очистить/переименовать поля Rename\ field\ to=Переименовать поле в Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Переместить содержимое поля в поле с другим именем -You\ can\ only\ rename\ one\ field\ at\ a\ time=Возможно переименовать только одно поле одновременно Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Невозможно использовать порт %0 для удаленного подключения; another application may be using it. Try specifying another port. @@ -1221,9 +1163,6 @@ Formatter\ not\ found\:\ %0=Не найдена программа формат Clear\ inputarea=Очистить область ввода Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Сохранение не удалось, файл заблокирован другим экземпляром JabRef. -File\ is\ locked\ by\ another\ JabRef\ instance.=Файл заблокирован другим экземпляром JabRef. -Do\ you\ want\ to\ override\ the\ file\ lock?=Блокировка файла будет переопределена. Продолжить? -File\ locked=Файл заблокирован Current\ tmp\ value=Текущее значение TMP Metadata\ change=Изменение метаданных Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Произведены изменения для следующих элементов метаданных @@ -1232,7 +1171,6 @@ Generate\ groups\ for\ author\ last\ names=Создание групп для ф Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Создание групп из ключевых слов в поле BibTeX Enforce\ legal\ characters\ in\ BibTeX\ keys=Принудительное использование допустимого набора символов в ключах BibTeX -Save\ without\ backup?=Выполнить сохранение без создания резервной копии? Unable\ to\ create\ backup=Не удалось создать резервную копию Move\ file\ to\ file\ directory=Переместить файл в каталог файлов Rename\ file\ to=Переименовать файл в @@ -1271,14 +1209,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Выбрать источник Create\ entry\ based\ on\ XMP-metadata=Создание записи на основе данных XMP Create\ blank\ entry\ linking\ the\ PDF=Создание пустой записи со ссылкой на PDF Only\ attach\ PDF=Приложить только PDF -Title=Заглавие Create\ new\ entry=Создание новой записи Update\ existing\ entry=Изменение существующей записи Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Автозавершение имен только для формата 'Имя Фамилия' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Автозавершение имен только для формата 'Фамилия, Имя' Autocomplete\ names\ in\ both\ formats=Автозавершение имен в обоих форматах The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=Имя 'комментарий' не может использоваться как имя типа записи. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Необходимо ввести целое число в текстовое поле для Send\ as\ email=Отправить по эл.почте References=Ссылки Sending\ of\ emails=Выполняется отправка эл.почты @@ -1400,7 +1336,6 @@ Opens\ the\ file\ browser.=Открывает окно обзора файлов Scan\ directory=Сканировать каталог файлов Searches\ the\ selected\ directory\ for\ unlinked\ files.=Выполняет поиск несвязанных файлов в выбранном каталоге файлов. Starts\ the\ import\ of\ BibTeX\ entries.=Начинает импорт записей BibTeX. -Leave\ this\ dialog.=Выйти из диалогового окна. Create\ directory\ based\ keywords=Создать ключевые слова на основе каталога файлов Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=Создает ключевые слова для созданных записей с путями каталога файлов Select\ a\ directory\ where\ the\ search\ shall\ start.=Выбирает каталог файлов для начала поиска. @@ -1408,11 +1343,9 @@ Select\ file\ type\:=Выбор типа файла\: These\ files\ are\ not\ linked\ in\ the\ active\ library.=Эти файлы не связаны в активной БД. Entry\ type\ to\ be\ created\:=Создаваемый тип записи\: Searching\ file\ system...=Выполняется поиск в файловой системе... -Importing\ into\ Library...=Выполняется импорт в БД... Select\ directory=Выбрать каталог файлов Select\ files=Выбрать файлы BibTeX\ entry\ creation=Создание записи BibTeX -=<Не выбрано> Unable\ to\ connect\ to\ FreeCite\ online\ service.=Не удалось подключиться к он-лайн службе FreeCite. Parse\ with\ FreeCite=Анализ с помощью FreeCite How\ would\ you\ like\ to\ link\ to\ '%0'?=Выберите тип ссылки для '%0'. @@ -1454,7 +1387,6 @@ Toggle\ print\ status=Изменить статус 'печать' Update\ keywords=Изменить ключевые слова Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Записать значения полей особых отметок в отдельные поля BibTeX You\ have\ changed\ settings\ for\ special\ fields.=Настройки полей особых отметок изменены пользователем. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=Найдено записей\: %0. Для снижения нагрузки сервера, будет загружено записей\: %1. A\ string\ with\ that\ label\ already\ exists=Строка с такой меткой уже существует Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Соединение с OpenOffice/LibreOffice прервано. Убедитесь, что приложение OpenOffice/LibreOffice запущено и повторите соединение. Correct\ the\ entry,\ and\ reopen\ editor\ to\ display/edit\ source.=Исправить запись и повторно открыть редактор для отображения/изменения исходника. @@ -1474,8 +1406,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=В пользовательском файле стиля указан формат абзаца '%0', не определенный в текущем документе OpenOffice/LibreOffice. Searching...=Выполняется поиск... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=Выбрано более %0 записей для загрузки. Возможна блокировка пользователя некоторыми веб-сайтами при большом числе быстрых загрузок. Продолжить? -Confirm\ selection=Подтвердить выбор Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=Добавлять {} к указанным заглавным словам при поиске для соблюдения правильности регистра Import\ conversions=Импорт преобразований Please\ enter\ a\ search\ string=Введите строку для поиска @@ -1486,7 +1416,6 @@ Canceled\ merging\ entries=Слияние записей отменено Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=Форматирование единиц с помощью неразрывных символов-разделителей с сохранением правильного регистра при поиске Merge\ entries=Объединение записей Merged\ entries=Записи с объединением в новую и сохранением старой -Merged\ entry=Запись с объединением None=Ни одной Parse=Анализ Result=Результат @@ -1566,9 +1495,7 @@ Add\ new\ file\ type=Добавить новый тип файлов Left\ entry=Запись слева Right\ entry=Запись справа -Use=Использовать Original\ entry=Исходная запись -Replace\ original\ entry=Заменить исходную запись No\ information\ added=Сведения не добавлены Select\ at\ least\ one\ entry\ to\ manage\ keywords.=Выберите минимум одну запись для управления ключевыми словами. OpenDocument\ text=Текст OpenDocument @@ -1586,7 +1513,6 @@ Return\ to\ JabRef=Вернуться в JabRef Please\ move\ the\ file\ manually\ and\ link\ in\ place.=Переместите файл вручную и укажите локальную ссылку. Could\ not\ connect\ to\ %0=Не удалось подключиться к серверу %0 Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ BibTeX\ key.=Предупреждение. Для %0 из %1 записей не определен ключ BibTeX. -occurrence=вхождения Added\ new\ '%0'\ entry.=Добавлена новая запись '%0'. Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=Выбрано несколько записей. Изменить тип всех этих записей на '%0'? Changed\ type\ to\ '%0'\ for=Тип с изменением на '%0' для @@ -1605,8 +1531,6 @@ Library\ '%0'\ has\ changed.=БД '%0' изменена. Print\ entry\ preview=Предварительный просмотр записи для печати Copy\ \\cite{BibTeX\ key}=Копировать \\цитировать{ключ BibTeX} Copy\ BibTeX\ key\ and\ title=Копировать ключ и заголовок BibTeX -File\ rename\ failed\ for\ %0\ entries.=Ошибка переименования файла для %0 записи. -Merged\ BibTeX\ source\ code=Объединенный исходный код BibTeX Invalid\ DOI\:\ '%0'.=Недопустимый DOI-адрес\: '%0'. should\ start\ with\ a\ name=должно начинаться с имени should\ end\ with\ a\ name=должно заканчиваться именем @@ -1691,10 +1615,8 @@ wrong\ entry\ type\ as\ proceedings\ has\ page\ numbers=неверный тип Abbreviate\ journal\ names=Сокращения названий журналов Abbreviating...=Создание сокращений... -Adding\ fetched\ entries=Добавление записей из выборки Display\ keywords\ appearing\ in\ ALL\ entries=Отображение ключевых слов, относящихся ко ВСЕМ записям Display\ keywords\ appearing\ in\ ANY\ entry=Отображение ключевых слов, относящихся к КАКОЙ-ЛИБО записи -Fetching\ entries\ from\ Inspire=Выборка записей из Inspire None\ of\ the\ selected\ entries\ have\ BibTeX\ keys.=Для выбранных записей отсутствуют ключи BibTeX. Unabbreviate\ journal\ names=Полные названия журналов Unabbreviating...=Отмена сокращений... @@ -1708,14 +1630,11 @@ Ill-formed\ entrytype\ comment\ in\ BIB\ file=Неверный формат ко Move\ linked\ files\ to\ default\ file\ directory\ %0=Переместить связанные файлы в каталог файлов по умолчанию %0 -Clipboard=Буфер обмена -Could\ not\ paste\ entry\ as\ text\:=Не удалось вставить запись как текст\: Do\ you\ still\ want\ to\ continue?=Продолжить? This\ action\ will\ modify\ the\ following\ field(s)\ in\ at\ least\ one\ entry\ each\:=Это действие изменит минимум одну запись в каждом из следующих полей\: This\ could\ cause\ undesired\ changes\ to\ your\ entries.=Это может привести к нежелательным изменениям ваших записей. Run\ field\ formatter\:=Запуск средства форматирования полей\: Table\ font\ size\ is\ %0=Размер шрифта в таблице\: %0 -%0\ import\ canceled=Импорт %0 отменен Internal\ style=Встроенный стиль Add\ style\ file=Добавить файл стиля Are\ you\ sure\ you\ want\ to\ remove\ the\ style?=Подтвердите удаление стиля. @@ -1904,7 +1823,6 @@ Updated\ entry\ with\ info\ from\ %0=Обновленная запись со с -Connection=Подключение Host=Хост Port=Порт Library=База данных @@ -1929,7 +1847,6 @@ Local\ version\:\ %0=Локальная версия\: %0 Shared\ version\:\ %0=Версия с общим доступом\: %0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Объедините запись с общим доступом и вашу запись, а затем нажмите "Объединение записей" для разрешения этой проблемы. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=При отмене этой операции ваши изменения не будут синхронизированы. Отменить операцию? -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=Текущая рабочая запись BibEntry удалена на стороне общего доступа. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=Цитирование записей без ключей BibTeX невозможно. Создать ключи сейчас? @@ -1943,7 +1860,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=Необходимо ввести Non-ASCII\ encoded\ character\ found=Обнаружен символ не в кодировке ASCII Toggle\ web\ search\ interface=Переключение интерфейса веб-поиска %0\ files\ found=Найдено файлов\: %0 -%0\ of\ %1=%0 из %1 One\ file\ found=Найден один файл The\ import\ finished\ with\ warnings\:=Импорт завершен с предупреждениями\: There\ was\ one\ file\ that\ could\ not\ be\ imported.=Существует один файл, который не удалось импортировать. @@ -2002,3 +1918,7 @@ View\ event\ log=Просмотр журнала событий Website=Веб-сайт Write\ XMP-metadata\ to\ PDFs=Запись метаданных XMP в PDF-файл +Override\ default\ font\ settings=Переопределить настройки шрифта, заданные по умолчанию + + + diff --git a/src/main/resources/l10n/JabRef_sv.properties b/src/main/resources/l10n/JabRef_sv.properties index 6898689a961..966e5477366 100644 --- a/src/main/resources/l10n/JabRef_sv.properties +++ b/src/main/resources/l10n/JabRef_sv.properties @@ -15,8 +15,6 @@ = -= Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Paikliin ang talaarawan ng mga pangalan sa mga piniling entries (ISO ay pinaikli) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Paikliin ang talaarawan ng mga pangalan sa mga piniling entries (MEDLINE ay pinaikli) @@ -34,12 +32,13 @@ Accept=Tanggapin Accept\ change=Tanggapin ang pagbabago -Action=Aksyon -What\ is\ Mr.\ DLib?=Ano ang Mr. DLib? +Action=Aksyon Add=Magdagdag +Add\ new=Magdagdag ng bago + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Idagdag ang (naipon) pasadya na importer ng klase mula sa klase ng landas. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Ang landas ay kinakailangan hindi sa classpath ng JabRef. @@ -54,16 +53,12 @@ Add\ from\ folder=Magdagdag mula sa folder Add\ from\ JAR=Magdagdag mula sa JAR -Add\ new=Magdagdag ng bago - Add\ subgroup=Magdagdag ng mababang grupo Add\ to\ group=Idagdag sa grupo Added\ group\ "%0".=Nadagdag sa grupo "%0". -Added\ new=Magdagdag ng bago - Added\ string=Idinagdag na string Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Bukod pa nito, ang entries na %0 ang patlang ay hindi naglalaman %1 ay maaring italaga na manu-mano dito sa grupo sa pagpili nila tapos gumamit ng drag at drop o sa menu ng konteksto. Itong proseso ay nagdagdag ng mga termino %1 sa bawat entry's %0 sa patlang. Ang entries ay maaring maalis ng manu-mano mula dito sa grupo sa pagpili nila tapos paggamit sa menu ng konteksto. Itong proseso ay nag-aalis sa mga termino %1 mula sa isang entry's %0 sa patlang. @@ -72,12 +67,8 @@ Advanced=Advanced All\ entries=Lahat ng entries All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Ang lahat ng entries ng ganitong uri ay idineklara ng hindi palatandaan. Pagpatuloy? -All\ fields=Lahat ng mga patlang - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Palaging mag reformat sa BIB file sa pag-save at sa pag-export -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=Ang pagpatupad ng SAX ay naganap habang nag parsing '%0'\: - and=at any\ field\ that\ matches\ the\ regular\ expression\ %0=anumang patlang ang nagtugma sa regular na ekspresyon %0 @@ -168,6 +159,7 @@ Clear\ fields=Malinaw na patlang Close=Sarado + Close\ dialog=Isara ang dialog Close\ the\ current\ library=Isara ang kasalukuyang library @@ -223,6 +215,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Hindi maaring tumakbo ang 'vim' programa. Could\ not\ save\ file.=Hindi makakapag-save ng file. Character\ encoding\ '%0'\ is\ not\ supported.=Pagkod ng mga Karakter '%0' ay hindi suportado. + crossreferenced\ entries\ included=kasama ang mga crossreferenced entries Current\ content=Kasalukuyang nilalaman @@ -258,8 +251,6 @@ Default\ grouping\ field=Default ang patlang na grupo Default\ pattern=Default na pattern -Default\ sort\ criteria=Default na pamantayan ng pag-uuri - Delete=Burahin Delete\ custom\ format=Tanggalin ang custom na format @@ -279,8 +270,6 @@ Deleted=Na tanggal Permanently\ delete\ local\ file=Permanenting na tanggal ang lokal na file -Delimit\ fields\ with\ semicolon,\ ex.=Ipinaglimit ang mga patlang na may semicolon, ex. - Descending=Pababa na nagsunod-sunod Description=Paglalarawan @@ -334,7 +323,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Dynamically an Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Dynamically ang grupo ng entries sa pamamagitan ng paghahanap sa patlang para sa keyword -Each\ line\ must\ be\ on\ the\ following\ form=Bawat linya ay dapat nasa sumusunod na porma Edit=Baguhin @@ -381,12 +369,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Uri ng entry Error=Nagkamali -Error\ exporting\ to\ clipboard=Mali ang pagpapalabas sa clipboard Error\ occurred\ when\ parsing\ entry=Nagkaroon ng pagkakamali kapag nagpa-parse ng entry Error\ opening\ file=May mali sa pag bukas ng file + Error\ while\ writing=Nagkamali habang nagsusulat '%0'\ exists.\ Overwrite\ file?='%0' umiiral. I-overwrite ang file? @@ -416,8 +404,6 @@ External\ programs=Panlabas na mga programa External\ viewer\ called=Panlabas na pananaw ang tawag -Fetch=Kunin - Field=Patlang field=patlang @@ -425,8 +411,6 @@ field=patlang Field\ name=Pangalan ng patlang Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Pangalan ng patlang ay hindi pinapayagan na maglaman ng puting espasyo o mga sumusunod na mga karakter -Field\ to\ filter=Patlang para sa pag sala - Field\ to\ group\ by=Patlang sa pamamagitan ng pag grupo File=File @@ -441,13 +425,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Direktoryo ng file ay hind File\ exists=Umiiral ang file -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Ang file ay na-update sa panlabas. Ano ang gusto mong gawin? - File\ not\ found=Hindi makita ang file File\ type=Uri ng file - -File\ updated\ externally=Ang file ay na-update sa panlabas - filename=filename Files\ opened=Nabuksan ang files @@ -470,6 +449,7 @@ Float=Float for=para sa + Format\ of\ author\ and\ editor\ names=Format ng may-adk at mga pangalan ng taga bago Format\ string=Format string @@ -480,9 +460,9 @@ found\ in\ AUX\ file=nakita sa AUX na file Full\ name=Buong pangalan + General=Pangkalahatan -General\ fields=Pangkalahatang patlang Generate=Pagbuo @@ -568,15 +548,13 @@ Importing=Nag-iimport Importing\ in\ unknown\ format=Nag-iimport sa di malamang format -Include\ abstracts=Isama ang mga abstrak -Include\ entries=Isama ang mga entries - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Isama ang mga mababang grupo\: Kapag napili, tingnan ang mga entries na nilalaman ng grupo o sa mababang grupo Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Malayang grupo\: Kapag pumili, tingnan lamang ang grupo ng mga entries Work\ options=Opsyon ng pagtatrabaho + Insert=Ipasok Insert\ rows=Ipasok ang mga hanay @@ -625,10 +603,6 @@ Leave\ file\ in\ its\ current\ directory=I-alis ang file sa kanyang kasalukuyang Left=Naiwan -Limit\ to\ fields=Limitasyon ng mga patlang - -Limit\ to\ selected\ entries=Limitasyon sa pagpili ng mga entries - Link=Ang link Link\ local\ file=Ang lokal na link ng file Link\ to\ file\ %0=Ang like sa file %0 @@ -650,8 +624,6 @@ Mark\ new\ entries\ with\ owner\ name=Markahan ang bagong entries na may pangala Memory\ stick\ mode=Memory stick mode -Menu\ and\ label\ font\ size=Menu at libel sa laki ng font - Merged\ external\ changes=Pagsamahin ang eksternal na pagbabago Merge\ fields=Pagsamahin ang patlang @@ -677,6 +649,8 @@ Move\ up=Gumalaw paitaas Moved\ group\ "%0".=Nagalaw ang grupo "%0". + + Name=Pangalan Name\ formatter=Pangalan ng taga-format @@ -694,8 +668,6 @@ New\ content=Bago ang nilalaman New\ library\ created.=May bagong library na nagawa. -New\ field\ value=Bago ang halaga ng patlang - New\ group=Bagong grupo New\ string=Bagong string @@ -710,9 +682,6 @@ no\ library\ generated=walang library ang nabuo No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Walang entries ang nakita. Pakiusap na isigurado ang iyong paggamit sa wastong import filter. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Walang entries ang nakita para sa string ng paghahanap '%0' - No\ entries\ imported.=Walang entries na napasok. No\ files\ found.=Walang nakitang file. @@ -734,8 +703,6 @@ Nothing\ to\ redo=Walang dapat e-redo Nothing\ to\ undo=Walang ma-undo -occurrences=mga pangyayari - OK=OK One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Isa o mahigit na susi ang ma-overwrite. Ipagpatuloy? @@ -772,13 +739,10 @@ Override=Override Override\ default\ file\ directories=I-override ang mga file na naka-default sa direktoryo -Override\ default\ font\ settings=I-override ang mga default na font settings - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=I-override ang BibTex na patlang sa pamamagitan ng napili na teksyo Overwrite=I-overwrite -Overwrite\ existing\ field\ values=I-overwrite ang umiiral na bilang ng patlang Overwrite\ keys=I-overwrite ang keys @@ -814,6 +778,7 @@ Please\ enter\ the\ string's\ label=Pakiusap ipasok ang libel ng string Please\ select\ an\ importer.=Pakiusap pumili ng taga labas + Possible\ duplicate\ entries=Maaari na makopya ang entries Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Maaari na makopya ang umiiral na entry. I-click upang malutas. @@ -848,8 +813,6 @@ Redo=I-redo Reference\ library=Ang reference ng library -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=%0 references ay nakita. Bilang ng references ang kukunin? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Pinuhin ang supergroup\: Kapag napili, tingnan ang entries na nilalaman ng kapwa grupo at supergroup regular\ expression=regular na ekspresyon @@ -908,13 +871,9 @@ Replace\ (regular\ expression)=Palitan (regular na ekspresyon) Replace\ string=Palitan ang string -Replace\ with=Palitan ng - Replace\ Unicode\ ligatures=Palitan ang Unicode ligatures Replaces\ Unicode\ ligatures\ with\ their\ expanded\ form=Palitan ang mga Unicode ligatures na may pinalawak na porma -Replaced=Palitan - Required\ fields=Mga kailangan na patlang Reset\ all=I-reset ang lahat @@ -923,6 +882,8 @@ Resolve\ strings\ for\ all\ fields\ except=Lutasin ang mga strings para sa lahat Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Lutasin ang mga strings para sa pamantayan ng BibTeX sa patlang lamang resolved=nalutas + + Review=Mag balig-aral Review\ changes=Suriin ang mga pagbabago Review\ Field\ Migration=Suriin ang patlang ng paglipat @@ -941,10 +902,6 @@ Save\ library\ as...=I-save ang library bilang... Save\ entries\ in\ their\ original\ order=I-save ang entries sa kanilang orihinal na pagkasunod-sunod -Save\ failed=Nabigo sa pag-save - -Save\ failed\ during\ backup\ creation=Nabigo sa pag-save habang gumagawa ng backup - Saved\ library=Na-saved sa library Saved\ selected\ to\ '%0'.=I-saved ang napili sa '%0'. @@ -958,8 +915,6 @@ Search=Ang paghahanap Search\ expression=Hanapin ang ekspresyon -Search\ for=Hanapin ang - Searching\ for\ duplicates...=Naghahanap ng kakopya... Searching\ for\ files=Naghahanap nga mga files @@ -968,19 +923,16 @@ Secondary\ sort\ criterion=Pangalawang uri ng kriterya Select\ all=Piliin ang lahat -Select\ encoding=Piliin ang encoding - Select\ entry\ type=Piliin ang uri ng entry -Select\ external\ application=Piliin ang eksternal na aplikasyon Select\ file\ from\ ZIP-archive=Piliin ang file mula sa na arkiba na ZIP Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Piliin ang nodes na puno para makita at matanggap o matanggihan ang pagbabago -Selected\ entries=Ang mga napiling entries + Set\ field=Ihanda ang patlang Set\ fields=Ihanda ang patlang -Set\ general\ fields=Ihanda ang pangkalahatang patlang + Set\ main\ external\ file\ directory=Itakda ang pangunahing eksternal na direktoryo ng file Settings=Mga settings @@ -1036,8 +988,6 @@ Status=Katayuan Stop=Paghinto -Strings=Mga strings - Strings\ for\ library=Mga strings para sa library Sublibrary\ from\ AUX=Sublibrary mula sa AUX @@ -1098,8 +1048,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Ang operasyong ito ay nangangailangan ng isa o higit pang mga entry na mapili. + Toggle\ entry\ preview=I-toggle ang preview ng entry Toggle\ groups\ interface=I-toggle ang mga interface ng grupo + + + Try\ different\ encoding=Subukan ang iba't ibang pag-encode Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Hindi nabuo ang mga pangalan ng journal ng napiling mga entry @@ -1145,8 +1099,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=i-verifiy na View=Tanawin Vim\ server\ name=Pangalan ng serber sa Vim -Waiting\ for\ ArXiv...=Naghihintay sa ArXiv... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Balaan ang tungkol sa hindi pagkalutas ng kakopya kapag naisara ang inspeksyon na window Warn\ before\ overwriting\ existing\ keys=Balaan bago i-overwrite ang umiiral na mga susi @@ -1178,7 +1130,6 @@ XMP-metadata=Ang XMP-metadata XMP-metadata\ found\ in\ PDF\:\ %0=Ang XMP-metadata ay nakita sa PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Dapat mong i-restart ang JabRef para gumana ito. You\ have\ changed\ the\ language\ setting.=Pinalitan mo ang wika ng setting. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Naipasok mo ang isang hindi balidong paghahanap '%0'. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Dapat mong i-restart ang JabRef para ang bagong susi na bindings para gumana ng maayus. @@ -1187,27 +1138,21 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Ang iyong bagong susi na bindings The\ following\ fetchers\ are\ available\:=Ang mga sumusunod na taga kuha ay magagamit\: Could\ not\ find\ fetcher\ '%0'=Hindi makita ang tagakuha '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Pagpapatakbo ng query '%0' na may tagakuha '%1'. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Query '%0' na may tagakuha '%1' hindi nagpabalik ng kahit anong mga resulta. Move\ file=Ang pagpalipat ng file Rename\ file=Palitan ulit ng pangalan ang file + Move\ file\ failed=Ang paglipat ng file ay nabigo Could\ not\ move\ file\ '%0'.=Hindi mailipat ang file '%0'. Could\ not\ find\ file\ '%0'.=Hindi mahanap ang file na '%0'. Number\ of\ entries\ successfully\ imported=Ang bilang ng mga entry ay matagumpay na na-import Import\ canceled\ by\ user=Kinansela ang pag-import ng user -Progress\:\ %0\ of\ %1=Isinasagawa\: %0 of %1 Error\ while\ fetching\ from\ %0=Error habang kinukuha mula sa %0 -Please\ enter\ a\ valid\ number=Mangyaring magpasok ng wastong numero Show\ search\ results\ in\ a\ window=Ipakita ang mga resulta ng paghahanap sa isang window Show\ global\ search\ results\ in\ a\ window=Ipakita ang mga pandaigdigang resulta ng paghahanap sa isang window Search\ in\ all\ open\ libraries=Maghanap sa lahat ng bukas na mga aklatan -Move\ file\ to\ file\ directory?=Ilipat ang file sa direktoryo ng file? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=Protektado ang library. Hindi mai-save hanggang sa masuri ang mga panlabas na pagbabago. -Protected\ library=Protektadong library Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Tumangging i-save ang library bago masuri ang mga panlabas na pagbabago. Library\ protection=Proteksyon sa library Unable\ to\ save\ library=Hindi mai-save ang library @@ -1219,16 +1164,13 @@ MIME\ type=Uri ng MIME This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Ang tampok na ito ay nagbibigay-daan sa mga bagong file na mabuksan o ma-import sa isang tumatakbo na halimbawa ng JabRef
sa halip ng pagbubukas ng isang bagong pagkakataon. Halimbawa, ito ay kapaki-pakinabang kapag binuksan mo ang isang file sa JabRef
mula sa iyong web browser.
Tandaan na ito ay pipigil sa iyo mula sa pagpapatakbo ng higit sa isang halimbawa ng JabRef sa isang pagkakataon. Run\ fetcher,\ e.g.\ "--fetch\=Medline\:cancer"=Magpatakbo ng fetcher, hal. "--fetch\=Medline\:cancer" -The\ ACM\ Digital\ Library=Ang ACM Digital Library Reset=I-reset Use\ IEEE\ LaTeX\ abbreviations=Gumamit ng mga abbreviation ng IEEE LaTeX -The\ Guide\ to\ Computing\ Literature=Ang Gabay sa Computing Literature When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Kapag binubuksan ang link ng file, maghanap ng pagtutugma ng file kung walang tinukoy na link Settings\ for\ %0=Mga setting para sa %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Pagsunod-sunurin ang mga sumusunod na patlang bilang mga numerong field Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Linya%0\: Natagpuan ang napinsala na BibTeX key. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Line %0\: Natagpuan ang napinsala na key ng BibTeX (naglalaman ng mga whitespace). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Line %0\: Natagpuan ang napinsala na BibTeX key (nawawala ang comma). @@ -1239,7 +1181,6 @@ Append\ field=Ilagay ang field Append\ to\ fields=Ilagay sa mga patlang Rename\ field\ to=Palitan ang pangalan ng patlang sa Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Ilipat ang mga nilalaman ng isang patlang sa isang patlang na may ibang pangalan -You\ can\ only\ rename\ one\ field\ at\ a\ time=Maari mo lamang palitan ang pangalan ng isang patlang sa isang pagkakataon Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Hindi magagamit ang port %0 para sa remote na operasyon; maaaring gamitin ng isa pang application. Subukan ang pagtukoy ng isa pang port. @@ -1259,9 +1200,6 @@ Formatter\ not\ found\:\ %0=Hindi nakita ang formater\: %0 Clear\ inputarea=Maaliwalas na input Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Hindi mai-save, file na naka-lock sa pamamagitan ng isa pang halimbawa ng JabRef. -File\ is\ locked\ by\ another\ JabRef\ instance.=Ang file ay naka-lock sa pamamagitan ng isa pang halimbawa ng JabRef. -Do\ you\ want\ to\ override\ the\ file\ lock?=Gusto mo bang i-override ang lock ng file? -File\ locked=Naka-lock ang file Current\ tmp\ value=Kasalukuyang halaga ng tmp Metadata\ change=Pagbabago ng Metadata Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Ginawa ang mga pagbabago sa mga sumusunod na elemento ng metada @@ -1270,7 +1208,6 @@ Generate\ groups\ for\ author\ last\ names=Bumuo ng mga grupo para sa mga huling Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Bumuo ng mga grupo mula sa mga keyword sa isang field ng BibTeX Enforce\ legal\ characters\ in\ BibTeX\ keys=Ipatupad ang mga legal na karakter sa mga key ng BibTeX -Save\ without\ backup?=I-save nang walang backup? Unable\ to\ create\ backup=Hindi makalikha ng backup Move\ file\ to\ file\ directory=Ilipat ang file sa file direktoryo Rename\ file\ to=Palitan ang pangalan ng file sa @@ -1309,14 +1246,12 @@ Choose\ the\ source\ for\ the\ metadata\ import=Piliin ang pinagmulan para sa pa Create\ entry\ based\ on\ XMP-metadata=Lumikha ng entry batay sa XMP-metadata Create\ blank\ entry\ linking\ the\ PDF=Gumawa ng blangko na entry na nagli-link sa PDF Only\ attach\ PDF=Maglakip lamang ng PDF -Title=Pamagat Create\ new\ entry=Lumikha ng bagong entry Update\ existing\ entry=Lumikha ng bagong entry Autocomplete\ names\ in\ 'Firstname\ Lastname'\ format\ only=Awtomatikong isali ang mga pangalan sa format ng 'Firstname Lastname' Autocomplete\ names\ in\ 'Lastname,\ Firstname'\ format\ only=Awtomatikong isali ang mga pangalan sa format ng 'Firstname Lastname' lamang Autocomplete\ names\ in\ both\ formats=Mga pangalan ng autocomplete sa parehong mga format The\ name\ 'comment'\ cannot\ be\ used\ as\ an\ entry\ type\ name.=Ang 'komento' na pangalan ay hindi maaaring gamitin bilang pangalan ng uri ng entry. -You\ must\ enter\ an\ integer\ value\ in\ the\ text\ field\ for=Dapat kang maglagay ng isang integer na halaga sa patlang ng teksto para sa Send\ as\ email=Ipadala bilang email References=Mga reperensya Sending\ of\ emails=Pagpapadala ng mga email @@ -1437,7 +1372,6 @@ Opens\ the\ file\ browser.=Buksan ang file browser. Scan\ directory=I-scan ang direktoryo Searches\ the\ selected\ directory\ for\ unlinked\ files.=Paghahanap ng mga napiling direktoryo para sa mga unlinked files. Starts\ the\ import\ of\ BibTeX\ entries.=Nagsisimula ang pag-import ng mga entry sa BibTeX. -Leave\ this\ dialog.=Iwanan ang diaglog na ito. Create\ directory\ based\ keywords=Gumawa ng mga keyword batay sa direktoryo Creates\ keywords\ in\ created\ entrys\ with\ directory\ pathnames=Lumikha ng mga keyword sa mga nilikha na entry sa mga pathname ng direktoryo Select\ a\ directory\ where\ the\ search\ shall\ start.=Pumili ng direktoryo kung saan magsisimula ang paghahanap. @@ -1445,11 +1379,9 @@ Select\ file\ type\:=Pumili ng uri ng file\: These\ files\ are\ not\ linked\ in\ the\ active\ library.=Ang mga file na ito ay hindi naka-link sa aktibong library. Entry\ type\ to\ be\ created\:=Uri ng pag-type na lilikhain\: Searching\ file\ system...=Naghahanap ng file system... -Importing\ into\ Library...=Pag-import sa Library... Select\ directory=Piliin ang direktoryo Select\ files=Pumili ng mga file BibTeX\ entry\ creation=Paglikha ng BibTeX entry -= Unable\ to\ connect\ to\ FreeCite\ online\ service.=Hindi makakonekta sa serbisyong online ng FreeCite. Parse\ with\ FreeCite=Parse sa FreeCite How\ would\ you\ like\ to\ link\ to\ '%0'?=Paano mo gusto mag-link sa '%0'? @@ -1490,7 +1422,6 @@ Toggle\ print\ status=I-toggle ang katayuan ng print Update\ keywords=I-update ang keywords Write\ values\ of\ special\ fields\ as\ separate\ fields\ to\ BibTeX=Isulat ang halaga nga mga espesyal na patlang bilang hiwalay na patlang sa BibTeX You\ have\ changed\ settings\ for\ special\ fields.=Nabago mo ang settings para sa espesyal na mga patlang. -%0\ entries\ found.\ To\ reduce\ server\ load,\ only\ %1\ will\ be\ downloaded.=%0 entries ang nakita. Para mabawasan ang serber rload, lamang %1 ang i-download. A\ string\ with\ that\ label\ already\ exists=Isang string na may libel ay umiiral na Connection\ to\ OpenOffice/LibreOffice\ has\ been\ lost.\ Please\ make\ sure\ OpenOffice/LibreOffice\ is\ running,\ and\ try\ to\ reconnect.=Koneksyon sa OpenOffice/LibreOffice ay nawala. Pakiusap na isigurado ang OpenOffie/LibreOffice ay tumatakbo, at subukang magkonek ulit. JabRef\ will\ send\ at\ least\ one\ request\ per\ entry\ to\ a\ publisher.=Ang JabRef ay magpapadala ng isang hiling bawat entry sa isang publisher. @@ -1511,8 +1442,6 @@ Your\ style\ file\ specifies\ the\ character\ format\ '%0',\ which\ is\ undefine Your\ style\ file\ specifies\ the\ paragraph\ format\ '%0',\ which\ is\ undefined\ in\ your\ current\ OpenOffice/LibreOffice\ document.=Ang iyong estilo ng file ay nakatukoy sa nakatalata na format '%0', kung saan hindi natukoy ang iyong kasalukuyang OpenOffice/LibreOffice na dokumento. Searching...=Naghahanap... -You\ have\ selected\ more\ than\ %0\ entries\ for\ download.\ Some\ web\ sites\ might\ block\ you\ if\ you\ make\ too\ many\ rapid\ downloads.\ Do\ you\ want\ to\ continue?=Ikay ay nakapili ng mahigit sa %0 na entries para sa iyong pag-download. May mga ilang web site na maaaring harangan ka sa iyong masyadong maramihang pag-download ng mabilis. Gusto mo bang ipagpatuloy? -Confirm\ selection=Kumpirmahin ang napili Add\ {}\ to\ specified\ title\ words\ on\ search\ to\ keep\ the\ correct\ case=Idagdag {} sa natukoy na salitang pamagat sa paghahanap para panatilihin na wasto ang kaso Import\ conversions=Pagpapasok ng mga conversyons Please\ enter\ a\ search\ string=Pakiusap sa pagpapasok ng string sa paghahanap @@ -1522,7 +1451,6 @@ Canceled\ merging\ entries=Ikansela ang pagsama-sama ng mga entries Format\ units\ by\ adding\ non-breaking\ separators\ and\ keeping\ the\ correct\ case\ on\ search=I-format ang mga yunit sa pamamagitan ng pagdaragdag ng mga non-breaking separator at pagsunod sa tamang kaso sa paghahhanap Merged\ entries=Pinagsama na mga entry -Merged\ entry=Pinagsama na entry None=Wala Parse=Parse Result=Resulta @@ -1604,9 +1532,7 @@ Add\ new\ file\ type=Magdagdag ng bagong uri ng file Left\ entry=Kaliwang entry Right\ entry=Kanang entry -Use=Gamit Original\ entry=Ang orihinal na entry -Replace\ original\ entry=Palitan ang orihinal na entry No\ information\ added=Walang impormasyon ang na dagdag Select\ at\ least\ one\ entry\ to\ manage\ keywords.=Piliin kahit isang entry lamang para mag pamahalaan ang keywords. OpenDocument\ text=OpenDocument na teksto @@ -1625,7 +1551,6 @@ Please\ move\ the\ file\ manually\ and\ link\ in\ place.=Pakiusap ilipat ang fil Could\ not\ connect\ to\ %0=Hindi maka konekta sa %0 Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ title.=Babala\: %0 mula sa %1 na entries ay hindi natukoy ang pamagat. Warning\:\ %0\ out\ of\ %1\ entries\ have\ undefined\ BibTeX\ key.=Babala\: %0 mula sa %1 na entries ang hindi natukoy sa BibTeX na susi. -occurrence=mga pangyayari Added\ new\ '%0'\ entry.=Nadagdag ang bagong '%0' entry. Multiple\ entries\ selected.\ Do\ you\ want\ to\ change\ the\ type\ of\ all\ these\ to\ '%0'?=Maramihang entries ang napili. Gusto mo bang bagohin ang uri ng lahat ng to '%0'? Changed\ type\ to\ '%0'\ for=Palitang ang uri sa '%0' para @@ -1644,8 +1569,6 @@ Library\ '%0'\ has\ changed.=Binago ang Library '%0'. Print\ entry\ preview=I-print ang preview ng entry Copy\ title=Kopyahin ang pamagat Copy\ \\cite{BibTeX\ key}=Kopyahin \\cite{BibTeX key} -File\ rename\ failed\ for\ %0\ entries.=Nabigo ang rename file para sa %0 entries. -Merged\ BibTeX\ source\ code=Pinagsama ang source code ng BibTeX Invalid\ DOI\:\ '%0'.=Di-wastong DOI\: '%0'. should\ start\ with\ a\ name=dapat magsimula sa isang pangalan should\ end\ with\ a\ name=dapat magtapos sa isang pangalan @@ -1749,9 +1672,7 @@ Shared\ version\:\ %0=Ibinahagi na bersyon\: %0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Mangyaring pagsamahin ang nakabahaging entry sa iyo at pindutin ang "Pagsamahin ang mga entry" upang malutas ang problemant ito. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=Ang pagkansela sa operasyon ito ay iiwan ang iyong mga pagbabago na hindi naka-sync. Kanselahin pa rin? Shared\ entry\ is\ no\ longer\ present=Ang nakabahaging entry ay wala na -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=Ang BibEntry na kasalukuyang ginagawa mo ay tinanggal na sa shared side. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Maaari mong ibalik ang entry gamit ang "I-undo" na operasyon. -Remember\ password?=Tandaan ang password? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Nakakonekta ka na sa database gamit ang mga detalye ng koneksyon. Cannot\ cite\ entries\ without\ BibTeX\ keys.\ Generate\ keys\ now?=Hindi mai-cite ang mga entry nang walang BibTeX key. Bumuo ng mga key ngayon? @@ -1767,7 +1688,6 @@ You\ must\ enter\ at\ least\ one\ field\ name=Dapat kang magpasok ng hindi babab Non-ASCII\ encoded\ character\ found=Natagpuan ang naka-encode na karakter na hindi-ASCII Toggle\ web\ search\ interface=I-toggle ang interface ng paghahanap sa web %0\ files\ found=%0 na mga natagpuang file -%0\ of\ %1=%0 ng %1 One\ file\ found=Natagpuan ang isang file The\ import\ finished\ with\ warnings\:=Ang pag-import ay tapos na sa mga babala\: There\ was\ one\ file\ that\ could\ not\ be\ imported.=Merong isang file na hindi ma-import. @@ -1776,7 +1696,6 @@ There\ were\ %0\ files\ which\ could\ not\ be\ imported.=May mga %0 na mga file Migration\ help\ information=Impormasyon ng tulong sa paglilipat Entered\ database\ has\ obsolete\ structure\ and\ is\ no\ longer\ supported.=Ang pinasok na database ay lipas na istraktura at hindi na sinusuportahan. However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=Gayunpaman, isang bagong database ay nilikha sa tabi ng pre-3.6 na isa. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Mag-click dito upang malaman ang tungkol sa migration ng mga pre-3.6 database. Opens\ a\ link\ where\ the\ current\ development\ version\ can\ be\ downloaded=Binubuksan ang isang link kung saan maaaring ma-download ang kasalukuyang bersyon ng pag-unlad See\ what\ has\ been\ changed\ in\ the\ JabRef\ versions=Tingnan kung ano ang nabago sa mga bersyon ng JabRef Referenced\ BibTeX\ key\ does\ not\ exist=Ang naka-refer na BibTeX key ay hindi umiiral @@ -1869,3 +1788,7 @@ Abbreviate\ journal\ names\ (ISO)=Paikliin ang mga pangalan sa jurnal(ISO) Abbreviate\ journal\ names\ (MEDLINE)=Paikliin ang mga pangalan sa jurnal (MEDLINE) New\ %0\ library=Bago ang %0 library +Override\ default\ font\ settings=I-override ang mga default na font settings + + + diff --git a/src/main/resources/l10n/JabRef_tr.properties b/src/main/resources/l10n/JabRef_tr.properties index f77b954bf0e..74a54e41bbf 100644 --- a/src/main/resources/l10n/JabRef_tr.properties +++ b/src/main/resources/l10n/JabRef_tr.properties @@ -15,8 +15,6 @@ = -= - = Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (ISO\ abbreviation)=Viết tắt tên tạp chí của các mục được chọn (viết tắt kiểu ISO) Abbreviate\ journal\ names\ of\ the\ selected\ entries\ (MEDLINE\ abbreviation)=Viết tắt tên tạp chí của các mục được chọn (viết tắt kiểu MEDLINE) @@ -34,12 +32,13 @@ Accept=Chấp nhận Accept\ change=Chấp nhận thay đổi -Action=Hành động -What\ is\ Mr.\ DLib?=Ông DLib là gì? +Action=Hành động Add=Thêm +Add\ new=Thêm mới + Add\ a\ (compiled)\ custom\ Importer\ class\ from\ a\ class\ path.=Thêm một lớp ĐịnhdạngNhập tùy biến (được biên dịch) từ đường dẫn lớp. The\ path\ need\ not\ be\ on\ the\ classpath\ of\ JabRef.=Đường dẫn không được trùng với đường dẫn lớp của JabRef. @@ -54,16 +53,12 @@ Add\ from\ folder=Thêm từ thư mục Add\ from\ JAR=Thêm từ tập tin JAR -Add\ new=Thêm mới - Add\ subgroup=Thêm nhóm con Add\ to\ group=Thêm vào nhóm Added\ group\ "%0".=Nhóm được thêm "%0". -Added\ new=Mới được thêm - Added\ string=Chuỗi được thêm Additionally,\ entries\ whose\ %0\ field\ does\ not\ contain\ %1\ can\ be\ assigned\ manually\ to\ this\ group\ by\ selecting\ them\ then\ using\ either\ drag\ and\ drop\ or\ the\ context\ menu.\ This\ process\ adds\ the\ term\ %1\ to\ each\ entry's\ %0\ field.\ Entries\ can\ be\ removed\ manually\ from\ this\ group\ by\ selecting\ them\ then\ using\ the\ context\ menu.\ This\ process\ removes\ the\ term\ %1\ from\ each\ entry's\ %0\ field.=Ngoài ra, những mục nào có dữ liệu %0 không chứa %1 có thể được gán thủ công vào nhóm này bằng cách chọn chúng rồi kéo thả hoặc dùng menu ngữ cảnh. Quá trình này thêm thuật ngữ %1 vào dữ liệu %0 của mỗi mục. Các mục có thể được loại bỏ thủ công khỏi nhóm này bằng cách chọn chúng rồi dùng menu ngữ cảnh. Quá trình này loại bỏ thuật ngữ %1 khỏi dữ liệu %0 của mỗi mục. @@ -72,12 +67,8 @@ Advanced=Nâng cao All\ entries=Tất cả các mục All\ entries\ of\ this\ type\ will\ be\ declared\ typeless.\ Continue?=Tất cả các mục thuộc kiểu này sẽ được đổi thành không có kiểu. Tiếp tục không? -All\ fields=Tất cả các dữ liệu - Always\ reformat\ BIB\ file\ on\ save\ and\ export=Luôn luôn định dạng lại file BIB khi lưu và xuất -A\ SAX\ exception\ occurred\ while\ parsing\ '%0'\:=Một lỗi SAXException xảy ra khi đang phân tách '%0'\: - and=và any\ field\ that\ matches\ the\ regular\ expression\ %0=bất kỳ dữ liệu nào khớp Biểu thức Chính tắc %0 @@ -168,6 +159,7 @@ Clear\ fields=Xóa các dữ liệu Close=Đóng + Close\ dialog=Đóng hộp thoại Close\ the\ current\ library=Đóng CSDL hiện tại @@ -221,6 +213,7 @@ Could\ not\ run\ the\ 'vim'\ program.=Không thể chạy chương trình 'vim'. Could\ not\ save\ file.=Không thể lưu tập tin. Character\ encoding\ '%0'\ is\ not\ supported.=Mã hóa ký tự '%0' không được hỗ trợ. + crossreferenced\ entries\ included=các mục có tham chiếu chéo được đưa vào Current\ content=Nội dung hiện tại @@ -256,8 +249,6 @@ Default\ grouping\ field=Dữ liệu gộp nhóm mặc định Default\ pattern=Kiểu mặc định -Default\ sort\ criteria=Các tiêu chuẩn phân loại mặc định - Delete=Xóa Delete\ custom\ format=Xóa định dạng tùy chọn @@ -278,8 +269,6 @@ Deleted=Bị xóa Permanently\ delete\ local\ file=Xóa bỏ tập tin cục bộ -Delimit\ fields\ with\ semicolon,\ ex.=Phân cách các dữ liệu bằng, ví dụ như, dấu chấm phẩy. - Descending=Giảm dần Description=Mô tả @@ -334,7 +323,6 @@ Dynamically\ group\ entries\ by\ a\ free-form\ search\ expression=Gộp nhóm đ Dynamically\ group\ entries\ by\ searching\ a\ field\ for\ a\ keyword=Gộp nhóm động các mục bằng cách tìm dữ liệu hoặc từ khóa -Each\ line\ must\ be\ on\ the\ following\ form=Mỗi dòng phải có dạng sau Edit=Chỉnh sửa @@ -381,12 +369,12 @@ Entry\ type\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ follo Entry\ types=Các kiểu của mục Error=Lỗi -Error\ exporting\ to\ clipboard=Lỗi xuất ra bộ nhớ tạm Error\ occurred\ when\ parsing\ entry=Lỗi xảy ra khi đang phân tách mục Error\ opening\ file=Lỗi khi đang mở tập tin + Error\ while\ writing=Lỗi khi đang ghi '%0'\ exists.\ Overwrite\ file?='%0' đã có. Ghi đè tập tin không? @@ -416,8 +404,6 @@ External\ programs=Các chương trình ngoài External\ viewer\ called=Trình xem ngoài được gọi -Fetch=Lấy về - Field=Dữ liệu field=dữ liệu @@ -425,8 +411,6 @@ field=dữ liệu Field\ name=Tên dữ liệu Field\ names\ are\ not\ allowed\ to\ contain\ white\ space\ or\ the\ following\ characters=Tên dữ liệu không được phép chứa khoảng trắng hoặc các ký tự sau -Field\ to\ filter=Dữ liệu cần lọc - Field\ to\ group\ by=Dữ liệu gộp nhóm theo File=Tập tin @@ -441,13 +425,8 @@ File\ directory\ is\ not\ set\ or\ does\ not\ exist\!=Thư mục tập tin khôn File\ exists=Tập tin đã có -File\ has\ been\ updated\ externally.\ What\ do\ you\ want\ to\ do?=Tập tin đã được cập nhật ở ngoài chương trình. Bạn muốn làm gì? - File\ not\ found=Không thấy tập tin File\ type=Kiểu tập tin - -File\ updated\ externally=Tập tin được cập nhật ngoài chương trình - filename=tên tập tin Files\ opened=Các tập tin đã mở @@ -467,6 +446,7 @@ Fit\ table\ horizontally\ on\ screen=Làm cho bảng khít chiều ngang màn h for=dùng cho + Format\ of\ author\ and\ editor\ names=Định dạng tên tác giả và người biên tập Format\ string=Định dạng chuỗi @@ -477,9 +457,9 @@ found\ in\ AUX\ file=tìm thấy trong tập tin AUX Full\ name=Tên đầy đủ + General=Tổng quát -General\ fields=Các dữ liệu tổng quát Generate=Tạo @@ -558,15 +538,13 @@ Importing=Đang nhập Importing\ in\ unknown\ format=Nhập vào thành định dạng không rõ -Include\ abstracts=Đưa vào cả phần tóm tắt -Include\ entries=Đưa vào các mục - Include\ subgroups\:\ When\ selected,\ view\ entries\ contained\ in\ this\ group\ or\ its\ subgroups=Đưa vào các nhóm con\: Khi được chọn, xem các mục chứa trong nhóm này hoặc các nhóm phụ của nó Independent\ group\:\ When\ selected,\ view\ only\ this\ group's\ entries=Nhóm độc lập\: Khi được chọn, chỉ xem các mục của nhóm này Work\ options=Các tùy chọn làm việc + Insert=Chèn Insert\ rows=Chèn hàng @@ -614,10 +592,6 @@ Leave\ file\ in\ its\ current\ directory=Giữ tập tin trong thư mục hiện Left=Trái -Limit\ to\ fields=Giới hạn cho các dữ liệu - -Limit\ to\ selected\ entries=Giới hạn theo các mục được chọn - Link=Liên kết Link\ local\ file=Liên kết tập tin cục bộ Link\ to\ file\ %0=Liên kết đến tập tin %0 @@ -640,8 +614,6 @@ Mark\ new\ entries\ with\ owner\ name=Đánh dấu các mục mới cùng với Memory\ stick\ mode=Chế độ thẻ nhớ -Menu\ and\ label\ font\ size=Cỡ phông chữ trình đơn và nhãn - Merged\ external\ changes=Các thay đổi ngoài được gộp lại Messages=Các thông báo @@ -666,6 +638,8 @@ Move\ up=Chuyển lên Moved\ group\ "%0".=Đã chuyển nhóm "%0". + + Name=Tên Name\ formatter=Trình định dạng tên @@ -683,8 +657,6 @@ New\ content=Nội dung mới New\ library\ created.=CSDL mới được tao ra. -New\ field\ value=Giá trị dữ liệu mới - New\ group=Nhóm mới New\ string=Chuỗi mới @@ -699,9 +671,6 @@ no\ library\ generated=Không có CSDL nào được tạo ra No\ entries\ found.\ Please\ make\ sure\ you\ are\ using\ the\ correct\ import\ filter.=Không tìm thấy mục nào. Hãy đảm bảo rằng bạn đang dùng bộ lọc nhập đúng. - -No\ entries\ found\ for\ the\ search\ string\ '%0'=Không tìm thấy mục nào với chuỗi tìm kiếm '%0' - No\ entries\ imported.=Không mục nào được nhập. No\ files\ found.=Không tìm thấy tập tin nào. @@ -722,8 +691,6 @@ Nothing\ to\ redo=Không có lệnh nào để lặp lại Nothing\ to\ undo=Không có lệnh nào để quay ngược lại -occurrences=các lần xuất hiện - OK=Đồng ý One\ or\ more\ keys\ will\ be\ overwritten.\ Continue?=Một hoặc nhiều khóa sẽ bị ghi đè. Có tiếp tục không? @@ -763,13 +730,10 @@ Override=Ghi đè Override\ default\ file\ directories=Ghi đè các thư mục tập tin mặc định -Override\ default\ font\ settings=Ghi đè các thiết lập phông chữ mặc định - Override\ the\ BibTeX\ field\ by\ the\ selected\ text=Ghi đè khóa BibTeX bằng chữ được chọn Overwrite=Ghi đè -Overwrite\ existing\ field\ values=Ghi đè các giá trị dữ liệu hiện có Overwrite\ keys=Ghi đè các khóa @@ -804,6 +768,7 @@ Please\ enter\ the\ string's\ label=Vui lòng nhập nhãn của chuỗi Please\ select\ an\ importer.=Vui lòng chọn một trình nhập. + Possible\ duplicate\ entries=Các mục có thể bị trùng Possible\ duplicate\ of\ existing\ entry.\ Click\ to\ resolve.=Có thể mục hiện có bị trùng. Nhắp chuột để giải. @@ -839,8 +804,6 @@ Redo=Lặp lại lệnh Reference\ library=CSDL tham khảo -%0\ references\ found.\ Number\ of\ references\ to\ fetch?=Các tài liệu tham khảo được tìm thấy\: %0. Số lượng tài liệu tham khảo cần lấy về? - Refine\ supergroup\:\ When\ selected,\ view\ entries\ contained\ in\ both\ this\ group\ and\ its\ supergroup=Tinh chỉnh nhóm lớn\: Khi được chọn, xem các mục chứa các trong nhóm này và nhóm lớn của nó regular\ expression=Biểu thức chính tắc @@ -896,10 +859,6 @@ Replace\ (regular\ expression)=Thay thế (biểu thức chính tắc) Replace\ string=Thay thế chuỗi -Replace\ with=Thay thế bởi - - -Replaced=Bị thay thế Required\ fields=Các dữ liệu cần có @@ -909,6 +868,8 @@ Resolve\ strings\ for\ all\ fields\ except=Giải các chuỗi cho tất cả c Resolve\ strings\ for\ standard\ BibTeX\ fields\ only=Chỉ giải các chuỗi cho các dữ liệu BibTeX resolved=được giải + + Review=Xem xét lại Review\ changes=Xem xét lại các thay đổi @@ -926,10 +887,6 @@ Save\ library\ as...=Lưu CSDL thành ... Save\ entries\ in\ their\ original\ order=Lưu các mục theo thứ tự gốc của chúng -Save\ failed=Việc lưu thất bại - -Save\ failed\ during\ backup\ creation=Việc lưu thất bại khi đang tạo bản sao lưu - Saved\ library=Đã lưu CSDL Saved\ selected\ to\ '%0'.=Đã lưu phần chọn vào '%0'. @@ -943,8 +900,6 @@ Search=Tìm Search\ expression=Biểu thức tìm kiếm -Search\ for=Tìm - Searching\ for\ duplicates...=Đang tìm các mục bị lặp... Searching\ for\ files=Đang tìm các tập tin @@ -953,19 +908,16 @@ Secondary\ sort\ criterion=Tiêu chuẩn phân loại thứ cấp Select\ all=Chọn tất cả -Select\ encoding=Chọn bộ mã hóa - Select\ entry\ type=Chọn kiểu mục -Select\ external\ application=Chọn ứng dụng ngoài Select\ file\ from\ ZIP-archive=Chọn tập tin từ tập tin ZIP Select\ the\ tree\ nodes\ to\ view\ and\ accept\ or\ reject\ changes=Chọn các nốt trên sơ đồ hình cây để xem và chấp nhận hoặc từ chối thay đổi -Selected\ entries=Các mục được chọn + Set\ field=Thiết lập dữ liệu Set\ fields=Thiết lập các dữ liệu -Set\ general\ fields=Thiết lập các dữ liệu tổng quát + Set\ main\ external\ file\ directory=Thiết lập thư mục tập tin ngoài chính Settings=Các thiết lập @@ -1018,8 +970,6 @@ Status=Trạng thái Stop=Dừng -Strings=Các chuỗi - Strings\ for\ library=Các chuỗi dùng cho CSDL Sublibrary\ from\ AUX=CSDL con từ AUX @@ -1080,8 +1030,12 @@ This\ operation\ requires\ all\ selected\ entries\ to\ have\ BibTeX\ keys\ defin This\ operation\ requires\ one\ or\ more\ entries\ to\ be\ selected.=Lệnh này yêu cầu phải chọn trước một hoặc nhiều mục. + Toggle\ entry\ preview=Bật/tắt xem trước mục Toggle\ groups\ interface=Bật/tắt giao diện nhóm + + + Try\ different\ encoding=Thử mã hóa khác Unabbreviate\ journal\ names\ of\ the\ selected\ entries=Bỏ viết tắt tên các tạp chí của những mục được chọn @@ -1126,8 +1080,6 @@ verify\ that\ LyX\ is\ running\ and\ that\ the\ lyxpipe\ is\ valid=kiểm tra xe View=Xem Vim\ server\ name=Tên Server Vim -Waiting\ for\ ArXiv...=Đang chờ ArXiv... - Warn\ about\ unresolved\ duplicates\ when\ closing\ inspection\ window=Cảnh báo về các mục trùng chưa được giải quyết khi đóng cửa sổ kiểm tra Warn\ before\ overwriting\ existing\ keys=Cảnh báo trước khi ghi đè các khóa hiện có @@ -1159,7 +1111,6 @@ XMP-metadata=Đặc tả dữ liệu XMP XMP-metadata\ found\ in\ PDF\:\ %0=Đặc tả dữ liệu XMP có trong PDF\: %0 You\ must\ restart\ JabRef\ for\ this\ to\ come\ into\ effect.=Bạn phải khởi động lại JabRef để thay đổi có hiệu lực. You\ have\ changed\ the\ language\ setting.=Bạn đã thay đổi thiết lập ngôn ngữ. -You\ have\ entered\ an\ invalid\ search\ '%0'.=Bạn đã nhập một phép tìm không hợp lệ '%0'. You\ must\ restart\ JabRef\ for\ the\ new\ key\ bindings\ to\ work\ properly.=Bạn phải khởi động lại JabRef để các tổ hợp phím mới hoạt động được. @@ -1168,26 +1119,20 @@ Your\ new\ key\ bindings\ have\ been\ stored.=Tổ hợp phím tắt mới của The\ following\ fetchers\ are\ available\:=Các trình lấy về sau có thể dùng được\: Could\ not\ find\ fetcher\ '%0'=Không thể tìm thấy trình lầy về '%0' Running\ query\ '%0'\ with\ fetcher\ '%1'.=Đang chạy truy vấn '%0' với trình lấy về '%1'. -Query\ '%0'\ with\ fetcher\ '%1'\ did\ not\ return\ any\ results.=Phép truy vấn '%0' bằng trình lấy về '%1' không trả lại kết quả nào. Move\ file=Chuyển tin Rename\ file=Đặt lại tên tập tin + Move\ file\ failed=Việc chuyển tập tin thất bại Could\ not\ move\ file\ '%0'.=Không thể chuyển tập tin '%0'. Could\ not\ find\ file\ '%0'.=Không tìm thấy tập tin '%0'. Number\ of\ entries\ successfully\ imported=Số mục được nhập vào thành công Import\ canceled\ by\ user=Việc nhập bị người dùng hủy -Progress\:\ %0\ of\ %1=Tiến trình\: %0 of %1 Error\ while\ fetching\ from\ %0=Lỗi khi lấy về từ %0 -Please\ enter\ a\ valid\ number=Vui lòng nhập một con số hợp lệ Show\ search\ results\ in\ a\ window=Hiển thị kết quả tìm trong một cửa sổ Search\ in\ all\ open\ libraries=Tìm kiếm trong tất cả CSDL đang mở -Move\ file\ to\ file\ directory?=Di chuyển tập tin vào thư mục tập tin? - -Library\ is\ protected.\ Cannot\ save\ until\ external\ changes\ have\ been\ reviewed.=CSDL được bảo vệ. Không thể lưu cho đến khi những thay đổi ngoài được xem xét. -Protected\ library=CSDL được bảo vệ Refuse\ to\ save\ the\ library\ before\ external\ changes\ have\ been\ reviewed.=Từ chối lưu CSDL trước khi những thay đổi ngoài được xem xét. Library\ protection=Bảo vệ CSDL Unable\ to\ save\ library=Không thể lưu CSDL @@ -1198,16 +1143,13 @@ MIME\ type=Kiểu MIME This\ feature\ lets\ new\ files\ be\ opened\ or\ imported\ into\ an\ already\ running\ instance\ of\ JabRef
instead\ of\ opening\ a\ new\ instance.\ For\ instance,\ this\ is\ useful\ when\ you\ open\ a\ file\ in\ JabRef
from\ your\ web\ browser.
Note\ that\ this\ will\ prevent\ you\ from\ running\ more\ than\ one\ instance\ of\ JabRef\ at\ a\ time.=Tính chất này cho phép các tập tin mới có thể được mở hoặc nhập vào một phiên JabRef đang chạy
thay vì phải mở một phiên làm việc mới. Điều này có ích, ví dụ như khi bạn mở một tập tin trong JabRef
từ trình duyệt web của mình.
Lưu ý rằng điều này sẽ không cho phép bạn chạy nhiều hơn một phiên làm việc của JabRef cùng lúc. -The\ ACM\ Digital\ Library=Thư viện số ACM Reset=Thiết lập lại Use\ IEEE\ LaTeX\ abbreviations=Dùng các chữ viết tắt kiểu IEEE LaTeX -The\ Guide\ to\ Computing\ Literature=Hướng dẫn về tài liệu máy tính When\ opening\ file\ link,\ search\ for\ matching\ file\ if\ no\ link\ is\ defined=Khi mở liên kết tập tin, tìm tập tin khớp nếu liên kết không được định nghĩa Settings\ for\ %0=Các thiết lập dùng cho %0 -Sort\ the\ following\ fields\ as\ numeric\ fields=Xếp thứ tự các dữ liệu sau như thể chúng là các dữ liệu kiểu số Line\ %0\:\ Found\ corrupted\ BibTeX\ key.=Dòng %0\: Tìm thấy khóa-BibTeX bị lỗi. Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (contains\ whitespaces).=Dòng %0\: Tìm thấy khóa-BibTeX bị lỗi (chứa khoảng trắng). Line\ %0\:\ Found\ corrupted\ BibTeX\ key\ (comma\ missing).=Dòng %0\: Tìm thấy khóa-BibTeX bị lỗi (thiếu dấu phẩy). @@ -1217,7 +1159,6 @@ Rename\ field=Đổi tên dữ liệu Set/clear/append/rename\ fields=Thiết lập/Xóa/Đổi tên trường Rename\ field\ to=Đổi tên dữ liệu thành Move\ contents\ of\ a\ field\ into\ a\ field\ with\ a\ different\ name=Di chuyển nội dung của một dữ liệu sang một dữ liệu có tên khác -You\ can\ only\ rename\ one\ field\ at\ a\ time=Bạn chỉ có thể đổi tên một dữ liệu một lần Cannot\ use\ port\ %0\ for\ remote\ operation;\ another\ application\ may\ be\ using\ it.\ Try\ specifying\ another\ port.=Không thể dùng cổng %0 cho lệnh chạy từ xa; một ứng dụng khác có thể đang dùng nó. Hãy thử chỉ định một cổng khác. @@ -1225,6 +1166,7 @@ Looking\ for\ full\ text\ document...=Đang tìm tài liệu đầy đủ... Autosave=Lưu tự động A\ local\ copy\ will\ be\ opened.=Bản sao cục bộ sẽ được mở. Autosave\ local\ libraries=Tự động lưu CSDL cục bộ +Automatically\ save\ the\ library\ to=Tự động lưu thư viện vào Export\ in\ current\ table\ sort\ order=Xuất ra theo trình tự xếp thứ tự của bảng hiện tại @@ -1235,9 +1177,6 @@ Formatter\ not\ found\:\ %0=Không tìm thấy trình định dạng\: %0 Clear\ inputarea=Xóa trong vùng nhập liệu Could\ not\ save,\ file\ locked\ by\ another\ JabRef\ instance.=Không thể lưu, tập tin bị khóa bởi một phiên làm việc khác của JabRef đang chạy. -File\ is\ locked\ by\ another\ JabRef\ instance.=Tập tin bị khóa bởi một phiên làm việc khác của JabRef. -Do\ you\ want\ to\ override\ the\ file\ lock?=Bạn có muốn bỏ qua khóa tập tin? -File\ locked=Tập tin bị khóa Current\ tmp\ value=Giá trị tmp hiện tại Metadata\ change=Thay đổi đặc tả dữ liệu Changes\ have\ been\ made\ to\ the\ following\ metadata\ elements=Các thay đổi đã được thực hiện cho những thành phần đặc tả CSDL sau @@ -1246,7 +1185,6 @@ Generate\ groups\ for\ author\ last\ names=Tạo các nhóm cho họ của tác Generate\ groups\ from\ keywords\ in\ a\ BibTeX\ field=Tạo các nhóm theo từ khóa trong một dữ liệu BibTeX Enforce\ legal\ characters\ in\ BibTeX\ keys=Buộc phải dùng những ký tự hợp lệ trong khóa BibTeX -Save\ without\ backup?=Lưu không có bản dự phòng? Unable\ to\ create\ backup=Không thể tạo bản dự phòng Move\ file\ to\ file\ directory=Di chuyển tập tin vào thư mục tập tin Rename\ file\ to=Đổi tên tập tin thành @@ -1285,7 +1223,6 @@ Choose\ the\ source\ for\ the\ metadata\ import=Chọn nguồn để nhập vào Create\ entry\ based\ on\ XMP-metadata=Tạo ra mục dựa trên dữ liệu XMP Create\ blank\ entry\ linking\ the\ PDF=Tạo ra mục trống thuộc về PDF Only\ attach\ PDF=Chỉ kèm PDF -Title=Danh hiệu Create\ new\ entry=Tạo mục mới Update\ existing\ entry=Cập nhật mục có sẵn Send\ as\ email=Gửi bằng email @@ -1357,7 +1294,6 @@ Unabbreviate\ journal\ names=Không viết tắt tên các tạp chí -%0\ import\ canceled=Việc nhập từ %0 bị hủy @@ -1406,7 +1342,6 @@ Get\ BibTeX\ data\ from\ %0=Nhập dữ liệu BibTex từ %0 -Connection=Sự kết nối Connecting...=Đang kết nối... Host=Máy chủ Port=Cổng @@ -1433,9 +1368,7 @@ Shared\ version\:\ %0=Phiên bản chia sẻ\: %0 Please\ merge\ the\ shared\ entry\ with\ yours\ and\ press\ "Merge\ entries"\ to\ resolve\ this\ problem.=Xin vui lòng phối mục chia sẻ với mục của bạn và nhấn "Phối các mục" để giải quyết lỗi này. Canceling\ this\ operation\ will\ leave\ your\ changes\ unsynchronized.\ Cancel\ anyway?=Huỷ bỏ thao tác này bạn sẽ rời khỏi thay đổi không đồng bộ hóa của bạn. Bạn vẫn muốn hủy? Shared\ entry\ is\ no\ longer\ present=Mục chia sẻ hiện không còn nữa -The\ BibEntry\ you\ currently\ work\ on\ has\ been\ deleted\ on\ the\ shared\ side.=BibEntry bạn hiện giờ đang làm việc đã bị xoá bên chia sẻ. You\ can\ restore\ the\ entry\ using\ the\ "Undo"\ operation.=Bạn có thể phục hồi mục bằng cách sử dụng thao tác "Hoàn tác". -Remember\ password?=Lưu mật mã? You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ details.=Bạn đã được kết nối với CSDL bằng sử dụng cách nhập chi tiết kết nối. @@ -1443,7 +1376,6 @@ You\ are\ already\ connected\ to\ a\ database\ using\ entered\ connection\ detai Migration\ help\ information=Thông tin trợ giúp dời chuyển However,\ a\ new\ database\ was\ created\ alongside\ the\ pre-3.6\ one.=Tuy nhiên, CSDL mới đã được tạo lập theo CSDL trước 3.6. -Click\ here\ to\ learn\ about\ the\ migration\ of\ pre-3.6\ databases.=Nhấp vào đây để biết về dời chuyển của các CSDL trước 3.6. ID=Mã nhận diện @@ -1499,3 +1431,7 @@ View\ change\ log=Xem nhật kí thay đổi Website=Trang web Write\ XMP-metadata\ to\ PDFs=Ghi XMP-metadata thành các PDF +Override\ default\ font\ settings=Ghi đè các thiết lập phông chữ mặc định + + + diff --git a/src/main/resources/l10n/JabRef_zh.properties b/src/main/resources/l10n/JabRef_zh.properties index 3d49f0abcb2..dcae489f8aa 100644 --- a/src/main/resources/l10n/JabRef_zh.properties +++ b/src/main/resources/l10n/JabRef_zh.properties @@ -15,8 +15,6 @@ =<域名称> -