[jabref] 287/459: [svn-upgrade] new version jabref (2.7~beta1+ds)
gregor herrmann
gregoa at debian.org
Thu Sep 15 20:40:43 UTC 2016
This is an automated email from the git hooks/post-receive script.
gregoa pushed a commit to branch master
in repository jabref.
commit e07083a27e0a30fee11bfb35fe50c45f8b316ef6
Author: gregor herrmann <gregoa at debian.org>
Date: Tue Jan 18 16:39:53 2011 +0000
[svn-upgrade] new version jabref (2.7~beta1+ds)
---
.idea/ant.xml | 15 +
.idea/compiler.xml | 24 +
.idea/copyright/profiles_settings.xml | 5 +
.idea/encodings.xml | 5 +
.idea/libraries/lib.xml | 36 +
.idea/libraries/plugin.xml | 14 +
.idea/misc.xml | 88 +
.idea/modules.xml | 9 +
.idea/uiDesigner.xml | 125 ++
.idea/vcs.xml | 7 +
.idea/workspace.xml | 786 +++++++
build.number | 4 +-
build.xml | 21 +-
src/Jabref.iml | 102 +-
src/help/ACMPortalHelp.html | 8 +-
src/help/About.html | 9 +-
src/help/Autosave.html | 7 +-
src/help/BaseFrameHelp.html | 6 +-
src/help/BibtexHelp.html | 6 +-
src/help/CiteSeerHelp.html | 6 +-
src/help/CommandLine.html | 6 +-
src/help/ContentSelectorHelp.html | 6 +-
src/help/Contents.html | 6 +-
src/help/CustomEntriesHelp.html | 6 +-
src/help/CustomExports.html | 275 ++-
src/help/CustomImports.html | 6 +-
src/help/DatabaseProperties.html | 7 +-
src/help/EndNoteFilters.html | 45 +-
src/help/EntryEditorHelp.html | 9 +-
src/help/ExternalFiles.html | 6 +-
src/help/FileLinks.html | 6 +-
src/help/GeneralFields.html | 6 +-
src/help/GroupsHelp.html | 9 +-
src/help/HelpHelp.html | 6 +-
src/help/IEEEXploreHelp.html | 7 +-
src/help/ImportInspectionDialog.html | 6 +-
src/help/JSTOR.html | 6 +-
src/help/JabRefHelp.html | 7 +-
src/help/JournalAbbreviations.html | 7 +-
src/help/LabelPatterns.html | 6 +-
src/help/MarkingHelp.html | 33 +-
src/help/MedlineHelp.html | 7 +-
src/help/OpenOfficeHelp.html | 6 +-
src/help/OwnerHelp.html | 6 +-
src/help/Plugin.html | 7 +-
src/help/PreviewHelp.html | 6 +-
src/help/RemoteHelp.html | 6 +-
src/help/RevisionHistory.html | 25 +-
src/help/SQLExport.html | 6 +-
src/help/ScienceDirect.html | 6 +-
src/help/SearchHelp.html | 6 +-
src/help/ShortAuxImport.html | 6 +-
src/help/ShortIntegrityCheck.html | 6 +-
src/help/ShortPlainImport.html | 6 +-
src/help/Spires.html | 7 +-
src/help/StringEditorHelp.html | 6 +-
src/help/TimeStampHelp.html | 6 +-
src/help/XMPHelp.html | 6 +-
src/help/da/About.html | 13 +-
src/help/de/About.html | 2 +-
src/help/fr/ACMPortalHelp.html | 8 +-
src/help/fr/About.html | 9 +-
src/help/fr/Autosave.html | 8 +-
src/help/fr/BaseFrameHelp.html | 7 +-
src/help/fr/BibtexHelp.html | 7 +-
src/help/fr/CiteSeerHelp.html | 10 +-
src/help/fr/CommandLine.html | 10 +-
src/help/fr/ContentSelectorHelp.html | 10 +-
src/help/fr/Contents.html | 6 +-
src/help/fr/CustomEntriesHelp.html | 7 +-
src/help/fr/CustomExports.html | 343 +--
src/help/fr/CustomImports.html | 7 +-
src/help/fr/DatabaseProperties.html | 7 +-
src/help/fr/EndNoteFilters.html | 54 +-
src/help/fr/EntryEditorHelp.html | 7 +-
src/help/fr/ExternalFiles.html | 7 +-
src/help/fr/FileLinks.html | 7 +-
src/help/fr/GeneralFields.html | 10 +-
src/help/fr/GroupsHelp.html | 7 +-
src/help/fr/HelpHelp.html | 7 +-
src/help/fr/IEEEXploreHelp.html | 7 +-
src/help/fr/ImportInspectionDialog.html | 7 +-
src/help/fr/JSTOR.html | 7 +-
src/help/fr/JabRefHelp.html | 7 +-
src/help/fr/JournalAbbreviations.html | 7 +-
src/help/fr/LabelPatterns.html | 7 +-
src/help/fr/MarkingHelp.html | 43 +-
src/help/fr/MedlineHelp.html | 10 +-
src/help/fr/OpenOfficeHelp.html | 7 +-
src/help/fr/OwnerHelp.html | 7 +-
src/help/fr/Plugin.html | 9 +-
src/help/fr/PreviewHelp.html | 7 +-
src/help/fr/RemoteHelp.html | 7 +-
src/help/fr/RevisionHistory.html | 25 +-
src/help/fr/SQLExport.html | 7 +-
src/help/fr/SearchHelp.html | 7 +-
src/help/fr/ShortAuxImport.html | 4 +-
src/help/fr/ShortIntegrityCheck.html | 5 +-
src/help/fr/ShortPlainImport.html | 5 +-
src/help/fr/Spires.html | 6 +-
src/help/fr/StringEditorHelp.html | 7 +-
src/help/fr/TimeStampHelp.html | 7 +-
src/help/fr/XMPHelp.html | 7 +-
src/help/in/About.html | 140 ++
src/help/in/Autosave.html | 28 +
src/help/in/BaseFrameHelp.html | 112 +
src/help/in/BibtexHelp.html | 268 +++
src/help/in/ContentSelectorHelp.html | 27 +
src/help/{ => in}/Contents.html | 44 +-
src/help/in/EntryEditorHelp.html | 138 ++
src/help/in/HelpHelp.html | 34 +
src/help/in/JabRefHelp.html | 33 +
src/help/in/JournalAbbreviations.html | 120 ++
src/help/in/OwnerHelp.html | 21 +
src/help/{ => in}/RevisionHistory.html | 121 +-
src/help/in/ShortIntegrityCheck.html | 14 +
src/help/in/TimeStampHelp.html | 50 +
src/help/jabref_help.css | 31 +
src/help/jgoodies.html | 7 +-
src/images/splash-2.6.svg | 287 ---
src/images/splash.png | Bin 172722 -> 174325 bytes
src/images/splash.svg | 229 --
src/images/splashBackground.png | Bin 157549 -> 0 bytes
src/java/gnu/dtools/ritopt/OptionMenu.java | 2 +-
src/java/net/sf/jabref/AdvancedTab.java | 44 +-
src/java/net/sf/jabref/AppearancePrefsTab.java | 1 +
src/java/net/sf/jabref/BasePanel.java | 38 +-
src/java/net/sf/jabref/BibLatexEntryTypes.java | 809 ++++++++
src/java/net/sf/jabref/BibtexDatabase.java | 13 +-
src/java/net/sf/jabref/BibtexEntryType.java | 85 +-
src/java/net/sf/jabref/BibtexStringComparator.java | 20 +-
...ditorTab.java => CompressedEntryEditorTab.java} | 82 +-
src/java/net/sf/jabref/EntryEditor.java | 70 +-
src/java/net/sf/jabref/EntryEditorTab.java | 13 +-
src/java/net/sf/jabref/EntryTypeDialog.java | 4 +-
src/java/net/sf/jabref/FieldEditor.java | 10 +-
.../net/sf/jabref/FieldEditorFocusListener.java | 11 +-
src/java/net/sf/jabref/FieldNameLabel.java | 4 +-
src/java/net/sf/jabref/FieldTextArea.java | 20 +-
src/java/net/sf/jabref/FieldTextField.java | 25 +-
src/java/net/sf/jabref/GUIGlobals.java | 23 +-
src/java/net/sf/jabref/Globals.java | 2 +-
src/java/net/sf/jabref/HelpDialog.java | 2 +-
src/java/net/sf/jabref/JabRef.java | 14 +-
src/java/net/sf/jabref/JabRefFrame.java | 145 +-
src/java/net/sf/jabref/JabRefPreferences.java | 27 +-
src/java/net/sf/jabref/MarkEntriesAction.java | 62 +
src/java/net/sf/jabref/MarkedComparator.java | 7 +-
src/java/net/sf/jabref/MetaData.java | 7 +-
src/java/net/sf/jabref/PreambleEditor.java | 8 +-
src/java/net/sf/jabref/PrefsDialog3.java | 1 +
src/java/net/sf/jabref/RightClickMenu.java | 327 +--
src/java/net/sf/jabref/TabLabelPattern.java | 36 +
src/java/net/sf/jabref/Util.java | 157 +-
src/java/net/sf/jabref/collab/ChangeScanner.java | 2 -
.../net/sf/jabref/collab/FileUpdateMonitor.java | 1 +
src/java/net/sf/jabref/export/FileActions.java | 2 +-
.../net/sf/jabref/export/SaveDatabaseAction.java | 1 +
.../net/sf/jabref/export/layout/LayoutEntry.java | 10 +-
.../net/sf/jabref/export/layout/LayoutHelper.java | 31 +-
.../sf/jabref/export/layout/format/Authors.java | 308 +++
.../net/sf/jabref/external/DroppedFileHandler.java | 1 +
.../external/FileDirectoryUpgradeWarning.java | 134 ++
.../net/sf/jabref/external/MoveFileAction.java | 8 +-
src/java/net/sf/jabref/gui/ColorSetupPanel.java | 14 +-
.../sf/jabref/gui/DatabasePropertiesDialog.java | 22 +-
src/java/net/sf/jabref/gui/FileListEditor.java | 14 +-
.../net/sf/jabref/gui/ImportInspectionDialog.java | 4 +-
src/java/net/sf/jabref/gui/IsMarkedComparator.java | 6 +-
src/java/net/sf/jabref/gui/MainTable.java | 50 +-
.../net/sf/jabref/gui/WaitForSaveOperation.java | 78 +
.../sf/jabref/imports/AutosaveStartupPrompter.java | 4 +-
src/java/net/sf/jabref/imports/BibtexParser.java | 26 +-
src/java/net/sf/jabref/imports/ImportMenuItem.java | 2 +-
.../net/sf/jabref/imports/OpenDatabaseAction.java | 12 +-
src/java/net/sf/jabref/imports/ParserResult.java | 40 +-
.../net/sf/jabref/journals/AbbreviateAction.java | 2 +-
.../sf/jabref/journals/JournalAbbreviations.java | 34 +-
.../net/sf/jabref/journals/UnabbreviateAction.java | 2 +-
.../sf/jabref/label/HandleDuplicateWarnings.java | 31 +
.../sf/jabref/labelPattern/LabelPatternUtil.java | 22 +-
.../labelPattern/ResolveDuplicateLabelDialog.java | 128 ++
.../labelPattern/SearchFixDuplicateLabels.java | 100 +
src/java/net/sf/jabref/msbib/MSBibEntry.java | 81 +-
src/java/net/sf/jabref/net/Cookie.java | 3 +-
src/plugins/net.sf.jabref.core/plugin.xml | 4 +-
src/resource/IntegrityMessage_in.properties | 12 +
src/resource/IntegrityMessage_vi.properties | 13 +
src/resource/JabRef_da.properties | 48 +-
src/resource/JabRef_de.properties | 44 +-
src/resource/JabRef_en.properties | 44 +-
src/resource/JabRef_fr.properties | 37 +-
src/resource/JabRef_in.properties | 1276 ++++++++++++
src/resource/JabRef_it.properties | 113 +-
src/resource/JabRef_nl.properties | 40 +-
src/resource/JabRef_no.properties | 37 +-
src/resource/JabRef_tr.properties | 45 +-
src/resource/JabRef_vi.properties | 2179 ++++++++++++++++++++
src/resource/JabRef_zh.properties | 45 +-
src/resource/JabRef_zh.properties.UTF8 | 41 +-
src/resource/Menu_da.properties | 5 +-
src/resource/Menu_de.properties | 6 +-
src/resource/Menu_en.properties | 5 +-
src/resource/Menu_es.properties | 5 +-
src/resource/Menu_fr.properties | 5 +-
src/resource/Menu_in.properties | 123 ++
src/resource/Menu_it.properties | 19 +-
src/resource/Menu_nl.properties | 6 +-
src/resource/Menu_no.properties | 5 +-
src/resource/Menu_tr.properties | 3 +-
src/resource/Menu_vi.properties | 149 ++
src/resource/Menu_zh.properties | 5 +-
src/resource/Menu_zh.properties.UTF8 | 5 +-
src/resource/build.properties | 6 +-
src/resource/ods/mimetype | 1 -
src/txt/CHANGELOG | 28 +
src/txt/README | 4 +-
217 files changed, 9989 insertions(+), 1958 deletions(-)
diff --git a/.idea/ant.xml b/.idea/ant.xml
new file mode 100644
index 0000000..4674eea
--- /dev/null
+++ b/.idea/ant.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="AntConfiguration">
+ <defaultAnt bundledAnt="true" />
+ <buildFile url="file://$PROJECT_DIR$/build.xml">
+ <additionalClassPath />
+ <antReference projectDefault="true" />
+ <customJdkName value="" />
+ <maximumHeapSize value="128" />
+ <maximumStackSize value="2" />
+ <properties />
+ </buildFile>
+ </component>
+</project>
+
diff --git a/.idea/compiler.xml b/.idea/compiler.xml
new file mode 100644
index 0000000..97c9ca5
--- /dev/null
+++ b/.idea/compiler.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="CompilerConfiguration">
+ <option name="DEFAULT_COMPILER" value="Javac" />
+ <resourceExtensions>
+ <entry name=".+\.(properties|xml|html|dtd|tld)" />
+ <entry name=".+\.(gif|png|jpeg|jpg)" />
+ </resourceExtensions>
+ <wildcardResourcePatterns>
+ <entry name="?*.properties" />
+ <entry name="?*.xml" />
+ <entry name="?*.gif" />
+ <entry name="?*.png" />
+ <entry name="?*.jpeg" />
+ <entry name="?*.jpg" />
+ <entry name="?*.html" />
+ <entry name="?*.dtd" />
+ <entry name="?*.tld" />
+ <entry name="?*.ftl" />
+ </wildcardResourcePatterns>
+ <annotationProcessing enabled="false" useClasspath="true" />
+ </component>
+</project>
+
diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml
new file mode 100644
index 0000000..3572571
--- /dev/null
+++ b/.idea/copyright/profiles_settings.xml
@@ -0,0 +1,5 @@
+<component name="CopyrightManager">
+ <settings default="">
+ <module2copyright />
+ </settings>
+</component>
\ No newline at end of file
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
new file mode 100644
index 0000000..e206d70
--- /dev/null
+++ b/.idea/encodings.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Encoding" useUTFGuessing="true" native2AsciiForPropertiesFiles="false" />
+</project>
+
diff --git a/.idea/libraries/lib.xml b/.idea/libraries/lib.xml
new file mode 100644
index 0000000..e38c50b
--- /dev/null
+++ b/.idea/libraries/lib.xml
@@ -0,0 +1,36 @@
+<component name="libraryTable">
+ <library name="lib">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/lib/glazedlists-1.7.0_java15.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/langproper.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/PDFBox-0.7.3-dev-reduced.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/antlr-3.0b5.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/ccl.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jaxen-core-1.0-fcs.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/microba.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/javancss.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/forms-1.1.0.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jdom-1.0b8.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/saxpath-1.0-fcs.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/antlr.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/EndNote.zip!/" />
+ <root url="jar://$PROJECT_DIR$/lib/looks-2.3.1.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jalopy-1.0b10.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jarbundler-1.4.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/substance-4.1.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/vizant.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/spin.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/sax-2.0.1.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jalopy-ant-0.6.1.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/mysql-connector-java-5.0.7-bin.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/junit.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/oro-2.0.6.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/jaxp-1.2.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/aelfred-1.2.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/JempBox-0.2.0.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/pmd-2.0.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/libraries/plugin.xml b/.idea/libraries/plugin.xml
new file mode 100644
index 0000000..00eac0e
--- /dev/null
+++ b/.idea/libraries/plugin.xml
@@ -0,0 +1,14 @@
+<component name="libraryTable">
+ <library name="plugin">
+ <CLASSES>
+ <root url="jar://$PROJECT_DIR$/lib/plugin/velocity-dep-1.5.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/plugin/jpf-boot.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/plugin/JPFCodeGenerator.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/plugin/commons-logging.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/plugin/jpf.jar!/" />
+ <root url="jar://$PROJECT_DIR$/lib/plugin/JPFCodeGenerator-rt.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+</component>
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..5738dd9
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="DependencyValidationManager">
+ <option name="SKIP_IMPORT_STATEMENTS" value="false" />
+ </component>
+ <component name="JavadocGenerationManager">
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="OPTION_SCOPE" value="protected" />
+ <option name="OPTION_HIERARCHY" value="true" />
+ <option name="OPTION_NAVIGATOR" value="true" />
+ <option name="OPTION_INDEX" value="true" />
+ <option name="OPTION_SEPARATE_INDEX" value="true" />
+ <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+ <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+ <option name="OPTION_DEPRECATED_LIST" value="true" />
+ <option name="OTHER_OPTIONS" value="" />
+ <option name="HEAP_SIZE" />
+ <option name="LOCALE" />
+ <option name="OPEN_IN_BROWSER" value="true" />
+ </component>
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_5" assert-keyword="true" jdk-15="true" project-jdk-name="1.6" project-jdk-type="JavaSDK">
+ <output url="file://$PROJECT_DIR$/out" />
+ </component>
+ <component name="SvnBranchConfigurationManager">
+ <option name="myConfigurationMap">
+ <map>
+ <entry key="$PROJECT_DIR$">
+ <value>
+ <SvnBranchConfiguration>
+ <option name="branchMap">
+ <map>
+ <entry key="https://jabref.svn.sourceforge.net/svnroot/jabref/branches">
+ <value>
+ <list />
+ </value>
+ </entry>
+ <entry key="https://jabref.svn.sourceforge.net/svnroot/jabref/tags">
+ <value>
+ <list />
+ </value>
+ </entry>
+ </map>
+ </option>
+ <option name="branchUrls">
+ <list>
+ <option value="https://jabref.svn.sourceforge.net/svnroot/jabref/branches" />
+ <option value="https://jabref.svn.sourceforge.net/svnroot/jabref/tags" />
+ </list>
+ </option>
+ <option name="trunkUrl" value="https://jabref.svn.sourceforge.net/svnroot/jabref/trunk" />
+ </SvnBranchConfiguration>
+ </value>
+ </entry>
+ <entry key="$PROJECT_DIR$/src">
+ <value>
+ <SvnBranchConfiguration>
+ <option name="branchMap">
+ <map>
+ <entry key="https://jabref.svn.sourceforge.net/svnroot/jabref/branches">
+ <value>
+ <list />
+ </value>
+ </entry>
+ <entry key="https://jabref.svn.sourceforge.net/svnroot/jabref/tags">
+ <value>
+ <list />
+ </value>
+ </entry>
+ </map>
+ </option>
+ <option name="branchUrls">
+ <list>
+ <option value="https://jabref.svn.sourceforge.net/svnroot/jabref/branches" />
+ <option value="https://jabref.svn.sourceforge.net/svnroot/jabref/tags" />
+ </list>
+ </option>
+ <option name="trunkUrl" value="https://jabref.svn.sourceforge.net/svnroot/jabref/trunk" />
+ </SvnBranchConfiguration>
+ </value>
+ </entry>
+ </map>
+ </option>
+ <option name="mySupportsUserInfoFilter" value="true" />
+ </component>
+</project>
+
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..603f0d9
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ProjectModuleManager">
+ <modules>
+ <module fileurl="file://$PROJECT_DIR$/src/Jabref.iml" filepath="$PROJECT_DIR$/src/Jabref.iml" />
+ </modules>
+ </component>
+</project>
+
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
new file mode 100644
index 0000000..3b00020
--- /dev/null
+++ b/.idea/uiDesigner.xml
@@ -0,0 +1,125 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="Palette2">
+ <group name="Swing">
+ <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+ </item>
+ <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
+ <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+ <initial-values>
+ <property name="text" value="Button" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="RadioButton" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="CheckBox" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+ <initial-values>
+ <property name="text" value="Label" />
+ </initial-values>
+ </item>
+ <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+ <preferred-size width="150" height="-1" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+ <preferred-size width="150" height="50" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+ <preferred-size width="200" height="200" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+ </item>
+ <item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
+ </item>
+ <item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
+ <preferred-size width="-1" height="20" />
+ </default-constraints>
+ </item>
+ <item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
+ <default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
+ </item>
+ <item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
+ <default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
+ </item>
+ </group>
+ </component>
+</project>
+
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..ebabb34
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="VcsDirectoryMappings">
+ <mapping directory="" vcs="svn" />
+ </component>
+</project>
+
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
new file mode 100644
index 0000000..4d22332
--- /dev/null
+++ b/.idea/workspace.xml
@@ -0,0 +1,786 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="ChangeListManager">
+ <list default="true" readonly="true" id="bb4f6671-e85b-4164-be01-63c11ff89d43" name="Default" comment="" />
+ <ignored path=".idea/workspace.xml" />
+ <ignored path="jabref.iws" />
+ <ignored path=".idea/" />
+ <option name="TRACKING_ENABLED" value="true" />
+ <option name="SHOW_DIALOG" value="false" />
+ <option name="HIGHLIGHT_CONFLICTS" value="true" />
+ <option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
+ <option name="LAST_RESOLUTION" value="IGNORE" />
+ </component>
+ <component name="ChangesViewManager" flattened_view="true" show_ignored="false" />
+ <component name="Commander">
+ <leftPanel />
+ <rightPanel />
+ <splitter proportion="0.5" />
+ </component>
+ <component name="CreatePatchCommitExecutor">
+ <option name="PATCH_PATH" value="" />
+ <option name="REVERSE_PATCH" value="false" />
+ </component>
+ <component name="DaemonCodeAnalyzer">
+ <disable_hints />
+ </component>
+ <component name="DebuggerManager">
+ <breakpoint_any>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint>
+ <option name="NOTIFY_CAUGHT" value="true" />
+ <option name="NOTIFY_UNCAUGHT" value="true" />
+ <option name="ENABLED" value="false" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ </breakpoint_any>
+ <breakpoint_rules />
+ <ui_properties />
+ </component>
+ <component name="FavoritesManager">
+ <favorites_list name="jabref" />
+ </component>
+ <component name="FileColors" enabled="true" enabledForTabs="true" />
+ <component name="FileEditorManager">
+ <leaf>
+ <file leaf-file-name="Authors.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Authors.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="304" column="47" selection-start="10056" selection-end="10056" vertical-scroll-proportion="1.1610942">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="BibLatexEntryTypes.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/BibLatexEntryTypes.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="390" column="40" selection-start="16370" selection-end="16370" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="JabRefPlugin.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/plugin/core/JabRefPlugin.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="32" column="50" selection-start="939" selection-end="939" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="Default.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Default.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="8" column="13" selection-start="256" selection-end="256" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="Replace.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Replace.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="40" column="8" selection-start="1399" selection-end="1436" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="FieldNameLabel.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/FieldNameLabel.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="14" column="30" selection-start="341" selection-end="341" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="FileListEditor.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/gui/FileListEditor.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="448" column="22" selection-start="17654" selection-end="17654" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="Globals.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/Globals.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="284" column="8" selection-start="10148" selection-end="10148" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="plugin.xml" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/plugins/net.sf.jabref.core/plugin.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2" column="34" selection-start="162" selection-end="162" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="JabRef.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/JabRef.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="761" column="59" selection-start="32426" selection-end="32469" vertical-scroll-proportion="0.0">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ </leaf>
+ </component>
+ <component name="FindManager">
+ <FindUsagesManager>
+ <setting name="OPEN_NEW_TAB" value="false" />
+ </FindUsagesManager>
+ </component>
+ <component name="IdeDocumentHistory">
+ <option name="changedFiles">
+ <list>
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/export/FileActions.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/BibtexStringComparator.java" />
+ <option value="$PROJECT_DIR$/src/plugins/net.sf.jabref.core/plugin.xml" />
+ <option value="$PROJECT_DIR$/build.xml" />
+ <option value="$PROJECT_DIR$/src/txt/README" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/JabRefPreferences.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/JabRef.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/JabRefFrame.java" />
+ <option value="$PROJECT_DIR$/src/help/About.html" />
+ <option value="$PROJECT_DIR$/src/txt/CHANGELOG" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/EntryTypeDialog.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/FieldNameLabel.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/gui/FileListEditor.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/Globals.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/GUIGlobals.java" />
+ <option value="$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Authors.java" />
+ </list>
+ </option>
+ </component>
+ <component name="ModuleEditorState">
+ <option name="LAST_EDITED_MODULE_NAME" />
+ <option name="LAST_EDITED_TAB_NAME" />
+ </component>
+ <component name="ProjectInspectionProfilesVisibleTreeState">
+ <entry key="Project Default">
+ <profile-state />
+ </entry>
+ </component>
+ <component name="ProjectLevelVcsManager">
+ <OptionsSetting value="true" id="Add" />
+ <OptionsSetting value="true" id="Remove" />
+ <OptionsSetting value="true" id="Checkout" />
+ <OptionsSetting value="true" id="Update" />
+ <OptionsSetting value="true" id="Status" />
+ <OptionsSetting value="true" id="Edit" />
+ <ConfirmationsSetting value="0" id="Add" />
+ <ConfirmationsSetting value="0" id="Remove" />
+ </component>
+ <component name="ProjectReloadState">
+ <option name="STATE" value="0" />
+ </component>
+ <component name="ProjectView">
+ <navigator currentView="ProjectPane" proportions="" version="1" splitterProportion="0.5">
+ <flattenPackages />
+ <showMembers />
+ <showModules />
+ <showLibraryContents />
+ <hideEmptyPackages />
+ <abbreviatePackageNames />
+ <autoscrollToSource />
+ <autoscrollFromSource />
+ <sortByType />
+ </navigator>
+ <panes>
+ <pane id="Scope" />
+ <pane id="Favorites" />
+ <pane id="ProjectPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="resource" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="resource" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Resource Bundle 'Menu'" />
+ <option name="myItemType" value="com.intellij.lang.properties.projectView.ResourceBundleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="plugins" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="plugins" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="net.sf.jabref.core" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osx" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="osxadapter" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ <pane id="PackagesPane">
+ <subPane>
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="Jabref" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </pane>
+ </panes>
+ </component>
+ <component name="PropertiesComponent">
+ <property name="GoToFile.includeJavaFiles" value="false" />
+ <property name="project.structure.last.edited" value="Project" />
+ <property name="OverrideImplement.combined" value="true" />
+ <property name="project.structure.proportion" value="0.0" />
+ <property name="options.splitter.main.proportions" value="0.3" />
+ <property name="RESOURCE_BUNDLE_SPLITTER_PROPORTION" value="0.5" />
+ <property name="recentsLimit" value="5" />
+ <property name="options.lastSelected" value="preferences.editor" />
+ <property name="MemberChooser.sorted" value="false" />
+ <property name="project.structure.side.proportion" value="0.0" />
+ <property name="MemberChooser.copyJavadoc" value="false" />
+ <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+ <property name="MemberChooser.showClasses" value="true" />
+ <property name="GoToClass.includeLibraries" value="false" />
+ <property name="options.searchVisible" value="true" />
+ <property name="options.splitter.details.proportions" value="0.2" />
+ <property name="dynamic.classpath" value="false" />
+ </component>
+ <component name="RunManager" selected="Application.Authors">
+ <configuration default="false" name="Authors" type="Application" factoryName="Application" temporary="true">
+ <extension name="snapshooter" />
+ <option name="MAIN_CLASS_NAME" value="net.sf.jabref.export.layout.format.Authors" />
+ <option name="VM_PARAMETERS" />
+ <option name="PROGRAM_PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="Jabref" />
+ <envs />
+ <RunnerSettings RunnerId="Run" />
+ <ConfigurationWrapper RunnerId="Run" />
+ <method />
+ </configuration>
+ <configuration default="true" type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="5005" />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="TestNG" factoryName="TestNG">
+ <extension name="snapshooter" />
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="SUITE_NAME" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="GROUP_NAME" />
+ <option name="TEST_OBJECT" value="CLASS" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" />
+ <option name="OUTPUT_DIRECTORY" />
+ <option name="ANNOTATION_TYPE" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="moduleWithDependencies" />
+ </option>
+ <option name="USE_DEFAULT_REPORTERS" value="false" />
+ <option name="PROPERTIES_FILE" />
+ <envs />
+ <properties />
+ <listeners />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Applet" factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="Application" factoryName="Application">
+ <extension name="snapshooter" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="VM_PARAMETERS" />
+ <option name="PROGRAM_PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="ENABLE_SWING_INSPECTOR" value="false" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <module name="" />
+ <envs />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <configuration default="true" type="JUnit" factoryName="JUnit">
+ <extension name="snapshooter" />
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+ <option name="ENV_VARIABLES" />
+ <option name="PASS_PARENT_ENVS" value="true" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="moduleWithDependencies" />
+ </option>
+ <envs />
+ <method>
+ <option name="AntTarget" enabled="false" />
+ <option name="BuildArtifacts" enabled="false" />
+ <option name="Make" enabled="true" />
+ <option name="Maven.BeforeRunTask" enabled="false" />
+ </method>
+ </configuration>
+ <list size="1">
+ <item index="0" class="java.lang.String" itemvalue="Application.Authors" />
+ </list>
+ <configuration name="<template>" type="WebApp" default="true" selected="false">
+ <Host>localhost</Host>
+ <Port>5050</Port>
+ </configuration>
+ </component>
+ <component name="ShelveChangesManager" show_recycled="false" />
+ <component name="StructureViewFactory">
+ <option name="ACTIVE_ACTIONS" value="SHOW_INHERITED,ALPHA_COMPARATOR" />
+ </component>
+ <component name="SvnConfiguration" maxAnnotateRevisions="500">
+ <option name="USER" value="" />
+ <option name="PASSWORD" value="" />
+ <option name="LAST_MERGED_REVISION" />
+ <option name="UPDATE_RUN_STATUS" value="false" />
+ <option name="MERGE_DRY_RUN" value="false" />
+ <option name="MERGE_DIFF_USE_ANCESTRY" value="true" />
+ <option name="UPDATE_LOCK_ON_DEMAND" value="false" />
+ <option name="IGNORE_SPACES_IN_MERGE" value="false" />
+ <option name="DETECT_NESTED_COPIES" value="true" />
+ <option name="IGNORE_SPACES_IN_ANNOTATE" value="true" />
+ <option name="SHOW_MERGE_SOURCES_IN_ANNOTATE" value="true" />
+ <configuration useDefault="true">$PROJECT_DIR$/../.subversion</configuration>
+ <myIsUseDefaultProxy>false</myIsUseDefaultProxy>
+ <supportedVersion>125</supportedVersion>
+ </component>
+ <component name="SvnFileUrlMappingImpl">
+ <option name="myMappingRoots">
+ <list>
+ <SvnCopyRootSimple>
+ <option name="myVcsRoot" value="$PROJECT_DIR$" />
+ <option name="myCopyRoot" value="$PROJECT_DIR$" />
+ </SvnCopyRootSimple>
+ <SvnCopyRootSimple>
+ <option name="myVcsRoot" value="$PROJECT_DIR$/src" />
+ <option name="myCopyRoot" value="$PROJECT_DIR$/src" />
+ </SvnCopyRootSimple>
+ </list>
+ </option>
+ <option name="myMoreRealMappingRoots">
+ <list>
+ <SvnCopyRootSimple>
+ <option name="myVcsRoot" value="$PROJECT_DIR$" />
+ <option name="myCopyRoot" value="$PROJECT_DIR$" />
+ </SvnCopyRootSimple>
+ </list>
+ </option>
+ </component>
+ <component name="ToolWindowManager">
+ <frame x="0" y="0" width="1366" height="743" extended-state="0" />
+ <editor active="true" />
+ <layout>
+ <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32885906" sideWeight="0.0" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
+ <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.09353612" sideWeight="0.7600671" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2486692" sideWeight="0.6610738" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.32927758" sideWeight="0.659396" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
+ <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32885906" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+ <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32885906" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
+ <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+ <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.41275167" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+ <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.22818792" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+ <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
+ <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
+ </layout>
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="OFFER_MOVE_TO_ANOTHER_CHANGELIST_ON_PARTIAL_COMMIT" value="true" />
+ <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="PERFORM_UPDATE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_COMMIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_EDIT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_CHECKOUT_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ADD_REMOVE_IN_BACKGROUND" value="true" />
+ <option name="PERFORM_ROLLBACK_IN_BACKGROUND" value="false" />
+ <option name="CHECK_LOCALLY_CHANGED_CONFLICTS_IN_BACKGROUND" value="false" />
+ <option name="ENABLE_BACKGROUND_PROCESSES" value="false" />
+ <option name="CHANGED_ON_SERVER_INTERVAL" value="60" />
+ <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+ <option name="LAST_COMMIT_MESSAGE" value="A couple of bug fixes for Authors." />
+ <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="true" />
+ <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+ <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+ <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+ <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+ <option name="ACTIVE_VCS_NAME" />
+ <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+ <option name="UPDATE_GROUP_BY_CHANGELIST" value="false" />
+ <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+ <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+ <MESSAGE value="Fixed lockup bug when generating key for entries with crossref fields." />
+ <MESSAGE value="Added call to ParserResult.setFile() after parsing file in OpenDatabaseAction." />
+ <MESSAGE value="Fixed potential NullPointerException." />
+ <MESSAGE value="BibTeX strings are now resolved before attempting to (un)abbreviate journal names." />
+ <MESSAGE value="Added Vietnamese translation" />
+ <MESSAGE value="Font and background colors are now customizable in the entry editor." />
+ <MESSAGE value="Font and background colors are now customizable in the entry editor - now applied without restarting JabRef." />
+ <MESSAGE value="Introduced three choices for ensuring unique generated keys. The default one (marking with a, b, etc.), a modified one (marking with b, c, etc.) and always adding a letter (a, b, etc.)." />
+ <MESSAGE value="Fixed bug in post-formatting of fields in export layouts. Post-processing would only be called if one or more formatters were explicitly called for a field." />
+ <MESSAGE value="BibTeX strings that refer each other are now sorted correctly when saving bib file." />
+ <MESSAGE value="Made change to suppress problem with cookies from jstor.org." />
+ <MESSAGE value="Masked ScienceDirect fetcher, which doesn't work due to web portal changes." />
+ <MESSAGE value="Updated splash image and version number in preparation for version 2.7 beta." />
+ <MESSAGE value="Some cleanup related to restoring window size and maximisation state at startup." />
+ <MESSAGE value="Trying out a change to restoring maximised state under Linux." />
+ <MESSAGE value="Another modification of window size setting on startup." />
+ <MESSAGE value="Added extra call to update source after linking file by drag and drop." />
+ <MESSAGE value="Some improvements to MS Office export filter." />
+ <MESSAGE value="Fixed some minor mistakes in Swing component arguments, thanks to Werner Dietl for the tips." />
+ <MESSAGE value="Added new flexible formatter Authors." />
+ <MESSAGE value="Implemented more options in Authors formatter." />
+ <MESSAGE value="Furter work on Authors formatter." />
+ <MESSAGE value="A couple of bug fixed for Authors." />
+ <MESSAGE value="A couple of bug fixes for Authors." />
+ </component>
+ <component name="XDebuggerManager">
+ <breakpoint-manager />
+ </component>
+ <component name="antWorkspaceConfiguration">
+ <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+ <option name="FILTER_TARGETS" value="true" />
+ <buildFile url="file://$PROJECT_DIR$/build.xml">
+ <antCommandLine value="" />
+ <runInBackground value="true" />
+ <targetFilters>
+ <filter targetName="build" isVisible="true" />
+ <filter targetName="buildinfos" isVisible="false" />
+ <filter targetName="buildtest" isVisible="false" />
+ <filter targetName="clean" isVisible="true" />
+ <filter targetName="compile" isVisible="false" />
+ <filter targetName="compiletest" isVisible="false" />
+ <filter targetName="docs" isVisible="false" />
+ <filter targetName="extension-javadocs" isVisible="false" />
+ <filter targetName="extensions" isVisible="false" />
+ <filter targetName="generate" isVisible="false" />
+ <filter targetName="jalopy" isVisible="false" />
+ <filter targetName="jars" isVisible="true" />
+ <filter targetName="javadocs" isVisible="false" />
+ <filter targetName="javancss" isVisible="false" />
+ <filter targetName="non_osx" isVisible="true" />
+ <filter targetName="osx" isVisible="false" />
+ <filter targetName="osxjar" isVisible="false" />
+ <filter targetName="pmd" isVisible="false" />
+ <filter targetName="profile" isVisible="false" />
+ <filter targetName="run" isVisible="true" />
+ <filter targetName="runFromJar" isVisible="true" />
+ <filter targetName="test" isVisible="false" />
+ <filter targetName="unjarlib" isVisible="false" />
+ <filter targetName="win.installer" isVisible="false" />
+ <filter targetName="win.installer.clean" isVisible="false" />
+ <filter targetName="win.installer.linux" isVisible="false" />
+ </targetFilters>
+ <treeView value="true" />
+ <verbose value="true" />
+ <viewClosedWhenNoErrors value="false" />
+ </buildFile>
+ </component>
+ <component name="editorHistoryManager">
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/JabRefPreferences.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1274" column="0" selection-start="54927" selection-end="54927" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/help/About.html">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="65" column="21" selection-start="1605" selection-end="1605" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/GUIGlobals.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="253" column="39" selection-start="8683" selection-end="8683" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/CustomEntryType.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="11" column="13" selection-start="229" selection-end="229" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/AuthorList.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="1070" column="41" selection-start="37800" selection-end="37800" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="jar://$PROJECT_DIR$/lib/plugin/jpf.jar!/org/java/plugin/PluginManager.class">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="5" column="29" selection-start="169" selection-end="169" vertical-scroll-proportion="-2.5784314" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/BibLatexEntryTypes.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="390" column="40" selection-start="16370" selection-end="16370" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/plugin/core/JabRefPlugin.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="32" column="50" selection-start="939" selection-end="939" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Default.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="8" column="13" selection-start="256" selection-end="256" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Replace.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="40" column="8" selection-start="1399" selection-end="1436" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/FieldNameLabel.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="14" column="30" selection-start="341" selection-end="341" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/gui/FileListEditor.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="448" column="22" selection-start="17654" selection-end="17654" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/Globals.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="284" column="8" selection-start="10148" selection-end="10148" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/plugins/net.sf.jabref.core/plugin.xml">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="2" column="34" selection-start="162" selection-end="162" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/JabRef.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="761" column="59" selection-start="32426" selection-end="32469" vertical-scroll-proportion="0.0" />
+ </provider>
+ </entry>
+ <entry file="file://$PROJECT_DIR$/src/java/net/sf/jabref/export/layout/format/Authors.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="304" column="47" selection-start="10056" selection-end="10056" vertical-scroll-proportion="1.1610942">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </component>
+ <component name="masterDetails">
+ <states>
+ <state key="ArtifactsStructureConfigurable.UI">
+ <UIState>
+ <splitter-proportions>
+ <SplitterProportionsDataImpl>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </SplitterProportionsDataImpl>
+ </splitter-proportions>
+ <settings />
+ </UIState>
+ </state>
+ <state key="Copyright.UI">
+ <UIState>
+ <splitter-proportions>
+ <SplitterProportionsDataImpl />
+ </splitter-proportions>
+ </UIState>
+ </state>
+ <state key="ProjectJDKs.UI">
+ <UIState>
+ <splitter-proportions>
+ <SplitterProportionsDataImpl>
+ <option name="proportions">
+ <list>
+ <option value="0.2" />
+ </list>
+ </option>
+ </SplitterProportionsDataImpl>
+ </splitter-proportions>
+ </UIState>
+ </state>
+ <state key="ScopeChooserConfigurable.UI">
+ <UIState>
+ <splitter-proportions>
+ <SplitterProportionsDataImpl />
+ </splitter-proportions>
+ <settings />
+ </UIState>
+ </state>
+ </states>
+ </component>
+</project>
+
diff --git a/build.number b/build.number
index bafe691..f9d0aa6 100644
--- a/build.number
+++ b/build.number
@@ -1,3 +1,3 @@
#Build Number for ANT. Do not edit!
-#Tue Apr 13 17:49:31 CEST 2010
-build.number=310
+#Thu Jan 13 21:28:59 CET 2011
+build.number=289
diff --git a/build.xml b/build.xml
index 17d52f1..57bd396 100644
--- a/build.xml
+++ b/build.xml
@@ -22,8 +22,8 @@
Compiler: Ant
Authors: Joerg K. Wegner, wegnerj at informatik.uni-tuebingen.de
Morten O. Alver
- Version: $Revision: 3254 $
- $Date: 2010-04-10 13:24:44 +0200 (Sat, 10 Apr 2010) $
+ Version: $Revision: 3362 $
+ $Date: 2010-11-10 22:22:40 +0100 (Wed, 10 Nov 2010) $
$Author: mortenalver $
modified:
@@ -47,7 +47,7 @@
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-->
<!-- some version information -->
- <property name="jabref.version" value="2.6" />
+ <property name="jabref.version" value="2.7b" />
<property name="jabref.placeholder.version" value="@version@" />
<!-- used by replace task -->
@@ -404,7 +404,18 @@ version=${jabref.version}</echo>
<target name="osxjar">
- <jarbundler dir="${build.lib}" name="JabRef" mainclass="net.sf.jabref.JabRef" jars="${build.lib}/${build.jar}" icon="${images.dir}/JabRef-Logo.icns" version="${jabref.version}" jvmversion="1.4+" stubfile="${lib.dir}/JavaApplicationStub" />
+ <jarbundler dir="${build.lib}"
+ name="JabRef"
+ mainclass="net.sf.jabref.JabRef"
+ jars="${build.lib}/${build.jar}"
+ icon="${images.dir}/JabRef-Logo.icns"
+ version="${jabref.version}"
+ jvmversion="1.4+"
+ stubfile="${lib.dir}/JavaApplicationStub"
+ signature="JABr">
+ <documenttype name="BibTeX file" extensions="bib" role="Editor"
+ iconFile="${images.dir}/JabRef-Logo.icns"/>
+ </jarbundler>
</target>
@@ -612,6 +623,6 @@ Number (CCN) maintenance
</jalopy>
</target>
- <taskdef name="jarbundler" classpath="${lib.dir}/jarbundler-1.4.jar" classname="com.loomcom.ant.tasks.jarbundler.JarBundler" />
+ <taskdef name="jarbundler" classpath="${lib.dir}/jarbundler-2.1.0.jar" classname="net.sourceforge.jarbundler.JarBundler" />
</project>
diff --git a/src/Jabref.iml b/src/Jabref.iml
index a58b96e..a586c83 100644
--- a/src/Jabref.iml
+++ b/src/Jabref.iml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<module relativePaths="true" type="JAVA_MODULE" version="4">
+<module type="JAVA_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$">
@@ -8,105 +8,7 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="plugin" level="project" />
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/glazedlists-1.7.0_java15.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/microba.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/spin.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/JempBox-0.2.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/forms-1.1.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/antlr-3.0b5.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/PDFBox-0.7.3-dev-reduced.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/antlr.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/looks-2.2.0.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/mysql-connector-java-5.0.7-bin.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
- <orderEntry type="module-library">
- <library>
- <CLASSES>
- <root url="jar://$MODULE_DIR$/../lib/junit.jar!/" />
- </CLASSES>
- <JAVADOC />
- <SOURCES />
- </library>
- </orderEntry>
+ <orderEntry type="library" name="lib" level="project" />
</component>
</module>
diff --git a/src/help/ACMPortalHelp.html b/src/help/ACMPortalHelp.html
index 88a1887..3e4e9df 100644
--- a/src/help/ACMPortalHelp.html
+++ b/src/help/ACMPortalHelp.html
@@ -1,9 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4"
- color="#2F4958"
- face="arial" />
+<body>
<h1>Search ACM Portal</h1>
diff --git a/src/help/About.html b/src/help/About.html
index cbe66ef..afa9004 100755
--- a/src/help/About.html
+++ b/src/help/About.html
@@ -1,12 +1,14 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<center>
<h1>JabRef version @version@</h1>
- <p>(c) 2009</p>
+ <p>(c) 2011</p>
<p><img src="/images/JabRef-icon-48.png" /></p>
@@ -63,6 +65,7 @@
Jeffrey Kuhn,
Uwe Kuehn,
Alex Montgomery,
+ Saverio Mori,
Ambrogio Oliva,
Stephan Rave,
John Relph,
diff --git a/src/help/Autosave.html b/src/help/Autosave.html
index aadf95b..80a462b 100644
--- a/src/help/Autosave.html
+++ b/src/help/Autosave.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Autosave</h1>
<p>The autosave feature helps prevent loss of data if your computer or JabRef crashes.
diff --git a/src/help/BaseFrameHelp.html b/src/help/BaseFrameHelp.html
index 8522fdd..e1126bb 100755
--- a/src/help/BaseFrameHelp.html
+++ b/src/help/BaseFrameHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>The JabRef main window</h1>
diff --git a/src/help/BibtexHelp.html b/src/help/BibtexHelp.html
index c415302..86c2ce0 100755
--- a/src/help/BibtexHelp.html
+++ b/src/help/BibtexHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>About <em>bibtex</em></h1>
diff --git a/src/help/CiteSeerHelp.html b/src/help/CiteSeerHelp.html
index fa7eda0..272d82d 100644
--- a/src/help/CiteSeerHelp.html
+++ b/src/help/CiteSeerHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Importing From CiteSeer</h1>
diff --git a/src/help/CommandLine.html b/src/help/CommandLine.html
index 33796ca..d618e14 100644
--- a/src/help/CommandLine.html
+++ b/src/help/CommandLine.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Command line options</h1>
diff --git a/src/help/ContentSelectorHelp.html b/src/help/ContentSelectorHelp.html
index df9b325..175600e 100755
--- a/src/help/ContentSelectorHelp.html
+++ b/src/help/ContentSelectorHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Field content selector</h1>
diff --git a/src/help/Contents.html b/src/help/Contents.html
index 759ad80..253cb87 100755
--- a/src/help/Contents.html
+++ b/src/help/Contents.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial">
+<body>
<h1>Help contents</h1>
diff --git a/src/help/CustomEntriesHelp.html b/src/help/CustomEntriesHelp.html
index 307a570..320bf8d 100644
--- a/src/help/CustomEntriesHelp.html
+++ b/src/help/CustomEntriesHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Customizing entry types</h1>
diff --git a/src/help/CustomExports.html b/src/help/CustomExports.html
index 2fd5fce..7a88132 100644
--- a/src/help/CustomExports.html
+++ b/src/help/CustomExports.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Custom export filters</h1>
@@ -204,7 +206,7 @@
distribute a collection of submitted layout files, or to add to
the selection of standard export filters and formatters.</p>
- <p>Starting with JabRef 2.4b1 you can also package your
+ <p>Starting with JabRef 2.4 you can also package your
ExportFormat or LayoutFormatter as a plug-in. If you do so,
you can provide a single zip-file to other user to make use
of your ExportFormat. For an example download the JabRef
@@ -215,79 +217,10 @@
<h2>Built-in export formatters</h2>
- <p>JabRef provides the following set of formatters, some of
- which depend on the others:</p>
+ <p>JabRef provides the following set of formatters:</p>
<ul>
-
- <li><code>AuthorAbbreviator</code> or <code>AuthorLastFirstAbbreviator</code>
- : abbreviates first and middle names of all authors. This formatter
- returns names with the last name first. Follow this formatter with
- AuthorFirstFirst to get abbreviated names with the initials first.</li>
-
- <li><code>AuthorAndsCommaReplacer</code> : replaces "and"
- between names with ",", and "&" between the last
- two.</li>
-
- <li><code>AuthorAndsReplacer</code> : replaces "and"
- between names with ";", and "&" between the last
- two.</li>
-
- <li><code>AuthorFirstFirst</code> : formats author/editor
- fields with the first names first.</li>
-
- <li><code>AuthorFirstFirstCommas</code> or <code>AuthorFirstLastCommas</code>
- : formats author/editor fields with the first names first, delimited by
- commas, with "and" between the last two names.</li>
-
- <li><code>AuthorFirstLastOxfordCommas</code> : similar
- to <code>AuthorFirstLastCommas</code>, except that the "and"
- between the last two names is preceded by a comma.</li>
-
- <li><code>AuthorFirstAbbrLastCommas</code> : formats
- author/editor fields with abbreviated first names first, delimited by
- commas, with "and" between the last two names.</li>
-
- <li><code>AuthorFirstAbbrLastOxfordCommas</code> : similar
- to <code>AuthorFirstAbbrLastCommas</code>, except that the "and"
- between the last two names is preceded by a comma.</li>
-
- <li><code>AuthorLastFirst</code> : formats author/editor
- fields with the last names first.</li>
-
- <li><code>AuthorLastFirstAbbrCommas</code> : formats
- author/editor fields with last names first and abbreviated first names
- last, delimited by commas, with "and" between the last two names.</li>
-
- <li><code>AuthorLastFirstAbbrOxfordCommas</code> : similar
- to <code>AuthorLastFirstAbbrCommas</code>, except that the "and"
- between the last two names is preceded by a comma.</li>
-
- <li><code>AuthorLastFirstCommas</code> : formats
- author/editor fields with the last names first, delimited by
- commas, with "and" between the last two names.</li>
-
- <li><code>AuthorLastFirstOxfordCommas</code> : similar
- to <code>AuthorLastFirstCommas</code>, except that the "and"
- between the last two names is preceded by a comma.</li>
-
- <li><code>AuthorLF_FF</code> : formats
- author/editor fields with last name first for the first author,
- and the first name first for the remaining authors. Returns
- names delimited with "and".</li>
-
- <li><code>AuthorLF_FFAbbr</code> : same as <code>AuthorLF_FF</code>,
- but abbreviates first names.</li>
-
- <li><code>AuthorNatBib</code> : formats author names in
- NatBib style, with last names only, separating names by
- "and" if there are two authors, and giving the first author
- followed by "et al." if there are more than two
- authors.</li>
-
- <li><code>AuthorOrgSci</code> : first author is in "last,
- first" all others in "first last". First names are
- abbreviated.</li>
+ <li><code>Authors</code> : this formatter provides formatting options for the author and editor fields; for detailed information, see below. It deprecates a range of dedicated formatters provided in versions of JabRef prior to 2.7.</li>
<li><code>CreateDocBookAuthors</code> : formats the author
field in DocBook style.</li>
@@ -307,6 +240,9 @@
If the string to format is non-empty, it is output without changes. If it is empty,
the default value is output. For instance, <code>\format[Default(unknown)]{\year}</code>
will output the entry's year if set, and "unknown" if no year is set.</li>
+
+ <li><code>DOIStrip</code> : strips any prefixes from the DOI string.</li>
+ <li><code>DOICheck</code> : provides the full url for a DOI link.</li>
<li><code>FileLink(filetype)</code> : if no argument is given, this formatter outputs
the first external file link encoded in the field. To work, the formatter must
@@ -322,11 +258,9 @@
For instance, if the pages field is set to "345-360" or "345--360",
this formatter will return "345".</li>
- <li><code>FormatPagesForHTML</code> : replaces "--" with
- "-".</li>
+ <li><code>FormatPagesForHTML</code> : replaces "--" with "-".</li>
- <li><code>FormatPagesForXML</code> : replaces "--" with an
- XML en-dash.</li>
+ <li><code>FormatPagesForXML</code> : replaces "--" with an XML en-dash.</li>
<li><code>GetOpenOfficeType</code> : returns the number used by the OpenOffice.org
bibliography system (versions 1.x and 2.x) to denote the type of this entry.</li>
@@ -349,9 +283,6 @@
For instance, if the pages field is set to "345-360" or "345--360",
this formatter will return "360".</li>
- <li><code>NoSpaceBetweenAbbreviations</code> : spaces
- between multiple abbreviated first names are removed.</li>
-
<li><code>Number</code> : outputs the 1-based sequence number of the current entry in the
current export. This formatter can be used to make a numbered list of entries. The
sequence number depends on the current entry's place in the current sort order, not on
@@ -359,8 +290,7 @@
<li><code>RemoveBrackets</code> : removes all curly brackets "{" or "}".</li>
- <li><code>RemoveBracketsAddComma</code> : to be
- documented.</li>
+ <li><code>RemoveBracketsAddComma</code> : to be documented.</li>
<li><code>RemoveLatexCommands</code> : removes LaTeX
commands like <code>\em</code>, <code>\textbf</code>, etc.
@@ -378,13 +308,13 @@
<li><code>Replace(regexp,replacewith)</code> : does a regular expression replacement.
To use this formatter, a two-part argument must be given. The parts are
separated by a comma. To indicate the comma character, use an escape
- sequence: \,<br> <br>
+ sequence: \,<br/> <br/>
The first part is the regular expression to search for. Remember that any commma
character must be preceded by a backslash, and consequently a literal backslash must
be written as a pair of backslashes. A description of Java regular expressions can be
- found at:<br>
+ found at:<br/>
http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html
- <br> <br>
+ <br/> <br/>
The second part is the text to replace all matches with.</li>
<li><code>RTFChars</code> : replaces TeX-specific special
@@ -411,71 +341,124 @@
characters (e.g. {\^a} or {\"{o}}) with their XML
representations.</li>
-
-
</ul>
- <h3>The <code>WrapFileLinks</code> formatter</h3>
-
- This formatter iterates over all file links, or all file links of a specified
- type, outputting a format string given as the first argument. The format string
- can contain a number of escape sequences indicating file link information to
- be inserted into the string.
- <p/>
- This formatter can take an optional second argument specifying the name of a file
- type. If specified, the iteration will only include those files with a file type
- matching the given name (case-insensitively). If specified as an empty argument,
- all file links will be included.
- <p/>
- After the second argument, pairs of additional arguments can be added in order to
- specify regular expression replacements to be done upon the inserted link information
- before insertion into the output string. A non-paired argument will be ignored.
- In order to specify replacements without filtering on file types, use an empty second
- argument.
- <p/>
- The escape sequences for embedding information are as follows:
- <p/>
- \i : This inserts the iteration index (starting from 1), and can be useful if
- the output list of files should be enumerated.<br>
- \p : This inserts the file path of the file link.<br>
- \f : This inserts the name of the file link's type.<br>
- \x : This inserts the file's extension, if any.<br>
- \d : This inserts the file link's description, if any.<br>
- <p/>
- For instance, an entry could contain a file link to the file "/home/john/report.pdf"
- of the "PDF" type with description "John's final report".
- <p/>
- Using the WrapFileLinks formatter with the following argument:
- <p/>
- \format[WrapFileLinks(\i. \d (\p))]{\file}
- <p/>
- would give the following output:<br>
- <pre>1. John's final report (/home/john/report.pdf)</pre>
- <p/>
- If the entry contained a second file link to the file "/home/john/draft.txt" of the
- "Text file" type with description 'An early "draft"', the output would be as follows:<br>
- <pre>1. John's final report (/home/john/report.pdf)</pre>
- <pre>2. An early "draft" (/home/john/draft.txt)</pre>
- <p/>
- If the formatter was called with a second argument, the list would be filtered.
- For instance:<br>
- <pre>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</pre>
- <p/>
- would show only the text file:<br>
- <pre>1. An early "draft" (/home/john/draft.txt)</pre>
- <p/>
- If we wanted this output to be part of an XML styled output, the quotes in the
- file description could cause problems. Adding two additional arguments to translate
- the quotes into XML characters solves this:<br>
- \format[WrapFileLinks(\i. \d (\p),,text file,",")]{\file}
- <p/>
- would give the following output:<br>
- <pre>1. An early "draft" (/home/john/draft.txt)</pre>
- <p/>Additional pairs of replacements could be added.
+<h3>The <code>Authors</code> formatter</h3>
+
+<p>To accommodate for the numerous citation styles, the <code>Authors</code> formatter allows flexible control over the layout of the author list. The formatter takes a comma-separated list of options, by which the default values can be overridden. The following option/value pairs are currently available, where the default values are given in curly brackets.</p>
+<dl>
+<dt><code>AuthorSort = [ {FirstFirst} | LastFirst | LastFirstFirstFirst ]</code></dt>
+<dd>specifies the order in which the author names are formatted.
+ <ul>
+ <li><code>FirstFirst</code> : first names are followed by the surname.</li>
+ <li><code>LastFirst</code> : the authors' surnames are followed by their first names, separated by a comma.</li>
+ <li><code>LastFirstFirstFirst</code> : the first author is formatted as LastFirst, the subsequent authors as FirstFirst.</li>
+ </ul>
+</dd>
+
+<dt><code>AuthorAbbr = [ FullName | LastName | {Initials} | InitialsNoSpace | FirstInitial | MiddleInitial ]</code></dt>
+<dd>specifies how the author names are abbreviated.
+ <ul>
+ <li><code>FullName</code> : shows full author names; first names are not abbreviated.</li>
+ <li><code>LastName</code> : show only surnames, first names are removed.</li>
+ <li><code>Initials</code> : all first names are abbreviated.</li>
+ <li><code>InitialsNospace</code> : as Initials, with any spaces between initials removed.</li>
+ <li><code>FirstInitial</code> : only first initial is shown.</li>
+ <li><code>MiddleInitial</code> : first name is shown, but all middle names are abbreviated.</li>
+ </ul>
+</dd>
+
+<dt><code>AuthorPunc = [ {FullPunc} | NoPunc | NoComma | NoPeriod ]</code></dt>
+<dd>specifies the punctuation used in the author list when <code>AuthorAbbr</code> is used
+ <ul>
+ <li><code>FullPunc</code> : no changes are made to punctuation.</li>
+ <li><code>NoPunc</code> : all full stops and commas are removed from the author name.</li>
+ <li><code>NoComma</code> : all commas are removed from the author name.</li>
+ <li><code>NoPeriod</code> : all full stops are removed from the author name.</li>
+ </ul>
+</dd>
+
+<dt><code>AuthorSep = [ {Comma} | And | Colon | Semicolon | Sep=<string> ]</code></dt>
+<dd>specifies the separator to be used between authors. Any separator can be specified, with the <code>Sep=<string></code> option. Note that appropriate spaces need to be added around <code>string</code>.</dd>
+
+<dt><code>AuthorLastSep = [ Comma | {And} | Colon | Semicolon | Amp | Oxford | LastSep=<string> ]</code></dt>
+<dd>specifies the last separator in the author list. Any separator can be specified, with the <code>LastSep=<string></code> option. Note that appropriate spaces need to be added around <code>string</code>.</dd>
+
+<dt><code>AuthorNumber = [ {inf} | <integer> ]</code></dt>
+<dd>specifies the number of authors that are printed. If the number of authors exceeds the maximum specified, the authorlist is replaced by the first author, followed by <code>EtAlString</code>.</dd>
+
+<dt><code>EtAlString = [ { et al.} | EtAl=<string> ]</code></dt>
+<dd>specifies the string used to replace multiple authors. Any string can be given, using <code>EtAl=<string></code></dd>
+
+</dl>
+
+<p>If an option is unspecified, the default value (shown in curly brackets above) is used. Therefore, only layout options that differ from the defaults need to be specified. The order in which the options are defined is (mostly) irrelevant. So, for example,</p>
+<p><code>\format[Authors(Initials,Oxford)]{\author}</code></p>
+<p>is equivalent to</p>
+<p><code>\format[Authors(Oxford,Initials)]{\author}</code></p>
+<p>As mentioned, the order in which the options are specified is irrelevant. There is one possibility for ambiguity, and that is if both <code>AuthorSep</code> and <code>AuthorLastSep</code> are given. In that case, the first applicable value encountered would be for <code>AuthorSep</code>, and the second for <code>AuthorLastSep</code>. It is good practise to specify both when changing the default, to avoid ambiguity.</p>
+
+<h4>Examples</h4>
+<p>Given the following authors, <i>"Joe James Doe and Mary Jane and Bruce Bar and Arthur Kay"</i> ,the <code>Authors</code> formatter will give the following results:</p>
+<dl>
+<dt><code>Authors()</code>, or equivalently, <code>Authors(FirstFirst,Initials,FullPunc,Comma,And,inf,EtAl= et al.)</code></dt>
+<dd><pre>J. J. Doe, M. Jane, B. Bar and A. Kay</pre></dd>
+
+<dt><code>Authors(LastFirstFirstFirst,MiddleInitial,Semicolon)</code></dt>
+<dd><pre>Doe, Joe J.; Mary Jane; Bruce Bar and Arthur Kay</pre></dd>
+
+<dt><code>Authors(LastFirst,InitialsNoSpace,NoPunc,Oxford)</code></dt>
+<dd><pre>Doe JJ, Jane M, Bar B, and Kay A</pre></dd>
+
+<dt><code>Authors(2,EtAl= and others)</code></dt>
+<dd><pre>J. J. Doe and others</pre></dd>
+</dl>
+<p>Most commonly available citation formats should be possible with this formatter. For even more advanced options, consider using the Custom Formatters detailed below.</p>
+
+<h3>The <code>WrapFileLinks</code> formatter</h3>
+
+<p>This formatter iterates over all file links, or all file links of a specified type, outputting a format string given as the first argument. The format string can contain a number of escape sequences indicating file link information to be inserted into the string.</p>
+<p>This formatter can take an optional second argument specifying the name of a file type. If specified, the iteration will only include those files with a file type matching the given name (case-insensitively). If specified as an empty argument, all file links will be included.</p>
+<p> After the second argument, pairs of additional arguments can be added in order to specify regular expression replacements to be done upon the inserted link information before insertion into the output string. A non-paired argument will be ignored. In order to specify replacements without filtering on file types, use an empty second argument.</p>
+<p>The escape sequences for embedding information are as follows:</p>
+<ul>
+ <li><code>\i</code> : This inserts the iteration index (starting from 1), and can be useful if the output list of files should be enumerated.</li>
+ <li><code>\p</code> : This inserts the file path of the file link.</li>
+ <li><code>\f</code> : This inserts the name of the file link's type.</li>
+ <li><code>\x</code> : This inserts the file's extension, if any.</li>
+ <li><code>\d</code> : This inserts the file link's description, if any.</li>
+</ul>
+<p>For instance, an entry could contain a file link to the file "/home/john/report.pdf" of the "PDF" type with description "John's final report". Using the WrapFileLinks formatter with the following argument:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p))]{\file}</code></p>
+<p>would give the following output:</p>
+<pre>
+ 1. John's final report (/home/john/report.pdf)
+
+</pre>
+<p>If the entry contained a second file link to the file "/home/john/draft.txt" of the "Text file" type with description 'An early "draft"', the output would be as follows:</p>
+<pre>
+ 1. John's final report (/home/john/report.pdf)
+ 2. An early "draft" (/home/john/draft.txt)
+
+</pre>
+<p>If the formatter was called with a second argument, the list would be filtered. For instance:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</code></p>
+<p> would show only the text file:</p>
+<pre>
+ 1. An early "draft" (/home/john/draft.txt)
+
+</pre>
+<p>If we wanted this output to be part of an XML styled output, the quotes in the file description could cause problems. Adding two additional arguments to translate the quotes into XML characters solves this:</p>
+<p><code>\format[WrapFileLinks(\i. \d (\p),,text file,",")]{\file}</code></p>
+<p>would give the following output:</p>
+<pre>
+ 1. An early "draft" (/home/john/draft.txt)
+
+</pre>
+<p>Additional pairs of replacements could be added.</p>
<h3>Custom formatters</h3>
-
<p>If none of the available formatters can do what you want to
achieve, you can add your own by implementing the
<code>net.sf.jabref.export.layout.LayoutFormatter</code>
diff --git a/src/help/CustomImports.html b/src/help/CustomImports.html
index 3df9efd..fe986ff 100644
--- a/src/help/CustomImports.html
+++ b/src/help/CustomImports.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Custom import filters</h1>
diff --git a/src/help/DatabaseProperties.html b/src/help/DatabaseProperties.html
index 28c64cc..642825b 100644
--- a/src/help/DatabaseProperties.html
+++ b/src/help/DatabaseProperties.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Database properties window</h1>
<p><em>Opened from the main window by selecting <b>File -> Database properties</b></em></p>
diff --git a/src/help/EndNoteFilters.html b/src/help/EndNoteFilters.html
index 1dd2c40..d90c7a0 100644
--- a/src/help/EndNoteFilters.html
+++ b/src/help/EndNoteFilters.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>EndNote Export Filter</h1>
<h2>Export from JabRef</h2>
@@ -51,7 +52,7 @@
<p>The EndNote Export filter maps BibTeX entrytypes
to EndNote reference types as follows:</p>
<pre>
-BibTeX entrytype -> Endnote Reference Type
+BibTeX entrytype -> EndNote Reference Type
------------------------------------------
misc, other -> Generic
unpublished -> Manuscript
@@ -73,39 +74,9 @@ mastersthesis, phdthesis -> Thesis</pre>
in brackets will be assumed to be corporate authors and
therefore will be improperly formatted.</p>
- <h2>Advanced Use: Endnote Extras</h2>
-
- <h3>Installing the EndNote Import from JabRef filter</h3>
-
- <p>The default EndNote Import filter does not properly parse authors.
- The EndNote Import from JabRef filter does. Additionally, this
- filter will recognize a field endnotereftype that will override
- the default mapping. To install the filter, extract the EndNote
- Extras (<b>Tools -> Unpack EndNote filter set</b>) and
- unpack the Zip file which is created. Then follow the
- directions in the file Readme.txt.</p>
-
- <h3>Modifying EndNote Reference Types</h3>
-
- <p>Several fields used
- by BibTeX are not part of EndNote's default Reference Types.
- While import from JabRef and export to JabRef will work fine
- without modifying reference types, the field names will not
- display correctly in EndNote (e.g. an entry window will call
- the pdf field <i>Custom 1</i> instead of <i>pdf</i>.
- Additionally, these fields cannot be added to new entries in
- EndNote, since they will not appear in the entry window. To
- modify the EndNote Reference Types, extract the EndNote Extras
- and follow the directions in the file readme.txt.</p>
-
- <h3>Export to JabRef</h3>
+ <h2>Advanced Use: EndNote Extras</h2>
- <p>EndNote comes with an export style
- BibTeX. However, this does not support all BibTeX types and
- fields, and does not support the additional General Fields
- supported by JabRef (<i>pdf, owner, key,</i> etc.) If you wish
- to have these fields supported, extract the EndNote Extras
- (<b>Tools -> Unpack EndNote filter set</b>) and follow the
- directions in the file readme.txt.</p>
+ For better interoperability between EndNote and JabRef, download the
+ EndNote filter set from the Resources page of JabRef's web page.
</body>
</html>
diff --git a/src/help/EntryEditorHelp.html b/src/help/EntryEditorHelp.html
index 9120ace..958c9d0 100755
--- a/src/help/EntryEditorHelp.html
+++ b/src/help/EntryEditorHelp.html
@@ -1,9 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
- <h1>The entry editor</h1>
+<body>
+<h1>The entry editor</h1>
<p><em>Opened from main window by
double-clicking anywhere on the line of the entry, or selecting
diff --git a/src/help/ExternalFiles.html b/src/help/ExternalFiles.html
index 20383a9..5d11c79 100644
--- a/src/help/ExternalFiles.html
+++ b/src/help/ExternalFiles.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>PDF/PS/URL/DOI links in JabRef</h1>
diff --git a/src/help/FileLinks.html b/src/help/FileLinks.html
index fa0ef42..35d510d 100644
--- a/src/help/FileLinks.html
+++ b/src/help/FileLinks.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>File links in JabRef</h1>
diff --git a/src/help/GeneralFields.html b/src/help/GeneralFields.html
index 1651f9f..0174050 100644
--- a/src/help/GeneralFields.html
+++ b/src/help/GeneralFields.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Customizing general fields</h1>
diff --git a/src/help/GroupsHelp.html b/src/help/GroupsHelp.html
index 2427c49..6a20295 100644
--- a/src/help/GroupsHelp.html
+++ b/src/help/GroupsHelp.html
@@ -1,9 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
- <h1>Groups</h1>
+<body>
+<h1>Groups</h1>
<p>Groups allow to structure a BibTeX database in a
tree-like way that is similar to organizing files on disk in
diff --git a/src/help/HelpHelp.html b/src/help/HelpHelp.html
index a892537..a907074 100755
--- a/src/help/HelpHelp.html
+++ b/src/help/HelpHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>The help window</h1>
diff --git a/src/help/IEEEXploreHelp.html b/src/help/IEEEXploreHelp.html
index d477b11..50ff955 100644
--- a/src/help/IEEEXploreHelp.html
+++ b/src/help/IEEEXploreHelp.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Search IEEEXplore</h1>
<p>IEEEXplore delivers access to
diff --git a/src/help/ImportInspectionDialog.html b/src/help/ImportInspectionDialog.html
index 3635728..44fe93e 100644
--- a/src/help/ImportInspectionDialog.html
+++ b/src/help/ImportInspectionDialog.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Import inspection window</h1>
diff --git a/src/help/JSTOR.html b/src/help/JSTOR.html
index e21ab70..ef4818b 100644
--- a/src/help/JSTOR.html
+++ b/src/help/JSTOR.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>JStor search</h1>
diff --git a/src/help/JabRefHelp.html b/src/help/JabRefHelp.html
index dc6e31b..90b867c 100755
--- a/src/help/JabRefHelp.html
+++ b/src/help/JabRefHelp.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>JabRef</h1>
<p><strong>Note:</strong> The <em>bibtex</em> program is
diff --git a/src/help/JournalAbbreviations.html b/src/help/JournalAbbreviations.html
index d4ae3d5..049484f 100644
--- a/src/help/JournalAbbreviations.html
+++ b/src/help/JournalAbbreviations.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Journal abbreviations</h1>
<p>This feature can be configured
diff --git a/src/help/LabelPatterns.html b/src/help/LabelPatterns.html
index f5ee226..31d00aa 100644
--- a/src/help/LabelPatterns.html
+++ b/src/help/LabelPatterns.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Customizing the BibTeX key generator</h1>
diff --git a/src/help/MarkingHelp.html b/src/help/MarkingHelp.html
index 9d51e33..bf4aefb 100644
--- a/src/help/MarkingHelp.html
+++ b/src/help/MarkingHelp.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Mark entries</h1>
<p>You have the option of <em>marking</em>
@@ -10,18 +11,36 @@
and unmark the selected entries, respectively, and you can also
access these actions in the menus.</p>
- <p>Note that marking is not the same as selecting entries.
+ <p>Marking is not the same as selecting entries.
Marked entries behave differently from other entries in two
- ways. First, they are always displayed with a yellow background
- in the entry table. Second, they will float to the top of your
+ ways. First, they are always displayed with a different background
+ color in the entry table. Second, they will float to the top of your
entry list, as long as your table is not sorted according to
groups or a Float search.</p>
- <p>Saving your database will preserve the markings.</p>
+ <p>The color each marked entry is displayed in depends on the marking
+ level of the entry, with the default colors ranging from yellow to red.
+ There are menu choices both for incrementing the marking level of the
+ selected entry or entries, and for directly setting the marking to a specific
+ level.</p>
<p>Marking entries can be useful for instance if you need to do
several searches without losing your first search results, or
if you need to remember which articles or books to look more
closely at.</p>
+
+ <p>In addition to manually marking entries, JabRef can optionally auto-mark
+ the latest imported entries, and at the same time unmark the previous entries
+ marked in this way. Such entries will be shown in a different color
+ from manually marked entries - by default green. This feature is toggled under
+ <b>Options -> Preferences -> General</b></p>
+
+ <p>Marking of entries will be associated with your username, the same name as is
+ used to fill in the "owner" field of entries you create or import (this will by
+ default match your user name in the operating system, but can be changed under
+ <b>Options -> Preferences -> General</b>). Different users can mark entries
+ independently. Saving the database will preserve the markings.</p>
+
+
</body>
</html>
diff --git a/src/help/MedlineHelp.html b/src/help/MedlineHelp.html
index a399fb4..ad4d28e 100644
--- a/src/help/MedlineHelp.html
+++ b/src/help/MedlineHelp.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>Fetching Medline entries</h1>
<p>MEDLINE is the U.S. National Library of Medicine's premier
diff --git a/src/help/OpenOfficeHelp.html b/src/help/OpenOfficeHelp.html
index 4a095e5..5d47150 100644
--- a/src/help/OpenOfficeHelp.html
+++ b/src/help/OpenOfficeHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Using JabRef bibliographies in OpenOffice.org</h1>
diff --git a/src/help/OwnerHelp.html b/src/help/OwnerHelp.html
index 561fc27..1b3bbce 100644
--- a/src/help/OwnerHelp.html
+++ b/src/help/OwnerHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>The 'owner' field</h1>
diff --git a/src/help/Plugin.html b/src/help/Plugin.html
index 3de24d4..575c56d 100644
--- a/src/help/Plugin.html
+++ b/src/help/Plugin.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>JabRef Plugin System</h1>
<p>Starting with version 2.4, JabRef can be extended using a plugin system which was
diff --git a/src/help/PreviewHelp.html b/src/help/PreviewHelp.html
index ee168f1..cbf1d9b 100644
--- a/src/help/PreviewHelp.html
+++ b/src/help/PreviewHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Entry preview setup</h1>
diff --git a/src/help/RemoteHelp.html b/src/help/RemoteHelp.html
index cab093a..d24ba62 100644
--- a/src/help/RemoteHelp.html
+++ b/src/help/RemoteHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Remote operation</h1>
diff --git a/src/help/RevisionHistory.html b/src/help/RevisionHistory.html
index 13c9a24..e498b8f 100644
--- a/src/help/RevisionHistory.html
+++ b/src/help/RevisionHistory.html
@@ -1,10 +1,31 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Revision history</h1>
+
+ <h3>Version 2.6</h3>
+ <li>Fixed IEEExplorer and ACM fetchers to adapt to web site changes.</li>
+ <li>Active preview (1 or 2) is now remembered.</li>
+ <li>Applied patch by Igor L. Chernyavsky. to prevent loss of entry selection after
+ generating key.</li>
+ <li>Changed OpenDocument Spreadsheet export so the mimetype file is written correctly
+ at the start of the zip file.</li>
+ <li>Fixed bug when importing preferences: custom export filters would not be updated
+ after import.</li>
+ <li>Changed help page loading procedure so help pages can be loaded for plugin entry
+ fetchers.</li>
+ <li>Made it possible to define customized entry types with either-or conditions on
+ required fields, e.g. using a pseudo-field called "author/editor" will indicate
+ that the entry requires either the "author" or the "editor" field set.</li>
+ <li>Fixed bug: entries of a customized type could be indicated as complete even if
+ BibTeX key was not set.</li>
+ <li>Changed deletion process for some temporary files to avoid leftover files.</li>
+
<h3>Version 2.6beta3</h3>
<li>Added ScienceDirect entry fetcher that utilizes the BibSonomy scraper.</li>
diff --git a/src/help/SQLExport.html b/src/help/SQLExport.html
index 1331f62..1dd9e9b 100644
--- a/src/help/SQLExport.html
+++ b/src/help/SQLExport.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Export to an External SQL Database</h1>
diff --git a/src/help/ScienceDirect.html b/src/help/ScienceDirect.html
index 792f5f8..85b9aa3 100644
--- a/src/help/ScienceDirect.html
+++ b/src/help/ScienceDirect.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>ScienceDirect search</h1>
diff --git a/src/help/SearchHelp.html b/src/help/SearchHelp.html
index 9ce1b78..8a0c4aa 100644
--- a/src/help/SearchHelp.html
+++ b/src/help/SearchHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Searching</h1>
diff --git a/src/help/ShortAuxImport.html b/src/help/ShortAuxImport.html
index 2f7a461..b0c7f18 100644
--- a/src/help/ShortAuxImport.html
+++ b/src/help/ShortAuxImport.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Auxiliary Import</h1>
diff --git a/src/help/ShortIntegrityCheck.html b/src/help/ShortIntegrityCheck.html
index ca99fbd..d6c32b7 100644
--- a/src/help/ShortIntegrityCheck.html
+++ b/src/help/ShortIntegrityCheck.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Integrity check</h1>
diff --git a/src/help/ShortPlainImport.html b/src/help/ShortPlainImport.html
index 9919a79..64c15c2 100644
--- a/src/help/ShortPlainImport.html
+++ b/src/help/ShortPlainImport.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Plain Import</h1>
diff --git a/src/help/Spires.html b/src/help/Spires.html
index a081b8d..fc74b20 100644
--- a/src/help/Spires.html
+++ b/src/help/Spires.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Spires search</h1>
diff --git a/src/help/StringEditorHelp.html b/src/help/StringEditorHelp.html
index 569d8de..c313623 100755
--- a/src/help/StringEditorHelp.html
+++ b/src/help/StringEditorHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>The string editor</h1>
diff --git a/src/help/TimeStampHelp.html b/src/help/TimeStampHelp.html
index bab56b3..62a461e 100644
--- a/src/help/TimeStampHelp.html
+++ b/src/help/TimeStampHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>Entry time stamps</h1>
diff --git a/src/help/XMPHelp.html b/src/help/XMPHelp.html
index 1432c5f..c556e81 100644
--- a/src/help/XMPHelp.html
+++ b/src/help/XMPHelp.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<h1>XMP metadata support in JabRef</h1>
diff --git a/src/help/da/About.html b/src/help/da/About.html
index 7475d6a..7eb1071 100755
--- a/src/help/da/About.html
+++ b/src/help/da/About.html
@@ -1,14 +1,12 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<body text="#275856">
- <basefont size="4"
- color="#2F4958"
- face="arial" />
+ <basefont size="4" color="#2F4958" face="arial" />
<center>
<h1>JabRef version @version@</h1>
- <p>(c) 2009</p>
+ <p>(c) 2011</p>
<p><img src="/images/JabRef-icon-48.png" /></p>
@@ -45,7 +43,8 @@
<p>Thomas Arildsen,
Michael Beckmann,
Oliver Beckmann,
- Fedor Bezrukov,
+ Fedor Bezrukov,
+ Fabian Bieker,
Aaron Chen,
Fabrice Dessaint,
Nathan Dunn,
@@ -59,8 +58,12 @@
Ervin Kolenovic,
Krzysztof A. Kościuszkiewicz,
Christian Kopf,
+ Felix Langner,
+ Stephan Lau,
Jeffrey Kuhn,
+ Uwe Kuehn,
Alex Montgomery,
+ Saverio Mori,
Ambrogio Oliva,
Stephan Rave,
John Relph,
diff --git a/src/help/de/About.html b/src/help/de/About.html
index bd0ddd3..14175ed 100644
--- a/src/help/de/About.html
+++ b/src/help/de/About.html
@@ -7,7 +7,7 @@
<center>
<h1>JabRef Version @version@</h1>
- <p>(c) 2009</p>
+ <p>(c) 2011</p>
<p><img src="/images/JabRef-icon-48.png" /></p>
diff --git a/src/help/fr/ACMPortalHelp.html b/src/help/fr/ACMPortalHelp.html
index 2bd5b2f..9bc900c 100644
--- a/src/help/fr/ACMPortalHelp.html
+++ b/src/help/fr/ACMPortalHelp.html
@@ -1,9 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4"
- color="#2F4958"
- face="arial" />
+<body>
<h1>Récupération des entrées depuis le portail <em>ACM</em></h1>
diff --git a/src/help/fr/About.html b/src/help/fr/About.html
index 9f18059..3212d46 100644
--- a/src/help/fr/About.html
+++ b/src/help/fr/About.html
@@ -1,12 +1,14 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
<center>
<h1>JabRef version @version@</h1>
- <p>(c) 2009</p>
+ <p>(c) 2011</p>
<p><img src="/images/JabRef-icon-48.png" /></p>
@@ -62,6 +64,7 @@
Stephan Lau,
Jeffrey Kuhn,
Alex Montgomery,
+ Saverio Mori,
Ambrogio Oliva,
Stephan Rave,
John Relph,
diff --git a/src/help/fr/Autosave.html b/src/help/fr/Autosave.html
index ac48b34..968c3d5 100644
--- a/src/help/fr/Autosave.html
+++ b/src/help/fr/Autosave.html
@@ -1,8 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
- <h1>Sauvegarde automatique</h1>
<p>La fonction de sauvegarde automatique aide à prévenir la perte de données si votre ordinateur ou JabRef plante.
Quand la sauvegarde automatique est activée, JabRef vérifie régulièrement (à un intervalle de temps configurable)
diff --git a/src/help/fr/BaseFrameHelp.html b/src/help/fr/BaseFrameHelp.html
index e51ac9f..d75ca0e 100644
--- a/src/help/fr/BaseFrameHelp.html
+++ b/src/help/fr/BaseFrameHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>La fenêtre principale de
JabRef</h1>
diff --git a/src/help/fr/BibtexHelp.html b/src/help/fr/BibtexHelp.html
index 8b70544..8938010 100644
--- a/src/help/fr/BibtexHelp.html
+++ b/src/help/fr/BibtexHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86);">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>A propos de <em>BibTeX</em></h1>
diff --git a/src/help/fr/CiteSeerHelp.html b/src/help/fr/CiteSeerHelp.html
index 2e5e833..1c6ff5d 100644
--- a/src/help/fr/CiteSeerHelp.html
+++ b/src/help/fr/CiteSeerHelp.html
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr-fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86); direction: ltr;">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Récupération depuis CiteSeer</h1>
diff --git a/src/help/fr/CommandLine.html b/src/help/fr/CommandLine.html
index 0a65b42..4f33e79 100644
--- a/src/help/fr/CommandLine.html
+++ b/src/help/fr/CommandLine.html
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr-fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86); direction: ltr;">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Les options de la ligne de commande</h1>
diff --git a/src/help/fr/ContentSelectorHelp.html b/src/help/fr/ContentSelectorHelp.html
index f358e52..a0a808e 100644
--- a/src/help/fr/ContentSelectorHelp.html
+++ b/src/help/fr/ContentSelectorHelp.html
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr-fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86); direction: ltr;">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Sélecteur de contenu de champ</h1>
diff --git a/src/help/fr/Contents.html b/src/help/fr/Contents.html
index f70180f..2a28039 100644
--- a/src/help/fr/Contents.html
+++ b/src/help/fr/Contents.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial">
+<body>
<h1>Contenu de l'aide</h1>
diff --git a/src/help/fr/CustomEntriesHelp.html b/src/help/fr/CustomEntriesHelp.html
index 94b5ea7..c1f972b 100644
--- a/src/help/fr/CustomEntriesHelp.html
+++ b/src/help/fr/CustomEntriesHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
+" />
<h1>Personnaliser les types d'entrées</h1>
diff --git a/src/help/fr/CustomExports.html b/src/help/fr/CustomExports.html
index f2a41c2..7f1ba03 100644
--- a/src/help/fr/CustomExports.html
+++ b/src/help/fr/CustomExports.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Filtres d'exportation personnalisés</h1>
@@ -151,10 +154,10 @@
entre crochets, ce qui est nécessaire s'il inclut les caractères de parenthèses.
Par exemple, <code>\format[Replace("\s,_")]{\journal}</code> appelle
le formateur <b>Replace</b> avec l'argument <b>\s,_</b> (ce qui remplace
- tous les espaces par des soulignets dans le champ "field").</p>
+ tous les espaces par des soulignés dans le champ "field").</p>
- <p>See below for a list of built-in export formatters.</p>
+ <p>Voir ci-dessous pour une liste des formateurs d'exportation disponibles.</p>
<h3>Les sorties conditionnelles</h3>
@@ -237,12 +240,12 @@
à la série des filtres d'exportation standard ou
des formateurs.</p>
- <p>A partir de JabRef 2.4b1 vous pouvez aussi empaqueter votre
+ <p>A partir de JabRef 2.4 vous pouvez aussi empaqueter votre
format d'exportation ("ExportFormat") ou formateur de gabarit
("LayoutFormatter") comme un greffon ("plug-in"). Si vous le
faites, vous pouvez fournir un unique fichier zip à d'autres
utilisateurs afin qu'ils utilisent votre format d'exportation.
- Pour un example, télécharger le source de JabRef et jeter un
+ Pour un exemple, télécharger le source de JabRef et jeter un
oeil au répertoire <code>src/plugins/</code>. N'hésitez pas
à participer aux forums sur Sourceforge, puisque nous ne disposons
pas encore d'une documentation volumineuse.</p>
@@ -250,90 +253,15 @@
<h2>Formateurs d'exportation inclus</h2>
- <p>JabRef fournit la série suivante de formateurs, certains
- dépendant des autres :</p>
+ <p>JabRef fournit la série suivante de formateurs :</p>
<ul>
-
- <li><code>AuthorAbbreviator</code> ou <code>AuthorLastFirstAbbreviator</code> :
- abrège les prénoms de tous les auteurs. Ce formateur renvoie les noms avec
- le nom propre en premier. Faire suivre ce formateur d'<code>AuthorFirstFirst</code> pour
- avoir les noms abrégés avec les initiales en premier.</li>
-
- <li><code>AuthorAndsCommaReplacer</code> : remplace
- "and" entre les noms par une virgule (",") et "&" entre
- les deux derniers.</li>
-
- <li><code>AuthorAndsReplacer</code> : remplace "and"
- par ";" entre les premiers noms et par "&" entre les
- deux derniers.</li>
-
- <li><code>AuthorFirstFirst</code> : formate le contenu
- des champs author/editor en mettant les prénoms en
- premier.</li>
-
- <li><code>AuthorFirstFirstCommas</code> : formate le
- contenu des champs author/editor en mettant les
- prénoms en premier, des virgules comme
- séparateurs et "and" entre les deux derniers noms.</li>
-
- <li><code>AuthorFirstLastOxfordCommas</code> :
- similaire à <code>AuthorFirstLastCommas</code>,
- excepté que le "and" entre les deux derniers noms
- est précédé d'une virgule.</li>
-
- <li><code>AuthorFirstAbbrLastCommas</code> : formate le
- contenu des champs author/editor en mettant les
- prénoms abrégés en premier, des virgules comme
- séparateurs et "and" entre les deux derniers noms.</li>
-
- <li><code>AuthorFirstAbbrLastOxfordCommas</code> :
- similaire à <code>AuthorFirstAbbrLastCommas</code>,
- excepté que le "and" entre les deux derniers noms
- est précédé d'une virgule.</li>
-
- <li><code>AuthorLastFirst</code> : formate le contenu
- des champs author/editor en mettant les noms de famille en
- premier.</li>
-
- <li><code>AuthorLastFirstAbbrCommas</code> : formate le
- contenu des champs author/editor en mettant les noms en premier suivis
- du prénom abrégé, en utilisant des virgules comme
- séparateurs et "and" entre les deux derniers noms.</li>
-
- <li><code>AuthorLastFirstAbbrOxfordCommas</code> :
- similaire à <code>AuthorLastFirstAbbrCommas</code>,
- excepté que le "and" entre les deux derniers noms
- est précédé d'une virgule.</li>
-
- <li><code>AuthorLastFirstCommas</code> : formate le contenu
- des champs author/editor en mettant les noms de famille en
- premier, des virgules comme séparateurs et "and"
- entre les deux derniers noms.</li>
-
- <li><code>AuthorLastFirstOxfordCommas</code> :
- similaire à <code>AuthorLastFirstCommas</code>,
- excepté que le "and" entre les deux derniers noms
- est précédé d'une virgule.</li>
-
- <li><code>AuthorLF_FF</code> : formate
- les champs author/editor avec le nom de famille en premier pour le
- premier auteur et le prénom en premier pour les auteurs restants.
- Renvoie les noms séparés par des "and".</li>
-
- <li><code>AuthorLF_FFAbbr</code> : comme <code>AuthorLF_FF</code>,
- mais abrège les prénoms.</li>
-
- <li><code>AuthorNatBib</code> : Formats des noms
- d'auteurs dans le style NatBib, avec les noms propres
- séparés par "and" s'il y a deux auteurs, ou
- le premier nom suivi de "et al." s'il y en a plus de
- deux.</li>
-
- <li><code>AuthorOrgSci</code> : premier auteur selon
- "nom, prénom" et tous les autres selon
- "prénom nom". Les prénoms sont
- abrégés.</li>
+ <li><code>Authors</code> : Ce formateur fournit des options de
+ formatage pour les champs author et editor
+ pour des informations détaillées, voir ci-dessous.
+ Il rend obsolète une série de formateurs
+ dédiés qui étaient disponibles dans les
+ versions de JabRef antérieures à 2.7.</li>
<li><code>CreateDocBookAuthors</code> : formate le
contenu du champ author selon le style DocBook.</li>
@@ -351,17 +279,23 @@
uniquement la date, comme par exemple 2005.11.30.</li>
<li><code>Default</code> : prend un seul argument, qui sert comme
- valeur par défaut. Si la chaîne à formatter
+ valeur par défaut. Si la chaîne à formater
n'est pas vide, elle est renvoyée sans changement.
Si elle est vide, la valeur par défaut est renvoyée.
Par exemple,
<code>\format[Default(unknown)]{\year}</code>
renverra l'année de l'entrée si elle existe,
et "unknown" si l'année n'est pas précisée.</li>
-
+
+ <li><code>DOIStrip</code> : supprime tous les préfixes d'une
+ chaîne de DOI.</li>
+
+ <li><code>DOICheck</code> : fournit l'URL complète pour
+ un lien DOI.</li>
+
<li><code>FileLink(TypeDeFichier)</code> : sans argument, ce formateur renvoie
le premier lien apparaissant dans le champ. Pour fonctionner, ce formateur doit
- être alimenté par le contenu du champ "file" (fichier).<br>
+ être alimenté par le contenu du champ "file" (fichier).<br/>
Ce formateur prend comme argument optionnel l'extension du type de fichier externe
spécifié entre parenthèses après le nom du formateur. Par exemple,
<code>\format[FileLink(pdf)]{\file}</code> spécifie <code>pdf</code> comme un
@@ -371,7 +305,7 @@
<li><code>FirstPage</code> : renvoie la première page du champ "pages", si initialisé.
Par exemple, si le champ "pages" est initialisé avec "345-360" ou "345--360",
- ce formatteur renverra "345".</li>
+ ce formateur renverra "345".</li>
<li><code>FormatChars</code> : remplace les
caractères spéciaux spécifiques
@@ -408,16 +342,12 @@
<li><code>LastPage</code> : renvoie la dernière page du champ "pages", si initialisé.
Par exemple, si le champ "pages" est initialisé avec "345-360" ou "345--360",
- ce formatteur renverra "360".</li>
+ ce formateur renverra "360".</li>
- <li><code>NoSpaceBetweenAbbreviations</code> : Les espaces
- entre les initiales des prénoms sont
- supprimés.</li>
-
<li><code>Number</code> : renvoie la séquence de nombres à base de 1 de l'entrée actuelle dans
- l'exportation actuelle. Ce formatteur peut être utilisé pour faire une liste numérotée d'entrées. Le
+ l'exportation actuelle. Ce formateur peut être utilisé pour faire une liste numérotée d'entrées. Le
numéro de séquence dépend de la place de l'entrée actuelle dans l'ordre de tri actuel, pas du
- nombre d'appels de ce formatteur.</li>
+ nombre d'appels de ce formateur.</li>
<li><code>RemoveBrackets</code> : supprime toutes les
accolades "{" ou "}".</li>
@@ -442,13 +372,13 @@
<li><code>Replace(ExpReg,RemplaceAvec)</code> : effectue le remplacement d'une expression régulière.
Pour utiliser ce formateur, un argument en deux parties doit être fourni. Les parties sont
séparées par une virgule. Pour indiquer le caractère virgule, utilisez la séquence
- d'échappement : \,<br>
+ d'échappement : \,<br/>
La première partie est l'expression régulière à rechercher.
Notez bien que toute virgule doit y être précédée par un antislash,
et, qu'en conséquence, un antislash dans l'expression régulière
recherchée y est représenté par une paire d'anti-slash. Une description
- des expression régulières de Java peut être trouvée à :<br>
- http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html<br>
+ des expression régulières de Java peut être trouvée à :<br/>
+ http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html<br/>
La seconde partie est le texte qui remplace tous les correspondances.</li>
<li><code>RTFChars</code> : remplace les
@@ -484,6 +414,128 @@
</ul>
+ <h3>Le formateur <code>Authors</code></h3>
+
+ <p>Pour satisfaire les nombreux styles de citation,
+ le formateur <code>Authors</code> permet un contrôle flexible de la mise
+ en page de la liste des auteurs. Le formateur prend en argument
+ une liste d'options séparées par des virgules, ce qui remplace leurs
+ valeurs par défaut. Les paires option/valeur suivantes sont actuellement
+ disponibles, les valeurs par défaut étant écrites entre accolades.</p>
+
+ <dl>
+ <dt><code>AuthorSort = [ {FirstFirst} | LastFirst | LastFirstFirstFirst]</code></dt>
+ <dd>définit l'ordre dans lequel les noms d'auteur sont formatés.
+ <ul>
+ <li><code>FirstFirst</code> :
+ les prénoms sont suivis du nom de famille.</li>
+ <li><code>LastFirst</code> :
+ les noms de famille des auteurs sont suivis de leurs prénoms,
+ séparés par une virgule.</li>
+ <li><code>LastFirstFirstFirst</code> :
+ Le premier auteur est formaté en LastFirst ;
+ les auteurs suivants en FirstFirst.</li>
+ </ul>
+ </dd>
+
+ <dt><code>AuthorAbbr = [ FullName | LastName | {Initials} | InitialsNoSpace | FirstInitial | MiddleInitial]</code></dt>
+ <dd>définit comment les noms d'auteur sont abrégés.
+ <ul>
+ <li><code>FullName</code> :
+ montre les noms complets des auteurs ;
+ les prénoms ne sont pas abrégés.</li>
+ <li><code>LastName</code> :
+ montre uniquement les noms de familles,
+ les prénoms sont enlevés.</li>
+ <li><code>Initials</code> :
+ tous les prénoms sont abrégés.</li>
+ <li><code>InitialsNospace</code> :
+ comme Initials, tous les espaces entre les initiales
+ étant enlevés.</li>
+ <li><code>FirstInitial</code> :
+ seule la première initiale est affichée.</li>
+ <li><code>MiddleInitial</code> :
+ le premier prénom est affiché, mais tous les prénoms suivants
+ sont abrégés.</li>
+ </ul>
+ </dd>
+
+ <dt><code>AuthorPunc = [ {FullPunc} | NoPunc | NoComma | NoPeriod]</code></dt>
+ <dd>définit la ponctuation à utiliser dans la liste des auteurs
+ lorsque <code>AuthorAbbr</code> est utilisé
+ <ul>
+ <li><code>FullPunc</code> :
+ aucun changement à la ponctuation n'est effectué.</li>
+ <li><code>NoPunc</code> :
+ tous les points et les virgules sont supprimés du nom d'auteur.</li>
+ <li><code>NoComma</code> :
+ toutes les virgules sont supprimées du nom d'auteur.</li>
+ <li><code>NoPeriod</code> :
+ tous les points sont supprimés du nom d'auteur.</li>
+ </ul>
+ </dd>
+
+ <dt><code>AuthorSep = [ {Comma} | And | Colon | Semicolon | Sep=<string>]</code></dt>
+ <dd>définit le séparateur à utiliser entre les auteurs. Tout séparateur
+ peut être spécifié grâce à l'option <code>Sep=<string></code>.</dd>
+
+ <dt><code>AuthorLastSep = [ Comma | {And} | Colon | Semicolon | Amp | Oxford | LastSep=<string>]</code></dt>
+ <dd>définit le dernier séparateur dans la liste d'auteurs. Tout séparateur
+ peut être spécifié grâce à l'option <code>LastSep=<string></code>.</dd>
+
+ <dt><code>AuthorNumber = [ {inf} | <integer>]</code></dt>
+ <dd>définit le nombre d'auteurs devant être affichés. Si le nombre d'auteurs
+ excède le maximum défini, la liste d'auteurs est remplacée par le
+ premier auteur suivi de <code>EtAlString</code>.</dd>
+
+ <dt><code>EtAlString = [ {et al.} | EtAl=<string>]</code></dt>
+ <dd>définit la chaîne utilisée pour remplacer des auteurs multiples.
+ Toute chaîne peut être spécifiée en utilisant <code>EtAl=<string></code></dd>
+
+ </dl>
+
+ <p>Si une option n'est pas spécifiée, la valeur par défaut (montrée entre accolades
+ ci-dessus) est utilisée. Ainsi, uniquement les options de mise en page
+ qui diffère de celles par défaut ont besoin d'être définies.
+ L'ordre dans lequel les options sont définies est (en général) indifférent.
+ Ainsi, par exemple,</p>
+ <p><code>\format[Authors(Initials,Oxford)]{\author}</code></p>
+ <p>est équivalent à</p>
+ <p><code>\format[Authors(Oxford,Initials)]{\author}</code></p>
+
+ <p>Comme mentionné, l'ordre dans lequel les options sont définies est
+ indifférent. Il y a une possibilité d'ambiguïté si à la fois
+ <code>AuthorSep</code> et <code>AuthorLastSep</code> sont définis.
+ Dans ce cas, la première valeur applicable rencontrée devrait être
+ pour <code>AuthorSep</code>, et la seconde pour <code>AuthorLastSep</code>.
+ Afin d'éviter toute ambiguïté, lorsque la valeur par défaut
+ est modifiée, il est recommandé de spécifier les deux.
+ </p>
+
+
+ <h4>Exemples</h4>
+ <p>Pour les auteurs suivants, <i>"Joe James Doe and Mary Jane
+ and Bruce Bar and Arthur Kay"</i> ,le formateur <code>Authors</code>
+ donnera les résultats suivants :</p>
+ <dl>
+ <dt><code>Authors()</code> ou, de manière équivalente,
+ <code>Authors(FirstFirst,Initials,FullPunc,Comma,And,inf,EtAl= et al.)</code></dt>
+ <dd><pre>J. J. Doe, M. Jane, B. Bar and A. Kay</pre></dd>
+
+ <dt><code>Authors(LastFirstFirstFirst,MiddleInitial,Semicolon)</code></dt>
+ <dd><pre>Doe, Joe J.; Mary Jane; Bruce Bar and Arthur Kay</pre></dd>
+
+ <dt><code>Authors(LastFirst,InitialsNoSpace,NoPunc,Oxford)</code></dt>
+ <dd><pre>Doe JJ, Jane M, Bar B, and Kay A</pre></dd>
+
+ <dt><code>Authors(2,EtAl= and others)</code></dt>
+ <dd><pre>J. J. Doe and others</pre></dd>
+ </dl>
+ <p>Les formats de citations les plus courants devraient être réalisables
+ avec ce formateur. Pour des options encore plus avancées, envisagez
+ d'utiliser les Formateurs personnalisés detaillés ci-dessous.
+ </p>
+
<h3>Le formateur <code>WrapFileLinks</code></h3>
<p>
@@ -491,75 +543,74 @@
d'un type particulier, renvoyant une chaîne de formatage donnée comme premier
argument. La chaîne de formatage peut contenir un nombre de séquences d'échappement
indiquant les informations sur le lien de fichier à être inséré dans la chaîne.
- <p/>
+ </p>
<p>
Ce formateur peut prendre un second argument optionnel spécifiant le nom d'un type
de fichier. Si spécifié, l'itération inclura uniquement les fichiers correspondant
au type de fichier recherché (en étant sensible à la casse des
caractères). S'il est spécifié comme un argument vide, tous les liens de fichiers
seront inclus.
- <p/>
+ </p>
<p>
Après le second argument, des paires d'arguments additionnels peuvent être ajoutées
afin de spécifier des expressions régulières de remplacement devant être exécutées
sur les informations du lien inséré avant son insertion dans la chaîne de sortie.
Un argument non apparié sera ignoré. Afin de spécifier des remplacements sans effectuer
de filtrage sur les types de fichiers, utilisez un second argument vide.
- <p/>
+ </p>
<p>
Les séquences d'échappement pour les informations incluses sont les suivantes :
- <p/>
- <p>
- \i : Cela insère l'index d'itération (débutant à 1), et peut être utile si
- la liste des fichiers en sortie doit être énumérée.<br>
- \p : Cela insère le chemin de fichier d'un lien de fichier.<br>
- \f : Cela insère le nom du type du lien de fichier.<br>
- \x : Cela insère l'extension de fichier, si elle existe.<br>
- \d : Cela insère la description du lien de fichier, si elle existe.<br>
- <p/>
+ </p>
+ <ul>
+ <li><code>\i</code> : Cela insère l'index d'itération (débutant
+ à 1), et peut être utile si la liste des fichiers en sortie
+ doit être énumérée.</li>
+ <li><code>\p</code>< : Cela insère le chemin de fichier d'un lien de fichier.</li>
+ <li><code>\f</code> : Cela insère le nom du type du lien de fichier.</li>
+ <li><code>\x</code> : Cela insère l'extension de fichier, si elle existe.</li>
+ <li><code>\d</code> : Cela insère la description du lien de fichier, si elle existe.</li>
+ </ul>
<p>
Par exemple, une entrée pourrait contenir un lien de fichier vers le fichier
"/home/john/report.pdf" de type "PDF" avec la description "John's final report".
- <p/>
- <p>
En utilisant le formateur WrapFileLinks avec l'argument suivant :
- <p/>
- <p>
- \format[WrapFileLinks(\i. \d (\p))]{\file}
- <p/>
- <p>
- donnera la sortie suivante :<br>
- <pre>1. John's final report (/home/john/report.pdf)</pre>
- <p/>
+ </p><code>\format[WrapFileLinks(\i. \d (\p))]{\file}</code>
+ <p>donnera la sortie suivante :</p>
+ <pre>
+ 1. John's final report (/home/john/report.pdf)
+ </pre>
<p>
Si l'entrée contient un second lien de fichier vers le fichier "/home/john/draft.txt"
- du type "Text file" avec la description 'An early "draft"', le sortie sera comme suit :<br>
- <pre>1. John's final report (/home/john/report.pdf)</pre>
- <pre>2. An early "draft" (/home/john/draft.txt)</pre>
- <p/>
+ du type "Text file" avec la description 'An early "draft"', le sortie sera comme suit :</p>
+ <pre>
+ 1. John's final report (/home/john/report.pdf)
+ 2. An early "draft" (/home/john/draft.txt)
+
+ </pre>
<p>
Si le formateur a été appelé avec un second argument, la liste sera filtrée.
- Par exemple :<br>
- <pre>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</pre>
- <p/>
- <p>
- affichera uniquement le texte suivant :<br>
- <pre>1. An early "draft" (/home/john/draft.txt)</pre>
- <p/>
+ Par exemple :
+ </p>
+ <p><code>\format[WrapFileLinks(\i. \d (\p),,text file)]{\file}</code></p>
+ <p>affichera uniquement le texte suivant :</p>
+ <pre>
+ 1. An early "draft" (/home/john/draft.txt)
+
+ </pre>
+
<p>
Si l'on veut que cette sortie soit incluse dans une sortie en style XML,
les guillemets dans la description de fichier pourrait causer problème.
En ajoutant deux arguments additionnels pour traduire les guillemets en
- caractères XML, on résoudra ce problème :<br>
- \format[WrapFileLinks(\i. \d (\p),,text file,",")]{\file}
- <p/>
- <p>
- affichera la sortie suivante :<br>
- <pre>1. An early "draft" (/home/john/draft.txt)</pre>
- <p/>
- <p>
- Des paires de remplacement supplémentaires pourraient être ajoutées.
- <p/>
+ caractères XML, on résoudra ce problème :</p>
+ <p><code>\format[WrapFileLinks(\i. \d (\p),,text file,",")]{\file}
+ </code></p>
+ <p>affichera la sortie suivante :</p>
+ <pre>
+ 1. An early "draft" (/home/john/draft.txt)
+
+ </pre>
+ <p>Des paires de remplacement supplémentaires pourraient être ajoutées.</p>
<h3>Formateurs personnalisés</h3>
@@ -572,7 +623,7 @@
<code>net.sf.jabref.export.layout.format</code>, vous pouvez
appeler votre formateur en utilisant son nom de classe, comme
pour les formateurs standards. Sinon, vous devez appeler le
- formateur par son nom complet (incluant le nom du package).
+ formateur par son nom complet (incluant le nom du paquetage).
Dans les deux cas, le formateur doit être dans votre
chemin de classe lorsque vous lancez JabRef</p>
diff --git a/src/help/fr/CustomImports.html b/src/help/fr/CustomImports.html
index e5e079f..9772e43 100644
--- a/src/help/fr/CustomImports.html
+++ b/src/help/fr/CustomImports.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Filtres d'importation personnalisés</h1>
diff --git a/src/help/fr/DatabaseProperties.html b/src/help/fr/DatabaseProperties.html
index 4f4cf9b..ed5d61a 100644
--- a/src/help/fr/DatabaseProperties.html
+++ b/src/help/fr/DatabaseProperties.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Propriétés de la base de données.</h1>
diff --git a/src/help/fr/EndNoteFilters.html b/src/help/fr/EndNoteFilters.html
index 3f2357f..c3fa549 100644
--- a/src/help/fr/EndNoteFilters.html
+++ b/src/help/fr/EndNoteFilters.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<body>
+ />
<h1>Filtre d'exportation EndNote</h1>
@@ -94,49 +97,8 @@ mastersthesis, phdthesis -> Thesis</pre>
<h2>Utilisation avancée : Suppléments
EndNote</h2>
- <h3>Installation du filtre d'importation d'EndNote depuis
- JabRef</h3>
-
- <p>Le filtre par défaut d'importation d'EndNote
- ne traite pas correctement les auteurs. Le filtre d'importation
- d'EndNote depuis JabRef le fait proprement. De plus, ce filtre
- reconnaîtra un champ EndNotereftype qui supplantera la
- table des correspondances par défaut. Pour installer ce
- filtre, extraire les suppléments pour EndNote (<b>Outils
- - > Décompacter la série de filtres
- EndNote</b>) et décompresser le fichier Zip qui est
- crée. Ensuite, suivez les instructions du fichier
- readme.txt.</p>
-
- <h3>Modification des types de référence
- d'EndNote</h3>
-
- <p>Plusieurs champs utilisés par BibTeX ne
- font pas partie des Types de Référence par
- défaut d'EndNote. Alors que l'importation depuis JabRef
- et l'exportation à partir de JabRef fonctionneront
- correctement sans modifier les types de
- références, les noms de champs ne seront pas
- affichés correctement dans EndNote (par exemple, une
- fenêtre d'entrée appellera le champ PDF <i>"Custom
- 1"</i> au lieu de <i>"pdf"</i>. De plus, puisque ces champs
- n'apparaîtront pas dans la fenêtre
- d'édition, ces champs ne pourront pas être
- ajoutés à de nouvelles entrées dans
- EndNote. Pour modifier les Types de Références
- d'EndNote, extrayez les Suppléments EndNote et suivez
- les instructions du fichier readme.txt.</p>
-
- <h3>Exportation vers JabRef</h3>
-
- <p>EndNote est fourni avec un
- style d'exportation BibTeX. Cependant, il ne prend pas en
- compte tous les types et les champs BibTeX et ne prend pas non
- plus en compte les Champs Généraux additionnels
- supportés par JabRef (<i>pdf, owner, key,</i> etc.). Si
- vous souhaitez que ces champs soient pris en compte, extrayez
- les Suppléments EndNote (<b>Outils - >
- Décompacter la série de filtres EndNote</b>) et
- suivez les instructions du fichier readme.txt.</p>
+ Pour une meilleure interopérabilité entre Endnote et JabRed,
+ télécharger l'ensemble de filtres Endnote depuis la page de
+ ressources du site de JabRef.
</body>
</html>
diff --git a/src/help/fr/EntryEditorHelp.html b/src/help/fr/EntryEditorHelp.html
index d448afe..d8f6089 100644
--- a/src/help/fr/EntryEditorHelp.html
+++ b/src/help/fr/EntryEditorHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>L'éditeur d'entrées</h1>
diff --git a/src/help/fr/ExternalFiles.html b/src/help/fr/ExternalFiles.html
index 1a7f546..b5d7d9e 100644
--- a/src/help/fr/ExternalFiles.html
+++ b/src/help/fr/ExternalFiles.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Les liens PDF/PS/URL/DOI dans JabRef</h1>
diff --git a/src/help/fr/FileLinks.html b/src/help/fr/FileLinks.html
index 1602f59..a86d8c2 100644
--- a/src/help/fr/FileLinks.html
+++ b/src/help/fr/FileLinks.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Liens de fichier dans JabRef</h1>
diff --git a/src/help/fr/GeneralFields.html b/src/help/fr/GeneralFields.html
index e1e710d..6fa22a9 100644
--- a/src/help/fr/GeneralFields.html
+++ b/src/help/fr/GeneralFields.html
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr-fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86); direction: ltr;">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Personnalisation des champs généraux</h1>
diff --git a/src/help/fr/GroupsHelp.html b/src/help/fr/GroupsHelp.html
index 05e3c34..147dd31 100644
--- a/src/help/fr/GroupsHelp.html
+++ b/src/help/fr/GroupsHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Les groupes</h1>
diff --git a/src/help/fr/HelpHelp.html b/src/help/fr/HelpHelp.html
index 6f3ee97..7b32156 100644
--- a/src/help/fr/HelpHelp.html
+++ b/src/help/fr/HelpHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>La fenêtre d'aide</h1>
diff --git a/src/help/fr/IEEEXploreHelp.html b/src/help/fr/IEEEXploreHelp.html
index b35c404..760fd10 100644
--- a/src/help/fr/IEEEXploreHelp.html
+++ b/src/help/fr/IEEEXploreHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Recherche IEEEXplore</h1>
diff --git a/src/help/fr/ImportInspectionDialog.html b/src/help/fr/ImportInspectionDialog.html
index e0b5650..c1976c7 100644
--- a/src/help/fr/ImportInspectionDialog.html
+++ b/src/help/fr/ImportInspectionDialog.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Fenêtre de vérification des importations</h1>
diff --git a/src/help/fr/JSTOR.html b/src/help/fr/JSTOR.html
index f3896ee..e7c9f1b 100644
--- a/src/help/fr/JSTOR.html
+++ b/src/help/fr/JSTOR.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
-<basefont size="4" color="#2F4958" face="arial" />
<h1>Recherche JStor</h1>
diff --git a/src/help/fr/JabRefHelp.html b/src/help/fr/JabRefHelp.html
index 0791f5a..7cf5648 100644
--- a/src/help/fr/JabRefHelp.html
+++ b/src/help/fr/JabRefHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>JabRef</h1>
diff --git a/src/help/fr/JournalAbbreviations.html b/src/help/fr/JournalAbbreviations.html
index e9de5ac..3b62fcf 100644
--- a/src/help/fr/JournalAbbreviations.html
+++ b/src/help/fr/JournalAbbreviations.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Abréviations des journaux</h1>
diff --git a/src/help/fr/LabelPatterns.html b/src/help/fr/LabelPatterns.html
index 04d6de6..7d88beb 100644
--- a/src/help/fr/LabelPatterns.html
+++ b/src/help/fr/LabelPatterns.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Personnalisation du générateur de clefs
BibTeX</h1>
diff --git a/src/help/fr/MarkingHelp.html b/src/help/fr/MarkingHelp.html
index aa5e0ce..a21e80a 100644
--- a/src/help/fr/MarkingHelp.html
+++ b/src/help/fr/MarkingHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Etiqueter les entrées</h1>
@@ -13,12 +16,12 @@
sélectionnées. Vous pouvez aussi accéder
à ces actions en utilisant le menu <b>Edition</b>.</p>
- <p>Notez qu'étiqueter des entrées n'est pas la
+ <p>Étiqueter des entrées n'est pas la
même chose que les sélectionner. Les
entrées étiquetées se comportent
différemment des autres, et ce de deux façons.
Premièrement, elles sont toujours affichées avec
- un fond jaune dans le tableau des entrées.
+ un fond de couleur différente dans le tableau des entrées.
Deuxièmement, elles seront affichées en haut de
la liste des entrées, et ce tant que votre table n'est
pas triée selon des groupes ou par une recherche
@@ -27,10 +30,42 @@
<p>Sauver votre base de données préservera
l'étiquetage.</p>
+ <p>La couleur avec laquelle chaque entrée étiquetée
+ est affichée dépend du niveau d'étiquetage de
+ l'entrée. Les couleurs par défaut vont du jaune au
+ rouge. Des menus permettent à la fois d'incrémenter le niveau
+ d'étiquetage des entrées sélectionnées et
+ de sélectionner directement le niveau d'étiquetage
+ désiré.
+ </p>
+
<p>Les entrées étiquetées vous seront
utiles si, par exemple, vous avez besoin de faire plusieurs
recherches sans perdre vos premiers résultats, ou si
vous avez besoin de vous souvenir des articles ou des livres
auxquels il faut que vous prêtiez attention.</p>
+
+ <p>En plus de l'étiquetage manuel des entrées, JabRef peut
+ éventuellement étiqueter automatiquement les dernières
+ entrées importées et simultanément
+ désétiqueter les entrées précédemment
+ étiquetées de cette façon. Ces entrées seront
+ affichées d'une couleur différente de celles
+ étiquetées manuellement - par défaut en vert.
+ Cette fonctionnalité est activé dans
+ <b>Options -> Préférences -> Général</b></p>
+
+ <p>L'étiquetage des entrées sera associé à
+ votre nom d'utilisateur, le même nom que vous utilisez pour remplir
+ le champ "owner" des entrées que vous créez ou importez
+ (cela correspondra par défaut à votre nom d'utilisateur dans
+ votre système d'exploitation, mais peut-être modifié
+ dans <b>Options -> Préférences -> Général</b>.
+ Différents utilisateurs peuvent marquer des entrées
+ indépendamment. L'enregistrement de la base de données
+ conservera les étiquettes.
+ </p>
+
+
</body>
</html>
diff --git a/src/help/fr/MedlineHelp.html b/src/help/fr/MedlineHelp.html
index 1cf6906..9552ec6 100644
--- a/src/help/fr/MedlineHelp.html
+++ b/src/help/fr/MedlineHelp.html
@@ -1,8 +1,10 @@
-<html xmlns="http://www.w3.org/1999/xhtml"
- lang="fr-fr">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body style="color: rgb(39, 88, 86); direction: ltr;">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Récupération d'entrées depuis
Medline</h1>
diff --git a/src/help/fr/OpenOfficeHelp.html b/src/help/fr/OpenOfficeHelp.html
index eb41987..c4fd3bc 100644
--- a/src/help/fr/OpenOfficeHelp.html
+++ b/src/help/fr/OpenOfficeHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Utiliser les bibliographies JabRef dans
OpenOffice.org</h1>
diff --git a/src/help/fr/OwnerHelp.html b/src/help/fr/OwnerHelp.html
index 87c5375..7746e70 100644
--- a/src/help/fr/OwnerHelp.html
+++ b/src/help/fr/OwnerHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Le champ 'owner' (propriétaire)</h1>
diff --git a/src/help/fr/Plugin.html b/src/help/fr/Plugin.html
index 14a2144..e4dfda9 100644
--- a/src/help/fr/Plugin.html
+++ b/src/help/fr/Plugin.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
-
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
<h1>Le Système de greffons de JabRef </h1>
diff --git a/src/help/fr/PreviewHelp.html b/src/help/fr/PreviewHelp.html
index a582763..30a3c91 100644
--- a/src/help/fr/PreviewHelp.html
+++ b/src/help/fr/PreviewHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Configuration de l'aperçu des
entrées</h1>
diff --git a/src/help/fr/RemoteHelp.html b/src/help/fr/RemoteHelp.html
index e4d1cb0..e4f1993 100644
--- a/src/help/fr/RemoteHelp.html
+++ b/src/help/fr/RemoteHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Accès à distance</h1>
diff --git a/src/help/fr/RevisionHistory.html b/src/help/fr/RevisionHistory.html
index f1cc96a..3c01f53 100644
--- a/src/help/fr/RevisionHistory.html
+++ b/src/help/fr/RevisionHistory.html
@@ -1,10 +1,31 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Historique des révisions (en anglais)</h1>
+ <h3>Version 2.6</h3>
+ <li>Fixed IEEExplorer and ACM fetchers to adapt to web site changes.</li>
+ <li>Active preview (1 or 2) is now remembered.</li>
+ <li>Applied patch by Igor L. Chernyavsky. to prevent loss of entry selection after
+ generating key.</li>
+ <li>Changed OpenDocument Spreadsheet export so the mimetype file is written correctly
+ at the start of the zip file.</li>
+ <li>Fixed bug when importing preferences: custom export filters would not be updated
+ after import.</li>
+ <li>Changed help page loading procedure so help pages can be loaded for plugin entry
+ fetchers.</li>
+ <li>Made it possible to define customized entry types with either-or conditions on
+ required fields, e.g. using a pseudo-field called "author/editor" will indicate
+ that the entry requires either the "author" or the "editor" field set.</li>
+ <li>Fixed bug: entries of a customized type could be indicated as complete even if
+ BibTeX key was not set.</li>
+ <li>Changed deletion process for some temporary files to avoid leftover files.</li>
+
<h3>Version 2.6beta3</h3>
<li>Added ScienceDirect entry fetcher that utilizes the BibSonomy scraper.</li>
diff --git a/src/help/fr/SQLExport.html b/src/help/fr/SQLExport.html
index 4ce6599..aaf5777 100644
--- a/src/help/fr/SQLExport.html
+++ b/src/help/fr/SQLExport.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Exportation vers une base de données SQL externe</h1>
diff --git a/src/help/fr/SearchHelp.html b/src/help/fr/SearchHelp.html
index 6e4eb34..29ab824 100644
--- a/src/help/fr/SearchHelp.html
+++ b/src/help/fr/SearchHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Recherche</h1>
diff --git a/src/help/fr/ShortAuxImport.html b/src/help/fr/ShortAuxImport.html
index 554dd64..80a5015 100644
--- a/src/help/fr/ShortAuxImport.html
+++ b/src/help/fr/ShortAuxImport.html
@@ -1,7 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
<body>
- <basefont size="4" color="#2F4958" face="arial" />
<p>Cette fonction génère une nouvelle base de données qui contient uniquement les références utilisées dans un projet TeX existant.</p>
diff --git a/src/help/fr/ShortIntegrityCheck.html b/src/help/fr/ShortIntegrityCheck.html
index cc8678c..7ec9c77 100644
--- a/src/help/fr/ShortIntegrityCheck.html
+++ b/src/help/fr/ShortIntegrityCheck.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
<body>
- <basefont size="4" color="#2F4958" face="arial" />
+
<p>La vérification d'intégrité est un processus qui recherche des indices de champs BibTeX mal remplis."Démarrer" est le bouton pour lancer la vérification.</p>
diff --git a/src/help/fr/ShortPlainImport.html b/src/help/fr/ShortPlainImport.html
index 8dd1fa8..02a9483 100644
--- a/src/help/fr/ShortPlainImport.html
+++ b/src/help/fr/ShortPlainImport.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
<body>
- <basefont size="4" color="#2F4958" face="arial" />
+
<p>Ceci est simplement une fenêtre de copier-coller. Commencez par charger ou coller du texte dans la zone de saisie de texte. Ensuite, vous pouvez sélectionner des portions de texte et les attribuer à des champs BibTeX.</p>
diff --git a/src/help/fr/Spires.html b/src/help/fr/Spires.html
index 3aee068..fcb438f 100644
--- a/src/help/fr/Spires.html
+++ b/src/help/fr/Spires.html
@@ -1,8 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+<body>
-<body text="#275856">
-<basefont size="4" color="#2F4958" face="arial" />
<h1>Recherche Spires</h1>
diff --git a/src/help/fr/StringEditorHelp.html b/src/help/fr/StringEditorHelp.html
index 7de13c4..93303d0 100644
--- a/src/help/fr/StringEditorHelp.html
+++ b/src/help/fr/StringEditorHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>L'éditeur de chaîne</h1>
diff --git a/src/help/fr/TimeStampHelp.html b/src/help/fr/TimeStampHelp.html
index 8b5ecc0..5da5888 100644
--- a/src/help/fr/TimeStampHelp.html
+++ b/src/help/fr/TimeStampHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Horodatage des entrées</h1>
diff --git a/src/help/fr/XMPHelp.html b/src/help/fr/XMPHelp.html
index 1373be3..e0ea307 100644
--- a/src/help/fr/XMPHelp.html
+++ b/src/help/fr/XMPHelp.html
@@ -1,7 +1,10 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
<h1>Support des metadonnées XMP dans
JabRef</h1>
diff --git a/src/help/in/About.html b/src/help/in/About.html
new file mode 100755
index 0000000..45f2943
--- /dev/null
+++ b/src/help/in/About.html
@@ -0,0 +1,140 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <center>
+ <h1>JabRef versi @version@</h1>
+
+ <p>(c) 2011</p>
+
+ <p><img src="/images/JabRef-icon-48.png" /></p>
+
+ <p>JabRef dapat disebarkan tanpa bayar mengikut syarat dari
+ GNU <a href="License.html">General Public License</a>,
+ versi 2.</p>
+
+ <h2>Pengembang utama:</h2>
+
+ <p>Morten O. Alver,
+ Nizar N. Batada,
+ Michel Baylac,
+ Kolja Brix,
+ Frédéric Darboux,
+ Guillaume Gardey,
+ Cyrille d'Haese,
+ S M Mahbub Murshed,
+ Raik Nagel,
+ Christopher Oezbek,
+ Ellen Reitmayr,
+ Gert Renckens,
+ Andreas Rudert,
+ Michael Spiegel,
+ Ulrik Stervbo,
+ Dominik Waßenhoven,
+ Joerg K. Wegner,
+ Michael Wrighton,
+ Egon Willighagen,
+ Wenbo Yang,
+ Jörg Zieren</p>
+
+ <h2>Pendukung lain:</h2>
+
+ <p>Thomas Arildsen,
+ Michael Beckmann,
+ Oliver Beckmann,
+ Fedor Bezrukov,
+ Fabian Bieker,
+ Aaron Chen,
+ Fabrice Dessaint,
+ Nathan Dunn,
+ E. Hakan Duran,
+ Brian Van Essen,
+ Alexis Gallagher,
+ David Gleich,
+ Sascha Hunold,
+ Bernd Kalbfuss,
+ Martin Kähmer,
+ Ervin Kolenovic,
+ Krzysztof A. Kościuszkiewicz,
+ Christian Kopf,
+ Felix Langner,
+ Stephan Lau,
+ Jeffrey Kuhn,
+ Uwe Kuehn,
+ Alex Montgomery,
+ Saverio Mori,
+ Ambrogio Oliva,
+ Stephan Rave,
+ John Relph,
+ Hannes Restel,
+ Moritz Ringler,
+ Andreas Rudert,
+ Mark Schenk,
+ Rudolf Seemann,
+ Toralf Senger,
+ Manuel Siebeneicher,
+ Mike Smoot,
+ Ulrich Stärk,
+ Martin Stolle,
+ David Weitzman,
+ Seb Wills,
+ John Zedlewski,
+ Waluyo Adi Siswanto</p>
+
+ <h2>Terima kasih kepada:</h2>
+
+ <p>Samin Muhammad Ridwanul Karim,
+ Stefan Robert</p>
+
+ <h2>Program tambahan yang digunakan:</h2>
+
+ <p>JabRef menggunakan JGoodies
+ Looks 2.0.4 dan JGoodies Forms 1.0.5, yang disebarkan oleh
+ JGoodies (<code>http://www.jgoodies.com</code>) mengikuti syarat dari Lisensi (Lihat
+ <code>http://www.opensource.org/licenses/bsd-license.html</code>
+ untuk perincian lanjut).</p>
+
+ <p>Juga melibatkan dua tambahan kelas
+ (SimpleInternalFrame dan UIFSplitPane) oleh Karsten Lentzsch,
+ yang disebarkan mengikuti <a href="jgoodies.html">syarat
+ ini</a>.</p>
+
+ <p>Perintah baris tambahan dijalankan menggunakan RitOpt
+ (<code>http://ritopt.sourceforge.net</code>). RitOpt disebarkan
+ mengikuti syarat dari GNU
+ <a href="License.html">General Public License</a>, versi
+ 2.</p>
+
+ <p>JabRef menggunakan ANTLR parser generator untuk mengenali
+ string pencarian. ANTLR adalah perangkat lunak umum - lihat
+ <code>http://www.antlr.org/license.html</code> untuk
+ syarat lisensi.</p>
+
+ <p>Untuk tampilan tabel dan penapis, JabRef menggunakan
+ Glazed Lists library
+ (<code>http://publicobject.com/glazedlists</code>), yang
+ disebarkan mengikut Lisensi Lesser General Public.</p>
+
+ <p>JabRef juga menggunakan threading library Spin 1.3.1, yang
+ disebarkan mengikut syarat Lisensi Lesser General Public
+ .</p>
+
+ <p>Beberapa komponen GUI digunakan dari Microba library,
+ mengikut lisensi BSD style. Lihat
+ <code>http://sourceforge.net/projects/microba/</code> untuk
+ informasi lanjut.</p>
+
+ <p>Hampir semua ikon berasal dari Crystal Clear
+ dibuat oleh Everaldo (<code>http://www.everaldo.com</code>),
+ yang disebarkan mengikut syarat Lisensi Lesser General
+ Public.</p>
+
+ <p>JabRef menggunakan pustaka JempBox dan PDFBox untuk pengaturan
+ PDF, keduanya disebarkan mengikut syarat lisensi BSD.
+ </p>
+ </center>
+</body>
+</html>
diff --git a/src/help/in/Autosave.html b/src/help/in/Autosave.html
new file mode 100644
index 0000000..1ead9ef
--- /dev/null
+++ b/src/help/in/Autosave.html
@@ -0,0 +1,28 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+ <h1>Menyimpan otomatis</h1>
+
+ <p>Fitur otomatis sangat membantu anda agar tidak kehilangan data jika tiba-tiba komputer
+ mati. Ketika menyimpan otomatis diaktifkan, JabRef akan menyimpan secara teratur (interval
+ waktu penyimpanan dapat diatur) dengan terlebih dahulu melihat apakah basisdata ada
+ perubahan sejak penyimpanan terakhir. Jika ditemukan adanya perubahan, JabRef akan
+ menyimpan salinan basisdata dengan nama <code>.$[berkas]$</code>, dimana
+ <code>[berkas]</code> adalah nama berkas basisdata yang diperiksa. Berkas hasil
+ penyimpanan otomatis berada pada lokasi yang sama dengan berkas bib.</p>
+
+ <p>Berkas penyimpanan otomatis akan dihapus ketika anda menyimpan sendiri basisdata anda,
+ kemudian anda keluar JabRef secara normal. Namun demikian, jika JabRef ditutup karena
+ komputer mati sendiri, maka berkas simpanan otomatis tetap ada. Pada kasus ini, berkas
+ darurat ini akan dideteksi ketika anda membuka basisdata, sehingga anda akan diberikan
+ pilihan untuk memanggil kembali berkas hasil penyimpanan otomatis.</p>
+
+ <p>Penyimpanan otomatis merupakan fitur bawaan, dengan interval setiap 5 menit.
+ Jika anda menginginkan, anda dapat mematikan dialog yang muncul menanyakan untuk
+ melakukan penyimpanan otomatis. Pada kasus ini, JabRef akan memanggil berkas hasil
+ simpanan otomatis secara diam-diam tanpa menanyakan pemberitahuan pada anda.</p>
+</body>
+</html>
diff --git a/src/help/in/BaseFrameHelp.html b/src/help/in/BaseFrameHelp.html
new file mode 100755
index 0000000..8e5a3d4
--- /dev/null
+++ b/src/help/in/BaseFrameHelp.html
@@ -0,0 +1,112 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Jendela utama JabRef</h1>
+
+ <p><em>Catatan:</em> sebagian besar perintah yang
+ dituliskan dibawah ini mempunyai pintasan menggunakan papan ketik,
+ beberapa perintah lain dari kotak bantuan. Pintasan dapat dilihat
+ dari ketika menggunakan menu utama.</p>
+
+ <p>Ini adalah jendela utama untuk bekerja pada basisdata
+ anda. Dibawah kotak menu dana kotak bantuan ada ruang yang mempuyai tab
+ untuk menampilkan basis data yang anda buka.
+ Ketika anda memilih salah satu tab, tabel yang berisi semua entri
+ basisdata anda akan muncul, demikian pula isi masing-masing bidang
+ yang bisa anda ubah datanya.</p>
+
+ <ul>
+ <li>Untuk merubah bidang apa saja yang dimunculkan pada kolom tabel,
+ anda dapat mengaturnya dari dialog
+ <strong>Preferensi</strong>.</li>
+
+ <li>Untuk menyunting entri basisdata di salah satu baris, anda perlu klik-ganda di baris tersebut. Anda bisa melihat isi
+ basisdata di tiap baris atau navigasi dengan menggunakan tombol panah
+ naik/turun.</li>
+
+ <li>Kolom tabel diurutkan menurut urutan pada bidang yang anda pilih.
+ Cara pengurutan bawaan dapat dirubah dari
+ <strong>Preferensi -> Tabel entri</strong>, tetapi
+ cara yang lebih cepat untuk merubah urutan, klik pada judul kolom
+ yang anda pilih sebagai kriteria utama, atau membalik urutan jika
+ sudah ditentukan urutan. Jika di klik lagi, akan melepaskan sebagai
+ pilihan kriteria utama urutan. Tekan dan tahan tombol
+ <b>Ctrl</b> serta klik salah satu kolom untuk tambah kriteria,
+ membalik urutan atau menghapus sub-kriteria. Anda bisa menambah
+ beberapa sub-kriteria, tetapi hanya dibatasi sampai tiga
+ sub-kriteria yang disimpan ketika menjalankan ulang JabRef.</li>
+
+ <li>Untuk mengatur lebar kolom, anda dapat menyeret pada batas judul
+ kolom yang anda inginkan.</li>
+
+ <li>
+ Tanda warna dapat diubah sesuai keinginan melalui
+ dialog <strong>Preferensi</strong>, sehingga membantu mengenali
+ tampilan dan makna basisdata anda dengan melihat
+ warna sel sebagai berikut:
+
+ <ul>
+ <li>Warna <font color="red">merah</font> di sel
+ kolom paling kiri menunjukkan entri tidak lengkap.</li>
+
+ <li>Warna <font color="#909000">kuning</font> di sel
+ kolom palingkiri menunjukkan entri yang tidak didefinisikan
+ semua bidangnya, tetapi mengandung referensi-silang.</li>
+
+ <li>Warna sel <font color="blue">biru</font> menunjukkan
+ bidang utama yang diperlukan.</li>
+
+ <li>Warna sel <font color="green">hijau</font> menunjukkan
+ bidang sel tambahan.</li>
+
+ <li>Sel tanpa warna menunjukkan bidang yang tidak digunakan
+ program <em>bibtex</em> untuk tipe entri ini.
+ Bidang ini dapat masih disunting dalam JabRef.</li>
+ </ul>
+ </li>
+ </ul>
+
+ <h2>Menambah entri baru</h2>
+
+ <p>Ada beberapa cara untuk menambah entri baru.
+ Perintah menu <strong>BibTeX -> Entri baru</strong> menampilkan
+ dialog pilihan untuk memilih satu tipe entri dari yang ada. Jika anda
+ tidak menginginkan menampilkan dialog ini, tersedia beberapa menu tersendiri
+ untuk menggunakan tipe entri tertentu. Demikian juga ada pintasan
+ langsung ke tipe yang umum digunakan.</p>
+
+ <p>Ketika entri baru ditambahkan,
+ <a href="EntryEditorHelp.html">penyunting entri</a> akan
+ muncul. Bagaimana munculnya penyunting entri ini
+ dapat diatur dari menu <strong>Preferensi-> Penyunting Entri</strong>.</p>
+
+ <p><em>Catatan:</em> Kami menyarankan anda mempelajari pintasan
+ untuk menambah entri untuk berbagai tipe yang paling sering digunakan,
+ misalnya CTRL-SHIFT-A untuk menambah entri <em>artikel</em>.</p>
+
+ <h2>Menyunting entri</h2>
+
+ <p>Untuk membuka
+ <a href="EntryEditorHelp.html">penyunting entri</a> dari
+ entri yang sudah ada, klik-ganda di baris entri yang akan disunting,
+ maka <a href="EntryEditorHelp.html">Penyunting entri</a> akan dibuka
+ (atau pada baris entri tekan ENTER).</p>
+
+ <h2>Mengacu string <em>bibtex</em> dalam bidang</h2>
+
+ <p>Dalam JabRef cara menuliskan isi dalam bidang sama seperti
+ yang anda lakukan pada penyunting teks lainnya, hanya ada satu
+ perbedaan: untuk mengacu string, anda perlu menulis dalam karakter
+ #, misalnya:<br />
+ '#jan# 1997',<br />
+ yang akan diartikan sebagai string 'jan' diikuti oleh
+ ' 1997'.</p>
+
+ <p>Baca juga: <a href="StringEditorHelp.html">penyunting string</a>.
+ </p>
+</body>
+</html>
diff --git a/src/help/in/BibtexHelp.html b/src/help/in/BibtexHelp.html
new file mode 100755
index 0000000..6c817c6
--- /dev/null
+++ b/src/help/in/BibtexHelp.html
@@ -0,0 +1,268 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Tentang <em>bibtex</em></h1>
+
+ <p>JabRef membantu anda bekerja menggunakan basisdata
+ <em>bibtex</em>, namun ada beberapa aturan yang harus anda ikuti
+ ketika melakukan penyuntingan entri, untuk memastikan bahwa
+ basidata anda dapat dibaca dengan benar oleh program <em>bibtex</em>.</p>
+
+ <h2>Bidang dalam <em>bibtex</em></h2>
+
+ <p>Ada banyak perbedaan di bidang-bidang
+ dalam <em>bibtex</em>, dengan beberapa bidang tambahan
+ yang dapat anda atur di JabRef.</p>
+
+ <p>Secara umum, anda dapat menggunakan perintah LaTeX dalam bidang
+ yang berisi teks. <em>Bibtex</em> akan secara otomatis
+ memformat daftar referensi anda, serta bidang-bidang
+ yang ada dalam daftar akan diatur huruf besar kecilnya sesuai
+ dengan gaya bibliografi yang anda gunakan. Untuk mempertahankan
+ karakter tetap dalam huruf besar, anda harus menggunakan tanda
+ kurung kurawal, seperti pada kata {B}elgia.</p>
+
+ <p>Catatan tentang beberapa tipe bidang:</p>
+
+ <ul>
+ <li><strong style="font-style: italic;">Bibtexkey<br /></strong>
+ String tertentu digunakan untuk mengacu entri di dokumen LaTeX.
+ membuat acuan di LaTeX, kunci yang digunakan harus sesuai dengan
+ string kunci bibtex. Huruf besar dan kecil akan dibedakan.<br />
+ </li>
+
+ <li><strong>address<br /></strong> Biasanya merupakan
+ alamat dari <tt>penerbit</tt> atau dari tipe institusi. Untuk
+ berbagai tempat peenrbitan, van Leunen menyarankan
+ menghilangkan atau tidak menggunakan informasi ini. Sebagian
+ penerbit yang masih belum berkembang, anda dapat memberikan
+ informasi pada pembaca dengan menulis alamat lengkap.</li>
+
+ <li><strong>annote<br /></strong> Untuk membuat catatan.
+ Tidak digunakan dalam gaya bibliografi standar, tetapi bisa
+ digunakan bagi yang ingin menambahkan catatan bibliografi.</li>
+
+ <li><strong>author<br /></strong> Bidang ini harus
+ berisi semua penulis yang ada. Nama tiap penulis dipisahkan dengan kata
+ <em>and</em>, meskipun jumlah penulis lebih dari dua. Cara menulis
+ nama penulis ada dua format dengan maksud yang sama:<br />
+ Donald E. Knuth <em>atau</em> Knuth, Donald E.<br />
+ Eddie van Halen <em>atau</em> van Halen, Eddie<br />
+ Format yang kedua digunakan apabila penulis lebih dari dua,
+ untuk membedakan antara nama tengah dan nama belakang.<br />
+ </li>
+
+ <li><strong>booktitle<br /></strong> Judul dari buku,
+ bagian dari buku akan diacu. Untuk entri buku, gunakan
+ bidang <tt>title (judul)</tt>.</li>
+
+ <li><strong>chapter<br /></strong> Untuk nomor bab (atau subbab atau
+ atau yang setara).</li>
+
+ <li><strong>crossref<br /></strong> Kunci basisdata
+ dari entri yang digunakan sebagai referensi silang.</li>
+
+ <li><strong>edition<br /></strong> Edisi terbitan dari
+ buku--misalnya, ``Kedua''. Harus berupa angka urutan,
+ dan huruf pertama harus huruf besar, seperti contoh tadi;
+ gaya standar akan mengubah ke huruf kecil apabila perlu.</li>
+
+ <li><strong>editor<br /></strong> Bidang ini setara
+ dengan bidang <em>author</em>. Apabila digunakan juga bidang
+ <tt>author</tt>, maka bidang <tt>editor</tt> akan menghasilkan
+ penyunting buku atau koleksi dimana referensi akan muncul.</li>
+
+ <li><strong>howpublished<br /></strong> Bagaimana suatu karya
+ diterbitkan. Huruf pertama dari kata pertama harus huruf besar.</li>
+
+ <li><strong>institution<br /></strong> Institusi yang
+ mendukung atau memberi sponsor karya yang diterbitkan.</li>
+
+ <li><strong>journal<br /></strong> Nama jurnal. Nama jurnal
+ seringkali disingkat menggunakan "string". Untuk menuliskan
+ string, gunakan <a href="StringEditorHelp.html">penyunting string
+ </a>.</li>
+
+ <li><strong>key<br /></strong> Digunakan untuk mengurutkan,
+ referensi silang, dan membuat label apabila informasi ``author''
+ tidak ada. Bidang ini jangan diartikan sama dengan kunci bibtex yang
+ dipanggil dengan perintah <code>\cite</code>
+ serta yang ada di bagian awal entri basisdata.</li>
+
+ <li><strong>month<br /></strong> Bulan karya dipublikasikan
+ atau, untuk karya yang tidak diterbitkan, menggunakan
+ bulan waktu ditulis. Anda harus menggunakan singkatan standar
+ tiga huruf (jan, feb, mar, apr, may, jun, jul, aug, sep,
+ oct, nov, dec).</li>
+
+ <li><strong>note<br /></strong> Informasi tambahan
+ yang dapat membantu pembaca. Kata pertama harus huruf besar.
+ </li>
+
+ <li><strong>number</strong><br />
+ Nomor jurnal, majalah, laporan penelitian, atau karya
+ dalam serial. Jurnal atau majalah biasanya dikenali dari
+ nomor volume dan nomor terbitannya; organisasi yang menerbitkan
+ biasanya memberikan nomor terbitan; beberapa buku serial juga
+ mempunyai nomor terbitan.</li>
+
+ <li><strong>organization<br /></strong> Organisasi yang
+ memberikan bantuan pada konferensi atau organisasi yang
+ menerbitkan manual.</li>
+
+ <li><strong>pages<br /></strong> Halaman atau halaman yang dinyatakan
+ dengan jangkah, misalnya <tt>42-111</tt> atau
+ <tt>7,41,73-97</tt> atau <tt>43+</tt> (tanda `<tt>+</tt>' di
+ contoh terakhir menandakan halaman setelahnya yang tidak ditulis
+ dengan jangkah). Untuk mempermudah mempertahankan kompatibilitas
+ basisdata <em>Scribe</em>, standar gaya akan merubah ke satu
+ tanda coret (seperti <tt>7-33</tt>) dari dua tanda coret yang
+ digunakan TeX untuk nomor dalam jangkah (seperti
+ <tt>7--33</tt>).</li>
+
+ <li><strong>publisher<br /></strong> Nama
+ penerbit.</li>
+
+ <li><strong>school<br /></strong> Nama sekolah atau universitas
+ dimana tesis ditulis.</li>
+
+ <li><strong>series<br /></strong> Nama seri dari
+ terbitan buku. Ketika mengacu seluruh buku, bidang
+ <tt>title</tt> memberikan judul, sedangkan tambahan bidang
+ <tt>series</tt> memberikan nama seri atau
+ nama volume buku yang diterbitkan.</li>
+
+ <li><strong>title<br /></strong> Judul karya. Huruf besar dan kecil
+ tergantung dari gaya bibliografi serta bahasa yang digunakan.
+ Jika huruf harus huruf besar, pastikan anda menggunakan
+ tanda kurung kurawal agar tidak berubah, misalnya {I)ndonesia atau
+ {Indonesia}.</li>
+
+ <li><strong>type<br /></strong> Tipe dari laporan
+ teknis--misalnya, ``Laporan Penelitian''.</li>
+
+ <li><strong>volume<br /></strong> Nomor volume jurnal
+ atau nomor volume dari buku.</li>
+
+ <li><strong>year<br /></strong> Tahun penerbitan,
+ untuk karya yang tidak diterbitkan, tahun ditulis. Secara umum,
+ harus terdiri dari angka bulat, seperti <tt>1984</tt>,
+ meskipun gaya bibliografi standar dapat mengenali <tt>year</tt>
+ dengan kombinasi teks asalkan empat terakhir berupa angka tahun,
+ misalnya `(sekitar 1984)'. Bidang ini diperlukan hampir
+ disemua tipe entri.</li>
+ </ul><br />
+
+
+ <h2>Bidang tambahan</h2>
+
+ <p>BibTeX sangat populer sehingga banyak orang
+ menggunakan untuk menyimpan informasi. Dibawah ini adalah daftar
+ bidang tambahan yang sering digunakan:</p>
+
+ <ul>
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ affiliation*</span><br /></strong> Afiliasi
+ penulis.<br />
+ </li>
+
+ <li><strong>abstract<br /></strong> Abstrak dari
+ tulisan.<br />
+ </li>
+
+ <li><strong>doi<br /></strong> Singkatan Digital Object
+ Identifier, merupakan identitas permanen yang diberikan
+ pada dokumen.<br />
+ </li>
+
+ <li><strong>eid<br /></strong> Singkatan dari Electronic identifier
+ yang digunakan oleh jurnal elektronik serta cetakan. Kode angka
+ menggantikan nomor halaman, serta digunakan untuk mencari
+ artikel dalam volume yang dicetak. Seringkali juga disebut
+ <em>citation number (nomor acuan)</em>.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ contents*</span><br /></strong> Daftar Isi<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ copyright*</span><br /></strong> Informasi
+ Hakcipta.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ ISBN*</span><br /></strong> Singkatan dari International Standard Book
+ Number.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ ISSN*</span><br /></strong> Singkatan dari International Standard
+ Serial Number. Digunakan sebagai identifikasi jurnal.<br />
+ </li>
+
+ <li><strong>keywords (katakunci)<br /></strong> Katakunci
+ digunakan untuk mencari topik tertentu yang sesuai.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ language*</span><br /></strong> Bahasa yang digunakan dalam
+ dokumen.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ location*</span><br /></strong> Lokasi yang berhubungan dengan
+ entri, misalnya kota tempat berlangsungnya konferensi.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ LCCN*</span><br /></strong> Singkatan dari Library of Congress Call
+ Number. Seringkali muncul dengan singkatan nama <tt>lib-congress</tt>.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ mrnumber*</span><br /></strong> Nomor dari <i>Mathematical
+ Reviews</i>.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ price*</span><br /></strong> Harga dari sebuah
+ documen.<br />
+ </li>
+
+ <li>
+ <strong><span style="font-weight: normal; font-style: italic;">
+ size*</span><br /></strong> Ukuran dimensi fisik dari suatu
+ karya.<br />
+ </li>
+
+ <li><strong>URL<br /></strong> Singkatan dari Universal Resource
+ Locator yang menunjukkan acuan www berada. Hal ini sering
+ digunakan pada laporan teknis yang mengacu situs ftp dimana dokumen
+ postscript disimpan.</li>
+ </ul>
+
+ <h3>JuraBib</h3>
+
+ <ul>
+ <li><strong>urldate<br /></strong> Tanggal terakhir
+ dikunjungi.</li>
+ </ul><br />
+ *) tidak secara langsung didukung oleh JabRef<br />
+ <br />
+</body>
+</html>
diff --git a/src/help/in/ContentSelectorHelp.html b/src/help/in/ContentSelectorHelp.html
new file mode 100755
index 0000000..3d7b376
--- /dev/null
+++ b/src/help/in/ContentSelectorHelp.html
@@ -0,0 +1,27 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Pengisian kata dalam bidang</h1>
+
+ <p>Fitur ini membantu anda untuk menyimpan
+ kata-kata atau teminologi yang sering anda gunakan dalam
+ pengisian basisdata anda. Bidang yang memiliki fitur ini
+ adalah <em>Journal</em>, <em>Author</em>, <em>Keywords</em> and
+ <em>Publisher</em>. Anda bisa menambah sendiri bidang lain yang
+ anda inginkan. Dalam dialog <em>Pengaturan pengisian kata</em> (menu
+ <strong>AlatBantuan --> Pengaturan pengisian kata</strong>).</p>
+
+ <p>Pemilihan kata adalah spesifik-basisdata. Kata-kata
+ disimpan bersama dengan koleksi referensi anda dalam berkas
+ .bib anda</p>
+
+ <p>Untuk menambahkan kata, anda cukup menuliskan pada kotak
+ sebelah kanan kemudian tekan Enter. Dalam dialog
+ <em>Pengaturan pengisian kata</em> ini anda juga
+ bisa menghapus kata-kata yang anda tambahkan.</p>
+</body>
+</html>
diff --git a/src/help/Contents.html b/src/help/in/Contents.html
similarity index 67%
copy from src/help/Contents.html
copy to src/help/in/Contents.html
index 759ad80..37d81d1 100755
--- a/src/help/Contents.html
+++ b/src/help/in/Contents.html
@@ -1,38 +1,40 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial">
+<body>
- <h1>Help contents</h1>
+ <h1>Daftar Isi Bantuan</h1>
- <h2>General</h2>
+ <h2>Umum</h2>
<ul>
- <li><a href="HelpHelp.html">About the Help window</a></li>
- <li><a href="JabRefHelp.html">General information</a></li>
- <li><a href="BaseFrameHelp.html">The JabRef main window</a></li>
- <li><a href="EntryEditorHelp.html">Entry editor</a></li>
- <li><a href="Autosave.html">Autosave</a></li>
+ <li><a href="HelpHelp.html">Tentang Jendela Bantuan</a></li>
+ <li><a href="JabRefHelp.html">Informasi Umum</a></li>
+ <li><a href="BaseFrameHelp.html">Jendela utama JabRef</a></li>
+ <li><a href="EntryEditorHelp.html">Penyunting Entri</a></li>
+ <li><a href="Autosave.html">Menyimpan otomatis</a></li>
</ul>
- <h2>Fields</h2>
+ <h2>Bidang dalam Entri</h2>
<ul>
- <li><a href="BibtexHelp.html"><em>Bibtex</em> help</a></li>
+ <li><a href="BibtexHelp.html">Informasi <em>Bibtex</em></a></li>
<li><a href="FileLinks.html">External file links</a></li>
<li><a href="ExternalFiles.html">PDF/PS/URL/DOI links in JabRef</a></li>
- <li><a href="TimeStampHelp.html">Entry time stamps</a></li>
- <li><a href="OwnerHelp.html">The 'owner' field</a></li>
- <li><a href="ContentSelectorHelp.html">Field content selector</a></li>
- <li><a href="JournalAbbreviations.html">Journal abbreviations</a></li>
+ <li><a href="TimeStampHelp.html">Cap waktu entri</a></li>
+ <li><a href="OwnerHelp.html">Bidang 'pemilik'</a></li>
+ <li><a href="ContentSelectorHelp.html">Pengisian kata dalam bidang</a></li>
+ <li><a href="JournalAbbreviations.html">Singkatan nama jurnal</a></li>
</ul>
- <h2>Finding and sorting entries</h2>
+ <h2>Mencari dan mengurutkan entri</h2>
<ul>
<li><a href="GroupsHelp.html">Help on using <em>Groups</em></a></li>
<li><a href="MarkingHelp.html">Marking entries</a></li>
<li><a href="SearchHelp.html">Searching in JabRef</a></li>
</ul>
- <h2>Setup</h2>
+ <h2>Pengaturan</h2>
<ul>
<li><a href="StringEditorHelp.html">String editor</a></li>
<li><a href="DatabaseProperties.html">Database properties window</a></li>
@@ -43,7 +45,7 @@
<li><a href="Plugin.html">Extend JabRef using plugins</a></li>
</ul>
- <h2>Import/Export</h2>
+ <h2>Impor/Ekspor</h2>
<ul>
<li><a href="CustomExports.html">Custom export filters</a></li>
<li><a href="CustomImports.html">Custom import filters</a></li>
@@ -63,10 +65,10 @@
<li><a href="RemoteHelp.html">Remote operations</a></li>
</ul>
- <h2>Miscellaneous</h2>
+ <h2>Lain-lain</h2>
<ul>
- <li><a href="RevisionHistory.html">Revision history</a></li>
- <li><a href="About.html">About JabRef</a></li>
+ <li><a href="RevisionHistory.html">Riwayat Perbaikan</a></li>
+ <li><a href="About.html">Tentang JabRef</a></li>
</ul>
</body>
diff --git a/src/help/in/EntryEditorHelp.html b/src/help/in/EntryEditorHelp.html
new file mode 100755
index 0000000..26973f4
--- /dev/null
+++ b/src/help/in/EntryEditorHelp.html
@@ -0,0 +1,138 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+<h1>Penyunting entri</h1>
+
+ <p><em>Dibuka dari jendela utama dengan klik-ganda salah satu
+ baris daftar entri yang ada, atau dengan cara memilih salah satu
+ baris kemudian tekan ENTER. Untuk menutup panel penyunting
+ dengan cara menekan tombol ESC.</em></p>
+
+ <p>Dalam panel ini anda dapat mengisikan semua informasi yang
+ relevan untuk entri yang anda pilih. Penyunting entri memeriksa
+ semua tipe entri yang ada, dan memberikan anda keleluasaan untuk
+ menyunting bidang-bidang utama yang diperlukan serta bidang tambahan
+ lainnya yang akan digunakan dalam referensi menggunakan
+ <em>bibtex</em>. Selain itu ada beberapa bidang yang akan dimasukkan
+ dalam <em>Bidang umum</em>, yang umum ada untuk semua tipe entri.</p>
+
+ <p>Anda sepenuhnya dapat mengatur bidang mana yang anda inginkan
+ masuk dalam katagori diperlukan serta mana saja yang bersifat tambahan
+ untuk tiap tipe entri. Selain itu anda juga bisa mengatur bidang apa saja
+ yang akan masuk dalam tab Bidang umum. Silahkan baca
+ <a href="CustomEntriesHelp.html">Pengaturan tipe entri</a>
+ untuk informasi yang lebih terperinci.</p>
+
+ <p>Informasi lain tentang bagaimana mengisi bidang yang ada, silahkan baca
+ <a href="BibtexHelp.html">Bantuan bibtex</a>.</p>
+
+ <h2>Panel penyunting entri</h2>
+
+ <p>Penyunting entri mempunyai enam panel:
+ <em>Bidang diperlukan</em>, <em>Bidang tambahan</em>,
+ <em>Umum</em>, <em>Abstrak</em>, <em>Ulasan</em> dan
+ <em>sumber BibTeX</em>, dimana <em>Umum</em>,
+ <em>Abstrak</em> dan <em>Ulasan</em> dapat diatur (baca
+ <a href="GeneralFields.html">Pengaturan bidang umum</a> untuk
+ penjelasan terperinci). Dalam tiga panel yang pertama, TAB dan SHIFT-TAB
+ bisa digunakan untuk menggerakkan lokasi bidang teks.</p>
+
+ <p>Berpindah penyuntingan dari panel ke panel dapat menggunakan
+ tombol TAB dengan kombinasi tombol ketik lainnya:CTRL-TAB atau CTRL-PLUS
+ untuk berpindah ke tab sebelah kanan, sedangkan CTRL-SHIFT-TAB atau
+ CTRL-MINUS untuk berpindah ke tab sebelah kiri. Anda dapat berpindah
+ ke entri sebelumnya atau setelahnya dengan menekan CTRL-SHIFT-DOWN atau
+ CTRL-SHIFT-UP. Anda bisa juga menggunakan tombol panah yang ada di
+ kotak bantuan.</p>
+
+ <p>Panel <em>Sumber BibTeX</em> menampilkan bagaimana entri
+ hasilnya jika basisdata anda simpan ke format <em>bibtex</em>.
+ Jika anda menginginkan, anda bisa menyunting sumber <em>bibtex</em>
+ langsung dari penel ini. Ketika anda berpindah ke panel lainnya,
+ tekan CTRL-S atau tutup penyunting entri, JabRef akan menyesuaikan
+ perubahan yang anda lakukan di penel Sumber BibTeX. Apabila ada
+ kesalahan, pesan pemberitahuan akan muncul, dan memberikan pilihan
+ apakah anda akan memperbaikinya atau mengembalikan ke isi sebelumnya.
+ Jika anda memilih <strong>Tampilkan sumber BibTeX sebagai bawaan</strong> di panel
+ <strong>Penyunting Entri</strong> dari menu
+ <strong>Pengaturan->Preferensi</strong>, panel sumber BibTeX akan muncul
+ satu-satunya panel ketika anda membuka penyunting entri. Jika anda lebih suka
+ menyunting sumber daripada menggunakan panel penyunting, inilah pilihan
+ yang tepat untuk anda.</p>
+
+ <p><strong>Saran:</strong> Apabila basisdata anda mempunyai bidang
+ yang tidak dikenal oleh JabRef, bidang tersebut akan muncul di panel
+ sumber.</p>
+
+ <h2>Memeriksa konsistensi bidang</h2>
+
+ <p>Apabila isi dari bidang berubah, JabRef akan memeriksa apakah
+ isi yang baru dapat diterima. Untuk tipe bidang yang digunakan
+ <em>bibtex</em>, isinya diperiksa berdasar penggunaan karakter '#'.
+ Simbol pagar ini <em>hanya</em> boleh digunakan secara berpasangan
+ (kecuali untuk penulisan, '\#'), yang bermakna melipat string
+ <em>bibtex</em> yang diacu. JabRef tidak akan memeriksa jika string
+ yang diacu benar-benar ada (ini bukan buka suatu tipuan, karena gaya
+ <em>bibtex</em> yang anda gunakan dapat mendefinisikan kumpulan
+ string bebas yang tidak dikenali JabRef).</p>
+
+ <p>Apabila isi tidak dapat diterima, bidang akan berubah warna menjadi
+ merah, yang menandakan adanya kesalahan. Jika hal ini terjadi, perubahan
+ tidak akan disimpan.</p>
+
+ <!--<h2>Word/name autocompletion</h2>
+
+ <p>The entry editor offers autocompletion of words. In the Preferences dialog
+ you can enable or disable autocompletion, and choose for which fields
+ autocompletion is active.</p>
+
+ <p>With autocompletion, JabRef records all words that appear in
+ each of the chosen fields throughout your database. Whenever you write
+ the beginning of one of these words, it will be suggested visually. To
+ ignore the suggestion, simply write on. To accept the suggestion,
+ either press <em>ENTER</em> or use your arrow keys or other keys to
+ remove the selection box around the suggested characters.</p>
+
+ <p><em>Note:</em> the words considered for suggestion are only the ones
+ appearing in the same field in entries of the same database as the one you
+ are editing. There are many ways to realise this kind of feature, and if you feel
+ it should have been implemented differently, we'd like to hear your suggestions!</p>
+
+ <h2>Copy <em>bibtex</em> key</h2>
+
+ <p>Pressing CTRL-K or the 'key' button causes the <em>bibtex</em> key for your entry
+ to be copied to the clipboard.</p>
+ -->
+
+ <h2>Kunci <em>bibtex</em> otomatis</h2>
+
+ <p>Tekan CTRL-G atau gunakan
+ tombol 'membuat kunci BibTeX' (tongkat ajaib) untuk membuat kunci
+ <em>bibtex</em> secara otomatis berdasarkan isi dari entri yang berada di
+ Bidang diperlukan.</p>
+
+ <p>Informasi lebih lanjut bagaimana JabRef membuat kunci
+ <em>bibtex</em>, silahkan baca
+ <a href="LabelPatterns.html">Pengaturan pembuat kunci BibTex</a>.</p>
+
+ <h2>Pengisian otomatis kata/nama</h2>
+
+ <p>JabRef mempunyai fitur pengisian otomatis kata/nama.
+ Pengaturan fitur ini dapat diubah dari <b>Pengaturan ->
+ Preferensi -> Penyunting entri</b>. Pengaturan bawaan adalah
+ aktif untuk semua bidang yang umum digunakan.</p>
+
+ <p>Ketika menyunting satu bidang yang pengisian otomatisnya aktif,
+ JabRef akan mencoba menyarankan kata lengkap ketika anda menulis,
+ berdasarkan kata-kata yang digunakan di mana-mana bidang dalam basisdata
+ anda. Saran kata akan muncul dalam bentuk teks warna terang. Jika ada
+ beberapa kata yang mungkin, anda bisa menggunakan tombol PAGE UP dan
+ PAGE DOWN untuk melihat kata-kata yang disarankan. Pilih salah satu
+ kata, kemudian tekan ENTER. Untuk mengabaikan saran, teruskan menulis kata
+ anda sendiri.</p>
+
+</body>
+</html>
diff --git a/src/help/in/HelpHelp.html b/src/help/in/HelpHelp.html
new file mode 100755
index 0000000..bcb286f
--- /dev/null
+++ b/src/help/in/HelpHelp.html
@@ -0,0 +1,34 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Jendela Bantuan</h1>
+
+ <p><em>Dibuka dengan cara klik menu Bantuan atau tekan F1.</em></p>
+
+ <p>Jendela bantuan memberikan informasi bagaimana menggunakan JabRef.</p>
+
+ <h2>Bagaimana menggunakan jendela bantuan</h2>
+
+ <p>Jendela bantuan pada dasarnya adalah penjelajah HTML, berkas
+ bantuan merupakan berkas HTML.</p>
+
+ <p>Ketika dibuka, jendela bantuan akan menyiapkan beberapa berkas
+ pada jendela yang sedang dibuka. Apabila berkas yang dibuka tidak
+ anda informasi yang anda inginkan, tombol
+ <em>Daftar Isi</em> di kotak bantuan akan membawa anda ke berkas
+ bantuan yang lain.</p>
+
+ <p>Pada kotak bantuan, anda dapat menggunakan tombol navigasi
+ tuntuk membuka berkas sebelumnya atau setelahnya. Tombol ini mirip
+ dengan tombol <em>Mundur</em> dan <em>Maju</em> pada penjelajah standar.
+ Pintasan tombol ketik untuk navigasi adalah menggunakan tombol ketik
+ panah kiri untuk <em>Mundur</em> tombol ketik kanan untuk
+ <em>Maju</em>.</p>
+
+ <p>Cara menutup jendela bantuan dengan menekan tombol ESCAPE.</p>
+</body>
+</html>
diff --git a/src/help/in/JabRefHelp.html b/src/help/in/JabRefHelp.html
new file mode 100755
index 0000000..3f7242c
--- /dev/null
+++ b/src/help/in/JabRefHelp.html
@@ -0,0 +1,33 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+ <h1>JabRef</h1>
+
+ <p><strong>Catatan:</strong> Program <em>bibtex</em> sering
+ disebut pada berkas bantuan. <em>Bibtex</em> adalah suatu piranti
+ yang dibuat oleh Oren Patashnik untuk membuat referensi bibliografi
+ dalam dokumen LaTeX. Format basisdata yang sama juga digunakan
+ pada CiteMaker yang merupakan piranti pembuat bibliografi pada
+ Adobe FrameMaker.</p>
+
+ <p>JabRef adalah program untuk menyunting basisdata <em>bibtex</em>.
+ Program ini menggunakan format berkas internal, yang berarti
+ anda dapat memuat dan menyimpan basisdata anda langsung dalam
+ format <em>bibtex</em> .bib. Anda juga dapat mengimpor berbagai format
+ basisdata bibliograf ke JabRef.</p>
+
+ <p>JabRef mempunyai fitur untuk mengurutkan dan mencari isi dari
+ basisdata. Anda dapat dengan mudah menambah entri tanpa
+ harus hafal informasi utama yang diperlukan, demikian pula
+ kunci <em>bibtex</em> dapat dibuat secara otomatis. JabRef akan sangat
+ berguna bagi yang menggunakan <em>bibtex</em> atau CiteMaker,
+ tetapi juga bermanfaat bagi yang menggunakan sistem referensi lain
+ atau sangat membantu bagi yang sekedar ingin merapikan sumber
+ pustaka.</p>
+
+ <p><a href="BaseFrameHelp.html">Jendela utama JabRef</a></p>
+</body>
+</html>
diff --git a/src/help/in/JournalAbbreviations.html b/src/help/in/JournalAbbreviations.html
new file mode 100644
index 0000000..4481de0
--- /dev/null
+++ b/src/help/in/JournalAbbreviations.html
@@ -0,0 +1,120 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+ <h1>Singkatan nama jurnal</h1>
+
+ <p>Fitur ini dapat diatur melalui
+ menu <b>Pengaturan -> Pengaturan singkatan jurnal</b>.</p>
+
+ <p>JabRef dapat secara otomatis merubah dari bentuk
+ singkatan ke nama penuh dan sebaliknya, selama nama jurnal
+ dan singkatannya ada dalam daftar anda. Anda bisa menggunakan
+ memperoleh daftar singkatan dari beberapa berkas yang ada
+ dalam cakra padat anda.</p>
+
+ <h2>Penggunaan fitur ini</h2>
+
+ <p>Pengubahan nama jurnal dapat dilakukan dari penyunting entri
+ atau dari menu <b>AlatBantuan</b>. Jika anda berada di
+ di bagian <i>Jurnal</i> dalam penyunting entri, untuk merubah ke
+ bentuk singkatan, tekan tombol <i>Gunakan
+ singkatan</i>. Setelah tombol ini anda tekan maka anda akan
+ diberikan tiga pilihan:</p>
+
+ <ul>
+ <li>Nama penuh, misalnya "Aquacultural Engineering"</li>
+
+ <li>Singkatan ISO, misalnya "Aquacult. Eng."</li>
+
+ <li>Singkatan MEDLINE, misalnya "Aquacult Eng"</li>
+ </ul>
+ <p>Jika nama jurnal tidak ada dalam daftar, maka nama jurnal
+ tidak akan berubah sama sekali.</p>
+
+ <p>Untuk merubah nama jurnal bersamaan, anda dapat memilih
+ beberapa entri yang ingin anda ubah nama jurnalnya, kemudian
+ dari menu <b>AlatBantuan ->
+ Singkatan nama jurnal (ISO)</b>, <b>AlatBantuan -> Singkatan
+ nama jurnal (MEDLINE)</b> atau <b>AlatBantuan -> Tidak
+ menyingkat nama jurnal</b>. Ketiga perintah tersebut dapat
+ menyingkat atau menggunakan nama lengkap dari entri pilihan dimana
+ nama jurnal ada dalam daftar jurnal.</p>
+
+ <h2>Membuat daftar nama jurnal</h2>
+
+ <p>Anda boleh menggunakan beberapa
+ berkas daftar jurnal yang kesemuanya dapat ditautkan dari JabRef.
+ Berkas daftar jurnal yang utama dapat disunting dari dalam JabRef.</p>
+
+ <h3>Daftar singkatan jurnal pribadi</h3>
+
+ <p>Pengaturan dan pengeloaan daftar singkatan jurnal pribadi
+ ada di bagian atas jendela <b>Singkatan nama jurnal</b>.
+ Untuk memulai membangun daftar jurnal pribadi, pilih
+ <i>Berkas baru</i>, tulis nama berkas atau gunakan
+ tombol <i>Jelajah</i>. Apabila anda sudah mempunyai berkas
+ daftar nama jurnal sebelumnya dan ingin anda gunakan
+ pilih <i>Berkas yang ada</i>, dan tekan
+ tombol <i>Jelajah</i> untuk memilih berkas. Tabel di kotak
+ bawahnya akan menampilkan isi daftar jurnal dari berkas
+ yang anda pilih.</p>
+
+ <p>Tabel serta tombol bantuan disebelah kanan akan membantu anda
+ untuk menambah, menghapus dan menyunting nama jurnal serta
+ singkatannya. Pada setiap entri, anda harus menuliskan nama
+ lengkap dari jurnal serta nama singkatan ISO (misalnya
+ "Aquacultural Engineering" dan "Aquacult. Eng."). Untuk
+ menyunting entri, klik-ganda entri pada tabel.</p>
+
+ <p>Apabila anda sudah memilih berkas dan entri tabel
+ memiliki paling tidak satu entri, kemudian anda menekan tombol
+ <i>OK</i>, maka semuanya entri dalam tabel akan
+ disimpan ke berkas yang dipilih, dan daftar jurnal yang ada
+ di JabRef akan diperbarui.</p>
+
+ <h3>Daftar jurnal eksternal</h3>
+
+ <p>Sebagai tambahan dari daftar jurnal pribadi,
+ anda juga dapat mengkaitkan dengan beberapa berkas daftar jurnal
+ eksternal. Definisi tautan ke berkas eksternal ada di bagian bawah
+ dari jendela <b>Singkatan nama jurnal</b>.
+ Daftar jurnal eksternal mempunyai format yang sama dengan daftar
+ jurnal pribadi - perbedaanya hanya JabRef tidak memberikan
+ fasilitas antarmuka untuk penyuntingan penyuntingan berkas
+ eksternal.</p>
+
+ <p>Apabila perlu, untuk menambah daftar berkas eksternal baru,
+ klik tombol <b>+</b> di bagian kotak bawah. Setelah itu anda
+ bisa menekan tombol <i>Jelajah</i> atau tombol <i>Muaturun</i>
+ yang terletak di sebelah kanan dari kotak berkas eksternal pada
+ kotak bagian bawah jendela. Untuk melihat isi dari berkas
+ anda bisa menggunakan tombol <i>Pratampilan</i>.</p>
+
+ <ul>
+ <li>Tombol <i>Jelajah</i> membantu anda untuk memilih
+ berkas daftar jurnal yang anda miliki yang berada
+ di salah satu direktori dalam komputer anda.</li>
+
+ <li>Tombol <i>Muaturun</i> berfungsi untuk muaturun berkas
+ yang ada di tautan internet dengan cara menuliskan alamat
+ URL. Anda perlu memberi nama baru dan menyimpan ke lokal
+ komputer. Selanutnya JabRef akan mengenalinya sebagai berkas
+ daftar jurnal eksternal. Ketika anda menekan tombol
+ <i>Muaturun</i>, dalam alamat URL anda akan lihat alamat URL
+ bawaan dari situs JabRef yang berisi daftar jurnal serta
+ singkatannya. Namun demikian daftar yang ada tidak lengkap
+ sekali, anda bis melengkapinya sendiri.</li>
+
+ <li>Tombol <i>Pratampilan</i> akan menampilkan isi daftar
+ dari berkas internal yang anda pilih</li>
+ </ul>
+
+ Setiap entri yang anda miliki dari daftar jurnal pribadi akan
+ menindih informasi dari nama jurnal yang sama dari berkas
+ eksternal. Pada eksternal jurnal, urutan tautan akan menentukan
+ prioritas yang dipakai.
+</body>
+</html>
diff --git a/src/help/in/OwnerHelp.html b/src/help/in/OwnerHelp.html
new file mode 100644
index 0000000..7a3c6af
--- /dev/null
+++ b/src/help/in/OwnerHelp.html
@@ -0,0 +1,21 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Bidang 'pemilik'</h1>
+
+ <p>JabRef dapat memberikan tanda pada semua entri basisdata
+ yang ditambahkan atau yang diimpor dengan nama pengguna anda.
+ And juga dapat mengatur aktif tidaknya fitur ini dari
+ <b>Preferensi -> Umum</b>, serta merubah nama pemilik yang ingin
+ anda gunakan untuk menandai semua entri. Nama pemilik bawaan adalah
+ nama pengguna anda.</p>
+
+ <p>Nama pemilik dituliskan dalam bidang bernama 'pemilik',
+ yang pada pengaturan bawaan akan muncul dalam tab <b>Umum</b>
+ pada Penyunting Entri.</p>
+</body>
+</html>
diff --git a/src/help/RevisionHistory.html b/src/help/in/RevisionHistory.html
similarity index 95%
copy from src/help/RevisionHistory.html
copy to src/help/in/RevisionHistory.html
index 13c9a24..68c159d 100644
--- a/src/help/RevisionHistory.html
+++ b/src/help/in/RevisionHistory.html
@@ -1,11 +1,32 @@
<html xmlns="http://www.w3.org/1999/xhtml">
-
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
- <h1>Revision history</h1>
-
- <h3>Version 2.6beta3</h3>
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Riwayat Perbaikan</h1>
+
+
+ <h3>Versi 2.6</h3>
+ <li>Fixed IEEExplorer and ACM fetchers to adapt to web site changes.</li>
+ <li>Active preview (1 or 2) is now remembered.</li>
+ <li>Applied patch by Igor L. Chernyavsky. to prevent loss of entry selection after
+ generating key.</li>
+ <li>Changed OpenDocument Spreadsheet export so the mimetype file is written correctly
+ at the start of the zip file.</li>
+ <li>Fixed bug when importing preferences: custom export filters would not be updated
+ after import.</li>
+ <li>Changed help page loading procedure so help pages can be loaded for plugin entry
+ fetchers.</li>
+ <li>Made it possible to define customized entry types with either-or conditions on
+ required fields, e.g. using a pseudo-field called "author/editor" will indicate
+ that the entry requires either the "author" or the "editor" field set.</li>
+ <li>Fixed bug: entries of a customized type could be indicated as complete even if
+ BibTeX key was not set.</li>
+ <li>Changed deletion process for some temporary files to avoid leftover files.</li>
+
+ <h3>Versi 2.6beta3</h3>
<li>Added ScienceDirect entry fetcher that utilizes the BibSonomy scraper.</li>
<li>Changed non-native file dialog setting so files cannot be renamed. This prevents
@@ -60,7 +81,7 @@
messed up after the metadata comment in a bib file.</li>
<li>Search dialog now automatically previews first hit, and hides preview if there are no hits.</li>
- <h3>Version 2.6beta2</h3>
+ <h3>Versi 2.6beta2</h3>
<li>Added export formatter "Default" which takes a single argument. Outputs the string to format
unchanged if it is non-empty, otherwise outputs the argument.</li>
@@ -100,7 +121,7 @@
<li>Fixed bug: editing source doesn't allow change of entry type.</li>
<li>RTFChars formatter now converts --- to \emdash and -- to \endash.</li>
- <h3>Version 2.6beta</h3>
+ <h3>Versi 2.6beta</h3>
<ul>
<li>Added pages information to several entry types in Endnote export.</li>
@@ -134,7 +155,7 @@
problems when using this.</li>
<li>Changed years from 2008 to 2009 in splash image.</li>
</ul>
- <h3>Version 2.5 (June 22nd, 2009)</h3>
+ <h3>Versi 2.5 (June 22nd, 2009)</h3>
<ul>
<li>Modified export layout procedure so missing formatters can be reported in the error
output. Export now succeeds with warnings added where formatters are missing.</li>
@@ -149,7 +170,7 @@
<li>Fixed bug in startup that could show warnings multiple times when loading
from autosave files.</li>
</ul>
- <h3>Version 2.5beta 2 (May 19th, 2009)</h3>
+ <h3>Versi 2.5beta 2 (May 19th, 2009)</h3>
<ul>
<li>Plugin manager now handles plugin versions correctly based on the version number in their
plugin.xml file.</li>
@@ -160,7 +181,7 @@
<li>Improved handling of patents in Scifinder import.</li>
</ul>
- <h3>Version 2.5beta (April 21st, 2009)</h3>
+ <h3>Versi 2.5beta (April 21st, 2009)</h3>
<ul>
<li> Added Simplified Chinese translation.</li>
@@ -206,7 +227,7 @@
</ul>
- <h3>Version 2.4.2 (November 1st, 2008)</h3>
+ <h3>Versi 2.4.2 (November 1st, 2008)</h3>
<ul>
<li>Added missing layout formatters FirstPage and LastPage.</li>
@@ -218,7 +239,7 @@
<li>Fixed bug 2157664: Current edit is now treated as an undoable edit in itself.</li>
</ul>
- <h3>Version 2.4.1 (October 8th, 2008)</h3>
+ <h3>Versi 2.4.1 (October 8th, 2008)</h3>
<ul>
<li>Fixed bug: layout formatter arguments were not set when using a ParamLayoutFormatter loaded from plugin.</li>
@@ -235,7 +256,7 @@
</ul>
- <h3>Version 2.4 (September 1st, 2008)</h3>
+ <h3>Versi 2.4 (September 1st, 2008)</h3>
<ul>
<li>Added mappings for some special characters that need to be sanitized when generating BibTeX keys.</li>
@@ -249,7 +270,7 @@
</ul>
- <h3>Version 2.4beta (March 12th, 2008)</h3>
+ <h3>Versi 2.4beta (March 12th, 2008)</h3>
<ul>
<li>Added "protection" flag in Database properties. When this flag is set, JabRef will refuse to save the database when the file has been externally modified, until the changes have been reviewed and partly or completely accepted.</li>
@@ -294,7 +315,7 @@
</ul>
- <h3>Version 2.3.1 (November 29th, 2007)</h3>
+ <h3>Versi 2.3.1 (November 29th, 2007)</h3>
<ul>
<li>Removed default applications for file types under Mac OS X, and made use of the standard "/usr/bin/open <filename>" way to open files except when an application name is explicitly set.</li>
@@ -302,7 +323,7 @@
</ul>
- <h3>Version 2.3 (November 8th, 2007)</h3>
+ <h3>Versi 2.3 (November 8th, 2007)</h3>
<ul>
<li>Added handling of unknown file types when synchronizing the file field.</li>
@@ -314,7 +335,7 @@
</ul>
- <h3>Version 2.3beta3 (October 6th, 2007)</h3>
+ <h3>Versi 2.3beta3 (October 6th, 2007)</h3>
<ul>
<li>Export formats that output the character encoding now use common names for encodings instead of Java-specific names.</li>
@@ -340,7 +361,7 @@
</ul>
- <h3>Version 2.3beta2 (August 29th, 2007)</h3>
+ <h3>Versi 2.3beta2 (August 29th, 2007)</h3>
<ul>
<li>When user chooses to save to an existing file, and answers that the file should not be overwritten, a new file dialog now appears instead of the operation cancelling.</li>
@@ -361,7 +382,7 @@
</ul>
- <h3>Version 2.3beta (June 28th, 2007)</h3>
+ <h3>Versi 2.3beta (June 28th, 2007)</h3>
<ul>
<li>Added MIS Quarterly export format.</li>
@@ -391,7 +412,7 @@
</ul>
- <h3>Version 2.2 (January 30th, 2007)</h3>
+ <h3>Versi 2.2 (January 30th, 2007)</h3>
<ul>
<li>Added progress bar to indicate progress when synchronizing PS/PDF links.</li>
@@ -419,7 +440,7 @@
</ul>
- <h3>Version 2.2beta2 (November 26th, 2006)</h3>
+ <h3>Versi 2.2beta2 (November 26th, 2006)</h3>
<ul>
<li>Redesigned export functions to simplify GUI and provide "Export selected entries" functionality. Export filter is now chosen using the file type dropdown menu in the file dialog.</li>
@@ -436,7 +457,7 @@
</ul>
- <h3>Version 2.2beta (October 13th, 2006)</h3>
+ <h3>Versi 2.2beta (October 13th, 2006)</h3>
<ul>
<li>Added Mark Schenk's advanced HTML export filter.</li>
@@ -482,7 +503,7 @@
<li>[1553552] Fixed: Not properly detecting changes to flag as changed</li>
</ul>
- <h3>Version 2.1 (August 9th, 2006)</h3>
+ <h3>Versi 2.1 (August 9th, 2006)</h3>
<ul>
<li>Added capability to drag files and WWW links into JabRef. BibTeX files will be opened normally, other files imported, and WWW links downloaded and imported.</li>
@@ -497,7 +518,7 @@
<li>Fixed bug that made duplicate resolver dialog pop under import inspection dialog.</li>
</ul>
- <h3>Version 2.1beta2 (June 29th, 2006)</h3>
+ <h3>Versi 2.1beta2 (June 29th, 2006)</h3>
<ul>
<li>Added option to toggle floating of marked entries to the top of the table.</li>
@@ -511,7 +532,7 @@
<li>Fixed bug in parser that made {"} illegal in fields quoted with ".</li>
</ul>
- <h3>Version 2.1beta (May 9th, 2006)</h3>
+ <h3>Versi 2.1beta (May 9th, 2006)</h3>
<ul>
<li>Known issue: font sizes cannot be changed, but should follow OS settings on Windows and Mac.</li>
@@ -536,7 +557,7 @@
<li>Fixed bug (misspelled formatter name) in Harvard RTF export.</li>
</ul>
- <h3>Version 2.0.1 (February 2nd, 2006)</h3>
+ <h3>Versi 2.0.1 (February 2nd, 2006)</h3>
<ul>
<li>Fixed bug that made a hidden entry editor under some circumstances store a field value to the wrong entry.</li>
@@ -544,7 +565,7 @@
<li>Fixed bug in setting external journal lists when no personal list is set.</li>
</ul>
- <h3>Version 2.0 (January 30th, 2006)</h3>
+ <h3>Versi 2.0 (January 30th, 2006)</h3>
<ul>
<li>Changed sorting selection interface for main table for more intuitive operation.</li>
@@ -557,7 +578,7 @@
<li>Fixed bug in link handling in entry preview.</li>
</ul>
- <h3>Version 2.0b2 (January 15th, 2006)</h3>
+ <h3>Versi 2.0b2 (January 15th, 2006)</h3>
<ul>
<li>Changed field order in OpenDocument export
@@ -572,7 +593,7 @@
on Windows.</li>
</ul>
- <h3>Version 2.0b (January 4rd, 2006)</h3>
+ <h3>Versi 2.0b (January 4rd, 2006)</h3>
<ul>
<li>Added a system for registering custom import
@@ -670,7 +691,7 @@
journal field</li>
</ul>
- <h3>Version 1.8.1 (September 15th, 2005)</h3>
+ <h3>Versi 1.8.1 (September 15th, 2005)</h3>
<ul>
<li>Added automatic timestamp with configurable format
@@ -723,7 +744,7 @@
<li>Fixed AuthorAndsCommaReplacer.</li>
</ul>
- <h3>Version 1.8 (July 30th, 2005)</h3>
+ <h3>Versi 1.8 (July 30th, 2005)</h3>
<ul>
<li>Search panel now starts visible if it was visible
@@ -741,7 +762,7 @@
wizard</li>
</ul>
- <h3>Version 1.8b2 (July 13th, 2005)</h3>
+ <h3>Versi 1.8b2 (July 13th, 2005)</h3>
<ul>
<li>Changed handling of external updates so the
@@ -795,7 +816,7 @@
braces.</li>
</ul>
- <h3>Version 1.8b (June 6th, 2005)</h3>
+ <h3>Versi 1.8b (June 6th, 2005)</h3>
<ul>
<li>Added option to store bib file with double
@@ -873,7 +894,7 @@
references.</li>
</ul>
- <h3>Version 1.7.1 (April 11th, 2005)</h3>
+ <h3>Versi 1.7.1 (April 11th, 2005)</h3>
<ul>
<li>Removed unnecessary stack traces when opening
@@ -895,7 +916,7 @@
without line wrapping.</li>
</ul>
- <h3>Version 1.7 (March 20th, 2005)</h3>
+ <h3>Versi 1.7 (March 20th, 2005)</h3>
<ul>
<li>When fetching from Medline or CiteSeer, fetched
@@ -930,7 +951,7 @@
visible in the entry editor.</li>
</ul>
- <h3>Version 1.7b2 (March 7th, 2005)</h3>
+ <h3>Versi 1.7b2 (March 7th, 2005)</h3>
<ul>
<li>Made side pane resizable.</li>
@@ -981,7 +1002,7 @@
author fields with mismatched braces.</li>
</ul>
- <h3>Version 1.7 beta (January, 27th, 2005)</h3>
+ <h3>Versi 1.7 beta (January, 27th, 2005)</h3>
<ul>
<li>Changed routine for rearranging author names
@@ -1022,7 +1043,7 @@
AWT dialog is now opened if Swing dialog fails.</li>
</ul>
- <h3>Version 1.6 (November 27th, 2004)</h3>
+ <h3>Versi 1.6 (November 27th, 2004)</h3>
<ul>
<li>Improved handling of entry selection in various
@@ -1048,7 +1069,7 @@
<li>Various other bugfixes.</li>
</ul>
- <h3>Version 1.6 beta (November 8th, 2004)</h3>
+ <h3>Versi 1.6 beta (November 8th, 2004)</h3>
In an effort to produce better and more stable releases,
we have decided to release a beta versions prior to
@@ -1099,7 +1120,7 @@
infotext in plaintext import dialog</li>
</ul>
- <h3>Version 1.55 (October 12th, 2004)</h3>
+ <h3>Versi 1.55 (October 12th, 2004)</h3>
<ul>
<li>Made method for opening PDF files robust with
@@ -1170,7 +1191,7 @@
source validates.</li>
</ul>
- <h3>Version 1.5 (August 3rd, 2004)</h3>
+ <h3>Versi 1.5 (August 3rd, 2004)</h3>
<ul>
<li>Added Highlight and select options to the group
@@ -1207,7 +1228,7 @@
removing from group.</li>
</ul>
- <h3>Version 1.4 (June 6th, 2004)</h3>
+ <h3>Versi 1.4 (June 6th, 2004)</h3>
Version 1.4 provides command line options for importing
and exporting files, advanced search, custom export
@@ -1233,14 +1254,14 @@
cut/copy/paste.</li>
</ul>
- <h3>Version 1.3.1 (May 9, 2004)</h3>
+ <h3>Versi 1.3.1 (May 9, 2004)</h3>
Release 1.3.1 resolves a couple of severe bugs in 1.3.
All users who have downloaded 1.3 should upgrade (the
bugs in 1.3 impaired functionality but did not pose a
security risk).
- <h3>Version 1.3.* (May 9, 2004)</h3>
+ <h3>Versi 1.3.* (May 9, 2004)</h3>
This release adds entry preview, detection of duplicate
entries, persistent entry marking, new import and export
@@ -1248,14 +1269,14 @@
OS X compatibility. There are several other changes and
improvements, and many bugfixes.
- <h3>Version 1.2 (March 21, 2004)</h3>
+ <h3>Versi 1.2 (March 21, 2004)</h3>
The icon set has been replaced. Notable new features are
French language support, key generator customization,
string replace, and BibTeXML import. Several bugs have
been fixed.
- <h3>Version 1.19 (Feb 19,2004)</h3>
+ <h3>Versi 1.19 (Feb 19,2004)</h3>
<ul>
<li>Entry editor is now opened for an entry that causes
@@ -1306,7 +1327,7 @@
which caused changes to disappear.</li>
</ul>
- <h3>Version 1.1 (Jan 02, 2004)</h3>
+ <h3>Versi 1.1 (Jan 02, 2004)</h3>
<ul>
<li>Added bibtex key uniqueness checking, and prevented
@@ -1351,7 +1372,7 @@
definition of new types.</li>
</ul>
- <h3>Version 1.0 (Nov 29, 2003)</h3>
+ <h3>Versi 1.0 (Nov 29, 2003)</h3>
First release of JabRef
diff --git a/src/help/in/ShortIntegrityCheck.html b/src/help/in/ShortIntegrityCheck.html
new file mode 100644
index 0000000..8f8bae2
--- /dev/null
+++ b/src/help/in/ShortIntegrityCheck.html
@@ -0,0 +1,14 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Pemeriksaan Integritas</h1>
+
+ <p>Pemeriksaan integritas adalah suatu proses untuk melakukan pemeriksaan adanya indikasi
+ kesalahan mengisi bidang bibtex. "Memindai" adalah tombol untuk memulai pemeiksaan ini.</p>
+
+</body>
+</html>
diff --git a/src/help/in/TimeStampHelp.html b/src/help/in/TimeStampHelp.html
new file mode 100644
index 0000000..01fa9ae
--- /dev/null
+++ b/src/help/in/TimeStampHelp.html
@@ -0,0 +1,50 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="../jabref_help.css"/>
+</head>
+
+<body>
+
+ <h1>Cap waktu entri</h1>
+
+ <p>Fitur ini bisa dipilih dan diatur melalui menu
+ <b>Pengaturan ->
+ Preferensi -> Umum</b>.</p>
+
+ <p>JabRef dapat menuliskan tanggal entri ditambahkan
+ dalam basisdata.</p>
+
+ <h2>Format</h2>
+
+ <p>Format cap waktu dibuat dengan string yang mengandung
+ tanda waktu yang memberikan informasi tentang tanggal
+ dan waktu.</p>
+
+ <p>Dibawah ini adalah daftar kode huruf (hasil penulisan
+ dituliskan dalam tanda kurung) untuk menuliskan berbagai
+ parameter tanggal:</p>
+
+ <ul>
+ <li><b>yy</b>: tahun (05)</li>
+
+ <li><b>yyyy</b>: tahun (2005)</li>
+
+ <li><b>MM</b>: bulan (09)</li>
+
+ <li><b>dd</b>: tanggal pada bulan (14)</li>
+
+ <li><b>HH</b>: jam pada hari (17)</li>
+
+ <li><b>mm</b>: menit pada jam (45)</li>
+ </ul>Kode waktu bisa digabungkan dengan tanda lainnya juga dengan spasi
+ kosong. Beberapa contoh penggabungan:
+ <ul>
+ <li><b>yyyy.MM.dd</b> memberikan hasil <b>2005.09.14</b></li>
+
+ <li><b>yy.MM.dd</b> memberikan hasil <b>05.09.14</b></li>
+
+ <li><b>yyyy.MM.dd HH:mm</b> memberikan hasil <b>2005.09.14
+ 17:45</b></li>
+ </ul>
+</body>
+</html>
diff --git a/src/help/jabref_help.css b/src/help/jabref_help.css
new file mode 100644
index 0000000..b75ba76
--- /dev/null
+++ b/src/help/jabref_help.css
@@ -0,0 +1,31 @@
+/* CSS for JabRef */
+
+body {
+ font-family: Arial, sans-serif;
+ font-size: 12pt;
+ color: #393939;
+ margin: 0px;
+ padding: 20px;
+ padding-left: 50px;
+ background-image: url(/images/JabRef-icon-48.png);
+ background-repeat: no-repeat;
+ background-attachment: fixed;
+}
+
+h1 { font-size: 18pt; background-color: #efefef; padding: 2px 0px; margin-top: 0px; }
+h2 { font-size: 14pt; margin-top: 15px ; margin-bottom: 5px; }
+h3 { font-size: 12pt; margin-top: 10px ; margin-bottom: 5px; }
+
+p { text-align: justify; margin-top: 0px; margin-bottom: 10px; line-height: 15pt; }
+
+code { font-family: Courier, monospace; font-size: 12pt; background-color: #FAFAFA; }
+
+ul, dl { margin-top: 0px; }
+li, dd { text-align: justify; margin-top: 0px; margin-bottom: 3px; }
+
+ul { margin-left: 10px; }
+
+blockquote { background-color: #FAFAFA; border: 1px solid #EFEFEF; padding: 5px; }
+
+
+
diff --git a/src/help/jgoodies.html b/src/help/jgoodies.html
index 960809b..4170aab 100644
--- a/src/help/jgoodies.html
+++ b/src/help/jgoodies.html
@@ -1,8 +1,9 @@
<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<link rel="stylesheet" type="text/css" href="jabref_help.css"/>
+</head>
-<body text="#275856">
- <basefont size="4" color="#2F4958" face="arial" />
-
+<body>
<h1>JGoodies</h1>
Copyright (c) 2003 JGoodies Karsten Lentzsch. All Rights
diff --git a/src/images/splash-2.6.svg b/src/images/splash-2.6.svg
deleted file mode 100644
index 2fa9e0f..0000000
--- a/src/images/splash-2.6.svg
+++ /dev/null
@@ -1,287 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/alver/jabref_head/jabref/src/images/jabref_splash-2.2.png"
- sodipodi:docname="splash-2.6.svg"
- inkscape:version="0.47pre3 r22311"
- sodipodi:version="0.32"
- id="svg2138"
- height="1052.3622047"
- width="744.09448819"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- version="1.1">
- <defs
- id="defs2140">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2595" />
- <linearGradient
- id="linearGradient2974">
- <stop
- style="stop-color:#505b77;stop-opacity:1;"
- offset="0"
- id="stop2976" />
- <stop
- style="stop-color:#596a97;stop-opacity:1;"
- offset="1"
- id="stop2978" />
- </linearGradient>
- <linearGradient
- id="linearGradient2883">
- <stop
- style="stop-color:#c5c1c1;stop-opacity:1;"
- offset="0"
- id="stop2885" />
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="1"
- id="stop2887" />
- </linearGradient>
- <pattern
- patternTransform="translate(316.0000,1046.362)"
- id="pattern9054"
- xlink:href="#pattern9048"
- inkscape:collect="always" />
- <marker
- style="overflow:visible;"
- id="Arrow2Send"
- refX="0.0"
- refY="0.0"
- orient="auto"
- inkscape:stockid="Arrow2Send">
- <path
- transform="scale(0.3) rotate(180) translate(-5,0)"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- id="path3046"
- sodipodi:nodetypes="cccc" />
- </marker>
- <pattern
- id="pattern9048"
- patternTransform="translate(231.0000,284.3622)"
- height="428.00000"
- width="572.00000"
- patternUnits="userSpaceOnUse">
- <image
- sodipodi:absref="/home/alver/jabref/src/images/behandlet.png"
- xlink:href="behandlet.png"
- id="image9050"
- height="428.00000"
- width="572.00000"
- x="231.00000"
- y="284.36218"
- inkscape:export-filename="/home/alver/Desktop/bilder/jabref/splash4.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"
- style="opacity:1.0000000;stroke:#000000;stroke-width:5.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- transform="translate(-231.0000,-284.3622)" />
- </pattern>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2883"
- id="radialGradient2889"
- cx="255.5"
- cy="330.36218"
- fx="255.5"
- fy="330.36218"
- r="135.88549"
- gradientTransform="matrix(-0.799579,-5.606082e-2,6.979161e-2,-1.00875,436.7358,677.9388)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2883"
- id="linearGradient2909"
- x1="443.79153"
- y1="351.89935"
- x2="602.17139"
- y2="351.89935"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2883"
- id="radialGradient2796"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.799579,-5.606082e-2,6.979161e-2,-1.00875,436.7358,677.9388)"
- cx="255.5"
- cy="330.36218"
- fx="255.5"
- fy="330.36218"
- r="135.88549" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2883"
- id="radialGradient2798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.799579,-5.606082e-2,6.979161e-2,-1.00875,436.7358,677.9388)"
- cx="255.5"
- cy="330.36218"
- fx="255.5"
- fy="330.36218"
- r="135.88549" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="0"
- inkscape:window-x="0"
- inkscape:window-height="709"
- inkscape:window-width="1272"
- inkscape:current-layer="layer1"
- inkscape:document-units="px"
- inkscape:cy="677.8697"
- inkscape:cx="238.10531"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- showgrid="false"
- inkscape:window-maximized="0" />
- <metadata
- id="metadata2143">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title></dc:title>
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:groupmode="layer"
- inkscape:label="Layer 1">
- <rect
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- y="170.36218"
- x="77.500000"
- height="432.00000"
- width="576.00000"
- id="rect6833"
- style="opacity:1.0000000;fill:#6b6b75;fill-opacity:1.0000000;stroke:none;stroke-width:5.0000000;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <image
- sodipodi:absref="/home/alver/jabref/src/images/splashBackground.png"
- xlink:href="splashBackground.png"
- inkscape:export-ydpi="75"
- inkscape:export-xdpi="75"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- y="172.36218"
- x="79"
- width="572"
- height="428"
- id="image1821" />
- <flowRoot
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- style="opacity:1.0000000;fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-width:0.48137558;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- transform="matrix(1.875133,0.000000,0.000000,2.542210,-129.6969,-372.8897)"
- id="flowRoot2189"
- xml:space="preserve">
- <flowRegion
- id="flowRegion2191">
- <rect
- style="fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-opacity:1.0000000;stroke-width:0.48137557;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-linejoin:bevel"
- y="199.10532"
- x="128.49385"
- height="127.49445"
- width="283.51782"
- id="rect2193" />
- </flowRegion>
- <flowPara
- style="font-size:90.000000px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-width:0.48137558;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;font-family:AR PL KaitiM GB"
- id="flowPara2201">JabRef</flowPara>
- </flowRoot> <flowRoot
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- transform="matrix(0.972246,0,0,1.325301,6.054966,-126.1181)"
- style="font-size:12px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#797580;fill-opacity:1;font-family:Bitstream Vera Sans"
- id="flowRoot3076"
- xml:space="preserve"><flowRegion
- id="flowRegion3078">
- <rect
- style="font-size:12px;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;fill:#797580;fill-opacity:1;font-family:Bitstream Vera Sans"
- y="514.56494"
- x="115.50008"
- height="78.684433"
- width="506.03476"
- id="rect3080" />
- </flowRegion><flowPara
- id="flowPara1339">This program is distributed under the terms of the General Public License.</flowPara><flowPara
- id="flowPara1341">Copyright (2003-2010) Morten O. Alver, Nizar Batada and all contributors.</flowPara></flowRoot> <text
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- transform="scale(0.853347,1.171856)"
- sodipodi:linespacing="100%"
- id="text2179"
- y="450.75409"
- x="187.49605"
- style="font-size:43.99980927px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#805b41;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:URW Palladio L"
- xml:space="preserve"><tspan
- y="450.75409"
- x="187.49605"
- id="tspan2181"
- sodipodi:role="line">JabRef reference manager</tspan></text>
- <g
- id="g2867"
- transform="matrix(1.14435,0,0,1.103688,-34.88143,-26.75429)"
- style="fill:#3d3d5f;fill-opacity:1;stroke:url(#radialGradient2889);stroke-width:1.99301183;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- inkscape:export-xdpi="75"
- inkscape:export-ydpi="75">
- <path
- inkscape:export-ydpi="57.68"
- inkscape:export-xdpi="57.68"
- inkscape:export-filename="/home/alver/Documents/jabrefIkon.png"
- sodipodi:nodetypes="cccscssc"
- id="path3874"
- d="M 157.96931,200.83693 C 195.68133,200.83693 226.84892,201.74266 226.84892,201.74266 C 226.84892,201.74266 264.67261,230.02095 245.09466,392.86816 C 239.45611,424.41127 211.69305,452.41514 177.77033,452.41514 C 143.84738,452.41514 124.35978,432.41027 124.35978,409.07782 C 159.37053,424.87768 185.33022,416.88114 194.38104,413.14131 C 198.72239,411.3483 214.85378,403.80956 214.58004,365.73926 C 213.94457,277.38853 222.57808,258.1971 157.96931,200.83693 z "
- style="fill:#3d3d5f;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient2796);stroke-width:1.99301183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- inkscape:export-ydpi="57.68"
- inkscape:export-xdpi="57.68"
- inkscape:export-filename="/home/alver/Documents/jabrefIkon.png"
- sodipodi:nodetypes="ccccsc"
- id="path3876"
- d="M 255.00983,201.1495 C 346.39949,205.65848 415.05774,279.60734 324.95506,328.62763 C 299.6693,344.58746 362.3433,423.95718 386.64022,459.88743 C 324.57976,439.24633 270.32186,376.11089 274.24748,333.19936 C 276.87135,302.14849 327.63081,304.24915 329.72814,285.1414 C 331.82536,266.03489 296.3799,268.06417 255.00983,201.1495 z "
- style="fill:#3d3d5f;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient2798);stroke-width:1.99301183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- </g>
- <text
- xml:space="preserve"
- style="font-size:57.1212616px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#727888;stroke-width:1.80000031;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Nimbus Sans L"
- x="462.20135"
- y="426.2529"
- id="text2911"
- sodipodi:linespacing="100%"
- transform="scale(0.917932,1.089405)"
- inkscape:export-filename="/home/alver/jabref/src/images/splash.png"
- inkscape:export-xdpi="75"
- inkscape:export-ydpi="75"><tspan
- sodipodi:role="line"
- id="tspan2913"
- x="462.20135"
- y="426.2529"
- style="font-size:119.00263214px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:100%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#727888;stroke-width:1.80000031;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;font-family:Bitstream Vera Sans">2.6</tspan></text>
- </g>
-</svg>
diff --git a/src/images/splash.png b/src/images/splash.png
index 2abe8db..41484b9 100644
Binary files a/src/images/splash.png and b/src/images/splash.png differ
diff --git a/src/images/splash.svg b/src/images/splash.svg
deleted file mode 100644
index 628543b..0000000
--- a/src/images/splash.svg
+++ /dev/null
@@ -1,229 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/alver/Desktop/bilder/jabref/splash6.png"
- sodipodi:docname="splash.svg"
- sodipodi:docbase="/home/alver/jabref_beta/jabref/src/images"
- inkscape:version="0.42+0.43pre1"
- sodipodi:version="0.32"
- id="svg2138"
- height="1052.3622047"
- width="744.09448819">
- <defs
- id="defs2140">
- <pattern
- patternTransform="translate(316.0000,1046.362)"
- id="pattern9054"
- xlink:href="#pattern9048"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient5361"
- inkscape:collect="always">
- <stop
- id="stop5363"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop5365"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <marker
- style="overflow:visible;"
- id="Arrow2Send"
- refX="0.0"
- refY="0.0"
- orient="auto"
- inkscape:stockid="Arrow2Send">
- <path
- transform="scale(0.3) rotate(180) translate(-5,0)"
- d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
- style="font-size:12.0;fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
- id="path3046"
- sodipodi:nodetypes="cccc" />
- </marker>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="300.91277"
- x2="491.20592"
- y1="300.91277"
- x1="445.01770"
- id="linearGradient5367"
- xlink:href="#linearGradient5361"
- inkscape:collect="always" />
- <pattern
- id="pattern9048"
- patternTransform="translate(231.0000,284.3622)"
- height="428.00000"
- width="572.00000"
- patternUnits="userSpaceOnUse">
- <image
- transform="translate(-231.0000,-284.3622)"
- style="opacity:1.0000000;stroke:#000000;stroke-width:5.0000000;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/alver/Desktop/bilder/jabref/splash4.png"
- y="284.36218"
- x="231.00000"
- xlink:href="behandlet.png"
- sodipodi:absref="/home/alver/Desktop/bilder/jabref/behandlet.png"
- width="572.00000"
- height="428.00000"
- id="image9050" />
- </pattern>
- </defs>
- <sodipodi:namedview
- inkscape:window-y="80"
- inkscape:window-x="8"
- inkscape:window-height="856"
- inkscape:window-width="750"
- inkscape:current-layer="layer1"
- inkscape:document-units="px"
- inkscape:cy="698.1925"
- inkscape:cx="364.52617"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base" />
- <metadata
- id="metadata2143">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </cc:Work>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:groupmode="layer"
- inkscape:label="Layer 1">
- <rect
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- y="170.36218"
- x="77.500000"
- height="432.00000"
- width="576.00000"
- id="rect6833"
- style="opacity:1.0000000;fill:#6b6b75;fill-opacity:1.0000000;stroke:none;stroke-width:5.0000000;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <image
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- y="172.36218"
- x="79.000000"
- id="image1390"
- height="428.00000"
- width="572.00000"
- sodipodi:absref="/home/alver/oldhome/bilder/bilder/jabref/behandlet.png"
- xlink:href="/home/alver/oldhome/bilder/bilder/jabref/behandlet.png" />
- <flowRoot
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- style="opacity:1.0000000;fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-width:0.48137558;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- transform="matrix(1.875133,0.000000,0.000000,2.542210,-129.6969,-372.8897)"
- id="flowRoot2189"
- xml:space="preserve">
- <flowRegion
- id="flowRegion2191">
- <rect
- style="fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-opacity:1.0000000;stroke-width:0.48137557;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-linejoin:bevel"
- y="199.10532"
- x="128.49385"
- height="127.49445"
- width="283.51782"
- id="rect2193" />
- </flowRegion>
- <flowPara
- style="font-size:90.000000px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#635578;fill-opacity:1.0000000;stroke:#b5b5c7;stroke-width:0.48137558;stroke-linejoin:bevel;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;font-family:AR PL KaitiM GB"
- id="flowPara2201">JabRef</flowPara>
- </flowRoot> <flowRoot
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- style="font-size:34.96500015px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:104.16220427%;writing-mode:lr-tb;text-anchor:start;opacity:1;fill:#ffffff;fill-opacity:1;stroke:#5cc757;stroke-width:0.64448702;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:0.64448701 0.64448701 ;stroke-dashoffset:0.45114091;stroke-opacity:1;font-family:FreeSans"
- transform="matrix(2.869197,-1.415830e-2,2.234317e-2,3.356271,-832.1435,-652.0185)"
- id="flowRoot2203"
- xml:space="preserve">
- <flowRegion
- style="stroke:url(#linearGradient5367);stroke-width:0.64448702;stroke-miterlimit:4;stroke-dasharray:0.64448701 0.64448701 ;stroke-dashoffset:0.45114091"
- id="flowRegion2205">
- <rect
- style="font-size:34.96500015px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:104.16220427%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#322b5b;stroke-width:0.64448702;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:0.64448701 0.64448701 ;stroke-dashoffset:0.45114091;stroke-opacity:1;font-family:FreeSans"
- y="286.45224"
- x="443.95346"
- height="119.83134"
- width="173.972"
- id="rect2207" />
- </flowRegion>
- <flowPara
- style="font-size:34.96500015px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:104.16220427%;writing-mode:lr-tb;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:#322b5b;stroke-width:0.64448702;stroke-linecap:round;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:0.64448701 0.64448701 ;stroke-dashoffset:0.45114091;stroke-opacity:1;font-family:FreeSans"
- id="flowPara2211">2.0</flowPara>
- </flowRoot> <flowRoot
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- transform="matrix(0.972246,0.000000,0.000000,1.325301,6.054966,-126.1181)"
- style="font-size:11.9999996;font-style:oblique;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#797580;fill-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:middle;writing-mode:lr;text-align:center;line-height:100%"
- id="flowRoot3076"
- xml:space="preserve"><flowRegion
- id="flowRegion3078">
- <rect
- style="fill:#797580;fill-opacity:1.0000000;font-family:Bitstream Vera Sans;font-weight:bold;font-style:oblique;font-stretch:normal;font-variant:normal;font-size:11.9999996;text-anchor:middle;text-align:center;writing-mode:lr;line-height:100%"
- y="514.56494"
- x="115.50008"
- height="78.684433"
- width="506.03476"
- id="rect3080" />
- </flowRegion><flowPara
- id="flowPara1339">This program is distributed under the terms of the General Public License.</flowPara><flowPara
- id="flowPara1341">Copyright (2003-2006) Morten O. Alver, Nizar Batada and all contributors.</flowPara></flowRoot> <text
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- transform="scale(0.853277,1.171952)"
- sodipodi:linespacing="100%"
- id="text1393"
- y="315.20035"
- x="163.38908"
- style="font-size:183.29680;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;fill:#413b62;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Nimbus Roman No9 L;text-anchor:start;writing-mode:lr-tb"
- xml:space="preserve"><tspan
- y="315.20035"
- x="163.38908"
- id="tspan1395"
- sodipodi:role="line">JabRef</tspan></text>
- <text
- inkscape:export-ydpi="75.000000"
- inkscape:export-xdpi="75.000000"
- inkscape:export-filename="/home/alver/jabref_beta/jabref/jabref-2.0-splash.png"
- transform="scale(0.853347,1.171856)"
- sodipodi:linespacing="100%"
- id="text2179"
- y="397.84811"
- x="149.99753"
- style="font-size:45.702374;font-style:italic;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#805b41;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Times New Roman;text-anchor:start;writing-mode:lr-tb"
- xml:space="preserve"><tspan
- y="397.84811"
- x="149.99753"
- id="tspan2181"
- sodipodi:role="line">reference manager</tspan></text>
- </g>
-</svg>
diff --git a/src/images/splashBackground.png b/src/images/splashBackground.png
deleted file mode 100644
index d5a048e..0000000
Binary files a/src/images/splashBackground.png and /dev/null differ
diff --git a/src/java/gnu/dtools/ritopt/OptionMenu.java b/src/java/gnu/dtools/ritopt/OptionMenu.java
index 0dd1d17..f3aa1bb 100644
--- a/src/java/gnu/dtools/ritopt/OptionMenu.java
+++ b/src/java/gnu/dtools/ritopt/OptionMenu.java
@@ -4,7 +4,7 @@ package gnu.dtools.ritopt;
* OptionMenu.java
*
* Version:
- * $Id: OptionMenu.java 3243 2010-04-06 16:49:09Z mortenalver $
+ * $Id: OptionMenu.java 3265 2010-04-17 12:52:49Z mortenalver $
*/
import java.io.BufferedReader;
diff --git a/src/java/net/sf/jabref/AdvancedTab.java b/src/java/net/sf/jabref/AdvancedTab.java
index 2c30eea..86208b9 100644
--- a/src/java/net/sf/jabref/AdvancedTab.java
+++ b/src/java/net/sf/jabref/AdvancedTab.java
@@ -21,14 +21,15 @@ public class AdvancedTab extends JPanel implements PrefsTab {
JPanel pan = new JPanel(),
lnf = new JPanel();
JLabel lab;
- JCheckBox useDefault, useRemoteServer, useNativeFileDialogOnMac, filechooserDisableRename, useIEEEAbrv;
+ JCheckBox useDefault, useRemoteServer, useNativeFileDialogOnMac, filechooserDisableRename,
+ useIEEEAbrv, biblatexMode;
JTextField className, remoteServerPort;
JButton def1 = new JButton(Globals.lang("Default")),
def2 = new JButton(Globals.lang("Default"));
JPanel p1 = new JPanel(),
p2 = new JPanel();
String oldLnf = "";
- boolean oldUseDef;
+ boolean oldUseDef, oldBiblMode=false;
int oldPort = -1;
public AdvancedTab(JabRefPreferences prefs, HelpDialog diag) {
@@ -42,6 +43,7 @@ public class AdvancedTab extends JPanel implements PrefsTab {
useNativeFileDialogOnMac = new JCheckBox(Globals.lang("Use native file dialog"));
filechooserDisableRename = new JCheckBox(Globals.lang("Disable file renaming in non-native file dialog"));
useIEEEAbrv = new JCheckBox(Globals.lang("Use IEEE LaTeX abbreviations"));
+ biblatexMode = new JCheckBox(Globals.lang("BibLaTeX mode"));
remoteServerPort = new JTextField();
className = new JTextField(50);
final JTextField clName = className;
@@ -51,6 +53,7 @@ public class AdvancedTab extends JPanel implements PrefsTab {
}
});
+
FormLayout layout = new FormLayout
("1dlu, 8dlu, left:pref, 4dlu, fill:3dlu",//, 4dlu, fill:pref",// 4dlu, left:pref, 4dlu",
"");
@@ -118,6 +121,11 @@ public class AdvancedTab extends JPanel implements PrefsTab {
builder.append(new JPanel());
builder.append(useIEEEAbrv);
+ builder.nextLine();
+ builder.appendSeparator(Globals.lang("BibLaTeX mode"));
+ builder.append(new JPanel());
+ builder.append(biblatexMode);
+
pan = builder.getPanel();
pan.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
setLayout(new BorderLayout());
@@ -126,17 +134,19 @@ public class AdvancedTab extends JPanel implements PrefsTab {
}
public void setValues() {
- oldUseDef = _prefs.getBoolean("useDefaultLookAndFeel");
- oldLnf = _prefs.get("lookAndFeel");
- useDefault.setSelected(!oldUseDef);
- className.setText(oldLnf);
- className.setEnabled(!oldUseDef);
- useRemoteServer.setSelected(_prefs.getBoolean("useRemoteServer"));
- oldPort = _prefs.getInt("remoteServerPort");
- remoteServerPort.setText(String.valueOf(oldPort));
- useNativeFileDialogOnMac.setSelected(Globals.prefs.getBoolean("useNativeFileDialogOnMac"));
- filechooserDisableRename.setSelected(Globals.prefs.getBoolean("filechooserDisableRename"));
- useIEEEAbrv.setSelected(Globals.prefs.getBoolean("useIEEEAbrv"));
+ oldUseDef = _prefs.getBoolean("useDefaultLookAndFeel");
+ oldLnf = _prefs.get("lookAndFeel");
+ useDefault.setSelected(!oldUseDef);
+ className.setText(oldLnf);
+ className.setEnabled(!oldUseDef);
+ useRemoteServer.setSelected(_prefs.getBoolean("useRemoteServer"));
+ oldPort = _prefs.getInt("remoteServerPort");
+ remoteServerPort.setText(String.valueOf(oldPort));
+ useNativeFileDialogOnMac.setSelected(Globals.prefs.getBoolean("useNativeFileDialogOnMac"));
+ filechooserDisableRename.setSelected(Globals.prefs.getBoolean("filechooserDisableRename"));
+ useIEEEAbrv.setSelected(Globals.prefs.getBoolean("useIEEEAbrv"));
+ oldBiblMode = Globals.prefs.getBoolean("biblatexMode");
+ biblatexMode.setSelected(oldBiblMode);
}
public void storeSettings() {
@@ -173,12 +183,20 @@ public class AdvancedTab extends JPanel implements PrefsTab {
JabRef.remoteListener = null;
}
+ _prefs.putBoolean("biblatexMode", biblatexMode.isSelected());
+
if ((useDefault.isSelected() == oldUseDef) ||
!oldLnf.equals(className.getText())) {
JOptionPane.showMessageDialog(null, Globals.lang("You have changed the look and feel setting. "
+"You must restart JabRef for this to come into effect."), Globals.lang("Changed look and feel settings"),
JOptionPane.WARNING_MESSAGE);
}
+
+ if (biblatexMode.isSelected() != oldBiblMode) {
+ JOptionPane.showMessageDialog(null, Globals.lang("You have toggled the BibLaTeX mode. "
+ +"You must restart JabRef for this change to come into effect."),
+ Globals.lang("BibLaTeX mode"), JOptionPane.WARNING_MESSAGE);
+ }
}
public boolean readyToClose() {
diff --git a/src/java/net/sf/jabref/AppearancePrefsTab.java b/src/java/net/sf/jabref/AppearancePrefsTab.java
index 98c946c..41ea6cd 100644
--- a/src/java/net/sf/jabref/AppearancePrefsTab.java
+++ b/src/java/net/sf/jabref/AppearancePrefsTab.java
@@ -68,6 +68,7 @@ class AppearancePrefsTab extends JPanel implements PrefsTab {
builder.nextLine();
builder.append(fontButton);
builder.nextLine();
+ builder.appendSeparator(Globals.lang("Table and entry editor colors"));
builder.append(colorPanel);
/*builder.appendSeparator(Globals.lang("Custom icon theme"));
builder.append(useCustomIconTheme);
diff --git a/src/java/net/sf/jabref/BasePanel.java b/src/java/net/sf/jabref/BasePanel.java
index 9940e46..0b4217a 100644
--- a/src/java/net/sf/jabref/BasePanel.java
+++ b/src/java/net/sf/jabref/BasePanel.java
@@ -100,6 +100,7 @@ import net.sf.jabref.imports.SPIRESFetcher;
import net.sf.jabref.journals.AbbreviateAction;
import net.sf.jabref.journals.UnabbreviateAction;
import net.sf.jabref.labelPattern.LabelPatternUtil;
+import net.sf.jabref.labelPattern.SearchFixDuplicateLabels;
import net.sf.jabref.search.NoSearchMatcher;
import net.sf.jabref.search.SearchMatcher;
import net.sf.jabref.sql.DBConnectDialog;
@@ -785,8 +786,10 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
: Globals.lang("entry"))+"...");
}
+
// Run second, on a different thread:
public void run() {
+ database.setFollowCrossrefs(false);
BibtexEntry bes = null ;
NamedCompound ce = new NamedCompound(Globals.lang("autogenerate keys"));
@@ -842,6 +845,7 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
// Run third, on EDT:
public void update() {
+ database.setFollowCrossrefs(true);
if (cancelled) {
frame.unblock();
return;
@@ -1316,7 +1320,7 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
besLength = bes.length;
for (int i=0; i<bes.length; i++) {
- Util.markEntry(bes[i], ce);
+ Util.markEntry(bes[i], 1, true, ce);
}
ce.end();
undoManager.addEdit(ce);
@@ -1337,7 +1341,7 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
if (bes == null)
return;
for (int i=0; i<bes.length; i++) {
- Util.unmarkEntry(bes[i], database, ce);
+ Util.unmarkEntry(bes[i], false, database, ce);
}
ce.end();
undoManager.addEdit(ce);
@@ -1352,7 +1356,7 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
NamedCompound ce = new NamedCompound(Globals.lang("Unmark all"));
for (BibtexEntry be : database.getEntries()){
- Util.unmarkEntry(be, database, ce);
+ Util.unmarkEntry(be, false, database, ce);
}
ce.end();
undoManager.addEdit(ce);
@@ -1434,8 +1438,10 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
forward();
}
});
-
- actions.put("downloadFullText", new FindFullTextAction(this));
+
+ actions.put("resolveDuplicateKeys", new SearchFixDuplicateLabels(this));
+
+ //actions.put("downloadFullText", new FindFullTextAction(this));
}
/**
@@ -1805,6 +1811,12 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
createMainTable();
+ for (EntryEditor ee : entryEditors.values()) {
+ ee.validateAllFields();
+ }
+
+
+
splitPane.setTopComponent(mainTable.getPane());
//setupTable();
@@ -2260,9 +2272,10 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
// Put an asterix behind the file name to indicate the
// database has changed.
String oldTitle = frame.getTabTitle(this);
- if (!oldTitle.endsWith("*"))
+ if (!oldTitle.endsWith("*")) {
frame.setTabTitle(this, oldTitle+"*", frame.getTabTooltip(this));
-
+ frame.setWindowTitle();
+ }
// If the status line states that the base has been saved, we
// remove this message, since it is no longer relevant. If a
// different message is shown, we leave it.
@@ -2277,8 +2290,9 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
public synchronized void markChangedOrUnChanged() {
if (undoManager.hasChanged()) {
- if (!baseChanged)
+ if (!baseChanged) {
markBaseChanged();
+ }
}
else if (baseChanged && !nonUndoableChange) {
baseChanged = false;
@@ -2288,6 +2302,7 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
else
frame.setTabTitle(BasePanel.this, Globals.lang("untitled"), null);
}
+ frame.setWindowTitle();
}
/**
@@ -2561,6 +2576,9 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
public void fileUpdated() {
if (saving)
return; // We are just saving the file, so this message is most likely due
+ //if (updatedExternally) {
+ // return;
+ //}
// to bad timing. If not, we'll handle it on the next polling.
//Util.pr("File '"+file.getPath()+"' has been modified.");
updatedExternally = true;
@@ -2718,6 +2736,10 @@ public class BasePanel extends JPanel implements ClipboardOwner, FileUpdateListe
this.saving = saving;
}
+ public boolean isSaving() {
+ return saving;
+ }
+
public BibtexEntry getShowing() {
return showing;
}
diff --git a/src/java/net/sf/jabref/BibLatexEntryTypes.java b/src/java/net/sf/jabref/BibLatexEntryTypes.java
new file mode 100644
index 0000000..0726457
--- /dev/null
+++ b/src/java/net/sf/jabref/BibLatexEntryTypes.java
@@ -0,0 +1,809 @@
+package net.sf.jabref;
+
+/**
+ * This class defines entry types for BibLatex support.
+ */
+public class BibLatexEntryTypes {
+
+ /*
+ "rare" fields?
+ "annotator", "commentator", "titleaddon", "editora", "editorb", "editorc",
+ "issuetitle", "issuesubtitle", "origlanguage", "version", "addendum"
+
+ */
+
+ public static final BibtexEntryType ARTICLE = new BibtexEntryType() {
+ public String getName() {
+ return "Article";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "journaltitle", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"translator", "annotator", "commentator", "subtitle", "titleaddon",
+ "editor", "editora", "editorb", "editorc", "journalsubtitle", "issuetitle",
+ "issuesubtitle", "language", "origlanguage", "series", "volume", "number",
+ "eid", "issue", "date", "month", "year", "pages", "version", "note", "issn",
+ "addendum", "pubstate", "doi", "eprint", "eprintclass", "eprinttype", "url",
+ "urldate"};
+ }
+
+ // TODO: number vs issue?
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "editor", "series", "volume", "number",
+ "eid", "issue", "date", "month", "year", "pages", "note", "issn",
+ "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType BOOK = new BibtexEntryType() {
+ public String getName() {
+ return "Book";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"editor", "editora", "editorb", "editorc", "translator",
+ "annotator", "commentator", "introduction",
+ "foreword", "afterword", "subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "language", "origlanguage", "volume", "part",
+ "edition", "volumes", "series", "number", "note", "publisher",
+ "location", "isbn", "chapter", "pages", "pagetotal", "addendum", "pubstate",
+ "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"editor", "subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "volume", "edition", "publisher", "isbn", "chapter", "pages",
+ "pagetotal", "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType INBOOK = new BibtexEntryType() {
+ public String getName() {
+ return "Inbook";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "booktitle", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"bookauthor", "editor", "editora", "editorb", "editorc",
+ "translator", "annotator", "commentator", "introduction", "foreword", "afterword",
+ "subtitle", "titleaddon", "maintitle", "mainsubtitle", "maintitleaddon",
+ "booksubtitle", "booktitleaddon", "language", "origlanguage", "volume", "part",
+ "edition", "volumes", "series", "number", "note", "publisher", "location", "isbn",
+ "chapter", "pages", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"bookauthor", "editor", "subtitle", "titleaddon", "maintitle",
+ "mainsubtitle", "maintitleaddon", "booksubtitle", "booktitleaddon", "volume",
+ "edition", "publisher", "isbn", "chapter", "pages", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType BOOKINBOOK = new BibtexEntryType() {
+ public String getName() {
+ return "Bookinbook";
+ }
+ // Same fields as "INBOOK" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.INBOOK.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.INBOOK.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.INBOOK.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType SUPPBOOK = new BibtexEntryType() {
+ public String getName() {
+ return "Suppbook";
+ }
+ // Same fields as "INBOOK" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.INBOOK.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.INBOOK.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.INBOOK.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType BOOKLET = new BibtexEntryType() {
+ public String getName() {
+ return "Booklet";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "howpublished", "type", "note",
+ "location", "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "howpublished", "chapter", "pages", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType COLLECTION = new BibtexEntryType() {
+ public String getName() {
+ return "Collection";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"editora", "editorb", "editorc", "translator", "annotator",
+ "commentator", "introduction", "foreword", "afterword", "subtitle", "titleaddon",
+ "maintitle", "mainsubtitle", "maintitleaddon", "language", "origlanguage", "volume",
+ "part", "edition", "volumes", "series", "number", "note", "publisher", "location", "isbn",
+ "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"translator", "subtitle", "titleaddon", "maintitle",
+ "mainsubtitle", "maintitleaddon", "volume",
+ "edition", "publisher", "isbn", "chapter", "pages", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType INCOLLECTION = new BibtexEntryType() {
+ public String getName() {
+ return "Incollection";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "booktitle", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"editora", "editorb", "editorc", "translator", "annotator",
+ "commentator", "introduction", "foreword", "afterword", "subtitle", "titleaddon",
+ "maintitle", "mainsubtitle", "maintitleaddon", "booksubtitle", "booktitleaddon",
+ "language", "origlanguage", "volume", "part", "edition", "volumes", "series", "number",
+ "note", "publisher", "location", "isbn", "chapter", "pages", "addendum", "pubstate", "doi",
+ "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"translator", "subtitle", "titleaddon", "maintitle",
+ "mainsubtitle", "maintitleaddon", "booksubtitle", "booktitleaddon", "volume",
+ "edition", "publisher", "isbn", "chapter", "pages", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType SUPPCOLLECTION = new BibtexEntryType() {
+ public String getName() {
+ return "Suppcollection";
+ }
+ // Treated as alias of "INCOLLECTION" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType MANUAL = new BibtexEntryType() {
+ public String getName() {
+ return "Manual";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "edition", "type", "series",
+ "number", "version", "note", "organization", "publisher", "location", "isbn", "chapter",
+ "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "edition", "publisher", "isbn", "chapter",
+ "pages", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType MISC = new BibtexEntryType() {
+ public String getName() {
+ return "Misc";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "howpublished", "type",
+ "version", "note", "organization", "location", "date", "month", "year", "addendum",
+ "pubstate", "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "howpublished", "location", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType ONLINE = new BibtexEntryType() {
+ public String getName() {
+ return "Online";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "year", "date", "url"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "version", "note",
+ "organization", "date", "month", "year", "addendum", "pubstate", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "note", "organization", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType PATENT = new BibtexEntryType() {
+ public String getName() {
+ return "Patent";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "number", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"holder", "subtitle", "titleaddon", "type", "version", "location", "note",
+ "date", "month", "year", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"holder", "subtitle", "titleaddon", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType PERIODICAL = new BibtexEntryType() {
+ public String getName() {
+ return "Periodical";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"editora", "editorb", "editorc", "subtitle", "issuetitle",
+ "issuesubtitle", "language", "series", "volume", "number", "issue", "date", "month", "year",
+ "note", "issn", "addendum", "pubstate", "doi", "eprint", "eprintclass", "eprinttype", "url",
+ "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "issuetitle", "issuesubtitle", "issn", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType SUPPPERIODICAL = new BibtexEntryType() {
+ public String getName() {
+ return "Suppperiodical";
+ }
+ // Treated as alias of "ARTICLE" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.ARTICLE.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.ARTICLE.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.ARTICLE.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType PROCEEDINGS = new BibtexEntryType() {
+ public String getName() {
+ return "Proceedings";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"editor", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "eventtitle", "eventdate", "venue", "language", "volume", "part",
+ "volumes", "series", "number", "note", "organization", "publisher", "location", "month",
+ "isbn", "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "eventtitle", "volume", "publisher", "isbn", "chapter", "pages",
+ "pagetotal", "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType INPROCEEDINGS = new BibtexEntryType() {
+ public String getName() {
+ return "Inproceedings";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "editor", "title", "booktitle", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "booksubtitle", "booktitleaddon", "eventtitle", "eventdate", "venue",
+ "language", "volume", "part", "volumes", "series", "number", "note", "organization",
+ "publisher", "location", "month", "isbn", "chapter", "pages", "addendum",
+ "pubstate", "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "maintitle", "mainsubtitle",
+ "maintitleaddon", "booksubtitle", "booktitleaddon", "eventtitle", "volume",
+ "publisher", "isbn", "chapter", "pages",
+ "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType REFERENCE = new BibtexEntryType() {
+ public String getName() {
+ return "Reference";
+ }
+ // Treated as alias of "COLLECTION" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.COLLECTION.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.COLLECTION.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.COLLECTION.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType INREFERENCE = new BibtexEntryType() {
+ public String getName() {
+ return "Inreference";
+ }
+ // Treated as alias of "INCOLLECTION" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.INCOLLECTION.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType REPORT = new BibtexEntryType() {
+ public String getName() {
+ return "Report";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "type", "institution", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "number", "version", "note",
+ "location", "month", "isrn", "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi",
+ "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "number", "isrn", "chapter", "pages", "pagetotal", "doi",
+ "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType SET = new BibtexEntryType() {
+ public String getName() {
+ return "Set";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"entryset", "crossref"};
+ }
+ // These are all the standard entry fields, custom fields and field aliases not included:
+ /* Optional fields left out since they take up too much space - I think the set type is mainly supposed
+ to fall back on content from the entries contained in the set, so only the required fields are included.*/
+ public String[] getOptionalFields() {
+ return null;
+ /*return new String[] {"abstract", "addendum", "afterword", "annotation", "annotator", "author", "authortype",
+ "bookauthor", "bookpagination", "booksubtitle", "booktitle", "booktitleaddon",
+ "chapter", "commentator", "date", "doi", "edition", "editor", "editora", "editorb",
+ "editorc", "editortype", "editoratype", "editorbtype", "editorctype", "eid", "eprint",
+ "eprintclass", "eprinttype", "eventdate", "eventtitle", "file", "foreword", "holder",
+ "howpublished", "indextitle", "insitution", "introduction", "isan", "isbn", "ismn",
+ "isrn", "issn", "issue", "issuesubtitle", "issuetitle", "iswc", "journalsubtitle",
+ "journaltitle", "label", "language", "library", "location", "mainsubtitle",
+ "maintitle", "maintitleaddon", "month", "nameaddon", "note", "number", "organization",
+ "origdate", "origlanguage", "origlocation", "origpublisher", "origtitle", "pages",
+ "pagetotal", "pagination", "part", "publisher", "pubstate", "reprinttitle", "series",
+ "shortauthor", "shorteditor", "shorthand", "shorthandintro", "shortjournal",
+ "shortseries", "shorttitle", "subtitle", "title", "titleaddon", "translator", "type",
+ "url", "urldate", "venue", "version", "volume", "volumes", "year", "crossref",
+ "entryset", "entrysubtype", "execute", "gender", "hyphenation", "indexsorttitle",
+ "keywords", "options", "presort", "sortkey", "sortname", "sorttitle", "sortyear",
+ "xref"};*/
+ }
+ // These are just appr. the first half of the above fields:
+ public String[] getPrimaryOptionalFields() {
+ return null;
+ /*return new String[] {"abstract", "addendum", "afterword", "annotation", "annotator", "author", "authortype",
+ "bookauthor", "bookpagination", "booksubtitle", "booktitle", "booktitleaddon",
+ "chapter", "commentator", "date", "doi", "edition", "editor", "editora", "editorb",
+ "editorc", "editortype", "editoratype", "editorbtype", "editorctype", "eid", "eprint",
+ "eprintclass", "eprinttype", "eventdate", "eventtitle", "file", "foreword", "holder",
+ "howpublished", "indextitle", "insitution", "introduction", "isan", "isbn", "ismn",
+ "isrn", "issn", "issue", "issuesubtitle", "issuetitle", "iswc", "journalsubtitle",
+ "journaltitle", "label", "language", "library", "location", "mainsubtitle",
+ "maintitle", "maintitleaddon", "month", "nameaddon"};*/
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType THESIS = new BibtexEntryType() {
+ public String getName() {
+ return "Thesis";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "type", "institution", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "note", "location", "month",
+ "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "chapter", "pages", "pagetotal", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType UNPUBLISHED = new BibtexEntryType() {
+ public String getName() {
+ return "Unpublished";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "language", "howpublished", "note",
+ "location", "date", "month", "year", "addendum", "pubstate", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "howpublished", "pubstate", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ // === Type aliases: ===
+
+ public static final BibtexEntryType CONFERENCE = new BibtexEntryType() {
+ public String getName() {
+ return "Conference";
+ }
+ // Treated as alias of "INPROCEEDINGS" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.INPROCEEDINGS.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.INPROCEEDINGS.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.INPROCEEDINGS.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType ELECTRONIC = new BibtexEntryType() {
+ public String getName() {
+ return "Electronic";
+ }
+ // Treated as alias of "ONLINE" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.ONLINE.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.ONLINE.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.ONLINE.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType MASTERSTHESIS = new BibtexEntryType() {
+ public String getName() {
+ return "Mastersthesis";
+ }
+ // Treated as alias of "THESIS", except "type" field is optional
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "institution", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "language", "note", "location", "month",
+ "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "chapter", "pages", "pagetotal", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType PHDTHESIS = new BibtexEntryType() {
+ public String getName() {
+ return "Phdthesis";
+ }
+ // Treated as alias of "THESIS", except "type" field is optional
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "institution", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "language", "note", "location", "month",
+ "chapter", "pages", "pagetotal", "addendum", "pubstate", "doi", "eprint", "eprintclass",
+ "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "chapter", "pages", "pagetotal", "doi", "eprint",
+ "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType TECHREPORT = new BibtexEntryType() {
+ public String getName() {
+ return "Techreport";
+ }
+ // Treated as alias of "REPORT", except "type" field is optional
+ public String[] getRequiredFields() {
+ return new String[] {"author", "title", "institution", "year", "date"};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "language", "number", "version", "note",
+ "location", "month", "isrn", "chapter", "pages", "pagetotal", "addendum", "pubstate",
+ "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {"subtitle", "titleaddon", "type", "number", "isrn", "chapter", "pages", "pagetotal",
+ "doi", "eprint", "eprintclass", "eprinttype", "url", "urldate"};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ public static final BibtexEntryType WWW = new BibtexEntryType() {
+ public String getName() {
+ return "Www";
+ }
+ // Treated as alias of "ONLINE" according to Biblatex 1.0:
+ public String[] getRequiredFields() {
+ return BibLatexEntryTypes.ONLINE.getRequiredFields();
+ }
+ public String[] getOptionalFields() {
+ return BibLatexEntryTypes.ONLINE.getOptionalFields();
+ }
+
+ public String[] getPrimaryOptionalFields() {
+ return BibLatexEntryTypes.ONLINE.getPrimaryOptionalFields();
+ }
+
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };
+
+ // Unsupported types and custom types left out
+
+ /*public static final BibtexEntryType ARTICLE = new BibtexEntryType() {
+ public String getName() {
+ return "Article";
+ }
+ public String[] getRequiredFields() {
+ return new String[] {};
+ }
+ public String[] getOptionalFields() {
+ return new String[] {};
+ }
+ public String[] getPrimaryOptionalFields() {
+ return new String[] {};
+ }
+ public String describeRequiredFields() {
+ return "";
+ }
+ public boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database) {
+ return entry.allFieldsPresent(getRequiredFields(), database);
+ }
+ };*/
+}
diff --git a/src/java/net/sf/jabref/BibtexDatabase.java b/src/java/net/sf/jabref/BibtexDatabase.java
index 8544961..0acbbbf 100644
--- a/src/java/net/sf/jabref/BibtexDatabase.java
+++ b/src/java/net/sf/jabref/BibtexDatabase.java
@@ -65,6 +65,8 @@ public class BibtexDatabase {
Set<DatabaseChangeListener> changeListeners = new HashSet<DatabaseChangeListener>();
+ private boolean followCrossrefs = true;
+
/**
* use a map instead of a set since i need to know how many of each key is
* inthere
@@ -624,8 +626,9 @@ public class BibtexDatabase {
Object o = bibtex.getField(field);
// If this field is not set, and the entry has a crossref, try to look up the
- // field in the referred entry:
- if ((o == null) && (database != null)) {
+ // field in the referred entry: Do not do this for the bibtex key.
+ if ((o == null) && (database != null) && database.followCrossrefs &&
+ !field.equals(BibtexFields.KEY_FIELD) && (database != null)) {
Object crossRef = bibtex.getField("crossref");
if (crossRef != null) {
BibtexEntry referred = database.getEntryByKey((String)crossRef);
@@ -635,7 +638,7 @@ public class BibtexDatabase {
o = referred.getField(field);
}
}
- }
+ }
return getText((String)o, database);
}
@@ -654,4 +657,8 @@ public class BibtexDatabase {
return toResolve;
}
+
+ public void setFollowCrossrefs(boolean followCrossrefs) {
+ this.followCrossrefs = followCrossrefs;
+ }
}
diff --git a/src/java/net/sf/jabref/BibtexEntryType.java b/src/java/net/sf/jabref/BibtexEntryType.java
index e11241f..92d671a 100644
--- a/src/java/net/sf/jabref/BibtexEntryType.java
+++ b/src/java/net/sf/jabref/BibtexEntryType.java
@@ -841,6 +841,10 @@ public abstract class BibtexEntryType implements Comparable<BibtexEntryType>
"owner", "timestamp", "review", };
}
+ public String[] getPrimaryOptionalFields() {
+ return null;
+ }
+
public abstract String describeRequiredFields();
public abstract boolean hasAllRequiredFields(BibtexEntry entry, BibtexDatabase database);
@@ -870,30 +874,63 @@ public abstract class BibtexEntryType implements Comparable<BibtexEntryType>
public static TreeMap<String, BibtexEntryType> ALL_TYPES = new TreeMap<String, BibtexEntryType>();
public static TreeMap<String, BibtexEntryType> STANDARD_TYPES = new TreeMap<String, BibtexEntryType>();
static {
- // Put the standard entry types into the type map.
- ALL_TYPES.put("article", ARTICLE);
- ALL_TYPES.put("inbook", INBOOK);
- ALL_TYPES.put("book", BOOK);
- ALL_TYPES.put("booklet", BOOKLET);
- ALL_TYPES.put("incollection", INCOLLECTION);
- ALL_TYPES.put("conference", CONFERENCE);
- ALL_TYPES.put("inproceedings", INPROCEEDINGS);
- ALL_TYPES.put("proceedings", PROCEEDINGS);
- ALL_TYPES.put("manual", MANUAL);
- ALL_TYPES.put("mastersthesis", MASTERSTHESIS);
- ALL_TYPES.put("phdthesis", PHDTHESIS);
- ALL_TYPES.put("techreport", TECHREPORT);
- ALL_TYPES.put("unpublished", UNPUBLISHED);
- ALL_TYPES.put("patent", PATENT);
- ALL_TYPES.put("standard", STANDARD);
- ALL_TYPES.put("electronic", ELECTRONIC);
- ALL_TYPES.put("periodical", PERIODICAL);
- ALL_TYPES.put("misc", MISC);
- ALL_TYPES.put("other", OTHER);
-
- // We need a record of the standard types, in case the user wants
- // to remove a customized version. Therefore we clone the map.
- STANDARD_TYPES = new TreeMap<String, BibtexEntryType>(ALL_TYPES);
+ // Put the standard entry types into the type map.
+ if (!Globals.prefs.getBoolean("biblatexMode")) {
+ ALL_TYPES.put("article", ARTICLE);
+ ALL_TYPES.put("inbook", INBOOK);
+ ALL_TYPES.put("book", BOOK);
+ ALL_TYPES.put("booklet", BOOKLET);
+ ALL_TYPES.put("incollection", INCOLLECTION);
+ ALL_TYPES.put("conference", CONFERENCE);
+ ALL_TYPES.put("inproceedings", INPROCEEDINGS);
+ ALL_TYPES.put("proceedings", PROCEEDINGS);
+ ALL_TYPES.put("manual", MANUAL);
+ ALL_TYPES.put("mastersthesis", MASTERSTHESIS);
+ ALL_TYPES.put("phdthesis", PHDTHESIS);
+ ALL_TYPES.put("techreport", TECHREPORT);
+ ALL_TYPES.put("unpublished", UNPUBLISHED);
+ ALL_TYPES.put("patent", PATENT);
+ ALL_TYPES.put("standard", STANDARD);
+ ALL_TYPES.put("electronic", ELECTRONIC);
+ ALL_TYPES.put("periodical", PERIODICAL);
+ ALL_TYPES.put("misc", MISC);
+ ALL_TYPES.put("other", OTHER);
+ }
+ else {
+ ALL_TYPES.put("article", BibLatexEntryTypes.ARTICLE);
+ ALL_TYPES.put("book", BibLatexEntryTypes.BOOK);
+ ALL_TYPES.put("inbook", BibLatexEntryTypes.INBOOK);
+ ALL_TYPES.put("bookinbook", BibLatexEntryTypes.BOOKINBOOK);
+ ALL_TYPES.put("suppbook", BibLatexEntryTypes.SUPPBOOK);
+ ALL_TYPES.put("booklet", BibLatexEntryTypes.BOOKLET);
+ ALL_TYPES.put("collection", BibLatexEntryTypes.COLLECTION);
+ ALL_TYPES.put("incollection", BibLatexEntryTypes.INCOLLECTION);
+ ALL_TYPES.put("suppcollection", BibLatexEntryTypes.SUPPCOLLECTION);
+ ALL_TYPES.put("manual", BibLatexEntryTypes.MANUAL);
+ ALL_TYPES.put("misc", BibLatexEntryTypes.MISC);
+ ALL_TYPES.put("online", BibLatexEntryTypes.ONLINE);
+ ALL_TYPES.put("patent", BibLatexEntryTypes.PATENT);
+ ALL_TYPES.put("periodical", BibLatexEntryTypes.PERIODICAL);
+ ALL_TYPES.put("suppperiodical", BibLatexEntryTypes.SUPPPERIODICAL);
+ ALL_TYPES.put("proceedings", BibLatexEntryTypes.PROCEEDINGS);
+ ALL_TYPES.put("inproceedings", BibLatexEntryTypes.INPROCEEDINGS);
+ ALL_TYPES.put("reference", BibLatexEntryTypes.REFERENCE);
+ ALL_TYPES.put("inreference", BibLatexEntryTypes.INREFERENCE);
+ ALL_TYPES.put("report", BibLatexEntryTypes.REPORT);
+ ALL_TYPES.put("set", BibLatexEntryTypes.SET);
+ ALL_TYPES.put("thesis", BibLatexEntryTypes.THESIS);
+ ALL_TYPES.put("unpublished", BibLatexEntryTypes.UNPUBLISHED);
+ ALL_TYPES.put("conference", BibLatexEntryTypes.CONFERENCE);
+ ALL_TYPES.put("electronic", BibLatexEntryTypes.ELECTRONIC);
+ ALL_TYPES.put("mastersthesis", BibLatexEntryTypes.MASTERSTHESIS);
+ ALL_TYPES.put("phdthesis", BibLatexEntryTypes.PHDTHESIS);
+ ALL_TYPES.put("techreport", BibLatexEntryTypes.TECHREPORT);
+ ALL_TYPES.put("www", BibLatexEntryTypes.WWW);
+ }
+
+ // We need a record of the standard types, in case the user wants
+ // to remove a customized version. Therefore we clone the map.
+ STANDARD_TYPES = new TreeMap<String, BibtexEntryType>(ALL_TYPES);
}
/**
diff --git a/src/java/net/sf/jabref/BibtexStringComparator.java b/src/java/net/sf/jabref/BibtexStringComparator.java
index 83d9e03..aa9efdd 100644
--- a/src/java/net/sf/jabref/BibtexStringComparator.java
+++ b/src/java/net/sf/jabref/BibtexStringComparator.java
@@ -28,12 +28,11 @@ http://www.gnu.org/copyleft/gpl.ja.html
package net.sf.jabref;
import java.util.Comparator;
+import java.util.regex.Pattern;
public class BibtexStringComparator implements Comparator<BibtexString> {
protected boolean considerRefs;
- private static final String MARKER = "__MARKER__";
- private static final String PADDED_MARKER = " "+MARKER+" ";
/**
* @param considerRefs Indicates whether the strings should be
@@ -46,19 +45,6 @@ public class BibtexStringComparator implements Comparator<BibtexString> {
public int compare(BibtexString s1, BibtexString s2) {
- /*
- If crossreferences are to be considered, the following block sorts by the number of string
- references, so strings with less references precede those with more.
- */
- if (considerRefs) {
- //Pattern refPat = Pattern.compile("#[A-Za-z]+#");
- int ref1 = s1.getContent().replaceAll("#[A-Za-z]+#", PADDED_MARKER).split(MARKER).length,
- ref2 = s2.getContent().replaceAll("#[A-Za-z]+#", PADDED_MARKER).split(MARKER).length;
-
- if (ref1 != ref2)
- return ref1-ref2;
- }
-
int res = 0;
// First check their names:
@@ -90,9 +76,9 @@ public class BibtexStringComparator implements Comparator<BibtexString> {
textPre = pre.getContent().toLowerCase();
// If that is the case, reverse the order found:
- if (textPre.indexOf("#" + namePost + "#") >= 0)
+ if (textPre.indexOf("#" + namePost + "#") >= 0) {
res = -res;
-
+ }
}
diff --git a/src/java/net/sf/jabref/EntryEditorTab.java b/src/java/net/sf/jabref/CompressedEntryEditorTab.java
similarity index 93%
copy from src/java/net/sf/jabref/EntryEditorTab.java
copy to src/java/net/sf/jabref/CompressedEntryEditorTab.java
index 0a2bcd3..734b235 100644
--- a/src/java/net/sf/jabref/EntryEditorTab.java
+++ b/src/java/net/sf/jabref/CompressedEntryEditorTab.java
@@ -24,11 +24,17 @@
*/
package net.sf.jabref;
-import java.awt.AWTKeyStroke;
-import java.awt.BorderLayout;
-import java.awt.Component;
-import java.awt.Dimension;
-import java.awt.KeyboardFocusManager;
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+import net.sf.jabref.autocompleter.AbstractAutoCompleter;
+import net.sf.jabref.gui.AutoCompleteListener;
+import net.sf.jabref.gui.FileListEditor;
+
+import javax.swing.*;
+import javax.swing.event.DocumentEvent;
+import javax.swing.event.DocumentListener;
+import javax.swing.text.JTextComponent;
+import java.awt.*;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.util.HashMap;
@@ -36,30 +42,14 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import javax.swing.ActionMap;
-import javax.swing.InputMap;
-import javax.swing.JComponent;
-import javax.swing.JPanel;
-import javax.swing.KeyStroke;
-import javax.swing.event.DocumentEvent;
-import javax.swing.event.DocumentListener;
-import javax.swing.text.JTextComponent;
-
-import net.sf.jabref.autocompleter.AbstractAutoCompleter;
-import net.sf.jabref.gui.AutoCompleteListener;
-import net.sf.jabref.gui.FileListEditor;
-
-import com.jgoodies.forms.builder.DefaultFormBuilder;
-import com.jgoodies.forms.layout.FormLayout;
-
/**
* A single tab displayed in the EntryEditor holding several FieldEditors.
- *
+ *
* @author $Author: mortenalver $
- * @version $Revision: 3140 $ ($Date: 2009-11-26 20:09:21 +0100 (Thu, 26 Nov 2009) $)
- *
+ * @version $Revision: 3339 $ ($Date: 2010-10-19 21:40:53 +0200 (Tue, 19 Oct 2010) $)
+ *
*/
-public class EntryEditorTab {
+public class CompressedEntryEditorTab extends EntryEditorTab {
private JPanel panel = new JPanel();
@@ -71,7 +61,7 @@ public class EntryEditorTab {
private FieldEditor activeField = null;
- public EntryEditorTab(JabRefFrame frame, BasePanel panel, List<String> fields, EntryEditor parent,
+ public CompressedEntryEditorTab(JabRefFrame frame, BasePanel panel, List<String> fields, EntryEditor parent,
boolean addKeyField, String name) {
if (fields != null)
this.fields = fields.toArray(new String[0]);
@@ -91,7 +81,7 @@ public class EntryEditorTab {
void setupPanel(JabRefFrame frame, BasePanel bPanel, boolean addKeyField, String title) {
-
+
InputMap im = panel.getInputMap(JComponent.WHEN_FOCUSED);
ActionMap am = panel.getActionMap();
@@ -116,13 +106,15 @@ public class EntryEditorTab {
am.put("nexttab", parent.frame.nextTab);
im.put(Globals.prefs.getKey("Previous tab"), "prevtab");
am.put("prevtab", parent.frame.prevTab);
-
-
+
+
panel.setName(title);
//String rowSpec = "left:pref, 4dlu, fill:pref:grow, 4dlu, fill:pref";
- String colSpec = "fill:pref, 1dlu, fill:pref:grow, 1dlu, fill:pref";
+ String colSpec = "fill:pref, 1dlu, fill:10dlu:grow, 1dlu, fill:pref, "
+ +"8dlu, fill:pref, 1dlu, fill:10dlu:grow, 1dlu, fill:pref";
StringBuffer sb = new StringBuffer();
- for (int i = 0; i < fields.length; i++) {
+ int rows = (int)Math.ceil((double)fields.length/2.0);
+ for (int i = 0; i < rows; i++) {
sb.append("fill:pref:grow, ");
}
if (addKeyField)
@@ -144,7 +136,7 @@ public class EntryEditorTab {
else
ta = new FieldTextArea(fields[i], null);
//ta.addUndoableEditListener(bPanel.undoListener);
-
+
JComponent ex = parent.getExtra(fields[i], ta);
// Add autocompleter listener, if required for this field:
@@ -161,8 +153,8 @@ public class EntryEditorTab {
if (i == 0)
activeField = ta;
//System.out.println(fields[i]+": "+BibtexFields.getFieldWeight(fields[i]));
- ta.getPane().setPreferredSize(new Dimension(100,
- (int)(50.0*BibtexFields.getFieldWeight(fields[i]))));
+ //ta.getPane().setPreferredSize(new Dimension(100,
+ // (int)(50.0*BibtexFields.getFieldWeight(fields[i]))));
builder.append(ta.getLabel());
if (ex == null)
builder.append(ta.getPane(), 3);
@@ -173,7 +165,7 @@ public class EntryEditorTab {
pan.add(ex, BorderLayout.NORTH);
builder.append(pan);
}
- builder.nextLine();
+ if (i%2 == 1) builder.nextLine();
}
// Add the edit field for Bibtex-key.
@@ -182,7 +174,7 @@ public class EntryEditorTab {
.getEntry().getField(BibtexFields.KEY_FIELD), true);
//tf.addUndoableEditListener(bPanel.undoListener);
setupJTextComponent(tf, null);
-
+
editors.put("bibtexkey", tf);
/*
* If the key field is the only field, we should have only one
@@ -228,9 +220,9 @@ public class EntryEditorTab {
/**
* Only sets the activeField variable but does not focus it.
- *
+ *
* Call activate afterwards.
- *
+ *
* @param c
*/
public void setActive(FieldEditor c) {
@@ -256,7 +248,7 @@ public class EntryEditorTab {
/**
* Reset all fields from the data in the BibtexEntry.
- *
+ *
*/
public void updateAll() {
setEntry(getEntry());
@@ -295,9 +287,9 @@ public class EntryEditorTab {
FieldEditor ed = editors.get(field);
ed.setEnabled(true);
if (((Component) ed).hasFocus())
- ed.setBackground(GUIGlobals.activeEditor);
+ ed.setActiveBackgroundColor();
else
- ed.setBackground(GUIGlobals.validFieldBackground);
+ ed.setValidBackgroundColor();
}
}
@@ -315,7 +307,7 @@ public class EntryEditorTab {
/**
* Set up key bindings and focus listener for the FieldEditor.
- *
+ *
* @param component
*/
public void setupJTextComponent(final JComponent component, final AutoCompleteListener acl) {
@@ -381,11 +373,11 @@ public class EntryEditorTab {
/*
* Focus listener that fires the storeFieldAction when a FieldTextArea loses
* focus.
- *
+ *
* TODO: It would be nice to test this thoroughly.
*/
FocusListener fieldListener = new FocusListener() {
-
+
JTextComponent c;
DocumentListener d;
@@ -446,4 +438,4 @@ public class EntryEditorTab {
parent.updateField(e.getSource());
}
};
-}
+}
\ No newline at end of file
diff --git a/src/java/net/sf/jabref/EntryEditor.java b/src/java/net/sf/jabref/EntryEditor.java
index 401c3b7..735fd6b 100644
--- a/src/java/net/sf/jabref/EntryEditor.java
+++ b/src/java/net/sf/jabref/EntryEditor.java
@@ -247,11 +247,29 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
tabs.add(reqPan);
if ((entry.getOptionalFields() != null) && (entry.getOptionalFields().length >= 1)) {
- optPan = new EntryEditorTab(frame, panel, java.util.Arrays.asList(entry.getOptionalFields()), this,
- false, Globals.lang("Optional fields"));
- tabbed.addTab(Globals.lang("Optional fields"), GUIGlobals.getImage("optional"), optPan
- .getPane(), Globals.lang("Show optional fields"));
- tabs.add(optPan);
+ if (!prefs.getBoolean("biblatexMode")) {
+ optPan = new EntryEditorTab(frame, panel, java.util.Arrays.asList(entry.getOptionalFields()), this,
+ false, Globals.lang("Optional fields"));
+ tabbed.addTab(Globals.lang("Optional fields"), GUIGlobals.getImage("optional"), optPan
+ .getPane(), Globals.lang("Show optional fields"));
+ tabs.add(optPan);
+ }
+ else {
+ optPan = new CompressedEntryEditorTab(frame, panel,
+ java.util.Arrays.asList(entry.getType().getPrimaryOptionalFields()), this,
+ false, Globals.lang("Optional fields"));
+ tabbed.addTab(Globals.lang("Optional fields"), GUIGlobals.getImage("optional"), optPan
+ .getPane(), Globals.lang("Show optional fields"));
+ tabs.add(optPan);
+ optPan = new CompressedEntryEditorTab(frame, panel,
+ java.util.Arrays.asList(Util.getRemainder(entry.getOptionalFields(),
+ entry.getType().getPrimaryOptionalFields())), this,
+ false, Globals.lang("Optional fields 2"));
+ tabbed.addTab(Globals.lang("Optional fields 2"), GUIGlobals.getImage("optional"), optPan
+ .getPane(), Globals.lang("Show optional fields"));
+ tabs.add(optPan);
+
+ }
}
EntryEditorTabList tabList = Globals.prefs.getEntryEditorTabList();
@@ -738,9 +756,17 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
* a <code>BibtexEntry</code> value
*/
public synchronized void switchTo(BibtexEntry be) {
- if (entry == be)
+ if (entry == be) {
+ /**
+ * Even if the editor is already showing the same entry, update
+ * the source panel. I'm not sure if this is the correct place to
+ * do this, but in some cases the source panel will otherwise not
+ * be up-to-date when an entry is changed while the entry editor
+ * is existing, set to the same entry, but not visible.
+ */
+ updateSource();
return;
-
+ }
storeCurrentEdit();
// Remove this instance as property listener for the entry:
@@ -979,7 +1005,7 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
public TypeLabel(String type) {
super(type+" ");
setUI(new VerticalLabelUI(false));
- setForeground(GUIGlobals.validFieldColor);
+ setForeground(GUIGlobals.entryEditorLabelColor);
setHorizontalAlignment(RIGHT);
setFont(GUIGlobals.typeNameFont);
addMouseListener(new MouseAdapter() {
@@ -1002,7 +1028,7 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
public void paintComponent(Graphics g) {
Graphics2D g2 = (Graphics2D) g;
- //g2.setColor(GUIGlobals.validFieldColor);
+ //g2.setColor(GUIGlobals.entryEditorLabelColor);
//g2.setFont(GUIGlobals.typeNameFont);
//FontMetrics fm = g2.getFontMetrics();
//int width = fm.stringWidth(label);
@@ -1134,14 +1160,10 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
if ((cleaned != null) && !cleaned.equals(newValue)) {
JOptionPane.showMessageDialog(frame, Globals.lang("Invalid BibTeX key"),
Globals.lang("Error setting field"), JOptionPane.ERROR_MESSAGE);
- fe.setBackground(GUIGlobals.invalidFieldBackground);
+ fe.setInvalidBackgroundColor();
return;
} else {
- fe.setBackground(/*
- * fe.getTextComponent().hasFocus() ?
- * GUIGlobals.activeEditor :
- */
- GUIGlobals.validFieldBackground);
+ fe.setValidBackgroundColor();
}
boolean isDuplicate = panel.database.setCiteKeyForEntry(entry.getId(), newValue);
@@ -1160,14 +1182,14 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
oldValue, newValue));
if ((newValue != null) && (newValue.length() > 0))
- // fe.setLabelColor(GUIGlobals.validFieldColor);
- fe.setBackground(GUIGlobals.validFieldBackground);
+ // fe.setLabelColor(GUIGlobals.entryEditorLabelColor);
+ fe.setValidBackgroundColor();
else
// fe.setLabelColor(GUIGlobals.nullFieldColor);
- fe.setBackground(GUIGlobals.validFieldBackground);
+ fe.setValidBackgroundColor();
if (fe.getTextComponent().hasFocus())
- fe.setBackground(GUIGlobals.activeEditor);
+ fe.setActiveBackgroundColor();
updateSource();
panel.markBaseChanged();
}
@@ -1215,11 +1237,11 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
entry.clearField(fe.getFieldName());
if ((toSet != null) && (toSet.length() > 0))
- // fe.setLabelColor(GUIGlobals.validFieldColor);
- fe.setBackground(GUIGlobals.validFieldBackground);
+ // fe.setLabelColor(GUIGlobals.entryEditorLabelColor);
+ fe.setValidBackgroundColor();
else
// fe.setLabelColor(GUIGlobals.nullFieldColor);
- fe.setBackground(GUIGlobals.validFieldBackground);
+ fe.setValidBackgroundColor();
// See if we need to update an AutoCompleter instance:
AbstractAutoCompleter aComp = panel.getAutoCompleter(fe.getFieldName());
@@ -1236,12 +1258,12 @@ public class EntryEditor extends JPanel implements VetoableChangeListener {
} catch (IllegalArgumentException ex) {
JOptionPane.showMessageDialog(frame, Globals.lang("Error") + ": " + ex.getMessage(), Globals
.lang("Error setting field"), JOptionPane.ERROR_MESSAGE);
- fe.setBackground(GUIGlobals.invalidFieldBackground);
+ fe.setInvalidBackgroundColor();
}
} else {
// set == false
// We set the field and label color.
- fe.setBackground(GUIGlobals.validFieldBackground);
+ fe.setValidBackgroundColor();
}
if (fe.getTextComponent().hasFocus())
fe.setBackground(GUIGlobals.activeEditor);
diff --git a/src/java/net/sf/jabref/EntryEditorTab.java b/src/java/net/sf/jabref/EntryEditorTab.java
index 0a2bcd3..2a26682 100644
--- a/src/java/net/sf/jabref/EntryEditorTab.java
+++ b/src/java/net/sf/jabref/EntryEditorTab.java
@@ -56,7 +56,7 @@ import com.jgoodies.forms.layout.FormLayout;
* A single tab displayed in the EntryEditor holding several FieldEditors.
*
* @author $Author: mortenalver $
- * @version $Revision: 3140 $ ($Date: 2009-11-26 20:09:21 +0100 (Thu, 26 Nov 2009) $)
+ * @version $Revision: 3373 $ ($Date: 2010-11-29 18:32:46 +0100 (Mon, 29 Nov 2010) $)
*
*/
public class EntryEditorTab {
@@ -71,6 +71,10 @@ public class EntryEditorTab {
private FieldEditor activeField = null;
+ protected EntryEditorTab() {
+
+ }
+
public EntryEditorTab(JabRefFrame frame, BasePanel panel, List<String> fields, EntryEditor parent,
boolean addKeyField, String name) {
if (fields != null)
@@ -259,7 +263,7 @@ public class EntryEditorTab {
*
*/
public void updateAll() {
- setEntry(getEntry());
+ setEntry(getEntry());
}
protected boolean updating = false;
@@ -293,11 +297,12 @@ public class EntryEditorTab {
for (Iterator<String> i = editors.keySet().iterator(); i.hasNext();) {
String field = i.next();
FieldEditor ed = editors.get(field);
+ ed.updateFontColor();
ed.setEnabled(true);
if (((Component) ed).hasFocus())
- ed.setBackground(GUIGlobals.activeEditor);
+ ed.setActiveBackgroundColor();
else
- ed.setBackground(GUIGlobals.validFieldBackground);
+ ed.setValidBackgroundColor();
}
}
diff --git a/src/java/net/sf/jabref/EntryTypeDialog.java b/src/java/net/sf/jabref/EntryTypeDialog.java
index 4397126..f77d376 100644
--- a/src/java/net/sf/jabref/EntryTypeDialog.java
+++ b/src/java/net/sf/jabref/EntryTypeDialog.java
@@ -107,9 +107,7 @@ public class EntryTypeDialog extends JDialog implements ActionListener {
int col = 0;
for (BibtexEntryType tp : BibtexEntryType.ALL_TYPES.values()){
- //System.out.println(tp.getName()+"\n"+tp);
- TypeButton b = new TypeButton(Util.nCase(tp.getName()), tp);
- b.setAlignmentX(SwingConstants.LEFT);
+ TypeButton b = new TypeButton(Util.nCase(tp.getName()), tp);
b.addActionListener(this);
// Check if we should finish the row.
col++;
diff --git a/src/java/net/sf/jabref/FieldEditor.java b/src/java/net/sf/jabref/FieldEditor.java
index f98cb77..335ed09 100644
--- a/src/java/net/sf/jabref/FieldEditor.java
+++ b/src/java/net/sf/jabref/FieldEditor.java
@@ -41,7 +41,7 @@ import javax.swing.event.UndoableEditListener;
* FieldEditors is a common interface between the FieldTextField and FieldTextArea.
*
* @author $Author: mortenalver $
- * @version $Revision: 3140 $ ($Date: 2009-11-26 20:09:21 +0100 (Thu, 26 Nov 2009) $)
+ * @version $Revision: 3340 $ ($Date: 2010-10-19 21:55:49 +0200 (Tue, 19 Oct 2010) $)
*
*/
public interface FieldEditor {
@@ -61,10 +61,18 @@ public interface FieldEditor {
public JLabel getLabel();
+ public void setActiveBackgroundColor();
+
+ public void setValidBackgroundColor();
+
+ public void setInvalidBackgroundColor();
+
public void setLabelColor(Color c);
public void setBackground(Color c);
+ public void updateFontColor();
+
public String getText();
/**
diff --git a/src/java/net/sf/jabref/FieldEditorFocusListener.java b/src/java/net/sf/jabref/FieldEditorFocusListener.java
index d8e3e3b..40bca04 100644
--- a/src/java/net/sf/jabref/FieldEditorFocusListener.java
+++ b/src/java/net/sf/jabref/FieldEditorFocusListener.java
@@ -1,5 +1,6 @@
package net.sf.jabref;
+import javax.swing.*;
import java.awt.Color;
import java.awt.Component;
import java.awt.event.FocusEvent;
@@ -20,12 +21,18 @@ public class FieldEditorFocusListener implements FocusListener {
}
public void focusGained(FocusEvent event) {
- ((Component)event.getSource()).setBackground(GUIGlobals.activeEditor);
+ if (event.getSource() instanceof FieldEditor)
+ ((FieldEditor)event.getSource()).setActiveBackgroundColor();
+ else
+ ((JComponent)event.getSource()).setBackground(GUIGlobals.activeBackground);
}
public void focusLost(FocusEvent event) {
- ((Component)event.getSource()).setBackground(Color.white);
+ if (event.getSource() instanceof FieldEditor)
+ ((FieldEditor)event.getSource()).setValidBackgroundColor();
+ else
+ ((JComponent)event.getSource()).setBackground(GUIGlobals.validFieldBackgroundColor);
}
}
diff --git a/src/java/net/sf/jabref/FieldNameLabel.java b/src/java/net/sf/jabref/FieldNameLabel.java
index d969261..e1f5e85 100644
--- a/src/java/net/sf/jabref/FieldNameLabel.java
+++ b/src/java/net/sf/jabref/FieldNameLabel.java
@@ -12,9 +12,9 @@ public class FieldNameLabel extends JLabel {
public FieldNameLabel(String name) {
super(name, JLabel.LEFT);
- setVerticalAlignment(NORTH);
+ setVerticalAlignment(TOP);
//setFont(GUIGlobals.fieldNameFont);
- setForeground(GUIGlobals.validFieldColor);
+ setForeground(GUIGlobals.entryEditorLabelColor);
setBorder(BorderFactory.createMatteBorder(1,0,0,0, Color.GRAY));
//setBorder(BorderFactory.createEtchedBorder());
}
diff --git a/src/java/net/sf/jabref/FieldTextArea.java b/src/java/net/sf/jabref/FieldTextArea.java
index d87c897..c27fcde 100644
--- a/src/java/net/sf/jabref/FieldTextArea.java
+++ b/src/java/net/sf/jabref/FieldTextArea.java
@@ -45,7 +45,7 @@ import javax.swing.undo.CannotUndoException;
* multi-line input.
*
* @author $Author: mortenalver $
- * @version $Revision: 3140 $ ($Date: 2009-11-26 20:09:21 +0100 (Thu, 26 Nov 2009) $)
+ * @version $Revision: 3340 $ ($Date: 2010-10-19 21:55:49 +0200 (Tue, 19 Oct 2010) $)
*
*/
public class FieldTextArea extends JTextArea implements FieldEditor {
@@ -91,7 +91,8 @@ public class FieldTextArea extends JTextArea implements FieldEditor {
fieldName = fieldName_;
label = new FieldNameLabel(" " + Util.nCase(fieldName) + " ");
- setBackground(GUIGlobals.validFieldBackground);
+ setBackground(GUIGlobals.validFieldBackgroundColor);
+ setForeground(GUIGlobals.editorTextColor);
//setFont(new Font("Times", Font.PLAIN, 10));
@@ -135,6 +136,21 @@ public class FieldTextArea extends JTextArea implements FieldEditor {
return this;
}
+ public void setActiveBackgroundColor() {
+ setBackground(GUIGlobals.activeBackground);
+ }
+
+ public void setValidBackgroundColor() {
+ setBackground(GUIGlobals.validFieldBackgroundColor);
+ }
+
+ public void setInvalidBackgroundColor() {
+ setBackground(GUIGlobals.invalidFieldBackgroundColor);
+ }
+
+ public void updateFontColor() {
+ setForeground(GUIGlobals.editorTextColor);
+ }
public void updateFont() {
setFont(GUIGlobals.CURRENTFONT);
diff --git a/src/java/net/sf/jabref/FieldTextField.java b/src/java/net/sf/jabref/FieldTextField.java
index d389fc1..3edf97d 100644
--- a/src/java/net/sf/jabref/FieldTextField.java
+++ b/src/java/net/sf/jabref/FieldTextField.java
@@ -34,9 +34,6 @@ import javax.swing.JComponent;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.event.UndoableEditListener;
-import javax.swing.event.UndoableEditEvent;
-import javax.swing.undo.UndoManager;
-import javax.swing.undo.CannotUndoException;
public class FieldTextField extends JTextField implements FieldEditor {
@@ -70,10 +67,12 @@ public class FieldTextField extends JTextField implements FieldEditor {
label = new FieldNameLabel(" " + Util.nCase(fieldName) + " ");
// label = new JLabel(" "+Util.nCase(fieldName)+" ", JLabel.CENTER);
// label.setBorder(BorderFactory.createEtchedBorder());
- setBackground(GUIGlobals.validFieldBackground);
+ setBackground(GUIGlobals.validFieldBackgroundColor);
+ setForeground(GUIGlobals.editorTextColor);
+
// label.setOpaque(true);
// if ((content != null) && (content.length() > 0))
- // label.setForeground(GUIGlobals.validFieldColor);
+ // label.setForeground(GUIGlobals.entryEditorLabelColor);
// At construction time, the field can never have an invalid value.
// else label.setForeground(GUIGlobals.nullFieldColor);
@@ -108,6 +107,22 @@ public class FieldTextField extends JTextField implements FieldEditor {
}
+ public void setActiveBackgroundColor() {
+ setBackground(GUIGlobals.activeBackground);
+ }
+
+ public void setValidBackgroundColor() {
+ setBackground(GUIGlobals.validFieldBackgroundColor);
+ }
+
+ public void setInvalidBackgroundColor() {
+ setBackground(GUIGlobals.invalidFieldBackgroundColor);
+ }
+
+ public void updateFontColor() {
+ setForeground(GUIGlobals.editorTextColor);
+ }
+
public void updateFont() {
setFont(GUIGlobals.CURRENTFONT);
}
diff --git a/src/java/net/sf/jabref/GUIGlobals.java b/src/java/net/sf/jabref/GUIGlobals.java
index 830a478..9ff6eb8 100644
--- a/src/java/net/sf/jabref/GUIGlobals.java
+++ b/src/java/net/sf/jabref/GUIGlobals.java
@@ -168,22 +168,21 @@ public class GUIGlobals {
// Colors.
public static Color
lightGray = new Color(230, 30, 30), // Light gray background
- validFieldColor = new Color(100, 100, 150), // Empty field, blue.
+ entryEditorLabelColor = new Color(100, 100, 150), // Empty field, blue.
nullFieldColor = new Color(75, 130, 95), // Valid field, green.
- invalidFieldColor = new Color(141, 0, 61), // Invalid field, red.
-// invalidFieldColor = new Color(210, 70, 70), // Invalid field, red.
- validFieldBackground = Color.white, // Valid field backgnd.
-// invalidFieldBackground = new Color(210, 70, 70), // Invalid field backgnd.
- invalidFieldBackground = new Color(255, 100, 100), // Invalid field backgnd.
gradientGray = new Color(112, 121, 165), // Title bar gradient color, sidepaneheader
gradientBlue = new Color(0, 27, 102), // Title bar gradient color, sidepaneheader
//activeTabbed = Color.black, // active Database (JTabbedPane)
//inActiveTabbed = Color.gray.darker(), // inactive Database
- activeTabbed = validFieldColor.darker(), // active Database (JTabbedPane)
+ activeTabbed = entryEditorLabelColor.darker(), // active Database (JTabbedPane)
inActiveTabbed = Color.black, // inactive Database
infoField = new Color(254, 255, 225) // color for an info field
;
+ public static Color
+ editorTextColor = null, validFieldBackgroundColor = null,
+ activeBackground = null, invalidFieldBackgroundColor = null;
+
public static String META_FLAG = "jabref-meta: ";
public static String META_FLAG_OLD = "bibkeeper-meta: ";
public static String ENTRYTYPE_FLAG = "jabref-entrytype: ";
@@ -251,8 +250,18 @@ public class GUIGlobals {
//LANGUAGES.put("Polski", "pl");
LANGUAGES.put("Turkish", "tr");
LANGUAGES.put("Simplified Chinese", "zh");
+ LANGUAGES.put("Vietnamese", "vi");
+ LANGUAGES.put("Bahasa Indonesia", "in");
+ // Set up entry editor colors, first time:
+ updateEntryEditorColors();
}
+ public static void updateEntryEditorColors() {
+ activeBackground = JabRefPreferences.getInstance().getColor("activeFieldEditorBackgroundColor");
+ validFieldBackgroundColor = JabRefPreferences.getInstance().getColor("validFieldBackgroundColor");
+ invalidFieldBackgroundColor = JabRefPreferences.getInstance().getColor("invalidFieldBackgroundColor");
+ editorTextColor = JabRefPreferences.getInstance().getColor("fieldEditorTextColor");
+ }
/**
* Read either the default icon theme, or a custom one. If loading of the custom theme
* fails, try to fall back on the default theme.
diff --git a/src/java/net/sf/jabref/Globals.java b/src/java/net/sf/jabref/Globals.java
index a286521..a612e3e 100644
--- a/src/java/net/sf/jabref/Globals.java
+++ b/src/java/net/sf/jabref/Globals.java
@@ -282,7 +282,7 @@ public class Globals {
messages = ResourceBundle.getBundle(resourcePrefix, locale);
menuTitles = ResourceBundle.getBundle(menuResourcePrefix, locale);
intMessages = ResourceBundle.getBundle(integrityResourcePrefix, locale);
- Locale.setDefault(locale);
+ Locale.setDefault(locale);
javax.swing.JComponent.setDefaultLocale(locale);
}
diff --git a/src/java/net/sf/jabref/HelpDialog.java b/src/java/net/sf/jabref/HelpDialog.java
index 538988d..bc6c211 100644
--- a/src/java/net/sf/jabref/HelpDialog.java
+++ b/src/java/net/sf/jabref/HelpDialog.java
@@ -38,7 +38,7 @@ import javax.swing.event.HyperlinkListener;
* This is a non-modal help Dialog. The contents of the help is specified by
* calling showPage().
*
- * @version $Revision: 3225 $ ($Date: 2010-03-17 19:00:21 +0100 (Wed, 17 Mar 2010) $)
+ * @version $Revision: 3265 $ ($Date: 2010-04-17 14:52:49 +0200 (Sat, 17 Apr 2010) $)
*
*/
public class HelpDialog extends JDialog implements HyperlinkListener {
diff --git a/src/java/net/sf/jabref/JabRef.java b/src/java/net/sf/jabref/JabRef.java
index fb3207c..43c62d2 100644
--- a/src/java/net/sf/jabref/JabRef.java
+++ b/src/java/net/sf/jabref/JabRef.java
@@ -750,16 +750,18 @@ public class JabRef {
if (Globals.prefs.getBoolean("autoSave"))
Globals.startAutoSaveManager(jrf);
- //Util.pr(": Showing frame");
- jrf.setVisible(true);
// If we are set to remember the window location, we also remember the maximised
// state. This needs to be set after the window has been made visible, so we
// do it here:
- if (Globals.prefs.getBoolean("rememberWindowLocation") &&
- Globals.prefs.getBoolean("windowMaximised")) {
- jrf.setExtendedState(JFrame.MAXIMIZED_BOTH);
- }
+ if (Globals.prefs.getBoolean("windowMaximised")) {
+ jrf.setExtendedState(JFrame.MAXIMIZED_BOTH);
+ }
+ jrf.setVisible(true);
+
+ if (Globals.prefs.getBoolean("windowMaximised")) {
+ jrf.setExtendedState(JFrame.MAXIMIZED_BOTH);
+ }
// TEST TEST TEST TEST TEST TEST
startSidePanePlugins(jrf);
diff --git a/src/java/net/sf/jabref/JabRefFrame.java b/src/java/net/sf/jabref/JabRefFrame.java
index fd5ae13..b508e01 100644
--- a/src/java/net/sf/jabref/JabRefFrame.java
+++ b/src/java/net/sf/jabref/JabRefFrame.java
@@ -56,11 +56,7 @@ import net.sf.jabref.external.ExternalFileTypeEditor;
import net.sf.jabref.external.PushToApplicationButton;
import net.sf.jabref.groups.EntryTableTransferHandler;
import net.sf.jabref.groups.GroupSelector;
-import net.sf.jabref.gui.DatabasePropertiesDialog;
-import net.sf.jabref.gui.EntryCustomizationDialog2;
-import net.sf.jabref.gui.GenFieldsCustomizer;
-import net.sf.jabref.gui.ImportInspectionDialog;
-import net.sf.jabref.gui.SortTabsAction;
+import net.sf.jabref.gui.*;
import net.sf.jabref.imports.CiteSeerFetcher;
import net.sf.jabref.imports.EntryFetcher;
import net.sf.jabref.imports.GeneralFetcher;
@@ -306,7 +302,7 @@ public class JabRefFrame extends JFrame implements OutputPrinter {
customImpAction = new CustomizeImportsAction(),
customFileTypesAction = ExternalFileTypeEditor.getAction(this),
exportToClipboard = new GeneralAction("exportToClipboard", "Export selected entries to clipboard"),
- expandEndnoteZip = new ExpandEndnoteFilters(this),
+ //expandEndnoteZip = new ExpandEndnoteFilters(this),
autoSetPdf = new GeneralAction("autoSetPdf", Globals.lang("Synchronize %0 links", "PDF"), Globals.prefs.getKey("Synchronize PDF")),
autoSetPs = new GeneralAction("autoSetPs", Globals.lang("Synchronize %0 links", "PS"), Globals.prefs.getKey("Synchronize PS")),
autoSetFile = new GeneralAction("autoSetFile", Globals.lang("Synchronize file links"), Globals.prefs.getKey("Synchronize files")),
@@ -340,8 +336,11 @@ public class JabRefFrame extends JFrame implements OutputPrinter {
// Globals.lang("Follow DOI or URL link and try to locate PDF full text document")),
increaseFontSize = new IncreaseTableFontSizeAction(),
decreseFontSize = new DecreaseTableFontSizeAction(),
- installPlugin = new PluginInstallerAction(this);
-
+ installPlugin = new PluginInstallerAction(this),
+ resolveDuplicateKeys = new GeneralAction("resolveDuplicateKeys", "Resolve duplicate BibTeX keys",
+ Globals.lang("Find and remove duplicate BibTeX keys"),
+ prefs.getKey("Resolve duplicate BibTeX keys"));
+
PushToApplicationButton pushExternalButton;
CiteSeerFetcher citeSeerFetcher;
@@ -417,53 +416,51 @@ public class JabRefFrame extends JFrame implements OutputPrinter {
initActions();
- // Fixes occasional Window malbehaviour in Linux
- setBounds(0, 0, (int) Toolkit.getDefaultToolkit().getScreenSize().getWidth(),
- (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight() );
- setExtendedState(JFrame.MAXIMIZED_BOTH);
-
- if (Globals.prefs.getBoolean("rememberWindowLocation")) {
-
- int sizeX = prefs.getInt("sizeX");
- int sizeY = prefs.getInt("sizeY");
- int posX = prefs.getInt("posX");
- int posY = prefs.getInt("posY");
-
- //
- // Fix for [ 1738920 ] Windows Position in Multi-Monitor environment
- //
- // Do not put a window outside the screen if the preference values are wrong.
- //
- // Useful reference: http://www.exampledepot.com/egs/java.awt/screen_ScreenSize.html?l=rel
- // googled on forums.java.sun.com graphicsenvironment second screen java
- //
- if (GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices().length == 1){
-
- Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
-
- int height = (int) dim.getHeight();
- int width = (int) dim.getWidth();
-
- if (posX + sizeX > width) {
- if (sizeX <= width) {
- posX = width - sizeX;
- } else {
- posX = prefs.getIntDefault("posX");
- sizeX = prefs.getIntDefault("sizeX");
- }
+
+ setBounds(GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds());
+ if ( !prefs.getBoolean("windowMaximised") ) {
+
+ int sizeX = prefs.getInt("sizeX");
+ int sizeY = prefs.getInt("sizeY");
+ int posX = prefs.getInt("posX");
+ int posY = prefs.getInt("posY");
+
+ //
+ // Fix for [ 1738920 ] Windows Position in Multi-Monitor environment
+ //
+ // Do not put a window outside the screen if the preference values are wrong.
+ //
+ // Useful reference: http://www.exampledepot.com/egs/java.awt/screen_ScreenSize.html?l=rel
+ // googled on forums.java.sun.com graphicsenvironment second screen java
+ //
+ if (GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices().length == 1){
+
+ Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
+
+ int height = (int) dim.getHeight();
+ int width = (int) dim.getWidth();
+
+ if (posX + sizeX > width) {
+ if (sizeX <= width) {
+ posX = width - sizeX;
+ } else {
+ posX = prefs.getIntDefault("posX");
+ sizeX = prefs.getIntDefault("sizeX");
}
+ }
- if (posY + sizeY > height) {
- if (sizeY <= height) {
- posY = height - sizeY;
- } else {
- posY = prefs.getIntDefault("posY");
- sizeY = prefs.getIntDefault("sizeY");
- }
+ if (posY + sizeY > height) {
+ if (sizeY <= height) {
+ posY = height - sizeY;
+ } else {
+ posY = prefs.getIntDefault("posY");
+ sizeY = prefs.getIntDefault("sizeY");
}
}
- setBounds(posX, posY, sizeX, sizeY);
}
+ setBounds(posX, posY, sizeX, sizeY);
+ }
+
tabbedPane.setBorder(null);
tabbedPane.setForeground(GUIGlobals.inActiveTabbed);
@@ -486,6 +483,7 @@ public class JabRefFrame extends JFrame implements OutputPrinter {
highlightAll
.setSelected(Globals.prefs.getBoolean("highlightGroupsMatchingAll"));
Globals.focusListener.setFocused(bp.mainTable);
+ setWindowTitle();
// Set correct enabled state for Back and Forward actions:
bp.setBackAndForwardEnabledState();
new FocusRequester(bp.mainTable);
@@ -494,7 +492,20 @@ public class JabRefFrame extends JFrame implements OutputPrinter {
});
}
-
+ public void setWindowTitle() {
+ // Set window title:
+ BasePanel bp = basePanel();
+ if (bp == null) {
+ setTitle(GUIGlobals.frameTitle);
+ return;
+ }
+ String star = bp.baseChanged ? "*" : "";
+ if (bp.getFile() != null) {
+ setTitle(GUIGlobals.frameTitle+" - "+bp.getFile().getPath()+star);
+ } else {
+ setTitle(GUIGlobals.frameTitle+" - "+Globals.lang("untitled")+star);
+ }
+ }
private void initSidePane() {
sidePaneManager = new SidePaneManager(this);
@@ -658,12 +669,26 @@ public JabRefPreferences prefs() {
}
}
}
+
if (baseAt(i).getFile() != null) {
filenames.add(baseAt(i).getFile().getAbsolutePath());
}
}
}
+
if (close) {
+
+ for (int i = 0; i < tabbedPane.getTabCount(); i++) {
+ if (baseAt(i).isSaving()) {
+ // There is a database still being saved, so we need to wait.
+ WaitForSaveOperation w = new WaitForSaveOperation(this);
+ w.show(); // This method won't return until cancelled or the save operation is done.
+ if (w.cancelled())
+ return; // The user clicked cancel.
+ }
+ }
+
+
dispose();
prefs.putInt("posX", JabRefFrame.this.getLocation().x);
@@ -672,8 +697,7 @@ public JabRefPreferences prefs() {
prefs.putInt("sizeY", JabRefFrame.this.getSize().height);
// prefs.putBoolean("windowMaximised", (getExtendedState()&MAXIMIZED_BOTH)>0);
prefs.putBoolean("windowMaximised", (getExtendedState() == Frame.MAXIMIZED_BOTH));
- prefs.putBoolean("rememberWindowLocation", !Globals.prefs.getBoolean("windowMaximised"));
-
+
prefs.putBoolean("searchPanelVisible", sidePaneManager.isComponentVisible("search"));
// Store divider location for side pane:
int width = contentPane.getDividerLocation();
@@ -844,7 +868,7 @@ public JabRefPreferences prefs() {
status.add(progressBar);
con.weightx = 1;
con.gridwidth = GridBagConstraints.REMAINDER;
- statusLabel.setForeground(GUIGlobals.validFieldColor.darker());
+ statusLabel.setForeground(GUIGlobals.entryEditorLabelColor.darker());
con.insets = new Insets(0, 0, 0, 0);
gbl.setConstraints(status, con);
getContentPane().add(status);
@@ -1187,6 +1211,10 @@ public JabRefPreferences prefs() {
//edit.add(exportToClipboard);
edit.addSeparator();
edit.add(mark);
+ JMenu markSpecific = subMenu("Mark specific color");
+ for (int i=0; i<Util.MAX_MARKING_LEVEL; i++)
+ markSpecific.add(new MarkEntriesAction(this, i).getMenuItem());
+ edit.add(markSpecific);
edit.add(unmark);
edit.add(unmarkAll);
edit.addSeparator();
@@ -1232,6 +1260,7 @@ public JabRefPreferences prefs() {
// [kiar] I think we should group these festures
tools.add(checkAndFix);
checkAndFix.add(dupliCheck);
+ checkAndFix.add(resolveDuplicateKeys);
//checkAndFix.add(strictDupliCheck);
checkAndFix.add(autoSetFile);
checkAndFix.add(autoSetPdf);
@@ -1258,11 +1287,6 @@ public JabRefPreferences prefs() {
tools.add(abbreviateIso);
tools.add(abbreviateMedline);
tools.add(unabbreviate);
-
- // TODO: Temporary for 2.2 release: we should perhaps find a better solution:
- tools.addSeparator();
- tools.add(new ExpandEndnoteFilters(JabRefFrame.this));
-
mb.add(tools);
web.add(fetchCiteSeer);
@@ -1330,7 +1354,7 @@ public JabRefPreferences prefs() {
helpMenu.add(errorConsole);
}
- private JMenu subMenu(String name) {
+ public static JMenu subMenu(String name) {
name = Globals.menuTitle(name);
int i = name.indexOf('&');
JMenu res;
@@ -1703,6 +1727,7 @@ public JabRefPreferences prefs() {
if (tabbedPane.getTabCount() > 0) {
markActiveBasePanel();
}
+ setWindowTitle();
updateEnabledState(); // Man, this is what I call a bug that this is not called.
output(Globals.lang("Closed database") + ".");
System.gc(); // Test
diff --git a/src/java/net/sf/jabref/JabRefPreferences.java b/src/java/net/sf/jabref/JabRefPreferences.java
index ddffb22..4a4a5ae 100644
--- a/src/java/net/sf/jabref/JabRefPreferences.java
+++ b/src/java/net/sf/jabref/JabRefPreferences.java
@@ -73,7 +73,7 @@ public class JabRefPreferences {
// modifications, in order to indicate a removed default file type:
public static final String FILE_TYPE_REMOVED_FLAG = "REMOVED";
- public String WRAPPED_USERNAME;
+ public String WRAPPED_USERNAME, MARKING_WITH_NUMBER_PATTERN;
Preferences prefs;
public HashMap<String, Object> defaults = new HashMap<String, Object>();
@@ -166,7 +166,6 @@ public class JabRefPreferences {
defaults.put("sizeX", new Integer(840));
defaults.put("sizeY", new Integer(680));
defaults.put("windowMaximised", Boolean.FALSE);
- defaults.put("rememberWindowLocation", Boolean.TRUE);
defaults.put("autoResizeMode", new Integer(JTable.AUTO_RESIZE_ALL_COLUMNS));
defaults.put("tableColorCodesOn", Boolean.TRUE);
defaults.put("namesAsIs", Boolean.FALSE);
@@ -286,7 +285,17 @@ public class JabRefPreferences {
defaults.put("grayedOutText", "40:40:40");
defaults.put("veryGrayedOutBackground", "180:180:180");
defaults.put("veryGrayedOutText", "40:40:40");
- defaults.put("markedEntryBackground", "255:255:180");
+ defaults.put("markedEntryBackground0", "255:255:180");
+ defaults.put("markedEntryBackground1", "255:220:180");
+ defaults.put("markedEntryBackground2", "255:180:160");
+ defaults.put("markedEntryBackground3", "255:120:120");
+ defaults.put("markedEntryBackground4", "255:75:75");
+ defaults.put("markedEntryBackground5", "220:255:220");
+ defaults.put("validFieldBackgroundColor", "255:255:255");
+ defaults.put("invalidFieldBackgroundColor", "255:0:0");
+ defaults.put("activeFieldEditorBackgroundColor", "220:220:255");
+ defaults.put("fieldEditorTextColor", "0:0:0");
+
defaults.put("incompleteEntryBackground", "250:175:175");
defaults.put("antialias", Boolean.FALSE);
@@ -405,6 +414,11 @@ public class JabRefPreferences {
defaults.put("enforceLegalBibtexKey", Boolean.TRUE);
+ defaults.put("biblatexMode", Boolean.FALSE);
+
+ defaults.put("keyGenFirstLetterA", Boolean.TRUE);
+ defaults.put("keyGenAlwaysAddLetter", Boolean.FALSE);
+
//defaults.put("lastAutodetectedImport", "");
//defaults.put("autoRemoveExactDuplicates", Boolean.FALSE);
@@ -423,12 +437,16 @@ public class JabRefPreferences {
//defaults.put("oooWarning", Boolean.TRUE);
updateSpecialFieldHandling();
WRAPPED_USERNAME = "["+get("defaultOwner")+"]";
+ MARKING_WITH_NUMBER_PATTERN = "\\["+get("defaultOwner")+":(\\d+)\\]";
String defaultExpression = "**/.*[bibtexkey].*\\\\.[extension]";
defaults.put(DEFAULT_REG_EXP_SEARCH_EXPRESSION_KEY, defaultExpression);
defaults.put(REG_EXP_SEARCH_EXPRESSION_KEY, defaultExpression);
defaults.put(USE_REG_EXP_SEARCH_KEY, Boolean.FALSE);
defaults.put("useIEEEAbrv", Boolean.TRUE);
+
+ defaults.put("userFileDir", GUIGlobals.FILE_FIELD + "Directory" + "-" + get("defaultOwner"));
+ defaults.put("showFileDirUpgradeWarning", true);
}
public static final String DEFAULT_REG_EXP_SEARCH_EXPRESSION_KEY = "defaultRegExpSearchExpression";
@@ -899,6 +917,9 @@ public class JabRefPreferences {
defKeyBinds.put("Decrease table font size", "ctrl MINUS");
defKeyBinds.put("Automatically link files", "alt F");
+
+ defKeyBinds.put("Refresh OO", "ctrl alt O");
+
}
private String getNextUnit(Reader data) throws IOException {
diff --git a/src/java/net/sf/jabref/MarkEntriesAction.java b/src/java/net/sf/jabref/MarkEntriesAction.java
new file mode 100644
index 0000000..578668a
--- /dev/null
+++ b/src/java/net/sf/jabref/MarkEntriesAction.java
@@ -0,0 +1,62 @@
+package net.sf.jabref;
+
+import net.sf.jabref.undo.NamedCompound;
+
+import javax.swing.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ *
+ */
+public class MarkEntriesAction extends AbstractWorker implements ActionListener {
+
+ private JabRefFrame frame;
+ final int level;
+ private JMenuItem menuItem;
+ private int besLength = 0;
+
+ public MarkEntriesAction(JabRefFrame frame, int level) {
+ this.frame = frame;
+ this.level = level;
+
+ //menuItem = new JMenuItem(Globals.menuTitle("Mark entries").replaceAll("&",""));
+ menuItem = new JMenuItem(" ");
+ menuItem.setMnemonic(String.valueOf(level+1).charAt(0));
+ menuItem.setBackground(Globals.prefs.getColor("markedEntryBackground"+this.level));
+ menuItem.addActionListener(this);
+ }
+
+ public JMenuItem getMenuItem() {
+ return menuItem;
+ }
+
+ public void actionPerformed(ActionEvent actionEvent) {
+ try {
+ this.init();
+ getWorker().run();
+ getCallBack().update();
+ } catch (Throwable t) {
+ t.printStackTrace();
+ }
+ }
+
+ public void run() {
+ BasePanel panel = frame.basePanel();
+ NamedCompound ce = new NamedCompound(Globals.lang("Mark entries"));
+ BibtexEntry[] bes = panel.getSelectedEntries();
+ besLength = bes.length;
+
+ for (int i=0; i<bes.length; i++) {
+ Util.markEntry(bes[i], level+1, false, ce);
+ }
+ ce.end();
+ panel.undoManager.addEdit(ce);
+ }
+
+ @Override
+ public void update() {
+ frame.basePanel().markBaseChanged();
+ frame.output(Globals.lang("Marked selected")+" "+Globals.lang(besLength>0?"entry":"entries"));
+ }
+}
diff --git a/src/java/net/sf/jabref/MarkedComparator.java b/src/java/net/sf/jabref/MarkedComparator.java
index 6cad04b..ba4c654 100644
--- a/src/java/net/sf/jabref/MarkedComparator.java
+++ b/src/java/net/sf/jabref/MarkedComparator.java
@@ -21,15 +21,14 @@ public class MarkedComparator implements Comparator<BibtexEntry> {
if (e1 == e2)
return 0;
- boolean mrk1 = Util.isMarked(e1),
+ int mrk1 = Util.isMarked(e1),
mrk2 = Util.isMarked(e2);
if (mrk1 == mrk2)
return (next != null ? next.compare(e1, e2) : idCompare(e1, e2));
- else if (mrk2)
- return 1;
- else return -1;
+ else return mrk2-mrk1;
+
}
private int idCompare(BibtexEntry b1, BibtexEntry b2) {
diff --git a/src/java/net/sf/jabref/MetaData.java b/src/java/net/sf/jabref/MetaData.java
index e758890..07cee54 100644
--- a/src/java/net/sf/jabref/MetaData.java
+++ b/src/java/net/sf/jabref/MetaData.java
@@ -145,7 +145,7 @@ public class MetaData implements Iterable<String> {
// There can be up to two directory definitions for these files - the database's
// metadata can specify a directory, or the preferences can specify one. The
// metadata directory takes precedence if defined.
- String key = fieldName + "Directory";
+ String key = Globals.prefs.get("userFileDir");
String dir;
Vector<String> vec = getData(key);
if ((vec != null) && (vec.size() > 0)) {
@@ -162,8 +162,9 @@ public class MetaData implements Iterable<String> {
dir = relDir;
}
}
- else
- dir = Globals.prefs.get(key);
+ else {
+ dir = Globals.prefs.get(fieldName + "Directory");
+ }
return dir;
}
diff --git a/src/java/net/sf/jabref/PreambleEditor.java b/src/java/net/sf/jabref/PreambleEditor.java
index 559db8e..c41bee5 100644
--- a/src/java/net/sf/jabref/PreambleEditor.java
+++ b/src/java/net/sf/jabref/PreambleEditor.java
@@ -170,14 +170,14 @@ public class PreambleEditor extends JDialog {
(base, panel, base.getPreamble(), toSet));
base.setPreamble(toSet);
if ((toSet != null) && (toSet.length() > 0)) {
- ed.setLabelColor(GUIGlobals.validFieldColor);
- ed.setBackground(GUIGlobals.validFieldBackground);
+ ed.setLabelColor(GUIGlobals.entryEditorLabelColor);
+ ed.setValidBackgroundColor();
} else {
ed.setLabelColor(GUIGlobals.nullFieldColor);
- ed.setBackground(GUIGlobals.validFieldBackground);
+ ed.setValidBackgroundColor();
}
if (ed.getTextComponent().hasFocus())
- ed.setBackground(GUIGlobals.activeEditor);
+ ed.setActiveBackgroundColor();
panel.markBaseChanged();
}
diff --git a/src/java/net/sf/jabref/PrefsDialog3.java b/src/java/net/sf/jabref/PrefsDialog3.java
index ac1c646..6d03a7e 100644
--- a/src/java/net/sf/jabref/PrefsDialog3.java
+++ b/src/java/net/sf/jabref/PrefsDialog3.java
@@ -259,6 +259,7 @@ public class PrefsDialog3 extends JDialog {
return;
setVisible(false);
MainTable.updateRenderers();
+ GUIGlobals.updateEntryEditorColors();
frame.setupAllTables();
frame.groupSelector.revalidateGroups(); // icons may have
// changed
diff --git a/src/java/net/sf/jabref/RightClickMenu.java b/src/java/net/sf/jabref/RightClickMenu.java
index 99bff87..1df8199 100644
--- a/src/java/net/sf/jabref/RightClickMenu.java
+++ b/src/java/net/sf/jabref/RightClickMenu.java
@@ -37,16 +37,16 @@ import javax.swing.event.PopupMenuListener;
import net.sf.jabref.groups.*;
public class RightClickMenu extends JPopupMenu
- implements PopupMenuListener {
+ implements PopupMenuListener {
BasePanel panel;
MetaData metaData;
JMenu groupAddMenu = new JMenu(Globals.lang("Add to group")),
- groupRemoveMenu = new JMenu(Globals.lang("Remove from group")),
- groupMoveMenu = new JMenu(Globals.lang("Assign exclusively to group")), // JZTODO lyrics
- typeMenu = new JMenu(Globals.lang("Change entry type"));
+ groupRemoveMenu = new JMenu(Globals.lang("Remove from group")),
+ groupMoveMenu = new JMenu(Globals.lang("Assign exclusively to group")), // JZTODO lyrics
+ typeMenu = new JMenu(Globals.lang("Change entry type"));
JCheckBoxMenuItem
- floatMarked = new JCheckBoxMenuItem(Globals.lang("Float marked entries"),
+ floatMarked = new JCheckBoxMenuItem(Globals.lang("Float marked entries"),
Globals.prefs.getBoolean("floatMarkedEntries"));
public RightClickMenu(BasePanel panel_, MetaData metaData_) {
@@ -59,89 +59,102 @@ public class RightClickMenu extends JPopupMenu
// If only one entry is selected, get a reference to it for adapting the menu.
BibtexEntry be = null;
if (panel.mainTable.getSelectedRowCount() == 1)
- be = panel.mainTable.getSelected().get(0);
+ be = panel.mainTable.getSelected().get(0);
addPopupMenuListener(this);
add(new AbstractAction(Globals.lang("Copy"), GUIGlobals.getImage("copy")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("copy");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("copy");
+ } catch (Throwable ex) {}
+ }
+ });
add(new AbstractAction(Globals.lang("Paste"), GUIGlobals.getImage("paste")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("paste");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("paste");
+ } catch (Throwable ex) {}
+ }
+ });
add(new AbstractAction(Globals.lang("Cut"), GUIGlobals.getImage("cut")) {
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("cut");
+ } catch (Throwable ex) {}
+ }
+ });
+
+ add(new AbstractAction(Globals.lang("Delete"), GUIGlobals.getImage("delete")) {
+ public void actionPerformed(ActionEvent e) {
+ /*SwingUtilities.invokeLater(new Runnable () {
+ public void run() {*/
+ try {
+ panel.runCommand("delete");
+ } catch (Throwable ex) {}
+ /*}
+ }); */
+
+ }
+ });
+ addSeparator();
+
+ add(new AbstractAction(Globals.lang("Export to clipboard")) {
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("exportToClipboard");
+ } catch (Throwable ex) {}
+ }
+ });
+ addSeparator();
+
+ JMenu markSpecific = JabRefFrame.subMenu("Mark specific color");
+ JabRefFrame frame = panel.frame;
+ for (int i=0; i<Util.MAX_MARKING_LEVEL; i++)
+ markSpecific.add(new MarkEntriesAction(frame, i).getMenuItem());
+
+ if (multiple) {
+ add(new AbstractAction(Globals.lang("Mark entries"), GUIGlobals.getImage("markEntries")) {
public void actionPerformed(ActionEvent e) {
try {
- panel.runCommand("cut");
+ panel.runCommand("markEntries");
} catch (Throwable ex) {}
}
});
- add(new AbstractAction(Globals.lang("Delete"), GUIGlobals.getImage("delete")) {
- public void actionPerformed(ActionEvent e) {
- /*SwingUtilities.invokeLater(new Runnable () {
- public void run() {*/
- try {
- panel.runCommand("delete");
- } catch (Throwable ex) {}
- /*}
- }); */
+ add(markSpecific);
- }
- });
- addSeparator();
-
- add(new AbstractAction(Globals.lang("Export to clipboard")) {
+ add(new AbstractAction(Globals.lang("Unmark entries"), GUIGlobals.getImage("unmarkEntries")) {
public void actionPerformed(ActionEvent e) {
try {
- panel.runCommand("exportToClipboard");
+ panel.runCommand("unmarkEntries");
} catch (Throwable ex) {}
}
});
addSeparator();
+ } else if (be != null) {
+ if (be.getField(BibtexFields.MARKED) == null) {
- if (multiple) {
- add(new AbstractAction(Globals.lang("Mark entries"), GUIGlobals.getImage("markEntries")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("markEntries");
- } catch (Throwable ex) {}
- }
- });
- add(new AbstractAction(Globals.lang("Unmark entries"), GUIGlobals.getImage("unmarkEntries")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("unmarkEntries");
- } catch (Throwable ex) {}
+ add(new AbstractAction(Globals.lang("Mark entry"), GUIGlobals.getImage("markEntries")) {
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("markEntries");
+ } catch (Throwable ex) {}
+ }
+ });
+
+ add(markSpecific);
+ } else {
+ add(markSpecific);
+ add(new AbstractAction(Globals.lang("Unmark entry"), GUIGlobals.getImage("unmarkEntries")) {
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("unmarkEntries");
+ } catch (Throwable ex) {}
+ }
+ });
}
- });
- addSeparator();
- } else if (be != null) {
- if (be.getField(BibtexFields.MARKED) == null)
- add(new AbstractAction(Globals.lang("Mark entry"), GUIGlobals.getImage("markEntries")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("markEntries");
- } catch (Throwable ex) {}
- }
- });
- else
- add(new AbstractAction(Globals.lang("Unmark entry"), GUIGlobals.getImage("unmarkEntries")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("unmarkEntries");
- } catch (Throwable ex) {}
- }
- });
- addSeparator();
+ addSeparator();
}
add(new AbstractAction(Globals.lang("Open file"), GUIGlobals.getImage("openExternalFile")) {
@@ -153,36 +166,36 @@ public class RightClickMenu extends JPopupMenu
});
add(new AbstractAction(Globals.lang("Open PDF or PS"), GUIGlobals.getImage("openFile")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("openFile");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("openFile");
+ } catch (Throwable ex) {}
+ }
+ });
- add(new AbstractAction(Globals.lang("Open URL or DOI"), GUIGlobals.getImage("www")) {
- public void actionPerformed(ActionEvent e) {
+ add(new AbstractAction(Globals.lang("Open URL or DOI"), GUIGlobals.getImage("www")) {
+ public void actionPerformed(ActionEvent e) {
try {
- panel.runCommand("openUrl");
+ panel.runCommand("openUrl");
} catch (Throwable ex) {}
- }
- });
+ }
+ });
add(new AbstractAction(Globals.lang("Copy BibTeX key")) {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("copyKey");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("copyKey");
+ } catch (Throwable ex) {}
+ }
+ });
add(new AbstractAction(Globals.lang("Copy")+" \\cite{"+Globals.lang("BibTeX key")+"}") {
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("copyCiteKey");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("copyCiteKey");
+ } catch (Throwable ex) {}
+ }
+ });
addSeparator();
populateTypeMenu();
@@ -190,12 +203,12 @@ public class RightClickMenu extends JPopupMenu
add(typeMenu);
add(new AbstractAction(Globals.lang("Plain text import"))
{
- public void actionPerformed(ActionEvent e) {
- try {
- panel.runCommand("importPlainText");
- } catch (Throwable ex) {}
- }
- });
+ public void actionPerformed(ActionEvent e) {
+ try {
+ panel.runCommand("importPlainText");
+ } catch (Throwable ex) {}
+ }
+ });
addSeparator(); // for "add/move/remove to/from group" entries (appended here)
floatMarked.addActionListener(new ActionListener() {
@@ -214,7 +227,7 @@ public class RightClickMenu extends JPopupMenu
typeMenu.removeAll();
for (String key : BibtexEntryType.ALL_TYPES.keySet()){
typeMenu.add(new ChangeTypeAction
- (BibtexEntryType.getType(key), panel));
+ (BibtexEntryType.getType(key), panel));
}
}
@@ -222,35 +235,35 @@ public class RightClickMenu extends JPopupMenu
* Set the dynamic contents of "Add to group ..." submenu.
*/
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
- BibtexEntry[] bes = panel.getSelectedEntries();
- panel.storeCurrentEdit();
- GroupTreeNode groups = metaData.getGroups();
- if (groups == null) {
+ BibtexEntry[] bes = panel.getSelectedEntries();
+ panel.storeCurrentEdit();
+ GroupTreeNode groups = metaData.getGroups();
+ if (groups == null) {
+ groupAddMenu.setEnabled(false);
+ groupMoveMenu.setEnabled(false);
+ groupRemoveMenu.setEnabled(false);
+ return;
+ }
+
+ groupAddMenu.setEnabled(true);
+ groupMoveMenu.setEnabled(true);
+ groupRemoveMenu.setEnabled(true);
+ groupAddMenu.removeAll();
+ groupMoveMenu.removeAll();
+ groupRemoveMenu.removeAll();
+
+ if (bes == null)
+ return;
+ add(groupAddMenu);
+ add(groupMoveMenu);
+ add(groupRemoveMenu);
+
groupAddMenu.setEnabled(false);
groupMoveMenu.setEnabled(false);
groupRemoveMenu.setEnabled(false);
- return;
- }
-
- groupAddMenu.setEnabled(true);
- groupMoveMenu.setEnabled(true);
- groupRemoveMenu.setEnabled(true);
- groupAddMenu.removeAll();
- groupMoveMenu.removeAll();
- groupRemoveMenu.removeAll();
-
- if (bes == null)
- return;
- add(groupAddMenu);
- add(groupMoveMenu);
- add(groupRemoveMenu);
-
- groupAddMenu.setEnabled(false);
- groupMoveMenu.setEnabled(false);
- groupRemoveMenu.setEnabled(false);
- insertNodes(groupAddMenu,metaData.getGroups(),bes,true,false);
- insertNodes(groupMoveMenu,metaData.getGroups(),bes,true,true);
- insertNodes(groupRemoveMenu,metaData.getGroups(),bes,false,false);
+ insertNodes(groupAddMenu,metaData.getGroups(),bes,true,false);
+ insertNodes(groupMoveMenu,metaData.getGroups(),bes,true,true);
+ insertNodes(groupRemoveMenu,metaData.getGroups(),bes,false,false);
addSeparator();
floatMarked.setSelected(Globals.prefs.getBoolean("floatMarkedEntries"));
@@ -261,7 +274,7 @@ public class RightClickMenu extends JPopupMenu
* @param move For add: if true, remove from previous groups
*/
public void insertNodes(JMenu menu, GroupTreeNode node, BibtexEntry[] selection,
- boolean add, boolean move) {
+ boolean add, boolean move) {
final AbstractAction action = getAction(node,selection,add,move);
if (node.getChildCount() == 0) {
@@ -269,7 +282,7 @@ public class RightClickMenu extends JPopupMenu
setGroupFontAndIcon(menuItem, node.getGroup());
menu.add(menuItem);
if (action.isEnabled())
- menu.setEnabled(true);
+ menu.setEnabled(true);
return;
}
@@ -299,45 +312,45 @@ public class RightClickMenu extends JPopupMenu
/** Sets the font and icon to be used, depending on the group */
private void setGroupFontAndIcon(JMenuItem menuItem, AbstractGroup group) {
if (Globals.prefs.getBoolean("groupShowDynamic")) {
- menuItem.setFont(menuItem.getFont().deriveFont(group.isDynamic() ?
- Font.ITALIC : Font.PLAIN));
+ menuItem.setFont(menuItem.getFont().deriveFont(group.isDynamic() ?
+ Font.ITALIC : Font.PLAIN));
}
- if (Globals.prefs.getBoolean("groupShowIcons")) {
- switch (group.getHierarchicalContext()) {
- case AbstractGroup.INCLUDING:
- menuItem.setIcon(GUIGlobals.getImage("groupIncluding"));
- break;
- case AbstractGroup.REFINING:
- menuItem.setIcon(GUIGlobals.getImage("groupRefining"));
- break;
- default:
- menuItem.setIcon(GUIGlobals.getImage("groupRegular"));
- break;
- }
+ if (Globals.prefs.getBoolean("groupShowIcons")) {
+ switch (group.getHierarchicalContext()) {
+ case AbstractGroup.INCLUDING:
+ menuItem.setIcon(GUIGlobals.getImage("groupIncluding"));
+ break;
+ case AbstractGroup.REFINING:
+ menuItem.setIcon(GUIGlobals.getImage("groupRefining"));
+ break;
+ default:
+ menuItem.setIcon(GUIGlobals.getImage("groupRegular"));
+ break;
}
+ }
}
/**
* @param move For add: if true, remove from all previous groups
*/
private AbstractAction getAction(GroupTreeNode node, BibtexEntry[] selection,
- boolean add, boolean move) {
+ boolean add, boolean move) {
AbstractAction action = add ? (AbstractAction) new AddToGroupAction(node, move,
panel) : (AbstractAction) new RemoveFromGroupAction(node, panel);
AbstractGroup group = node.getGroup();
if (!move) {
- action.setEnabled(add ? group.supportsAdd() && !group.containsAll(selection)
- : group.supportsRemove() && group.containsAny(selection));
+ action.setEnabled(add ? group.supportsAdd() && !group.containsAll(selection)
+ : group.supportsRemove() && group.containsAny(selection));
} else {
- action.setEnabled(group.supportsAdd());
+ action.setEnabled(group.supportsAdd());
}
return action;
}
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
- remove(groupAddMenu);
- remove(groupMoveMenu);
- remove(groupRemoveMenu);
+ remove(groupAddMenu);
+ remove(groupMoveMenu);
+ remove(groupRemoveMenu);
}
public void popupMenuCanceled(PopupMenuEvent e) {
@@ -345,16 +358,16 @@ public class RightClickMenu extends JPopupMenu
}
class ChangeTypeAction extends AbstractAction {
- BibtexEntryType type;
- BasePanel panel;
-
- public ChangeTypeAction(BibtexEntryType type, BasePanel bp) {
- super(type.getName());
- this.type = type;
- panel = bp;
- }
- public void actionPerformed(ActionEvent evt) {
- panel.changeType(type);
- }
+ BibtexEntryType type;
+ BasePanel panel;
+
+ public ChangeTypeAction(BibtexEntryType type, BasePanel bp) {
+ super(type.getName());
+ this.type = type;
+ panel = bp;
+ }
+ public void actionPerformed(ActionEvent evt) {
+ panel.changeType(type);
+ }
}
}
diff --git a/src/java/net/sf/jabref/TabLabelPattern.java b/src/java/net/sf/jabref/TabLabelPattern.java
index 0ac3f50..57c99a7 100644
--- a/src/java/net/sf/jabref/TabLabelPattern.java
+++ b/src/java/net/sf/jabref/TabLabelPattern.java
@@ -36,6 +36,10 @@ public class TabLabelPattern extends JPanel implements PrefsTab{
warnBeforeOverwriting = new JCheckBox(Globals.lang("Warn before overwriting existing keys")),
generateOnSave = new JCheckBox(Globals.lang("Generate keys before saving (for entries without a key)")),
autoGenerateOnImport = new JCheckBox(Globals.lang("Generate keys for imported entries"));
+ private JRadioButton
+ letterStartA = new JRadioButton(Globals.lang("Ensure unique keys using letters (a, b, ...)")),
+ letterStartB = new JRadioButton(Globals.lang("Ensure unique keys using letters (b, c, ...)")),
+ alwaysAddLetter = new JRadioButton(Globals.lang("Always add letter (a, b, ...) to generated keys"));
private JLabel lblEntryType, lblKeyPattern;
@@ -83,6 +87,18 @@ public class TabLabelPattern extends JPanel implements PrefsTab{
Globals.prefs.put("KeyPatternReplacement", KeyPatternReplacement.getText());
Globals.prefs.putBoolean("generateKeysAfterInspection", autoGenerateOnImport.isSelected());
Globals.prefs.putBoolean("generateKeysBeforeSaving", generateOnSave.isSelected());
+
+ if (alwaysAddLetter.isSelected())
+ Globals.prefs.putBoolean("keyGenAlwaysAddLetter", true);
+ else if (letterStartA.isSelected()) {
+ Globals.prefs.putBoolean("keyGenFirstLetterA", true);
+ Globals.prefs.putBoolean("keyGenAlwaysAddLetter", false);
+ }
+ else {
+ Globals.prefs.putBoolean("keyGenFirstLetterA", false);
+ Globals.prefs.putBoolean("keyGenAlwaysAddLetter", false);
+ }
+
LabelPatternUtil.updateDefaultPattern();
@@ -158,6 +174,11 @@ public class TabLabelPattern extends JPanel implements PrefsTab{
*/
private void buildGUI(){
+ ButtonGroup bg = new ButtonGroup();
+ bg.add(letterStartA);
+ bg.add(letterStartB);
+ bg.add(alwaysAddLetter);
+
JPanel pan = new JPanel();
JScrollPane sp = new JScrollPane(pan);
sp.setPreferredSize(new Dimension(100,100));
@@ -266,10 +287,15 @@ public class TabLabelPattern extends JPanel implements PrefsTab{
builder.nextLine();
builder.append(pan);
builder.append(autoGenerateOnImport);
+ builder.append(letterStartA);
builder.nextLine();
builder.append(pan);
builder.append(warnBeforeOverwriting);
+ builder.append(letterStartB);
+ builder.nextLine();
+ builder.append(pan);
builder.append(dontOverwrite);
+ builder.append(alwaysAddLetter);
builder.nextLine();
builder.append(pan);
builder.append(generateOnSave);
@@ -390,6 +416,16 @@ public class TabLabelPattern extends JPanel implements PrefsTab{
generateOnSave.setSelected(Globals.prefs.getBoolean("generateKeysBeforeSaving"));
autoGenerateOnImport.setSelected(Globals.prefs.getBoolean("generateKeysAfterInspection"));
warnBeforeOverwriting.setSelected(Globals.prefs.getBoolean("warnBeforeOverwritingKey"));
+
+ boolean alwaysAddLetter = Globals.prefs.getBoolean("keyGenAlwaysAddLetter"),
+ firstLetterA = Globals.prefs.getBoolean("keyGenFirstLetterA");
+ if (alwaysAddLetter)
+ this.alwaysAddLetter.setSelected(true);
+ else if (firstLetterA)
+ this.letterStartA.setSelected(true);
+ else
+ this.letterStartB.setSelected(true);
+
// Warning before overwriting is only relevant if overwriting can happen:
warnBeforeOverwriting.setEnabled(!dontOverwrite.isSelected());
for (Iterator<String> i=textFields.keySet().iterator(); i.hasNext();) {
diff --git a/src/java/net/sf/jabref/Util.java b/src/java/net/sf/jabref/Util.java
index 4a06d4e..4f3f74b 100644
--- a/src/java/net/sf/jabref/Util.java
+++ b/src/java/net/sf/jabref/Util.java
@@ -142,6 +142,12 @@ public class Util {
public static Pattern remoteLinkPattern = Pattern.compile("[a-z]+://.*");
+ public static int MARK_COLOR_LEVELS = 6,
+ MAX_MARKING_LEVEL = MARK_COLOR_LEVELS-1,
+ IMPORT_MARK_LEVEL = MARK_COLOR_LEVELS;
+ public static Pattern markNumberPattern = Pattern.compile(Globals.prefs.MARKING_WITH_NUMBER_PATTERN);
+
+
static {
idFormat = NumberFormat.getInstance();
idFormat.setMinimumIntegerDigits(8);
@@ -338,7 +344,7 @@ public class Util {
for (int i = 0; i < key.length(); i++) {
char c = key.charAt(i);
if (!Character.isWhitespace(c) && (c != '#') && (c != '{') && (c != '\\') && (c != '"')
- && (c != '}') && (c != '~') && (c != ',') && (c != '^'))
+ && (c != '}') && (c != '~') && (c != ',') && (c != '^') && (c != '\''))
newKey.append(c);
}
@@ -1750,7 +1756,7 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
setAutomaticFields(curEntry, setOwner, defaultOwner, setTimeStamp, timeStampField,
timestamp);
if (markEntries)
- Util.markEntry(curEntry, new NamedCompound(""));
+ Util.markEntry(curEntry, IMPORT_MARK_LEVEL, false, new NamedCompound(""));
}
}
@@ -2371,36 +2377,97 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
return dateFormatter.format(date);
}
- public static void markEntry(BibtexEntry be, NamedCompound ce) {
+ public static void markEntry(BibtexEntry be, int markIncrement, boolean increment, NamedCompound ce) {
Object o = be.getField(BibtexFields.MARKED);
- if ((o != null) && (o.toString().indexOf(Globals.prefs.WRAPPED_USERNAME) >= 0))
- return;
- String newValue;
- if (o == null) {
- newValue = Globals.prefs.WRAPPED_USERNAME;
- } else {
- StringBuffer sb = new StringBuffer(o.toString());
- // sb.append(' ');
- sb.append(Globals.prefs.WRAPPED_USERNAME);
- newValue = sb.toString();
- }
+ int prevMarkLevel = 0;
+ String newValue = null;
+ if (o != null) {
+ String s = o.toString();
+ int index = s.indexOf(Globals.prefs.WRAPPED_USERNAME);
+ if (index >= 0) {
+ // Already marked 1 for this user.
+ prevMarkLevel = 1;
+ newValue = s.substring(0, index)
+ + s.substring(index+Globals.prefs.WRAPPED_USERNAME.length())
+ + Globals.prefs.WRAPPED_USERNAME.substring(0,
+ Globals.prefs.WRAPPED_USERNAME.length()-1)+":"+
+ (increment ? Math.min(MAX_MARKING_LEVEL, prevMarkLevel+markIncrement)
+ : markIncrement)+"]";
+ }
+ else {
+ Matcher m = markNumberPattern.matcher(s);
+ if (m.find()) {
+ try {
+ prevMarkLevel = Integer.parseInt(m.group(1));
+ newValue = s.substring(0, m.start(1))+
+ (increment ? Math.min(MAX_MARKING_LEVEL, prevMarkLevel+markIncrement)
+ : markIncrement)+
+ s.substring(m.end(1));
+ } catch (NumberFormatException ex) {
+ // Do nothing.
+ }
+ }
+ }
+ }
+ if (newValue == null)
+ newValue = Globals.prefs.WRAPPED_USERNAME.substring(0,
+ Globals.prefs.WRAPPED_USERNAME.length()-1)+":"+markIncrement+"]";
+
ce.addEdit(new UndoableFieldChange(be, BibtexFields.MARKED, be
.getField(BibtexFields.MARKED), newValue));
be.setField(BibtexFields.MARKED, newValue);
}
- public static void unmarkEntry(BibtexEntry be, BibtexDatabase database, NamedCompound ce) {
+ public static void unmarkEntry(BibtexEntry be, boolean onlyMaxLevel,
+ BibtexDatabase database, NamedCompound ce) {
Object o = be.getField(BibtexFields.MARKED);
if (o != null) {
String s = o.toString();
if (s.equals("0")) {
- unmarkOldStyle(be, database, ce);
- return;
+ if (!onlyMaxLevel) {
+ unmarkOldStyle(be, database, ce);
+ }
+ return;
}
+ String newValue = null;
+ int index = s.indexOf(Globals.prefs.WRAPPED_USERNAME);
+ if (index >= 0) {
+ // Marked 1 for this user.
+ if (!onlyMaxLevel)
+ newValue = s.substring(0, index)
+ + s.substring(index+Globals.prefs.WRAPPED_USERNAME.length());
+ else return;
+ }
+ else {
+ Matcher m = markNumberPattern.matcher(s);
+ if (m.find()) {
+ try {
+ int prevMarkLevel = Integer.parseInt(m.group(1));
+ if (!onlyMaxLevel || (prevMarkLevel == MARK_COLOR_LEVELS)) {
+ if (prevMarkLevel > 1)
+ newValue = s.substring(0, m.start(1))+
+ s.substring(m.end(1));
+ else {
+ String toRemove = Globals.prefs.WRAPPED_USERNAME.substring(0,
+ Globals.prefs.WRAPPED_USERNAME.length()-1)+":1]";
+ index = s.indexOf(toRemove);
+ if (index >= 0) {
+ newValue = s.substring(0, index)
+ + s.substring(index+toRemove.length());
+ }
+ }
+ }
+ else return;
+ } catch (NumberFormatException ex) {
+ // Do nothing.
+ }
+ }
+ }
- int piv = 0, hit;
+ /*int piv = 0, hit;
StringBuffer sb = new StringBuffer();
- while ((hit = s.indexOf(Globals.prefs.WRAPPED_USERNAME, piv)) >= 0) {
+ while ((hit = s.indexOf(G047749118118
+ 1110lobals.prefs.WRAPPED_USERNAME, piv)) >= 0) {
if (hit > 0)
sb.append(s.substring(piv, hit));
piv = hit + Globals.prefs.WRAPPED_USERNAME.length();
@@ -2408,10 +2475,10 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
if (piv < s.length() - 1) {
sb.append(s.substring(piv));
}
- String newVal = sb.length() > 0 ? sb.toString() : null;
+ String newVal = sb.length() > 0 ? sb.toString() : null;*/
ce.addEdit(new UndoableFieldChange(be, BibtexFields.MARKED, be
- .getField(BibtexFields.MARKED), newVal));
- be.setField(BibtexFields.MARKED, newVal);
+ .getField(BibtexFields.MARKED), newValue));
+ be.setField(BibtexFields.MARKED, newValue);
}
}
@@ -2450,12 +2517,28 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
}
- public static boolean isMarked(BibtexEntry be) {
+ public static int isMarked(BibtexEntry be) {
Object fieldVal = be.getField(BibtexFields.MARKED);
if (fieldVal == null)
- return false;
+ return 0;
String s = (String) fieldVal;
- return (s.equals("0") || (s.indexOf(Globals.prefs.WRAPPED_USERNAME) >= 0));
+ if (s.equals("0"))
+ return 1;
+ int index = s.indexOf(Globals.prefs.WRAPPED_USERNAME);
+ if (index >= 0)
+ return 1;
+
+ Matcher m = markNumberPattern.matcher(s);
+ if (m.find()) {
+ try {
+ int value = Integer.parseInt(m.group(1));
+ return value;
+ } catch (NumberFormatException ex) {
+ return 1;
+ }
+ }
+ else return 0;
+
}
/**
@@ -2817,9 +2900,7 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
int lockCheckCount = 0;
while (Util.hasLockFile(file)) {
- System.out.println("File locked... waiting");
if (lockCheckCount++ == maxWaitCount) {
- System.out.println("Giving up wait.");
return false;
}
try { Thread.sleep(500); } catch (InterruptedException ex) {}
@@ -2860,4 +2941,26 @@ public static boolean openExternalFileUnknown(JabRefFrame frame, BibtexEntry ent
lock.delete();
return true;
}
+
+ /**
+ * Build a String array containing all those elements of all that are not
+ * in subset.
+ * @param all The array of all values.
+ * @param subset The subset of values.
+ * @return The remainder that is not part of the subset.
+ */
+ public static String[] getRemainder(String[] all, String[] subset) {
+ ArrayList<String> al = new ArrayList<String>();
+ for (int i = 0; i < all.length; i++) {
+ boolean found = false;
+ inner: for (int j = 0; j < subset.length; j++) {
+ if (subset[j].equals(all[i])) {
+ found = true;
+ break inner;
+ }
+ }
+ if (!found) al.add(all[i]);
+ }
+ return al.toArray(new String[al.size()]);
+ }
}
\ No newline at end of file
diff --git a/src/java/net/sf/jabref/collab/ChangeScanner.java b/src/java/net/sf/jabref/collab/ChangeScanner.java
index e2969a9..ca27571 100644
--- a/src/java/net/sf/jabref/collab/ChangeScanner.java
+++ b/src/java/net/sf/jabref/collab/ChangeScanner.java
@@ -130,13 +130,11 @@ public class ChangeScanner extends Thread {
private void storeTempDatabase() {
new Thread(new Runnable() {
public void run() {
- System.out.println("Storing temp database");
try {
SaveSession ss = FileActions.saveDatabase(inTemp, mdInTemp,
Globals.fileUpdateMonitor.getTempFile(panel.fileMonitorHandle()), Globals.prefs,
false, false, panel.getEncoding(), true);
ss.commit();
- System.out.println("done");
} catch (SaveException ex) {
System.out.println("Problem updating tmp file after accepting external changes");
}
diff --git a/src/java/net/sf/jabref/collab/FileUpdateMonitor.java b/src/java/net/sf/jabref/collab/FileUpdateMonitor.java
index 913d2ca..b734974 100644
--- a/src/java/net/sf/jabref/collab/FileUpdateMonitor.java
+++ b/src/java/net/sf/jabref/collab/FileUpdateMonitor.java
@@ -207,6 +207,7 @@ public class FileUpdateMonitor extends Thread {
public void notifyListener() {
// Update time stamp.
timeStamp = file.lastModified();
+ fileSize = file.length();
listener.fileUpdated();
}
diff --git a/src/java/net/sf/jabref/export/FileActions.java b/src/java/net/sf/jabref/export/FileActions.java
index 31cac70..75d3ea7 100644
--- a/src/java/net/sf/jabref/export/FileActions.java
+++ b/src/java/net/sf/jabref/export/FileActions.java
@@ -89,7 +89,7 @@ public class FileActions
for (String s : database.getStringKeySet()) {
strings.add(database.getString(s));
}
- Collections.sort(strings, new BibtexStringComparator(false));
+ Collections.sort(strings, new BibtexStringComparator(true));
// First, make a Map of all entries:
HashMap<String, BibtexString> remaining = new HashMap<String, BibtexString>();
for (Iterator<BibtexString> i=strings.iterator(); i.hasNext();) {
diff --git a/src/java/net/sf/jabref/export/SaveDatabaseAction.java b/src/java/net/sf/jabref/export/SaveDatabaseAction.java
index 885ee0d..e5b4c68 100644
--- a/src/java/net/sf/jabref/export/SaveDatabaseAction.java
+++ b/src/java/net/sf/jabref/export/SaveDatabaseAction.java
@@ -125,6 +125,7 @@ public class SaveDatabaseAction extends AbstractWorker {
panel.getFile().getAbsolutePath());
frame.output(Globals.lang("Saved database") + " '"
+ panel.getFile().getPath() + "'.");
+ frame.setWindowTitle();
} else if (!cancelled) {
if (fileLockedError) {
// TODO: user should have the option to override the lock file.
diff --git a/src/java/net/sf/jabref/export/layout/LayoutEntry.java b/src/java/net/sf/jabref/export/layout/LayoutEntry.java
index 23c6687..c786776 100755
--- a/src/java/net/sf/jabref/export/layout/LayoutEntry.java
+++ b/src/java/net/sf/jabref/export/layout/LayoutEntry.java
@@ -43,7 +43,7 @@ import wsi.ra.types.StringInt;
* DOCUMENT ME!
*
* @author $author$
- * @version $Revision: 3092 $
+ * @version $Revision: 3354 $
*/
public class LayoutEntry {
// ~ Instance fields
@@ -184,7 +184,13 @@ public class LayoutEntry {
case LayoutHelper.IS_LAYOUT_TEXT:
return text;
case LayoutHelper.IS_SIMPLE_FIELD:
- return BibtexDatabase.getResolvedField(text, bibtex, database);
+ String value = BibtexDatabase.getResolvedField(text, bibtex, database);
+ if (value == null)
+ value = "";
+ // If a post formatter has been set, call it:
+ if (postFormatter != null)
+ value = postFormatter.format(value);
+ return value;
case LayoutHelper.IS_FIELD_START:
case LayoutHelper.IS_GROUP_START: {
String field;
diff --git a/src/java/net/sf/jabref/export/layout/LayoutHelper.java b/src/java/net/sf/jabref/export/layout/LayoutHelper.java
index dcd4fce..862974c 100755
--- a/src/java/net/sf/jabref/export/layout/LayoutHelper.java
+++ b/src/java/net/sf/jabref/export/layout/LayoutHelper.java
@@ -183,6 +183,7 @@ public class LayoutHelper {
StringBuffer buffer = null;
int c;
boolean start = false;
+ boolean doneWithOptions = false;
String option = null;
String tmp;
@@ -214,10 +215,10 @@ public class LayoutHelper {
return null;
}
-
- if ((c == '{') || (c == '}') || (c == ']') || (c == '['))
+ if ((c == ']') || (c == '[') || (doneWithOptions && ((c == '{') || (c == '}'))))
+ //if ((c == '{') || (c == '}') || (c == ']') || (c == '['))
{
- if ((c == '}') || (c == ']'))
+ if ((c == ']') || (doneWithOptions && (c == '}')))
{
// changed section start - arudert
// buffer may be null for parameters
@@ -229,6 +230,7 @@ public class LayoutHelper {
option = buffer.toString();
buffer = null;
start = false;
+ doneWithOptions = true;
}
//myStrings.add(buffer.toString());
@@ -275,20 +277,15 @@ public class LayoutHelper {
if (start)
{
-
- if ((c == '}') || (c == ']'))
- {
- }
- else
- {
- // changed section begin - arudert
- // keep the backslash so we know wether this is a fieldname or an ordinary parameter
- //if (c != '\\')
- //{
- buffer.append((char) c);
- //}
- // changed section end - arudert
- }
+
+ // changed section begin - arudert
+ // keep the backslash so we know wether this is a fieldname or an ordinary parameter
+ //if (c != '\\')
+ //{
+ buffer.append((char) c);
+ //}
+ // changed section end - arudert
+
}
}
}
diff --git a/src/java/net/sf/jabref/export/layout/format/Authors.java b/src/java/net/sf/jabref/export/layout/format/Authors.java
new file mode 100644
index 0000000..fa38665
--- /dev/null
+++ b/src/java/net/sf/jabref/export/layout/format/Authors.java
@@ -0,0 +1,308 @@
+package net.sf.jabref.export.layout.format;
+
+import net.sf.jabref.AuthorList;
+import net.sf.jabref.export.layout.AbstractParamLayoutFormatter;
+
+import java.util.ArrayList;
+import java.util.regex.Pattern;
+
+/**
+ * Versatile author name formatter that takes arguments to control the formatting style.
+ */
+public class Authors extends AbstractParamLayoutFormatter {
+
+ /*
+ AuthorSort = [FirstFirst | LastFirst | LastFirstFirstFirst]
+ AuthorAbbr = [FullName | Initials | FirstInitial | MiddleInitial | InitialsNoSpace | LastName]
+ AuthorSep = [Comma | And | Colon | Semicolon | Sep=<string>]
+ AuthorLastSep = [And | Comma | Colon | Semicolon | Amp | Oxford | LastSep=<string>]
+ AuthorPunc = [FullPunc | NoPunc | NoComma | NoPeriod]
+ AuthorNumber = [inf | <number>]
+ EtAlString = [ et al. | EtAl=<string>]
+ */
+
+ static ArrayList<String>
+ authorOrder = new ArrayList<String>(),
+ authorAbbr = new ArrayList<String>(),
+ authorPunc = new ArrayList<String>(),
+ separators = new ArrayList<String>(),
+ lastSeparators = new ArrayList<String>();
+
+ static Pattern numberPattern = Pattern.compile("[0-9]+");
+
+ static {
+ authorOrder.add("firstfirst");
+ authorOrder.add("lastfirst");
+ authorOrder.add("lastfirstfirstfirst");
+
+ authorAbbr.add("fullname");
+ authorAbbr.add("initials");
+ authorAbbr.add("firstinitial");
+ authorAbbr.add("middleinitial");
+ authorAbbr.add("lastname");
+ authorAbbr.add("initialsnospace");
+
+ authorPunc.add("fullpunc");
+ authorPunc.add("nopunc");
+ authorPunc.add("nocomma");
+ authorPunc.add("noperiod");
+
+ separators.add("comma");
+ separators.add("and");
+ separators.add("colon");
+ separators.add("semicolon");
+ separators.add("sep");
+
+ lastSeparators.add("and");
+ lastSeparators.add("colon");
+ lastSeparators.add("semicolon");
+ lastSeparators.add("amp");
+ lastSeparators.add("oxford");
+ lastSeparators.add("lastsep");
+
+ }
+
+ final static int
+ FIRST_FIRST = 0,
+ LAST_FIRST = 1,
+ LF_FF = 2;
+
+ final static String
+ COMMA = ", ",
+ AMP = " & ",
+ COLON = ": ",
+ SEMICOLON = "; ",
+ AND = " and ",
+ OXFORD = ", and ";
+
+ int flMode = FIRST_FIRST;
+
+ boolean
+ abbreviate = true,
+ firstInitialOnly = false,
+ middleInitial = false,
+ lastNameOnly = false,
+ abbrDots = true,
+ abbrSpaces = true;
+
+ boolean setSep = false;
+
+ int maxAuthors = -1;
+
+ String
+ firstFirstSeparator = " ",
+ lastFirstSeparator = ", ",
+ separator = COMMA,
+ lastSeparator = AND,
+ etAlString = " et al.",
+ jrSeparator = " ";
+
+
+ public void setArgument(String arg) {
+ String[] parts = parseArgument(arg);
+ for (int i = 0; i < parts.length; i++) {
+ int index = parts[i].indexOf("=");
+ if (index > 0) {
+ String key = parts[i].substring(0, index);
+ String value = parts[i].substring(index+1);
+ handleArgument(key, value);
+ }
+ else handleArgument(parts[i], "");
+
+ }
+ }
+
+
+ private void handleArgument(String key, String value) {
+ if (authorOrder.contains(key.trim().toLowerCase())) {
+ if (comp(key, "FirstFirst"))
+ flMode = FIRST_FIRST;
+ else if (comp(key, "LastFirst"))
+ flMode = LAST_FIRST;
+ else if (comp(key, "LastFirstFirstFirst"))
+ flMode = LF_FF;
+ }
+ else if (authorAbbr.contains(key.trim().toLowerCase())) {
+ if (comp(key, "FullName")) {
+ abbreviate = false;
+ }
+ else if (comp(key, "Initials")) {
+ abbreviate = true;
+ firstInitialOnly = false;
+ }
+ else if (comp(key, "FirstInitial")) {
+ abbreviate = true;
+ firstInitialOnly = true;
+ }
+ else if (comp(key, "MiddleInitial")) {
+ abbreviate = true;
+ middleInitial = true;
+ }
+ else if (comp(key, "LastName")) {
+ lastNameOnly = true;
+ }
+ else if (comp(key, "InitialsNoSpace")) {
+ abbreviate = true;
+ abbrSpaces = false;
+ }
+ }
+ else if (authorPunc.contains(key.trim().toLowerCase())) {
+ if (comp(key, "FullPunc")) {
+ abbrDots = true;
+ lastFirstSeparator = ", ";
+ }
+ else if (comp(key, "NoPunc")) {
+ abbrDots = false;
+ lastFirstSeparator = " ";
+ }
+ else if (comp(key, "NoComma")) {
+ abbrDots = true;
+ lastFirstSeparator = " ";
+ }
+ else if (comp(key, "NoPeriod")) {
+ abbrDots = false;
+ lastFirstSeparator = ", ";
+ }
+ }
+
+ // AuthorSep = [Comma | And | Colon | Semicolon | sep=<string>]
+ // AuthorLastSep = [And | Comma | Colon | Semicolon | Amp | Oxford | lastsep=<string>]
+ else if (separators.contains(key.trim().toLowerCase()) || lastSeparators.contains(key.trim().toLowerCase())) {
+ if (comp(key, "Comma")) {
+ if (!setSep) {
+ separator = COMMA;
+ setSep = true;
+ } else lastSeparator = COMMA;
+ }
+ else if (comp(key, "And")) {
+ if (!setSep) {
+ separator = AND;
+ setSep = true;
+ } else lastSeparator = AND;
+ }
+ else if (comp(key, "Colon")) {
+ if (!setSep) {
+ separator = COLON;
+ setSep = true;
+ } else lastSeparator = COLON;
+ }
+ else if (comp(key, "Semicolon")) {
+ if (!setSep) {
+ separator = SEMICOLON;
+ setSep = true;
+ } else lastSeparator = SEMICOLON;
+ }
+ else if (comp(key, "Oxford")) {
+ lastSeparator = OXFORD;
+ }
+ else if (comp(key, "Amp")) {
+ lastSeparator = AMP;
+ }
+ else if (comp(key, "Sep") && (value.length() > 0)) {
+ separator = value;
+ setSep = true;
+ }
+ else if (comp(key, "LastSep") && (value.length() > 0)) {
+ lastSeparator = value;
+ }
+ }
+ else if (key.trim().toLowerCase().equals("etal") && (value.length() > 0)) {
+ etAlString = value;
+ }
+ else if (numberPattern.matcher(key.trim()).matches()) {
+ // Just a number:
+ int num = Integer.parseInt(key.trim());
+ maxAuthors = num;
+ }
+
+
+ }
+
+ /**
+ * Check for case-insensitive equality between two strings after removing
+ * white space at the beginning and end of the first string.
+ * @param one The first string - whitespace is trimmed
+ * @param two The second string
+ * @return true if the strings are deemed equal
+ */
+ public boolean comp(String one, String two) {
+ return one.trim().equalsIgnoreCase(two);
+ }
+
+ public String format(String fieldText) {
+ StringBuilder sb = new StringBuilder();
+ AuthorList al = AuthorList.getAuthorList(fieldText);
+
+ if ((maxAuthors < 0) || (al.size() <= maxAuthors)) {
+ for (int i=0; i<al.size(); i++) {
+ AuthorList.Author a = al.getAuthor(i);
+
+ addSingleName(sb, a, (flMode == FIRST_FIRST) || ((flMode == LF_FF) && (i > 0)));
+
+ if (i < al.size()-2)
+ sb.append(separator);
+ else if (i < al.size()-1)
+ sb.append(lastSeparator);
+ }
+ }
+
+ else {
+ addSingleName(sb, al.getAuthor(0), flMode == FIRST_FIRST);
+ sb.append(etAlString);
+ }
+
+ return sb.toString();
+ }
+
+ private void addSingleName(StringBuilder sb, AuthorList.Author a, boolean firstFirst) {
+ String firstNamePart = a.getFirst();
+ String lastNamePart = a.getLast();
+ String von = a.getVon();
+ if ((von != null) && (von.length() > 0))
+ lastNamePart = von+" "+lastNamePart;
+ String jr = a.getJr();
+ if ((jr != null) && (jr.length() > 0))
+ lastNamePart = lastNamePart+jrSeparator+jr;
+
+ if (abbreviate) {
+ firstNamePart = a.getFirstAbbr();
+ if (firstInitialOnly && (firstNamePart.length() > 2))
+ firstNamePart = firstNamePart.substring(0, 2);
+ else if (middleInitial) {
+ String abbr = firstNamePart;
+ firstNamePart = a.getFirst();
+ int index = firstNamePart.indexOf(" ");
+ //System.out.println(firstNamePart);
+ //System.out.println(index);
+ if (index >= 0) {
+ firstNamePart = firstNamePart.substring(0, index+1);
+ if (abbr.length() > 3) {
+ firstNamePart = firstNamePart + abbr.substring(3);
+ }
+ }
+ }
+ if (!abbrDots)
+ firstNamePart = firstNamePart.replaceAll("\\.", "");
+ if (!abbrSpaces)
+ firstNamePart = firstNamePart.replaceAll(" ", "");
+ }
+
+ if (lastNameOnly) {
+ sb.append(lastNamePart);
+ }
+ else if (firstFirst) {
+ sb.append(firstNamePart).append(firstFirstSeparator);
+ sb.append(lastNamePart);
+ }
+ else {
+ sb.append(lastNamePart).append(lastFirstSeparator).append(firstNamePart);
+ }
+
+ }
+
+ public static void main(String[] args) {
+ Authors format = new Authors();
+ format.setArgument("lastfirstfirstfirst , initials, Nocomma,Amp,Semicolon,30 ,EtAl = m.fl.");
+ System.out.println(format.format("Alfredsen, Jr, Jo Arve and Morten Omholt Alver and Yngvar von Olsen and Sebastian A. L. M. Kooijman"));
+ }
+}
diff --git a/src/java/net/sf/jabref/external/DroppedFileHandler.java b/src/java/net/sf/jabref/external/DroppedFileHandler.java
index 22f017c..b70713d 100644
--- a/src/java/net/sf/jabref/external/DroppedFileHandler.java
+++ b/src/java/net/sf/jabref/external/DroppedFileHandler.java
@@ -152,6 +152,7 @@ public class DroppedFileHandler {
if (success) {
doLink(entry, fileType, destFilename, false, edits);
panel.markBaseChanged();
+ panel.updateEntryEditorIfShowing();
}
edits.end();
panel.undoManager.addEdit(edits);
diff --git a/src/java/net/sf/jabref/external/FileDirectoryUpgradeWarning.java b/src/java/net/sf/jabref/external/FileDirectoryUpgradeWarning.java
new file mode 100644
index 0000000..6ea5e3b
--- /dev/null
+++ b/src/java/net/sf/jabref/external/FileDirectoryUpgradeWarning.java
@@ -0,0 +1,134 @@
+package net.sf.jabref.external;
+
+import java.util.Vector;
+
+import javax.swing.*;
+
+import net.sf.jabref.*;
+import net.sf.jabref.imports.ParserResult;
+import net.sf.jabref.imports.PostOpenAction;
+
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+
+/**
+ * This class defines the warning that can be offered when opening a pre-2.7
+ * JabRef file into a later version. This warning mentions the new user-specific
+ * file directory setting in this version of JabRef, and offers to:
+ *
+ * * upgrade old-style file directory setting into the new user specific setting
+ */
+public class FileDirectoryUpgradeWarning implements PostOpenAction {
+
+ /**
+ * This method should be performed if the major/minor versions recorded in the ParserResult
+ * are less than or equal to 2.6.
+ * @param pr
+ * @return true if the file was written by a jabref version <=2.6
+ */
+ public boolean isActionNecessary(ParserResult pr) {
+ // First check if this warning is disabled:
+ if (!Globals.prefs.getBoolean("showFileDirUpgradeWarning"))
+ return false;
+ if (pr.getJabrefMajorVersion() < 0)
+ return false; // non-JabRef file
+ if (pr.getJabrefMajorVersion() < 2)
+ return true; // old
+ if (pr.getJabrefMajorVersion() > 2)
+ return false; // wow, did we ever reach version 3?
+ return (((float)pr.getJabrefMinorVersion() + ((float)pr.getJabrefMinor2Version()/10)) < ((float)6.1));
+ }
+
+ /**
+ * This method presents a dialog box explaining and offering to make the
+ * changes. If the user confirms, the changes are performed.
+ * @param panel
+ * @param pr
+ */
+ public void performAction(BasePanel panel, ParserResult pr) {
+ // Find out which actions should be offered:
+ // Only offer to change database properties if database already has a (legacy) GUIGlobals.FILE_FIELD+"Directory" setting
+ boolean offerSetFileDir = !(panel.metaData().getData(GUIGlobals.FILE_FIELD + "Directory") == null) && (panel.metaData().getData(Globals.prefs.get("userFileDir")) == null);
+
+ if (!offerSetFileDir) return; // Nothing to do, just return.
+
+ JCheckBox setFileDir = new JCheckBox(Globals.lang("Set user specific file directory")+":", offerSetFileDir);
+ JTextField fileDir = new JTextField(30);
+ JCheckBox retainOldFileDir = new JCheckBox(Globals.lang("Retain legacy file directory setting (for older versions of JabRef)"), false);
+ JCheckBox doNotShowDialog = new JCheckBox(Globals.lang("Do not show these options in the future"),
+ false);
+
+ StringBuilder sb = new StringBuilder("<html>");
+ sb.append(Globals.lang("This database was written using an older version of JabRef."));
+ sb.append("<br>");
+ sb.append(Globals.lang("The current version features a new way of storing the file directory setting of<br>"
+ +"a database. This enables multiple users of the same database file to keep their<br>"
+ +"own personal setting for the path to the file directory.<br>"
+ +"To take advantage of this, your file directory setting must be changed into the<br>"
+ +"new format."));
+ sb.append("<p>");
+ sb.append(Globals.lang("Do you want JabRef to do the following operations?"));
+ sb.append("</html>");
+
+ JPanel message = new JPanel();
+ DefaultFormBuilder b = new DefaultFormBuilder(new FormLayout("left:pref", ""), message);
+ b.append(new JLabel(sb.toString()));
+ b.nextLine();
+ if (offerSetFileDir) {
+ if (panel.metaData().getData(GUIGlobals.FILE_FIELD + "Directory") != null)
+ fileDir.setText(panel.metaData().getData(GUIGlobals.FILE_FIELD + "Directory").firstElement());
+ JPanel pan = new JPanel();
+ pan.add(setFileDir);
+ pan.add(fileDir);
+ //b.nextLine();
+ JButton browse = new JButton(Globals.lang("Browse"));
+ browse.addActionListener(new BrowseAction(null, fileDir, true));
+ pan.add(browse);
+ b.append(pan);
+ b.nextLine();
+ JPanel pan2 = new JPanel();
+ pan2.add(retainOldFileDir);
+ b.append(pan2);
+ b.nextLine();
+ }
+ b.append("");
+ b.nextLine();
+ b.append(doNotShowDialog);
+
+ int answer = JOptionPane.showConfirmDialog(panel.frame(),
+ message, Globals.lang("Upgrade file") + " - " + pr.getFile().getName(), JOptionPane.YES_NO_OPTION);
+ if (doNotShowDialog.isSelected())
+ Globals.prefs.putBoolean("showFileDirUpgradeWarning", false);
+
+ if (answer == JOptionPane.YES_OPTION)
+ makeChanges(panel, pr, setFileDir.isSelected() ? fileDir.getText() : null, retainOldFileDir.isSelected());
+ }
+
+ /**
+ * This method performs the actual changes.
+ * @param panel
+ * @param pr
+ * @param fileDir The path to the file directory to set, or null if it should not be set.
+ */
+ public void makeChanges(BasePanel panel, ParserResult pr, String fileDir, boolean retainOldFileLinks) {
+
+ boolean changed = false;
+
+ if (fileDir != null) {
+ Vector<String> vec = new Vector(1);
+ vec.add(fileDir);
+ panel.metaData().putData(Globals.prefs.get("userFileDir"), vec);
+ changed = true;
+ }
+
+ if (!retainOldFileLinks) {
+ panel.metaData().remove(GUIGlobals.FILE_FIELD + "Directory");
+ changed = true;
+ }
+
+ if (changed)
+ panel.markNonUndoableBaseChanged();
+
+ }
+
+}
diff --git a/src/java/net/sf/jabref/external/MoveFileAction.java b/src/java/net/sf/jabref/external/MoveFileAction.java
index b590db8..21acbe9 100644
--- a/src/java/net/sf/jabref/external/MoveFileAction.java
+++ b/src/java/net/sf/jabref/external/MoveFileAction.java
@@ -121,11 +121,11 @@ public class MoveFileAction extends AbstractAction {
// Relativise path, if possible.
String canPath = (new File(dir)).getCanonicalPath();
if (newFile.getCanonicalPath().startsWith(canPath)) {
- if ((newFile.getPath().length() > canPath.length()) &&
- (newFile.getPath().charAt(canPath.length()) == File.separatorChar))
- flEntry.setLink(newFile.getPath().substring(1+canPath.length()));
+ if ((newFile.getCanonicalPath().length() > canPath.length()) &&
+ (newFile.getCanonicalPath().charAt(canPath.length()) == File.separatorChar))
+ flEntry.setLink(newFile.getCanonicalPath().substring(1+canPath.length()));
else
- flEntry.setLink(newFile.getPath().substring(canPath.length()));
+ flEntry.setLink(newFile.getCanonicalPath().substring(canPath.length()));
}
diff --git a/src/java/net/sf/jabref/gui/ColorSetupPanel.java b/src/java/net/sf/jabref/gui/ColorSetupPanel.java
index 6a5863e..4cabb26 100644
--- a/src/java/net/sf/jabref/gui/ColorSetupPanel.java
+++ b/src/java/net/sf/jabref/gui/ColorSetupPanel.java
@@ -27,18 +27,26 @@ public class ColorSetupPanel extends JPanel {
public ColorSetupPanel() {
FormLayout layout = new FormLayout
- ("30dlu, 4dlu, fill:pref, 4dlu, fill:pref", "");
+ ("30dlu, 4dlu, fill:pref, 4dlu, fill:pref, 8dlu, 30dlu, 4dlu, fill:pref, 4dlu, fill:pref", "");
DefaultFormBuilder builder = new DefaultFormBuilder(layout);
buttons.add(new ColorButton("tableText", Globals.lang("Table text color")));
+ buttons.add(new ColorButton("markedEntryBackground0", Globals.lang("Marking color %0", "1")));
buttons.add(new ColorButton("tableBackground", Globals.lang("Table background color")));
+ buttons.add(new ColorButton("markedEntryBackground1", Globals.lang("Marking color %0", "2")));
buttons.add(new ColorButton("tableReqFieldBackground", Globals.lang("Background color for required fields")));
+ buttons.add(new ColorButton("markedEntryBackground2", Globals.lang("Marking color %0", "3")));
buttons.add(new ColorButton("tableOptFieldBackground", Globals.lang("Background color for optional fields")));
- buttons.add(new ColorButton("markedEntryBackground", Globals.lang("Background color for marked entries")));
+ buttons.add(new ColorButton("markedEntryBackground3", Globals.lang("Marking color %0", "4")));
buttons.add(new ColorButton("incompleteEntryBackground", Globals.lang("Color for marking incomplete entries")));
+ buttons.add(new ColorButton("markedEntryBackground4", Globals.lang("Marking color %0", "5")));
buttons.add(new ColorButton("gridColor", Globals.lang("Table grid color")));
+ buttons.add(new ColorButton("markedEntryBackground5", Globals.lang("Import marking color")));
-
+ buttons.add(new ColorButton("fieldEditorTextColor", Globals.lang("Entry editor font color")));
+ buttons.add(new ColorButton("validFieldBackgroundColor", Globals.lang("Entry editor background color")));
+ buttons.add(new ColorButton("activeFieldEditorBackgroundColor", Globals.lang("Entry editor active background color")));
+ buttons.add(new ColorButton("invalidFieldBackgroundColor", Globals.lang("Entry editor invalid field color")));
for (Iterator<ColorButton> i=buttons.iterator(); i.hasNext();) {
ColorButton but = i.next();
diff --git a/src/java/net/sf/jabref/gui/DatabasePropertiesDialog.java b/src/java/net/sf/jabref/gui/DatabasePropertiesDialog.java
index 6e2e9d6..4a4fc7c 100644
--- a/src/java/net/sf/jabref/gui/DatabasePropertiesDialog.java
+++ b/src/java/net/sf/jabref/gui/DatabasePropertiesDialog.java
@@ -31,6 +31,8 @@ public class DatabasePropertiesDialog extends JDialog {
String oldFileVal="", oldPdfVal="", oldPsVal=""; // Remember old values to see if they are changed.
JCheckBox protect = new JCheckBox(Globals.lang("Refuse to save the database before external changes have been reviewed."));
boolean oldProtectVal = false;
+ JCheckBox clearLegacyFileDir = new JCheckBox(Globals.lang("Legacy file directory setting found - clear setting?"), false);
+ boolean oldClearLgcFileVal = false;
public DatabasePropertiesDialog(JFrame parent) {
super(parent, Globals.lang("Database properties"), false);
@@ -66,6 +68,8 @@ public class DatabasePropertiesDialog extends JDialog {
builder.append(fileDir);
builder.append(browseFile);
builder.nextLine();
+ builder.append(clearLegacyFileDir,3);
+ builder.nextLine();
builder.appendSeparator(Globals.lang("Override legacy file fields"));
builder.append(new JLabel("<html>"+Globals.lang("Note that these settings are used for the legacy "
+"<b>pdf</b> and <b>ps</b> fields only.<br>For most users, setting the <b>Main file directory</b> "
@@ -126,7 +130,7 @@ public class DatabasePropertiesDialog extends JDialog {
public void setValues() {
encoding.setSelectedItem(panel.getEncoding());
- Vector<String> fileD = metaData.getData(GUIGlobals.FILE_FIELD+"Directory");
+ Vector<String> fileD = metaData.getData(Globals.prefs.get("userFileDir"));
if (fileD == null)
fileDir.setText("");
else {
@@ -161,11 +165,14 @@ public class DatabasePropertiesDialog extends JDialog {
protect.setSelected(Boolean.parseBoolean(prot.get(0)));
}
+ clearLegacyFileDir.setVisible(metaData.getData(GUIGlobals.FILE_FIELD + "Directory") != null);
+
// Store original values to see if they get changed:
oldFileVal = fileDir.getText();
oldPdfVal = pdfDir.getText();
oldPsVal = psDir.getText();
oldProtectVal = protect.isSelected();
+ oldClearLgcFileVal = clearLegacyFileDir.isSelected();
}
public void storeSettings() {
@@ -177,10 +184,16 @@ public class DatabasePropertiesDialog extends JDialog {
String text = fileDir.getText().trim();
if (text.length() > 0) {
dir.add(text);
- metaData.putData(GUIGlobals.FILE_FIELD+"Directory", dir);
+ metaData.putData(Globals.prefs.get("userFileDir"), dir);
}
else
- metaData.remove(GUIGlobals.FILE_FIELD+"Directory");
+ metaData.remove(Globals.prefs.get("userFileDir"));
+
+ if (metaData.getData(GUIGlobals.FILE_FIELD + "Directory") != null) {
+ if (clearLegacyFileDir.isSelected()) {
+ metaData.remove(GUIGlobals.FILE_FIELD + "Directory");
+ }
+ }
dir = new Vector<String>(1);
text = pdfDir.getText().trim();
@@ -213,7 +226,8 @@ public class DatabasePropertiesDialog extends JDialog {
boolean changed = !newEncoding.equals(oldEncoding)
|| !oldPdfVal.equals(pdfDir.getText())
|| !oldPsVal.equals(psDir.getText())
- || (oldProtectVal != protect.isSelected());
+ || (oldProtectVal != protect.isSelected())
+ || (oldClearLgcFileVal != clearLegacyFileDir.isSelected());
// ... if so, mark base changed. Prevent the Undo button from removing
// change marking:
if (changed)
diff --git a/src/java/net/sf/jabref/gui/FileListEditor.java b/src/java/net/sf/jabref/gui/FileListEditor.java
index d17c8df..6eeb787 100644
--- a/src/java/net/sf/jabref/gui/FileListEditor.java
+++ b/src/java/net/sf/jabref/gui/FileListEditor.java
@@ -437,7 +437,7 @@ public class FileListEditor extends JTable implements FieldEditor,
final Collection<BibtexEntry> entries = new ArrayList<BibtexEntry>();
entries.add(entry);
final ExternalFileType[] types = Globals.prefs.getExternalFileTypeSelection();
- final JProgressBar prog = new JProgressBar(JProgressBar.HORIZONTAL, types.length-1);
+ final JProgressBar prog = new JProgressBar(JProgressBar.HORIZONTAL, 0, types.length-1);
prog.setIndeterminate(true);
prog.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
final JLabel label = new JLabel(Globals.lang("Searching for files"));
@@ -752,4 +752,16 @@ public class FileListEditor extends JTable implements FieldEditor,
public void clearAutoCompleteSuggestion() {
}
+
+ public void setActiveBackgroundColor() {
+ }
+
+ public void setValidBackgroundColor() {
+ }
+
+ public void setInvalidBackgroundColor() {
+ }
+
+ public void updateFontColor() {
+ }
}
diff --git a/src/java/net/sf/jabref/gui/ImportInspectionDialog.java b/src/java/net/sf/jabref/gui/ImportInspectionDialog.java
index 5665740..6a8d296 100644
--- a/src/java/net/sf/jabref/gui/ImportInspectionDialog.java
+++ b/src/java/net/sf/jabref/gui/ImportInspectionDialog.java
@@ -111,7 +111,7 @@ import com.jgoodies.uif_lite.component.UIFSplitPane;
*
* @author alver
* @author $Author: mortenalver $
- * @version $Revision: 3047 $ ($Date: 2007-11-14 01:25:31 +0100 (Mi, 14 Nov
+ * @version $Revision: 3321 $ ($Date: 2007-11-14 01:25:31 +0100 (Mi, 14 Nov
* 2007) $)
*
*/
@@ -703,7 +703,7 @@ public class ImportInspectionDialog extends JDialog implements ImportInspector {
// Check if we should unmark entries before adding the new ones:
if (Globals.prefs.getBoolean("unmarkAllEntriesBeforeImporting"))
for (BibtexEntry entry : panel.database().getEntries()) {
- Util.unmarkEntry(entry, panel.database(), ce);
+ Util.unmarkEntry(entry, true, panel.database(), ce);
}
for (Iterator<BibtexEntry> i = selected.iterator(); i.hasNext();) {
diff --git a/src/java/net/sf/jabref/gui/IsMarkedComparator.java b/src/java/net/sf/jabref/gui/IsMarkedComparator.java
index 6f86602..0d5cb5f 100644
--- a/src/java/net/sf/jabref/gui/IsMarkedComparator.java
+++ b/src/java/net/sf/jabref/gui/IsMarkedComparator.java
@@ -9,10 +9,8 @@ public class IsMarkedComparator implements Comparator<BibtexEntry> {
public int compare(BibtexEntry e1, BibtexEntry e2) {
- if (Util.isMarked(e1))
- return Util.isMarked(e2) ? 0 : -1;
- else
- return Util.isMarked(e2) ? 1 : 0;
+ return - Util.isMarked(e1) + Util.isMarked(e2);
+
}
}
diff --git a/src/java/net/sf/jabref/gui/MainTable.java b/src/java/net/sf/jabref/gui/MainTable.java
index 5ca8f2e..7df2ea0 100644
--- a/src/java/net/sf/jabref/gui/MainTable.java
+++ b/src/java/net/sf/jabref/gui/MainTable.java
@@ -232,9 +232,11 @@ public class MainTable extends JTable {
renderer = incRenderer;
} else {
compRenderer.setNumber(row);
- if (isMarked(row)) {
- renderer = markedNumberRenderer;
- markedNumberRenderer.setNumber(row);
+ int marking = isMarked(row);
+ if (marking > 0) {
+ marking = Math.min(marking, Util.MARK_COLOR_LEVELS);
+ renderer = markedNumberRenderers[marking-1];
+ markedNumberRenderers[marking-1].setNumber(row);
} else
renderer = compRenderer;
}
@@ -249,8 +251,10 @@ public class MainTable extends JTable {
}
// For MARKED feature:
- if ((column != 0) && isMarked(row)) {
- renderer = markedRenderer;
+ int marking = isMarked(row);
+ if ((column != 0) && (marking > 0)) {
+ marking = Math.min(marking, Util.MARK_COLOR_LEVELS);
+ renderer = markedRenderers[marking-1];
}
return renderer;
@@ -435,13 +439,13 @@ public class MainTable extends JTable {
}
}
- private boolean isMarked(int row) {
+ private int isMarked(int row) {
try {
BibtexEntry be = sortedForGrouping.get(row);
return Util.isMarked(be);
} catch (NullPointerException ex) {
//System.out.println("Exception: isMarked");
- return false;
+ return 0;
}
}
@@ -507,23 +511,18 @@ public class MainTable extends JTable {
}
- private static GeneralRenderer defRenderer
- ,
- reqRenderer
- ,
- optRenderer
- ,
- grayedOutRenderer,
- veryGrayedOutRenderer
- ,
- markedRenderer;
+ private static GeneralRenderer defRenderer, reqRenderer, optRenderer, grayedOutRenderer,
+ veryGrayedOutRenderer;
+
+ private static GeneralRenderer[] markedRenderers;
private static IncompleteRenderer incRenderer;
private static CompleteRenderer
compRenderer,
grayedOutNumberRenderer,
- veryGrayedOutNumberRenderer,
- markedNumberRenderer;
+ veryGrayedOutNumberRenderer;
+
+ private static CompleteRenderer[] markedNumberRenderers;
public static void updateRenderers() {
@@ -535,7 +534,6 @@ public class MainTable extends JTable {
optRenderer = new GeneralRenderer(Globals.prefs.getColor("tableOptFieldBackground"), Globals.prefs.getColor("tableText"));
incRenderer = new IncompleteRenderer();
compRenderer = new CompleteRenderer(Globals.prefs.getColor("tableBackground"));
- markedNumberRenderer = new CompleteRenderer(Globals.prefs.getColor("markedEntryBackground"));
grayedOutNumberRenderer = new CompleteRenderer(Globals.prefs.getColor("grayedOutBackground"));
veryGrayedOutNumberRenderer = new CompleteRenderer(Globals.prefs.getColor("veryGrayedOutBackground"));
grayedOutRenderer = new GeneralRenderer(Globals.prefs.getColor("grayedOutBackground"),
@@ -544,8 +542,16 @@ public class MainTable extends JTable {
veryGrayedOutRenderer = new GeneralRenderer(Globals.prefs.getColor("veryGrayedOutBackground"),
Globals.prefs.getColor("veryGrayedOutText"), mixColors(Globals.prefs.getColor("veryGrayedOutBackground"),
sel));
- markedRenderer = new GeneralRenderer(Globals.prefs.getColor("markedEntryBackground"),
- Globals.prefs.getColor("tableText"), mixColors(Globals.prefs.getColor("markedEntryBackground"), sel));
+
+ markedRenderers = new GeneralRenderer[Util.MARK_COLOR_LEVELS];
+ markedNumberRenderers = new CompleteRenderer[Util.MARK_COLOR_LEVELS];
+ for (int i=0; i<Util.MARK_COLOR_LEVELS; i++) {
+ Color c = Globals.prefs.getColor("markedEntryBackground"+i);
+ markedRenderers[i] = new GeneralRenderer(c,
+ Globals.prefs.getColor("tableText"), mixColors(Globals.prefs.getColor("markedEntryBackground"+i), sel));
+ markedNumberRenderers[i] = new CompleteRenderer(c);
+ }
+
}
private static Color mixColors(Color one, Color two) {
diff --git a/src/java/net/sf/jabref/gui/WaitForSaveOperation.java b/src/java/net/sf/jabref/gui/WaitForSaveOperation.java
new file mode 100644
index 0000000..a6370a5
--- /dev/null
+++ b/src/java/net/sf/jabref/gui/WaitForSaveOperation.java
@@ -0,0 +1,78 @@
+package net.sf.jabref.gui;
+
+import com.jgoodies.forms.builder.ButtonBarBuilder;
+import net.sf.jabref.Globals;
+import net.sf.jabref.JabRefFrame;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ * Dialog shown when closing of application needs to wait for a save operation to finish.
+ */
+public class WaitForSaveOperation implements ActionListener {
+
+ JabRefFrame frame;
+ JDialog diag;
+ JProgressBar prog;
+ JButton cancel;
+ Timer t = new Timer(500, this);
+ boolean cancelled = false;
+
+ public WaitForSaveOperation(JabRefFrame frame) {
+ this.frame = frame;
+
+ cancel = new JButton(Globals.lang("Cancel"));
+ prog = new JProgressBar(0);
+ prog.setIndeterminate(true);
+ prog.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+ diag = new JDialog(frame, Globals.lang("Please wait"), true);
+
+ ButtonBarBuilder bb = new ButtonBarBuilder();
+ bb.addGlue();
+ bb.addGridded(cancel);
+ bb.addGlue();
+ cancel.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ cancelled = true;
+ t.stop();
+ diag.dispose();
+ }
+ });
+
+ JLabel message = new JLabel(Globals.lang("Waiting for save operation to finish")+"...");
+ message.setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+
+ diag.getContentPane().add(message, BorderLayout.NORTH);
+ diag.getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);
+ diag.getContentPane().add(prog, BorderLayout.CENTER);
+ diag.pack();
+ }
+
+ public void show() {
+ diag.setLocationRelativeTo(frame);
+ t.start();
+ diag.setVisible(true);
+
+ }
+
+ public boolean cancelled() {
+ return cancelled;
+ }
+
+ public void actionPerformed(ActionEvent actionEvent) {
+ boolean anySaving = false;
+ for (int i=0; i<frame.baseCount(); i++) {
+ if (frame.baseAt(i).isSaving()) {
+ anySaving = true;
+ break;
+ }
+ }
+ if (!anySaving) {
+ t.stop();
+ diag.dispose();
+ }
+ }
+}
diff --git a/src/java/net/sf/jabref/imports/AutosaveStartupPrompter.java b/src/java/net/sf/jabref/imports/AutosaveStartupPrompter.java
index 893a57a..d2e7fb4 100644
--- a/src/java/net/sf/jabref/imports/AutosaveStartupPrompter.java
+++ b/src/java/net/sf/jabref/imports/AutosaveStartupPrompter.java
@@ -33,8 +33,8 @@ public class AutosaveStartupPrompter implements Runnable {
boolean tryingAutosave = false;
if (Globals.prefs.getBoolean("promptBeforeUsingAutosave")) {
int answer = JOptionPane.showConfirmDialog(null,"<html>"+
- Globals.lang("An autosave file was found for this database. This could indicate "
- +"that JabRef didn't shut down cleanly last time the file was used.")+"<br>"
+ Globals.lang("An autosave file was found for this database. This could indicate ")
+ +Globals.lang("that JabRef didn't shut down cleanly last time the file was used.")+"<br>"
+Globals.lang("Do you want to recover the database from the autosave file?")+"</html>",
Globals.lang("Autosave of file '%0'", file.getName()), JOptionPane.YES_NO_OPTION);
tryingAutosave = answer == JOptionPane.YES_OPTION;
diff --git a/src/java/net/sf/jabref/imports/BibtexParser.java b/src/java/net/sf/jabref/imports/BibtexParser.java
index a62c957..47563b9 100644
--- a/src/java/net/sf/jabref/imports/BibtexParser.java
+++ b/src/java/net/sf/jabref/imports/BibtexParser.java
@@ -368,9 +368,10 @@ public class BibtexParser {
boolean duplicateKey = _db.insertEntry(be);
if (duplicateKey) // JZTODO lyrics
- _pr.addWarning(Globals.lang("duplicate BibTeX key") + ": "
+ _pr.addDuplicateKey(be.getCiteKey());
+ /*_pr.addWarning(Globals.lang("duplicate BibTeX key") + ": "
+ be.getCiteKey() + " ("
- + Globals.lang("grouping may not work for this entry") + ")");
+ + Globals.lang("grouping may not work for this entry") + ")"); */
else if (be.getCiteKey() == null || be.getCiteKey().equals("")) {
_pr.addWarning(Globals.lang("empty BibTeX key") + ": "
+ be.getAuthorTitleYear(40) + " ("
@@ -1075,6 +1076,10 @@ public class BibtexParser {
// It matched. Remove the last period and return:
return versionNum.substring(0, versionNum.length()-1);
}
+ else if (Pattern.compile("[1-9]+\\.[1-9]\\.[1-9A-Za-z ]+\\.").matcher(versionNum).matches()) {
+ // It matched. Remove the last period and return:
+ return versionNum.substring(0, versionNum.length()-1);
+ }
}
}
@@ -1090,12 +1095,17 @@ public class BibtexParser {
private void setMajorMinorVersions() {
String v = _pr.getJabrefVersion();
Pattern p = Pattern.compile("([0-9]+)\\.([0-9]+).*");
+ Pattern p2 = Pattern.compile("([0-9]+)\\.([0-9]+)\\.([0-9]+).*");
Matcher m = p.matcher(v);
- if (!m.matches())
- return;
- if (m.groupCount() >= 2) {
- _pr.setJabrefMajorVersion(Integer.parseInt(m.group(1)));
- _pr.setJabrefMinorVersion(Integer.parseInt(m.group(2)));
- }
+ Matcher m2 = p2.matcher(v);
+ if (m.matches())
+ if (m.groupCount() >= 2) {
+ _pr.setJabrefMajorVersion(Integer.parseInt(m.group(1)));
+ _pr.setJabrefMinorVersion(Integer.parseInt(m.group(2)));
+ }
+ if (m2.matches())
+ if (m2.groupCount() >= 3) {
+ _pr.setJabrefMinor2Version(Integer.parseInt(m2.group(3)));
+ }
}
}
diff --git a/src/java/net/sf/jabref/imports/ImportMenuItem.java b/src/java/net/sf/jabref/imports/ImportMenuItem.java
index 967b66c..59510f6 100644
--- a/src/java/net/sf/jabref/imports/ImportMenuItem.java
+++ b/src/java/net/sf/jabref/imports/ImportMenuItem.java
@@ -190,7 +190,7 @@ public class ImportMenuItem extends JMenuItem implements ActionListener {
// Check if we should unmark entries before adding the new ones:
if (Globals.prefs.getBoolean("unmarkAllEntriesBeforeImporting"))
for (BibtexEntry entry : toAddTo.getEntries()) {
- Util.unmarkEntry(entry, toAddTo, ce);
+ Util.unmarkEntry(entry, true, toAddTo, ce);
}
diff --git a/src/java/net/sf/jabref/imports/OpenDatabaseAction.java b/src/java/net/sf/jabref/imports/OpenDatabaseAction.java
index 75be6dd..9967be8 100644
--- a/src/java/net/sf/jabref/imports/OpenDatabaseAction.java
+++ b/src/java/net/sf/jabref/imports/OpenDatabaseAction.java
@@ -24,6 +24,8 @@ import net.sf.jabref.export.AutoSaveManager;
import net.sf.jabref.export.SaveSession;
import net.sf.jabref.gui.FileDialogs;
import net.sf.jabref.external.FileLinksUpgradeWarning;
+import net.sf.jabref.label.HandleDuplicateWarnings;
+import net.sf.jabref.external.FileDirectoryUpgradeWarning;
// The action concerned with opening an existing database.
@@ -43,6 +45,10 @@ public class OpenDatabaseAction extends MnemonicAwareAction {
postOpenActions.add(new CheckForNewEntryTypesAction());
// Add the action for the new external file handling system in version 2.3:
postOpenActions.add(new FileLinksUpgradeWarning());
+ // Add the action for warning about and handling duplicate BibTeX keys:
+ postOpenActions.add(new HandleDuplicateWarnings());
+ // Add the action for the new user-specific file directory setting in version 2.6+:
+ postOpenActions.add(new FileDirectoryUpgradeWarning());
}
public OpenDatabaseAction(JabRefFrame frame, boolean showDialog) {
@@ -157,8 +163,8 @@ public class OpenDatabaseAction extends MnemonicAwareAction {
// We have found a newer autosave, but we are not allowed to use it without
// prompting.
int answer = JOptionPane.showConfirmDialog(null,"<html>"+
- Globals.lang("An autosave file was found for this database. This could indicate "
- +"that JabRef didn't shut down cleanly last time the file was used.")+"<br>"
+ Globals.lang("An autosave file was found for this database. This could indicate ")
+ +Globals.lang("that JabRef didn't shut down cleanly last time the file was used.")+"<br>"
+Globals.lang("Do you want to recover the database from the autosave file?")+"</html>",
Globals.lang("Recover from autosave"), JOptionPane.YES_NO_OPTION);
if (answer == JOptionPane.YES_OPTION) {
@@ -350,7 +356,7 @@ public class OpenDatabaseAction extends MnemonicAwareAction {
ParserResult pr = bp.parse();
pr.setEncoding(encoding);
-
+ pr.setFile(fileToOpen);
return pr;
}
diff --git a/src/java/net/sf/jabref/imports/ParserResult.java b/src/java/net/sf/jabref/imports/ParserResult.java
index b450379..cc946b4 100644
--- a/src/java/net/sf/jabref/imports/ParserResult.java
+++ b/src/java/net/sf/jabref/imports/ParserResult.java
@@ -45,6 +45,8 @@ public class ParserResult {
private File file = null;
private ArrayList<String> warnings = new ArrayList<String>();
+ private ArrayList<String> duplicateKeys = new ArrayList<String>();
+
private String errorMessage = null;
private String encoding = null; // Which encoding was used?
@@ -52,7 +54,9 @@ public class ParserResult {
private boolean invalid = false;
private String jabrefVersion = null; // Which JabRef version wrote the file, if any?
- private int jabrefMajorVersion = 0, jabrefMinorVersion = 0; // Numeric version representation
+ private int jabrefMajorVersion = 0;
+ private int jabrefMinorVersion = 0;
+ private int jabrefMinor2Version = 0; // Numeric version representation
private boolean toOpenTab = false;
public ParserResult(Collection<BibtexEntry> entries){
@@ -111,6 +115,14 @@ public class ParserResult {
this.jabrefMinorVersion = jabrefMinorVersion;
}
+ public int getJabrefMinor2Version() {
+ return jabrefMinor2Version;
+ }
+
+ public void setJabrefMinor2Version(int jabrefMinor2Version) {
+ this.jabrefMinor2Version = jabrefMinor2Version;
+ }
+
public BibtexDatabase getDatabase() {
return base;
}
@@ -169,6 +181,32 @@ public class ParserResult {
return s;
}
+ /**
+ * Add a key to the list of duplicated BibTeX keys found in the database.
+ * @param key The duplicated key
+ */
+ public void addDuplicateKey(String key) {
+ if (!duplicateKeys.contains(key))
+ duplicateKeys.add(key);
+ }
+
+ /**
+ * Query whether any duplicated BibTeX keys have been found in the database.
+ * @return true if there is at least one duplicate key.
+ */
+ public boolean hasDuplicateKeys() {
+ return duplicateKeys.size() > 0;
+ }
+
+ /**
+ * Get all duplicated keys found in the database.
+ * @return An array containing the duplicated keys.
+ */
+ public String[] getDuplicateKeys() {
+ return duplicateKeys.toArray(new String[duplicateKeys.size()]);
+ }
+
+
public boolean isPostponedAutosaveFound() {
return postponedAutosaveFound;
}
diff --git a/src/java/net/sf/jabref/journals/AbbreviateAction.java b/src/java/net/sf/jabref/journals/AbbreviateAction.java
index b7b5c0b..deb0e21 100644
--- a/src/java/net/sf/jabref/journals/AbbreviateAction.java
+++ b/src/java/net/sf/jabref/journals/AbbreviateAction.java
@@ -39,7 +39,7 @@ public class AbbreviateAction extends AbstractWorker {
NamedCompound ce = new NamedCompound("Abbreviate journal names");
int count = 0;
for (int i = 0; i < entries.length; i++) {
- if (Globals.journalAbbrev.abbreviate(entries[i], "journal", ce, iso))
+ if (Globals.journalAbbrev.abbreviate(panel.database(), entries[i], "journal", ce, iso))
count++;
}
if (count > 0) {
diff --git a/src/java/net/sf/jabref/journals/JournalAbbreviations.java b/src/java/net/sf/jabref/journals/JournalAbbreviations.java
index 5f598d7..7112192 100644
--- a/src/java/net/sf/jabref/journals/JournalAbbreviations.java
+++ b/src/java/net/sf/jabref/journals/JournalAbbreviations.java
@@ -13,10 +13,7 @@ import javax.swing.table.TableModel;
import javax.swing.undo.CompoundEdit;
import javax.swing.undo.UndoManager;
-import net.sf.jabref.BibtexEntry;
-import net.sf.jabref.EntryEditor;
-import net.sf.jabref.FieldEditor;
-import net.sf.jabref.Globals;
+import net.sf.jabref.*;
import net.sf.jabref.undo.UndoableFieldChange;
import net.sf.jabref.util.CaseChanger;
@@ -189,23 +186,27 @@ public class JournalAbbreviations {
/**
* Abbreviate the journal name of the given entry.
+ * @param database The database the entry belongs to, or null if no database.
* @param entry The entry to be treated.
* @param fieldName The field name (e.g. "journal")
* @param ce If the entry is changed, add an edit to this compound.
* @param withDots True if the abbreviations should have dots.
* @return true if the entry was changed, false otherwise.
*/
- public boolean abbreviate(BibtexEntry entry, String fieldName, CompoundEdit ce, boolean withDots) {
- Object o = entry.getField(fieldName);
- if (o == null)
+ public boolean abbreviate(BibtexDatabase database, BibtexEntry entry,
+ String fieldName, CompoundEdit ce, boolean withDots) {
+ String text = entry.getField(fieldName);
+ if (text == null)
return false;
- String text = (String)o;
+ String origText = text;
+ if (database != null)
+ text = database.resolveForStrings(text);
if (isKnownName(text) && !isAbbreviatedName(text)) {
String newText = getAbbreviatedName(text, withDots);
if (newText == null)
return false;
entry.setField(fieldName, newText);
- ce.addEdit(new UndoableFieldChange(entry, fieldName, text, newText));
+ ce.addEdit(new UndoableFieldChange(entry, fieldName, origText, newText));
return true;
} else {
String unabbr = getFullName(text);
@@ -214,7 +215,7 @@ public class JournalAbbreviations {
if (newText == null)
return false;
entry.setField(fieldName, newText);
- ce.addEdit(new UndoableFieldChange(entry, fieldName, text, newText));
+ ce.addEdit(new UndoableFieldChange(entry, fieldName, origText, newText));
return true;
} else
return false;
@@ -228,17 +229,20 @@ public class JournalAbbreviations {
* @param ce If the entry is changed, add an edit to this compound.
* @return true if the entry was changed, false otherwise.
*/
- public boolean unabbreviate(BibtexEntry entry, String fieldName, CompoundEdit ce) {
- Object o = entry.getField(fieldName);
- if (o == null)
+ public boolean unabbreviate(BibtexDatabase database, BibtexEntry entry,
+ String fieldName, CompoundEdit ce) {
+ String text = entry.getField(fieldName);
+ if (text == null)
return false;
- String text = (String)o;
+ String origText = text;
+ if (database != null)
+ text = database.resolveForStrings(text);
if (isKnownName(text) && isAbbreviatedName(text)) {
String newText = getFullName(text);
if (newText == null)
return false;
entry.setField(fieldName, newText);
- ce.addEdit(new UndoableFieldChange(entry, fieldName, text, newText));
+ ce.addEdit(new UndoableFieldChange(entry, fieldName, origText, newText));
return true;
} else
return false;
diff --git a/src/java/net/sf/jabref/journals/UnabbreviateAction.java b/src/java/net/sf/jabref/journals/UnabbreviateAction.java
index ece21d5..c10e861 100644
--- a/src/java/net/sf/jabref/journals/UnabbreviateAction.java
+++ b/src/java/net/sf/jabref/journals/UnabbreviateAction.java
@@ -37,7 +37,7 @@ public class UnabbreviateAction extends AbstractWorker {
NamedCompound ce = new NamedCompound("Unabbreviate journal names");
int count = 0;
for (int i = 0; i < entries.length; i++) {
- if (Globals.journalAbbrev.unabbreviate(entries[i], "journal", ce))
+ if (Globals.journalAbbrev.unabbreviate(panel.database(), entries[i], "journal", ce))
count++;
}
if (count > 0) {
diff --git a/src/java/net/sf/jabref/label/HandleDuplicateWarnings.java b/src/java/net/sf/jabref/label/HandleDuplicateWarnings.java
new file mode 100644
index 0000000..0740284
--- /dev/null
+++ b/src/java/net/sf/jabref/label/HandleDuplicateWarnings.java
@@ -0,0 +1,31 @@
+package net.sf.jabref.label;
+
+import net.sf.jabref.BasePanel;
+import net.sf.jabref.Globals;
+import net.sf.jabref.imports.ParserResult;
+import net.sf.jabref.imports.PostOpenAction;
+import net.sf.jabref.labelPattern.SearchFixDuplicateLabels;
+
+import javax.swing.*;
+
+/**
+ * PostOpenAction that checks whether there are warnings about duplicate BibTeX keys, and
+ * if so, offers to start the duplicate resolving process.
+ */
+public class HandleDuplicateWarnings implements PostOpenAction {
+
+
+ public boolean isActionNecessary(ParserResult pr) {
+ return pr.hasDuplicateKeys();
+ }
+
+ public void performAction(BasePanel panel, ParserResult pr) {
+ int answer = JOptionPane.showConfirmDialog(null,
+ "<html><p>"+Globals.lang("This database contains one or more duplicated BibTeX keys.")
+ +"</p><p>"+Globals.lang("Do you want to resolve duplicate keys now?"),
+ Globals.lang("Duplicate BibTeX key"), JOptionPane.YES_NO_OPTION);
+ if (answer == JOptionPane.YES_OPTION) {
+ panel.runCommand("resolveDuplicateKeys");
+ }
+ }
+}
diff --git a/src/java/net/sf/jabref/labelPattern/LabelPatternUtil.java b/src/java/net/sf/jabref/labelPattern/LabelPatternUtil.java
index f7ef809..e5d2718 100644
--- a/src/java/net/sf/jabref/labelPattern/LabelPatternUtil.java
+++ b/src/java/net/sf/jabref/labelPattern/LabelPatternUtil.java
@@ -178,7 +178,10 @@ public class LabelPatternUtil {
if ((oldKey != null) && oldKey.equals(_label))
occurences--; // No change, so we can accept one dupe.
- if (occurences == 0) {
+ boolean alwaysAddLetter = Globals.prefs.getBoolean("keyGenAlwaysAddLetter"),
+ firstLetterA = Globals.prefs.getBoolean("keyGenFirstLetterA");
+
+ if (!alwaysAddLetter && (occurences == 0)) {
// No dupes found, so we can just go ahead.
if (!_label.equals(oldKey))
_db.setCiteKeyForEntry(_entry.getId(), _label);
@@ -186,6 +189,8 @@ public class LabelPatternUtil {
} else {
// The key is already in use, so we must modify it.
int number = 0;
+ if (!alwaysAddLetter && !firstLetterA)
+ number = 1;
String moddedKey = _label + getAddition(number);
occurences = _db.getNumberOfKeyOccurences(moddedKey);
@@ -385,7 +390,7 @@ public class LabelPatternUtil {
} else if (val.equals("lastpage")) {
return lastPage(_entry.getField("pages"));
} else if (val.equals("shorttitle")) {
- return getTitleWords(3, _entry);
+ return keepLettersAndDigitsOnly(getTitleWords(3, _entry));
} else if (val.equals("shortyear")) {
String ss = _entry.getField("year");
if (ss.startsWith("in") || ss.startsWith("sub")) {
@@ -396,7 +401,7 @@ public class LabelPatternUtil {
return ss;
}
} else if (val.equals("veryshorttitle")) {
- return getTitleWords(1, _entry);
+ return keepLettersAndDigitsOnly(getTitleWords(1, _entry));
} else if (val.matches("keyword\\d+")) {
StringBuilder sb = new StringBuilder();
int num = Integer.parseInt(val.substring(7));
@@ -457,7 +462,8 @@ public class LabelPatternUtil {
mainl: while ((piv < ss.length()) && (words < number)) {
current = new StringBuffer();
// Get the next word:
- while ((piv<ss.length()) && !Character.isWhitespace(ss.charAt(piv))) {
+ while ((piv<ss.length()) && !Character.isWhitespace(ss.charAt(piv))
+ && (ss.charAt(piv) != '-')) {
current.append(ss.charAt(piv));
piv++;
//System.out.println(".. "+piv+" '"+current.toString()+"'");
@@ -483,6 +489,14 @@ public class LabelPatternUtil {
return _sbvalue.toString();
}
+ static String keepLettersAndDigitsOnly(String in) {
+ StringBuilder sb = new StringBuilder();
+ for (int i=0; i<in.length(); i++) {
+ if (Character.isLetterOrDigit(in.charAt(i)))
+ sb.append(in.charAt(i));
+ }
+ return sb.toString();
+ }
/**
* Tests whether a given label is unique.
diff --git a/src/java/net/sf/jabref/labelPattern/ResolveDuplicateLabelDialog.java b/src/java/net/sf/jabref/labelPattern/ResolveDuplicateLabelDialog.java
new file mode 100644
index 0000000..7da1612
--- /dev/null
+++ b/src/java/net/sf/jabref/labelPattern/ResolveDuplicateLabelDialog.java
@@ -0,0 +1,128 @@
+package net.sf.jabref.labelPattern;
+
+import com.jgoodies.forms.builder.ButtonBarBuilder;
+import com.jgoodies.forms.builder.DefaultFormBuilder;
+import com.jgoodies.forms.layout.FormLayout;
+import net.sf.jabref.*;
+
+import javax.swing.*;
+import java.awt.*;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Dialog box for resolving duplicate bibte keys
+ */
+public class ResolveDuplicateLabelDialog {
+
+ JDialog diag;
+ JButton ok = new JButton(Globals.lang("Ok")),
+ cancel = new JButton(Globals.lang("Cancel"));
+ List<JCheckBox> cbs = new ArrayList<JCheckBox>();
+ private boolean okPressed = false;
+
+ final static String layout = "<font face=\"arial\"><b><i>\\bibtextype</i><a name=\"\\bibtexkey\">\\begin{bibtexkey} (\\bibtexkey)</a>\\end{bibtexkey}</b><br>\n" +
+ "\\begin{author} \\format[HTMLChars,AuthorAbbreviator,AuthorAndsReplacer]{\\author}<BR>\\end{author}\n" +
+ "\\begin{editor} \\format[HTMLChars,AuthorAbbreviator,AuthorAndsReplacer]{\\editor} <i>(\\format[IfPlural(Eds.,Ed.)]{\\editor})</i><BR>\\end{editor}\n" +
+ "\\begin{title} \\format[HTMLChars]{\\title} \\end{title}<BR>\n" +
+ "\\begin{chapter} \\format[HTMLChars]{\\chapter}<BR>\\end{chapter}\n" +
+ "\\begin{journal} <em>\\format[HTMLChars]{\\journal}, </em>\\end{journal}\n" +
+ "\\begin{booktitle} <em>\\format[HTMLChars]{\\booktitle}, </em>\\end{booktitle}\n" +
+ "\\begin{school} <em>\\format[HTMLChars]{\\school}, </em>\\end{school}\n" +
+ "\\begin{institution} <em>\\format[HTMLChars]{\\institution}, </em>\\end{institution}\n" +
+ "\\begin{publisher} <em>\\format[HTMLChars]{\\publisher}, </em>\\end{publisher}\n" +
+ "\\begin{year}<b>\\year</b>\\end{year}\\begin{volume}<i>, \\volume</i>\\end{volume}\\begin{pages}, \\format[FormatPagesForHTML]{\\pages} \\end{pages}\n" +
+ "<p></p></font>";
+
+ public ResolveDuplicateLabelDialog(BasePanel panel, String key,
+ List<BibtexEntry> entries) {
+ diag = new JDialog(panel.frame(), Globals.lang("Duplicate BibTeX key"), true);
+
+ DefaultFormBuilder b = new DefaultFormBuilder(new FormLayout(
+ "left:pref, 4dlu, fill:pref", ""));
+ b.append(new JLabel(Globals.lang("Duplicate key")+": "+key), 3);
+ b.nextLine();
+ b.getPanel().setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+
+ boolean first = true;
+ for (BibtexEntry entry : entries) {
+ JCheckBox cb = new JCheckBox(Globals.lang("Generate key"), !first);
+ //JPanel pan = new JPanel();
+ //pan.setLayout(new BorderLayout());
+ //pan.add(cb, BorderLayout.NORTH);
+ //cb.add(new JPanel(), BorderLayout.CENTER);
+ b.append(cb);
+ PreviewPanel pp = new PreviewPanel(null, entry, null , new MetaData(), layout);
+ pp.setPreferredSize(new Dimension(800, 90));
+ //pp.setBorder(BorderFactory.createEtchedBorder());
+ b.append(new JScrollPane(pp));
+ b.nextLine();
+ cbs.add(cb);
+ first = false;
+ }
+
+
+ ButtonBarBuilder bb = new ButtonBarBuilder();
+ bb.addGlue();
+ bb.addGridded(ok);
+ bb.addGridded(cancel);
+ bb.addGlue();
+ bb.getPanel().setBorder(BorderFactory.createEmptyBorder(5,5,5,5));
+
+ diag.getContentPane().add(b.getPanel(), BorderLayout.CENTER);
+ diag.getContentPane().add(bb.getPanel(), BorderLayout.SOUTH);
+
+ diag.pack();
+
+ ok.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ okPressed = true;
+ diag.dispose();
+ }
+ });
+ cancel.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent actionEvent) {
+ diag.dispose();
+ }
+ });
+
+
+ AbstractAction closeAction = new AbstractAction() {
+ public void actionPerformed(ActionEvent e) {
+ diag.dispose();
+ }
+ };
+ ActionMap am = b.getPanel().getActionMap();
+ InputMap im = b.getPanel().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+ im.put(Globals.prefs.getKey("Close dialog"), "close");
+ am.put("close", closeAction);
+ }
+
+/**
+ * After the dialog has been closed, this query answers whether the dialog was okPressed
+ * (by cancel button or by closing the dialog directly).
+ * @return true if it was okPressed, false if Ok was pressed.
+ */
+ public boolean isOkPressed() {
+ return okPressed;
+ }
+
+ /**
+ * Get the list of checkboxes where the user has selected which entries to generate
+ * new keys for.
+ * @return the list of checkboxes
+ */
+ public List<JCheckBox> getCheckBoxes() {
+ return cbs;
+ }
+
+ public void show() {
+ okPressed = false;
+ diag.setLocationRelativeTo(diag.getParent());
+ diag.setVisible(true);
+ }
+}
diff --git a/src/java/net/sf/jabref/labelPattern/SearchFixDuplicateLabels.java b/src/java/net/sf/jabref/labelPattern/SearchFixDuplicateLabels.java
new file mode 100644
index 0000000..c479f3b
--- /dev/null
+++ b/src/java/net/sf/jabref/labelPattern/SearchFixDuplicateLabels.java
@@ -0,0 +1,100 @@
+package net.sf.jabref.labelPattern;
+
+import net.sf.jabref.*;
+import net.sf.jabref.undo.NamedCompound;
+import net.sf.jabref.undo.UndoableKeyChange;
+
+import javax.swing.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * Function for resolving duplicate BibTeX keys.
+ */
+public class SearchFixDuplicateLabels extends AbstractWorker {
+ private BasePanel panel;
+ HashMap<String, List<BibtexEntry>> dupes = null;
+
+ public SearchFixDuplicateLabels(BasePanel panel) {
+
+ this.panel = panel;
+ }
+
+ public void run() {
+ // Find all multiple occurences of BibTeX keys.
+ dupes = new HashMap<String, List<BibtexEntry>>();
+
+ HashMap<String, BibtexEntry> foundKeys = new HashMap<String, BibtexEntry>();
+ BibtexDatabase db = panel.database();
+ for (BibtexEntry entry : db.getEntries()) {
+ String key = entry.getCiteKey();
+ // Only handle keys that are actually set:
+ if ((key != null) && (key.length() > 0)) {
+ // See whether this entry's key is already known:
+ if (!foundKeys.containsKey(key)) {
+ // Not already known. Add key and entry to map:
+ foundKeys.put(key, entry);
+ }
+ else {
+ // Already known, so we have found a dupe. See if it was already found as a dupe:
+ if (dupes.containsKey(key)) {
+ // Already in the dupe map. Add this entry as well:
+ dupes.get(key).add(entry);
+ }
+ else {
+ // Construct a list of entries for this key:
+ ArrayList<BibtexEntry> al = new ArrayList<BibtexEntry>();
+ // Add both the first one we found, and the one we found just now:
+ al.add(foundKeys.get(key));
+ al.add(entry);
+ // Add the list to the dupe map:
+ dupes.put(key, al);
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public void init() throws Throwable {
+ panel.output(Globals.lang("Resolving duplicate BibTeX keys..."));
+
+ }
+
+ @Override
+ public void update() {
+ List<BibtexEntry> toGenerateFor = new ArrayList<BibtexEntry>();
+ for (String key : dupes.keySet()) {
+ ResolveDuplicateLabelDialog rdld = new ResolveDuplicateLabelDialog(panel,
+ key, dupes.get(key));
+ rdld.show();
+ if (rdld.isOkPressed()) {
+ List<JCheckBox> cbs = rdld.getCheckBoxes();
+ for (int i=0; i<cbs.size(); i++) {
+ if (cbs.get(i).isSelected()) {
+ // The checkbox for entry i has been selected, so we should generate a new key for it:
+ toGenerateFor.add(dupes.get(key).get(i));
+ }
+ }
+ }
+ }
+
+ // Do the actual generation:
+ if (toGenerateFor.size() > 0) {
+ NamedCompound ce = new NamedCompound("resolve duplicate keys");
+ for (BibtexEntry entry : toGenerateFor) {
+ String oldKey = entry.getCiteKey();
+ entry = LabelPatternUtil.makeLabel(Globals.prefs.getKeyPattern(),
+ panel.database(), entry);
+ ce.addEdit(new UndoableKeyChange(panel.database(), entry.getId(), oldKey,
+ entry.getField(BibtexFields.KEY_FIELD)));
+ }
+ ce.end();
+ panel.undoManager.addEdit(ce);
+ panel.markBaseChanged();
+ }
+ panel.output(Globals.lang("Finished resolving duplicate BibTeX keys. %0 entries modified.",
+ String.valueOf(toGenerateFor.size())));
+ }
+}
diff --git a/src/java/net/sf/jabref/msbib/MSBibEntry.java b/src/java/net/sf/jabref/msbib/MSBibEntry.java
index 6e5b1b0..ffcc69b 100644
--- a/src/java/net/sf/jabref/msbib/MSBibEntry.java
+++ b/src/java/net/sf/jabref/msbib/MSBibEntry.java
@@ -128,6 +128,10 @@ public class MSBibEntry {
protected String bibTex_Copyright = null;
protected String bibTex_Price = null;
protected String bibTex_Size = null;
+
+ /* SM 2010.10 intype, paper support */
+ protected String bibTex_InType = null;
+ protected String bibTex_Paper = null;
private final String BIBTEX = "BIBTEX_";
private final String MSBIB = "msbib-";
@@ -312,14 +316,18 @@ public class MSBibEntry {
edition = bibtex.getField("edition").toString();
standardNumber = new String();
- if (bibtex.getField("ISBN") != null)
- standardNumber += ":ISBN:" + bibtex.getField("ISBN").toString();
- if (bibtex.getField("ISSN") != null)
- standardNumber += ":ISSN:"+ bibtex.getField("ISSN").toString();
- if (bibtex.getField("LCCN") != null)
- standardNumber += ":LCCN:"+ bibtex.getField("LCCN").toString();
+ if (bibtex.getField("isbn") != null) /* SM: 2010.10: lower case */
+ standardNumber += " ISBN: " + bibtex.getField("isbn").toString(); /* SM: 2010.10: lower case */
+ if (bibtex.getField("issn") != null) /* SM: 2010.10: lower case */
+ standardNumber += " ISSN: "+ bibtex.getField("issn").toString(); /* SM: 2010.10: lower case */
+ if (bibtex.getField("lccn") != null) /* SM: 2010.10: lower case */
+ standardNumber += " LCCN: "+ bibtex.getField("lccn").toString(); /* SM: 2010.10: lower case */
if (bibtex.getField("mrnumber") != null)
- standardNumber += ":MRN:"+ bibtex.getField("mrnumber").toString();
+ standardNumber += " MRN: "+ bibtex.getField("mrnumber").toString();
+ /* SM: 2010.10 begin DOI support */
+ if (bibtex.getField("doi") != null)
+ standardNumber += " DOI: "+ bibtex.getField("doi").toString();
+ /* SM: 2010.10 end DOI support */
if(standardNumber.equals(""))
standardNumber = null;
@@ -351,15 +359,31 @@ public class MSBibEntry {
if (bibtex.getField("institution") != null)
institution = bibtex.getField("institution").toString();
+ /* SM: 2010.10 Modified for default source types */
if (bibtex.getField("type") != null)
thesisType = bibtex.getField("type").toString();
+ else
+ {
+ if (bibtex.getType().getName().equalsIgnoreCase("techreport"))
+ thesisType = "Tech. rep.";
+ else if (bibtex.getType().getName().equalsIgnoreCase("mastersthesis"))
+ thesisType = "Master's thesis";
+ else if (bibtex.getType().getName().equalsIgnoreCase("phdthesis"))
+ thesisType = "Ph.D. dissertation";
+ else if (bibtex.getType().getName().equalsIgnoreCase("unpublished"))
+ thesisType = "unpublished";
+ //else if (bibtex.getType().getName().equalsIgnoreCase("manual"))
+ // thesisType = "manual";
+ }
+
+
if ( (sourceType.equals("InternetSite")==true || sourceType.equals("DocumentFromInternetSite")==true)
&& bibtex.getField("title") != null)
internetSiteTitle = bibtex.getField("title").toString();
if (bibtex.getField(MSBIB+"accessed") != null)
dateAccessed = bibtex.getField(MSBIB+"accessed").toString();
- if (bibtex.getField("URL") != null)
- url = bibtex.getField("URL").toString();
+ if (bibtex.getField("url") != null) /* SM: 2010.10: lower case */
+ url = bibtex.getField("url").toString(); /* SM: 2010.10: lower case */
if (bibtex.getField(MSBIB+"productioncompany") != null)
productionCompany = bibtex.getField(MSBIB+"productioncompany").toString();
@@ -396,6 +420,7 @@ public class MSBibEntry {
caseNumber = bibtex.getField(MSBIB+"casenumber").toString();
if (bibtex.getField(MSBIB+"abbreviatedcasenumber") != null)
abbreviatedCaseNumber = bibtex.getField(MSBIB+"abbreviatedcasenumber").toString();
+
if (bibtex.getField("series") != null)
bibTex_Series = bibtex.getField("series").toString();
if (bibtex.getField("abstract") != null)
@@ -417,7 +442,13 @@ public class MSBibEntry {
if (bibtex.getField("size") != null)
bibTex_Size = bibtex.getField("size").toString();
+ /* SM: 2010.10 end intype, paper support */
+ if (bibtex.getField("intype") != null)
+ bibTex_InType = bibtex.getField("intype").toString();
+ if (bibtex.getField("paper") != null)
+ bibTex_Paper = bibtex.getField("paper").toString();
+
if (bibtex.getField("author") != null)
authors = getAuthors(bibtex.getField("author").toString());
if (bibtex.getField("editor") != null)
@@ -559,7 +590,7 @@ public class MSBibEntry {
if (bibtexType.equalsIgnoreCase("book"))
result = "Book";
else if(bibtexType.equalsIgnoreCase("inbook"))
- result = "BookSection";
+ { result = "BookSection"; bibTexEntry = "inbook"; } /* SM 2010.10: generalized */
else if(bibtexType.equalsIgnoreCase("booklet"))
{ result = "BookSection"; bibTexEntry = "booklet"; }
else if(bibtexType.equalsIgnoreCase("incollection"))
@@ -569,7 +600,7 @@ public class MSBibEntry {
result = "JournalArticle";
else if(bibtexType.equalsIgnoreCase("inproceedings"))
- result = "ConferenceProceedings";
+ { result = "ConferenceProceedings"; bibTexEntry = "inproceedings"; } /* SM 2010.10: generalized */
else if(bibtexType.equalsIgnoreCase("conference"))
{ result = "ConferenceProceedings"; bibTexEntry = "conference"; }
else if(bibtexType.equalsIgnoreCase("proceedings"))
@@ -578,7 +609,7 @@ public class MSBibEntry {
{ result = "ConferenceProceedings"; bibTexEntry = "collection"; }
else if(bibtexType.equalsIgnoreCase("techreport"))
- result = "Report";
+ { result = "Report"; bibTexEntry = "techreport"; } /* SM 2010.10: generalized */
else if(bibtexType.equalsIgnoreCase("manual"))
{ result = "Report"; bibTexEntry = "manual"; }
else if(bibtexType.equalsIgnoreCase("mastersthesis"))
@@ -593,6 +624,10 @@ public class MSBibEntry {
else if(bibtexType.equalsIgnoreCase("misc"))
result = "Misc";
+
+ /*SM: 2010.10 - bibtex @electronic */
+ else if(bibtexType.equalsIgnoreCase("electronic"))
+ { result = "Misc"; bibTexEntry = "electronic"; }
return result;
}
@@ -664,6 +699,9 @@ public class MSBibEntry {
addField(d, parent,"StateProvince",m.group(2));
addField(d, parent,"CountryRegion",m.group(3));
}
+ else
+ /* SM: 2010.10 generalized */
+ addField(d, parent,"City",address);
}
public void addDate(Document d,Element parent, String date, String extra) {
@@ -746,6 +784,9 @@ public class MSBibEntry {
addDate(d,msbibEntry, dateAccessed, "Accessed");
+ /* SM 2010.10 added month export */
+ addField(d,msbibEntry,"Month",month);
+
addField(d,msbibEntry,"URL",url);
addField(d,msbibEntry,"ProductionCompany",productionCompany);
addField(d,msbibEntry,"PublicationTitle",publicationTitle);
@@ -774,6 +815,11 @@ public class MSBibEntry {
addField(d,msbibEntry,BIBTEX+"Copyright",bibTex_Copyright);
addField(d,msbibEntry,BIBTEX+"Price",bibTex_Price);
addField(d,msbibEntry,BIBTEX+"Size",bibTex_Size);
+
+ /* SM: 2010.10 end intype, paper support */
+ addField(d,msbibEntry,BIBTEX+"InType",bibTex_InType);
+ addField(d,msbibEntry,BIBTEX+"Paper",bibTex_Paper);
+
return msbibEntry;
}
@@ -787,7 +833,7 @@ public class MSBibEntry {
}
protected void parseSingleStandardNumber(String type,String bibtype, String standardNum, HashMap<String, String> hm) {
- // teste using http://www.javaregex.com/test.html
+ // tested using http://www.javaregex.com/test.html
Pattern p = Pattern.compile(":"+type+":(.[^:]+)");
Matcher m = p.matcher(standardNum);
if (m.matches())
@@ -797,10 +843,13 @@ public class MSBibEntry {
protected void parseStandardNumber(String standardNum, HashMap<String, String> hm) {
if(standardNumber == null)
return;
- parseSingleStandardNumber("ISBN","ISBN",standardNum,hm);
- parseSingleStandardNumber("ISSN","ISSN",standardNum,hm);
- parseSingleStandardNumber("LCCN","LCCN",standardNum,hm);
+ parseSingleStandardNumber("ISBN","isbn",standardNum,hm); /* SM: 2010.10: lower case */
+ parseSingleStandardNumber("ISSN","issn",standardNum,hm); /* SM: 2010.10: lower case */
+ parseSingleStandardNumber("LCCN","lccn",standardNum,hm); /* SM: 2010.10: lower case */
parseSingleStandardNumber("MRN","mrnumber",standardNum,hm);
+ /* SM: 2010.10 begin DOI support */
+ parseSingleStandardNumber("DOI","doi",standardNum,hm);
+ /* SM: 2010.10 end DOI support */
}
public void addAuthor(HashMap<String, String> hm, String type, List<PersonName> authorsLst) {
diff --git a/src/java/net/sf/jabref/net/Cookie.java b/src/java/net/sf/jabref/net/Cookie.java
index e2266a1..a6446c7 100644
--- a/src/java/net/sf/jabref/net/Cookie.java
+++ b/src/java/net/sf/jabref/net/Cookie.java
@@ -55,7 +55,8 @@ public class Cookie {
}
uriDomain = uriDomain.substring(
uriDomain.indexOf('.'));
- if (!uriDomain.equals(value) && !uriDomain.endsWith(value)) {
+ if (!uriDomain.equals(value) && !uriDomain.endsWith(value)
+ && !value.endsWith(uriDomain)) {
throw new IllegalArgumentException("Trying to set foreign cookie");
}
this.domain = value;
diff --git a/src/plugins/net.sf.jabref.core/plugin.xml b/src/plugins/net.sf.jabref.core/plugin.xml
index d968204..983b491 100644
--- a/src/plugins/net.sf.jabref.core/plugin.xml
+++ b/src/plugins/net.sf.jabref.core/plugin.xml
@@ -105,14 +105,14 @@
value="Fetch Entries from JSTOR." />
</extension>
- <extension id="ScienceDirectFetcher" plugin-id="net.sf.jabref.core"
+ <!--<extension id="ScienceDirectFetcher" plugin-id="net.sf.jabref.core"
point-id="EntryFetcher">
<parameter id="entryFetcher"
value="net.sf.jabref.imports.ScienceDirectFetcher" />
<parameter id="name" value="ScienceDirect Entry Fetcher" />
<parameter id="description"
value="Fetch Entries from ScienceDirect." />
- </extension>
+ </extension>-->
<!-- To extend JabRef with an Layout Formatters use the following extension point -->
<extension-point id="LayoutFormatter">
diff --git a/src/resource/IntegrityMessage_in.properties b/src/resource/IntegrityMessage_in.properties
new file mode 100644
index 0000000..797bbc7
--- /dev/null
+++ b/src/resource/IntegrityMessage_in.properties
@@ -0,0 +1,12 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+ITEXT_1=Ada beberapa saran
+ITEXT_10=Ada_beberapa_huruf_besar_tanpa_kurung_kurawal_{}_dalam_area
+ITEXT_1001=peringatan
+ITEXT_1010=permulaan dari area $FIELD
+ITEXT_1011=kesalahan di akhir (area $FIELD)
+ITEXT_1012=ada kemungkinan kesalahan di area $FIELD
+ITEXT_11=Area $FIELD harus berisi paling tidak empat angka
+ITEXT_2001=kesalahan
+ITEXT_2010=ada penutup kurawal } yang tidak diinginkan dalam area
diff --git a/src/resource/IntegrityMessage_vi.properties b/src/resource/IntegrityMessage_vi.properties
new file mode 100755
index 0000000..f7e4a3c
--- /dev/null
+++ b/src/resource/IntegrityMessage_vi.properties
@@ -0,0 +1,13 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+
+ITEXT_1=c\u00f3_c\u00e1c_g\u1ee3i_\u00fd
+ITEXT_1001=c\u1ea3nh_b\u00e1o
+ITEXT_2001=th\u1ea5t_b\u1ea1i
+ITEXT_1010=b\u1eaft_\u0111\u1ea7u_c\u1ee7a_tr\u01b0\u1eddng_$FIELD
+ITEXT_1011=k\u1ebft_th\u00fac_l\u1ed7i_(tr\u01b0\u1eddng_$FIEL)
+ITEXT_1012=c\u00f3_th\u1ec3_c\u00f3_th\u1ee9_g\u00ec_l\u1ed7i_trong_tr\u01b0\u1eddng_$FIELD
+ITEXT_10=C\u00f3_nh\u1eefng_ch\u1eef_vi\u1ebft_hoa_l\u1edbn_kh\u00f4ng_c\u00f3_m\u1eb7t_n\u1ea1_{}_\u1edf_trong_tr\u01b0\u1eddng_$FIELD
+ITEXT_11=Tr\u01b0\u1eddng_$FIELD_ph\u1ea3i_ch\u1ee9a_m\u1ed9t_con_s\u1ed1_c\u00f3_b\u1ed1n_ch\u1eef_s\u1ed1
+ITEXT_2010=l\u1ed7i_k\u00fd_hi\u1ec7u_}_kh\u00f4ng_mong_\u0111\u1ee3i_trong_tr\u01b0\u1eddng_$FIELD
diff --git a/src/resource/JabRef_da.properties b/src/resource/JabRef_da.properties
index 6a4fa32..4639e13 100644
--- a/src/resource/JabRef_da.properties
+++ b/src/resource/JabRef_da.properties
@@ -13,7 +13,6 @@
%0_matches_the_term_<b>%1</b>=%0_matcher_udtrykket_<b>%1</b>
<field_name>=<feltnavn>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Kunne_ikke_finde_filen_'%0'<BR>linket_til_fra_posten_'%1'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Udpak_zip-filen_som_indeholder_import-_og_eksportfiltre_for<BR>EndNote,_for_bedst_mulig_kompatibilitet_med_JabRef</HTML>
<no_field>=<ingen_felter>
<select>=<v\u00E6lg>
<select_word>=<v\u00E6lg_ord>
@@ -107,7 +106,6 @@ AUX_file_import=AUX-fil_import
Available_export_formats=Tilg\u00E6ngelige_eksportformater
Available_fields=Tilg\u00E6ngelige_felter
Available_import_formats=Tilg\u00E6ngelige_importformater
-Background_color_for_marked_entries=Baggrundsfarve_for_m\u00E6rkede_poster
Background_color_for_optional_fields=Baggrundsfarve_for_valgfrie_felter
Background_color_for_required_fields=Baggrundsfarve_for_obligatoriske_felter
Backup_old_file_when_saving=Lav_sikkerhedskopi_ved_gemning
@@ -1009,7 +1007,7 @@ The_URL_field_appears_to_be_empty_on_entry_number_=URL-feltet_ser_ud_til_at_v\u0
There_are_possible_duplicates_(marked_with_a_'D'_icon)_that_haven't_been_resolved._Continue?=Der_findes_mulige_dubletter_(m\u00E6rket_med_et_'D'-ikon)_som_ikke_er_blevet_h\u00E5ndteret._Forts\u00E6t?
There_is_no_entry_type=Ingen_posttype
this_button_will_update=denne_knap_vil_opdatere
-This_database_was_written_using_an_older_version_of_JabRef.=Denne_databasen_blev_gemt_fra_en_\u00E6ldre_version_af_JabRef.
+This_database_was_written_using_an_older_version_of_JabRef.=Denne_database_blev_gemt_i_en_\u00E6ldre_version_af_JabRef.
This_entry_has_no_BibTeX_key._Generate_key_now?=Denne_post_har_ingen_BibTeX-n\u00F8gle._Generer_n\u00F8gle_nu?
This_entry_is_incomplete=Denne_post_er_ufuldst\u00E6ndig
This_entry_type_cannot_be_removed.=Denne_posttype_kan_ikke_slettes.
@@ -1192,11 +1190,12 @@ Legacy_file_fields=For\u00E6ldede_fil-felter
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=Dette_f\u00E5r_JabRef_til_at_sl\u00E5_hver_%0-endelse_op_og_tjekke,_om_filen_eksisterer._Hvis_ikke_vil_du_f\u00E5_mulighed_for_at<br>l\u00F8se_problemet.
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=K\u00F8r_henter,_dvs._"--fetch\=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=K\u00F8r_hentev\u00E6rkt\u00F8j,_f.eks._"--fetch\=Medline\:cancer"
Override_legacy_file_fields=Tilsides\u00E6t_for\u00E6ldede_fil-felter
The_ACM_Digital_Library=ACM_Digital_Library
+Reset=Nulstil
Use_IEEE_LaTeX_abbreviations=Brug_IEEE-LaTeX-forkortelser
The_Guide_to_Computing_Literature=The_Guide_to_Computing_Literature
@@ -1224,7 +1223,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Kunne_ikke_finde_fuldt
Connection_error_when_trying_to_find_full_text_document.=Forbindelsesfejl_under_fors\u00F8g_p\u00E5_at_finde_fuldtekst-dokument.
This_entry_provides_no_URL_or_DOI_links.=Denne_post_indeholder_ingen_URL-_eller_DOI-links.
Full_text_article_download_failed=Download_af_fuldtekst-dokument_mislykkedes
-Down_up=Flyt_ned
Update_to_current_column_order=Brug_nuv\u00E6rende_kolonner\u00E6kkef\u00F8lge
Rename_field=Omd\u00F8b_felt
@@ -1330,7 +1328,39 @@ No_entries_found._It_looks_like_you_do_not_have_access_to_search_JStor.=Ingen_po
Search_ScienceDirect=S\u00F8g_i_ScienceDirect
Error_while_fetching_from_ScienceDirect=Fejl_under_hentning_fra_ScienceDirect
-Error_initializing_custom_export_format_from_string_'%0'=
-
-%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
-BibTeX_importer=
+Error_initializing_custom_export_format_from_string_'%0'=Fejl_ved_initialisering_af_brugerdefineret_eksportformat_fra_tekststrengen_'%0'
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_poster_fundet._For_at_reducere_serverbelastningen_vil_kun_%1_poster_blive_hentet._Det_vil_g\u00E5_meget_langsomt_for_g\u00F8re_ACM_glade.
+BibTeX_importer=BibTeX-import\u00F8r
+
+BibLaTeX_mode=BibLaTeX-tilstand
+Optional_fields_2=Valgfri_felter_2
+Please_wait=Vent_venligst
+Waiting_for_save_operation_to_finish=Venter_p\u00E5_gemme-operation
+Resolving_duplicate_BibTeX_keys...=Udreder_dublerede_BibTeX-n\u00F8gler...
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Udredning_af_dublerede_BibTeX-n\u00F8gler_afsluttet._%0_poster_\u00E6ndret.
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=Denne_database_indeholder_en_eller_flere_dublerede_BibTeX-n\u00F8gler.
+Do_you_want_to_resolve_duplicate_keys_now?=Vil_du_udrede_dublerede_BibTeX-n\u00F8gler_nu?
+
+Find_and_remove_duplicate_BibTeX_keys=Find_og_fjern_dublederede_BibTeX-n\u00F8gler
+Expected_syntax_for_--fetch='<name_of_fetcher>\:<query>'=Forventet_syntaks_for_--fetch\='<navn_p\u00E5_hentev\u00E6rkt\u00F8j>\:<foresp\u00F8rgsel>'
+Duplicate_BibTeX_key=Dubleret_BibTeX-n\u00F8gle
+Duplicate_key=Dubleret_n\u00F8gle
+Generate_key=Generer_n\u00F8gle
+Import_marking_color=Farve_til_m\u00E6rkning_af_importerede_poster
+Set_user_specific_file_directory=S\u00E6t_bruger-specifikt_filbibliotek
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Behold_gammel_version_af_indstillingen_for_filbibliotek_(af_hensyn_til_\u00E6ldre_versioner_af_JabRef)
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=Denne_version_benytter_en_ny_metode_til_at_gemme_den_database-specifikke<br>indstilling_for_filbibliotek._Dette_g\u00F8r_det_muligt_for_forskellige_brugere_af<br>den_samme [...]
+Legacy_file_directory_setting_found_-_clear_setting?=\u00C6ldre_version_af_indstilling_for_filbibliotek_fundet_-_slet_indstilling?
+Always_add_letter_(a,_b,_...)_to_generated_keys=Tilf\u00F8j_altid_bogstav_(a,_b,_...)_til_genererede_n\u00F8gler
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=Garant\u00E9r_unikke_n\u00F8gler_med_bogstaver_(a,_b,_...)
+Ensure_unique_keys_using_letters_(b,_c,_...)=Garant\u00E9r_unikke_n\u00F8gler_med_bogstaver_(b,_c,_...)
+Entry_editor_active_background_color=Aktiv_baggrundsfarve_i_postredigering
+Entry_editor_background_color=Baggrundsfarve_i_postredigering
+Entry_editor_font_color=Tekstfarve_i_postredigering
+Entry_editor_invalid_field_color=Farve_p\u00E5_ugyldige_felter_i_postredigering
+
+Table_and_entry_editor_colors=Farver_i_tabel_og_postredigering
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=En_automatisk_sikkerhedskopi_af_denne_database_blev_fundet._Det_kunne_indikere_
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=at_JabRef_ikke_lukkede_korrekt_ned,_sidst_filen_var_i_brug.
diff --git a/src/resource/JabRef_de.properties b/src/resource/JabRef_de.properties
index afffccf..d5fc48a 100644
--- a/src/resource/JabRef_de.properties
+++ b/src/resource/JabRef_de.properties
@@ -25,8 +25,6 @@
<field_name>=<Feldname>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Die_Datei_'%0',_die_vom_Eintrag<BR>'%1'_verlinkt_wird,_wurde_nicht_gefunden</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Entpacke_die_zip-Datei_mit_den_Import/Export-Filtern_f\u00FCr_EndNote,<BR>um_die_bestm\u00F6gliche_Kompatibilit\u00E4t_mit_JabRef_zu_gew\u00E4hrleisten</HTML>
-
<no_field>=<kein_Feld>
<select>=<ausw\u00E4hlen>
@@ -191,8 +189,6 @@ Available_fields=Verf\u00FCgbare_BibTeX-Felder
Available_import_formats=Verf\u00FCgbare_Importformate
-Background_color_for_marked_entries=Hintergrundfarbe_f\u00FCr_markierte_Eintr\u00E4ge
-
Background_color_for_optional_fields=Hintergrundfarbe_f\u00FCr_optionale_Felder
Background_color_for_required_fields=Hintergrundfarbe_f\u00FCr_ben\u00F6tigte_Felder
@@ -2019,12 +2015,12 @@ Move_the_keyboard_focus_to_the_entry_table=Tastatur-Fokus_auf_die_Tabelle_setzen
MIME_type=MIME-Typ
This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instance_of_JabRef<BR>instead_of_opening_a_new_instance._For_instance,_this_is_useful_when_you_open_a_file_in_JabRef<br>from_your_web_browser.<BR>Note_that_this_will_prevent_you_from_running_more_than_one_instance_of_JabRef_at_a_time.=Diese_Funktion_\u00F6ffnet_neue_oder_importierte_Dateien_in_einer_bereits_laufenden_Instanz_von_JabRef<BR>und_nicht_in_einem_neuen_Fenster._Das_ist_beispielsweise_n\u00FCtzlich,<BR>we [...]
-Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Beachten_Sie,_dass_diese_Einstellungen_nur_f\u00FCr_die_obsoleten_<b>pdf</b>-_und_<b>ps</b>-Felder_genutzt_werden.<BR>F\u00FCr_die_meisten_Benutzer_reicht_es_aus,_den_<b>Standard-Verzeichnis_f\u00FCr_Dateien</b>_zu_setzen.
+Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Beachten_Sie,_dass_diese_Einstellungen_nur_f\u00FCr_die_obsoleten_<b>pdf</b>-_und_<b>ps</b>-Felder_genutzt_werden.<BR>F\u00FCr_die_meisten_Benutzer_reicht_es_aus,_das_<b>Standard-Verzeichnis_f\u00FCr_Dateien</b>_zu_setzen.
Legacy_file_fields=Obsolete_Datei-Felder
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=JabRef_sucht_nach_jeder_%0-Dateiendung_und_\u00FCberpr\u00FCft,_ob_die_Datei_existiert.<br>Falls_nicht,_erhalten_Sie_Optionen,_um_das_Problem_zu_l\u00F6sen.
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Recherche_starten,_z.B._"--fetch=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Recherche_starten,_z.B._"--fetch\=Medline\:cancer"
Override_legacy_file_fields=Setze_obsolete_Datei-Felder_au\u00DFer_Kraft
@@ -2057,7 +2053,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Das_Volltext-Dokument_
Connection_error_when_trying_to_find_full_text_document.=Verbindungsfehler_beim_Versuch,_das_Volltext-Dokument_zu_finden.
This_entry_provides_no_URL_or_DOI_links.=Dieser_Eintrag_enth\u00E4lt_keine_URL-_oder_DOI-Links.
Full_text_article_download_failed=Herunterladen_des_Volltext-Beitrags_fehlgeschlagen
-Down_up=Nach_unten_verschieben
Update_to_current_column_order=Aktuelle_Spaltenanordnung_verwenden
Rename_field=Feld_umbenennen
@@ -2166,5 +2161,38 @@ Error_while_fetching_from_ScienceDirect=Fehler_beim_Abrufen_von_ScienceDirect
Error_initializing_custom_export_format_from_string_'%0'=Fehler_beim_Initialisieren_des_externen_Export-Format_aus_der_Zeichenkette_'%0'
-%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_Eintr\u00e4ge_gefunden._Um_die_Serverlast_zu_verringern,_werden_nur_%1_Datens\u00e4tze_heruntergeladen._Es_wird_sehr_langsam_sein,_um_keine_Probleme_mit_ACM_zu_bekommen.
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_Eintr\u00E4ge_gefunden._Um_die_Serverlast_zu_verringern,_werden_nur_%1_Datens\u00E4tze_heruntergeladen._Es_wird_sehr_langsam_sein,_um_keine_Probleme_mit_ACM_zu_bekommen.
BibTeX_importer=BibTeX-Import-Filter
+
+BibLaTeX_mode=Biblatex-Modus
+Optional_fields_2=Optionale_Felder_2
+Please_wait=Bitte_warten
+Waiting_for_save_operation_to_finish=Das_Ende_des_Speichervorgangs_wird_abgewartet
+Resolving_duplicate_BibTeX_keys...=Beseitige_doppelte_BibTeX-Keys...
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Beseitigen_doppelter_BibTeX-Keys_abgeschlossen._%0_Eintr\u00E4ge_ge\u00E4ndert.
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=Diese_Datei_enth\u00E4lt_einen_oder_mehrere_doppelte_BibTeX-Keys.
+Do_you_want_to_resolve_duplicate_keys_now?=Wollen_Sie_die_doppelten_Eintr\u00E4ge_jetzt_beseitigen?
+
+Find_and_remove_duplicate_BibTeX_keys=Finde_und_entferne_doppelte_BibTeX-Keys
+Expected_syntax_for_--fetch='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=Doppelter_BibTeX-Key
+Duplicate_key=Doppelter_Key
+Generate_key=Key_erstellen
+Import_marking_color=Farbe_zum_Markieren_von_importierten_Eintr\u00E4gen
+#Background_color_for_marked_entries=Hintergrundfarbe_f\u00FCr_markierte_Eintr\u00E4ge
+Set_user_specific_file_directory=Benutzerspezifisches_Dateiverzeichnis_angeben
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Obsolete_Dateiverzeichnis-Einstellungen_beibehalten_(f\u00FCr_altere_JabRef-Versionen)
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=Die_aktuelle_Version_verwendet_eine_neue_Methode_f\u00FCr_die_Einstellung_des<br>Dateiverzeichnisses._Damit_k\u00F6nnen_mehrere_Benutzer_einer_Datei_ihr_pers\u00F6nliches_ [...]
+Legacy_file_directory_setting_found_-_clear_setting?=Obsolete_Dateiverzeichnis-Einstellung_gefunden_-_Einstellung_l\u00F6schen?
+
+Always_add_letter_(a,_b,_...)_to_generated_keys=Immer_einen_Buchstaben_(a,_b,_...)_zum_BibTeX-Key_hinzuf\u00FCgen
+Ensure_unique_keys_using_letters_(a,_b,_...)=Eindeutige_Keys_mit_Buchstaben_(a,_b,_...)_sicherstellen
+Ensure_unique_keys_using_letters_(b,_c,_...)=Eindeutige_Keys_mit_Buchstaben_(b,_c,_...)_sicherstellen
+Entry_editor_active_background_color=Aktive_Hintergrundfarbe_des_Eintragseditors
+Entry_editor_background_color=Hintergrundfarbe_des_Eintragseditors
+Entry_editor_font_color=Schriftfarbe_des_Eintragseditors
+Entry_editor_invalid_field_color=Farbe_f\u00FCr_ung\u00FClte_Felder_im_Eintragseditor
+Table_and_entry_editor_colors=Tabellen-_und_Eintragseditor-Farben
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=Es_wurde_eine_automatische_Sicherheitskopie_dieser_Datei_gefunden._Das_k\u00f6nnte_darauf_hindeuten,_
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=dass_JabRef_nicht_korrekt_beendet_wurde,_als_diese_Datei_zuletzt_in_Gebrauch_war.
diff --git a/src/resource/JabRef_en.properties b/src/resource/JabRef_en.properties
index 09f2f3a..8da3b98 100644
--- a/src/resource/JabRef_en.properties
+++ b/src/resource/JabRef_en.properties
@@ -25,8 +25,6 @@
<field_name>=<field_name>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>
-
<no_field>=<no_field>
<select>=<select>
@@ -189,8 +187,6 @@ Available_fields=Allowed_BibTeX_fields
Available_import_formats=Available_import_formats
-Background_color_for_marked_entries=Background_color_for_marked_entries
-
Background_color_for_optional_fields=Background_color_for_optional_fields
Background_color_for_required_fields=Background_color_for_required_fields
@@ -2002,10 +1998,8 @@ This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instan
Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.
Legacy_file_fields=Legacy_file_fields
-%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.
-
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Run_Fetcher,_e.g._"--fetch=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"=Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"
Override_legacy_file_fields=Override_legacy_file_fields
The_ACM_Digital_Library=The_ACM_Digital_Library
@@ -2040,7 +2034,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Unable_to_find_full_te
Connection_error_when_trying_to_find_full_text_document.=Connection_error_when_trying_to_find_full_text_document.
This_entry_provides_no_URL_or_DOI_links.=This_entry_provides_no_URL_or_DOI_links.
Full_text_article_download_failed=Full_text_article_download_failed
-Down_up=Move_down
Update_to_current_column_order=Update_to_current_column_order
Rename_field=Rename_field
@@ -2151,4 +2144,39 @@ Search_ScienceDirect=Search_ScienceDirect
Error_while_fetching_from_ScienceDirect=Error_while_fetching_from_ScienceDirect
Error_initializing_custom_export_format_from_string_'%0'=Error_initializing_custom_export_format_from_string_'%0'
+
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.
BibTeX_importer=BibTeX_importer
+BibLaTeX_mode=BibLaTeX_mode
+Optional_fields_2=Optional_fields_2
+Please_wait=Please_wait
+Waiting_for_save_operation_to_finish=Waiting_for_save_operation_to_finish
+Resolving_duplicate_BibTeX_keys...=Resolving_duplicate_BibTeX_keys...
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=This_database_contains_one_or_more_duplicated_BibTeX_keys.
+Do_you_want_to_resolve_duplicate_keys_now?=Do_you_want_to_resolve_duplicate_keys_now?
+
+Find_and_remove_duplicate_BibTeX_keys=Find_and_remove_duplicate_BibTeX_keys
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'
+Duplicate_BibTeX_key=Duplicate_BibTeX_key
+Duplicate_key=Duplicate_key
+Generate_key=Generate_key
+Import_marking_color=Import_marking_color
+
+Set_user_specific_file_directory=Set_user_specific_file_directory
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_p [...]
+Legacy_file_directory_setting_found_-_clear_setting?=Legacy_file_directory_setting_found_-_clear_setting?
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=Ensure_unique_keys_using_letters_(a,_b,_...)
+Ensure_unique_keys_using_letters_(b,_c,_...)=Ensure_unique_keys_using_letters_(b,_c,_...)
+Always_add_letter_(a,_b,_...)_to_generated_keys=Always_add_letter_(a,_b,_...)_to_generated_keys
+
+Table_and_entry_editor_colors=Table_and_entry_editor_colors
+Entry_editor_font_color=Entry_editor_font_color
+Entry_editor_background_color=Entry_editor_background_color
+Entry_editor_active_background_color=Entry_editor_active_background_color
+Entry_editor_invalid_field_color=Entry_editor_invalid_field_color
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=An_autosave_file_was_found_for_this_database._This_could_indicate_
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.
\ No newline at end of file
diff --git a/src/resource/JabRef_fr.properties b/src/resource/JabRef_fr.properties
index 1214acd..d2b1600 100644
--- a/src/resource/JabRef_fr.properties
+++ b/src/resource/JabRef_fr.properties
@@ -16,7 +16,6 @@ _on_entry_number_=_pour_le_num\u00E9ro_d'entr\u00E9e_
%0_matches_the_term_<b>%1</b>=%0_correspond_au_terme_<b>%1</b>
<field_name>=<nom_de_champ>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Le_fichier_'%0'_n'a_pas_pu_\u00EAtre_trouv\u00E9_<BR>\u00E0_partir_du_lien_de_l'entr\u00E9e_'%1'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>D\u00E9compacter_le_fichier_zip_contenant_les_filtres_import/export_pour_Endnote,<BR>pour_une_interop\u00E9rabilit\u00E9_optimale_avec_JabRef</HTML>
<no_field>=<pas_de_champ>
<select_word>=<entrer_le_mot-clef>
<select>=<s\u00E9lectionner>
@@ -109,7 +108,6 @@ AUX_file_import=Importation_de_fichier_AUX
Available_export_formats=Formats_d'exportation_disponibles
Available_fields=Champs_BibTeX_disponibles
Available_import_formats=Formats_d'importation_disponibles
-Background_color_for_marked_entries=Couleur_d'arri\u00E8re-plan_pour_les_entr\u00E9es_marqu\u00E9es
Background_color_for_optional_fields=Couleur_d'arri\u00E8re-plan_pour_les_champs_optionnels
Background_color_for_required_fields=Couleur_d'arri\u00E8re-plan_pour_les_champs_requis
Backup_old_file_when_saving=Cr\u00E9er_une_copie_de_sauvegarde_lors_de_l'enregistrement
@@ -1155,7 +1153,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Impossible_de_trouver_
Connection_error_when_trying_to_find_full_text_document.=Erreur_de_connexion_lors_de_la_recherche_du_document_cit\u00E9.
This_entry_provides_no_URL_or_DOI_links.=Cette_entr\u00E9e_ne_fournit_pas_de_liens_URL_ou_DOI.
Full_text_article_download_failed=Echec_du_t\u00E9l\u00E9chargement_du_document_cit\u00E9
-Down_up=D\u00E9placer_vers_le_bas
Update_to_current_column_order=Enregistrer_l'ordre_actuel_des_colonnes
Rename_field=Renommer_le_champ
@@ -1266,3 +1263,37 @@ Error_while_fetching_from_ScienceDirect=Erreur_lors_de_la_recherche_ScienceDirec
Error_initializing_custom_export_format_from_string_'%0'=Erreur_lors_de_l'initialisation_du_format_d'exportation_personnalis\u00E9_\u00E0_partir_de_la_cha\u00EEne_'%0'
BibTeX_importer=Filtres_d'importation_BibTeX
+
+BibLaTeX_mode=mode_BibLaTeX
+Optional_fields_2=Champs_optionnels_2
+Please_wait=Patientez,_s'il_vous_pla\u00EEt
+Waiting_for_save_operation_to_finish=Attente_de_la_fin_de_l'op\u00E9ration_de_sauvegarde
+Resolving_duplicate_BibTeX_keys...=Traitement_des_clefs_BibTeX_dupliqu\u00E9es...
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Traitement_des_clefs_BibTeX_dupliqu\u00E9es_termin\u00E9._%0_entr\u00E9es_modifi\u00E9es.
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=Cette_base_contient_au_moins_une_clef_BibTeX_dupliqu\u00E9e.
+Do_you_want_to_resolve_duplicate_keys_now?=Voulez-vous_traiter_les_clefs_dupliqu\u00E9es_maintenant_?
+
+Find_and_remove_duplicate_BibTeX_keys=Recherche_et_supprime_les_clefs_BibTeX_dupliqu\u00E9es
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=Syntaxe_attendue_pour_--fetch\='<name_of_fetcher>\:<query>'
+Duplicate_BibTeX_key=Clef_BibTeX_dupliqu\u00E9e
+Duplicate_key=Clef_dupliqu\u00E9e
+Generate_key=G\u00E9n\u00E9rer_une_clef
+Import_marking_color=Importer_les_couleurs_de_marquage
+
+Set_user_specific_file_directory=Configurer_le_r\u00E9pertoire_de_fichiers_sp\u00E9cifique_\u00E0_l'utilisateur
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Conserver_la_configuration_obsol\u00E8te_du_r\u00E9pertoire_de_fichiers_(pour_les_anciennes_versions_de_JabRef)
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=La_version_actuelle_introduit_une_nouvelle_fa\u00E7on_de_stocker_la_configuration_du<br>r\u00E9pertoire_de_fichiers_pour_une_base_de_donn\u00E9es._Cela_permet_\u00E0_plusi [...]
+Legacy_file_directory_setting_found_-_clear_setting?=Une_configuration_obsol\u00E8te_du_r\u00E9pertoire_de_fichier_a_\u00E9t\u00E9_trouver_-_mettre_\u00E0_jour_?
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=Assurer_l'unicit\u00E9_des_clefs_(a,_b,_...)
+Ensure_unique_keys_using_letters_(b,_c,_...)=Assurer_l'unicit\u00E9_des_clefs_(b,_c,_...)
+Always_add_letter_(a,_b,_...)_to_generated_keys=Toujours_ajouter_une_lettre_(a,_b,_...)_aux_clefs_g\u00E9n\u00E9r\u00E9es
+
+Table_and_entry_editor_colors=Couleurs_de_la_table_et_de_l'\u00E9diteur_d'entr\u00E9es
+Entry_editor_font_color=Couleur_de_la_police_de_l'\u00E9diteur_d'entr\u00E9es
+Entry_editor_background_color=Couleur_du_fond_de_l'\u00E9diteur_d'entr\u00E9es
+Entry_editor_active_background_color=Couleur_du_fond_actif_de_l'\u00E9diteur_d'entr\u00E9es
+Entry_editor_invalid_field_color=Couleur_de_champ_invalide_de_l'\u00E9diteur_d'entr\u00E9es
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=Un_fichier_de_sauvegarde_automatique_a_\u00E9t\u00E9_trouv\u00E9_pour_cette_base_de_donn\u00E9es._Cela_pourrait_indiquer_
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=que_JabRef_ne_s'est_pas_arr\u00E9t\u00E9_proprement_lors_de_la_derni\u00E8re_utilisation_de_ce_fichier.
\ No newline at end of file
diff --git a/src/resource/JabRef_in.properties b/src/resource/JabRef_in.properties
new file mode 100644
index 0000000..49dd4a5
--- /dev/null
+++ b/src/resource/JabRef_in.properties
@@ -0,0 +1,1276 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+%0_contains_the_Regular_Expression_<b>%1</b>=%0_mengandung_Ekspresi_Reguler_<b>%1</b>
+%0_contains_the_term_<b>%1</b>=%_mengandung_istilah_<b>%1</b>
+%0_doesn't_contain_the_Regular_Expression_<b>%1</b>=%0_tidak_mengandung_Ekspresi_Reguler_<b>%1</b>
+%0_doesn't_contain_the_term_<b>%1</b>=%0_tidak_mengandung_istilah_<b>%1</b>
+%0_doesn't_match_the_Regular_Expression_<b>%1</b>=%0_tidak_sesuai_dengan_Ekspresi_Reguler_<b>%1</b>
+%0_doesn't_match_the_term_<b>%1</b>=%0_tidak_sesuai_dengan_istilah_<b>%1</b>
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_entri_ditemukan._Untuk_mengurangi_beban,_hanya_%1_akan_dimuaturun._Akan_lambat,_agar_ACM_gembira.
+%0_export_successful=%0_ekspor_berhasil
+%0_field_set=%0_bidang_ditetapkan
+%0_matches_the_Regular_Expression_<b>%1</b>=%0_sesuai_dengan_Ekspresi_Reguler_<b>%1</b>
+%0_matches_the_term_<b>%1</b>=%0_sesuai_dengan_istilah_<b>%1</b>
+%0_warnings=%0_peringatan
+,_includes_subgroups=,_termasuk_subgrup
+,_refines_supergroup=,_memperbaiki_supergrup
+</b>_-_dynamic_group_(=</b>_-_grup_dinamik_(
+</b>_-_dynamic_group_(<b>=</b>_-_grup_dinamik_(<b>
+</b>_-_static_group=</b>_-_grup_statik
+</b>_contains_<b>=</b>_kandungan_<b>
+<b>All_Entries</b>_(this_group_cannot_be_edited_or_removed)=<b>Semua_Entri</b>_(grup_ini_tidak_bisa_diubah_atau_dihapus)
+<field_name>=<nama_bidang>
+<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>tidak_bisa_menemukan_berkas_'%0'<BR>tautan_dari_entri_'%1'</HTML>
+<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Menguraikan_berkas_zip_yang_mengandung_tapisan_impor/ekspor_untukEndnote,<BR>agar_dapat_optimal_digunakan_dengan_JabRef</HTML>
+<no_field>=<tanpa_bidang>
+<select>=<pilih>
+<select_word>=<pilih_kata>
+_on_entry_number_=_pada_nomor_entri_
+A_CiteSeer_fetch_operation_is_currently_in_progress.=Pengambilan_data_dari_CiteSeer_sedang_berlangsung.
+A_CiteSeer_import_operation_is_currently_in_progress.=Proses_impor_dari_CiteSeer_sedang_berjalan.
+A_newer_version_of_this_plugin_is_already_installed.=Versi_terbaru_dari_plugin_ini_sudah_dipasang.
+A_string_with_that_label_already_exists=String_dengan_label_tadi_sudah_ada
+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)
+Abbreviate_names=Singkat_nama
+Abbreviated_%0_journal_names.=Aingkatan_%0_nama_jurnal.
+Abbreviation=Singkatan
+About_JabRef=Tentang_JabRef
+Abstract=Abstrak
+Accept=Terima
+Accept_change=Terima_perubahan
+Action=Aksi
+Add=Tambah
+Add_a_(compiled)_custom_ImportFormat_class_from_a_class_path._\nThe_path_need_not_be_on_the_classpath_of_JabRef.=Tambah_kelas_ImportFormat_dari_lokasi_class._\nLokasi_tidak_harus_pada_lokasi_kelas_JabRef.
+Add_a_(compiled)_custom_ImportFormat_class_from_a_Zip-archive.\nThe_Zip-archive_need_not_be_on_the_classpath_of_JabRef.=Tambah_suaian_kelas_ImportFormat_dari_arsip_Zip.\nLokasi_arsip_Zip_tidak_harus_dalam_lokasi_kelas_JabRef.
+add_entries_to_group=tambah_entri_ke_grup
+Add_entry_selection_to_this_group=Tambah_entri_pilihan_ke_grup_ini
+Add_from_folder=Tambah_dari_folder
+Add_from_jar=Tambah_dari_jar
+add_group=tambah_grup
+Add_Group=Tambah_Grup
+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_<b>%0</b>_field_does_not_contain_<b>%1</b>_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_<b>%1</b>_to_each_entry's_<b>%0</b>_field._Entries_can_be_removed_manually_from_this_group_by_selecting_them_then_using_the_context_menu._This_process_removes_the_term_<b>%1</b>_from_each_entry's_<b>%0</b>_field.=Tambahan,_entri_bidang_<b>%0</b>_yang_tidak_mengandung<b>%1</b>_dapat_d [...]
+Advanced=Tingkat_lanjut
+All_custom_file_types_will_be_lost._Proceed?=Semua_berkas_tipe_suaian_akan_hilang._Teruskan?
+All_Entries=Semua_Entri
+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
+All_subgroups_(recursively)=Semua_anak_grup_(rekursif)
+Allow_editing_in_table_cells=Ijinkan_menyunting_dalam_sel_tabel
+Always_add_letter_(a,_b,_...)_to_generated_keys=Selalu_tambah_huruf_(a,_b,_...)_untuk_kunci
+An_autosave_file_was_found_for_this_database._This_could_indicate_=Berkas_hasil_simpan_otomatis_ditemukan_dalam_basisdata_ini._Hal_ini_dapat_berindikasi_
+An_Error_occurred_while_fetching_from_OAI2_source_(%0)\:=Kesalahan_terjadi_ketika_mengambil_dari_sumber_OAI2_(%0)\:
+An_Error_occurred_while_fetching_from_SPIRES_source_(%0)\:=Kesalahan_terjadi_ketika_mengambil_dari_sumber_SPIRES_
+An_Exception_ocurred_while_accessing_'%0'=Kesalahan_terjadi_ketika_mengakses_'%0'
+An_SAXException_ocurred_while_parsing_'%0'\:=SAXException_terjadi_ketika_mengurai_'%0'\:
+and=dan
+and_inside_the_JabRef-jar\:=dan_didalam_JabRef-jar\:
+and_the_class_must_be_available_in_your_classpath_next_time_you_start_JabRef.=dan_kelas_tersebut_harus_dinyatakan_di_lokasi_kelas_waktu_menjalankan_JabRef.
+any_field_that_matches_the_regular_expression_<b>%0</b>=bidang_yang_sesuai_dengan_ekspresi_reguler_<b>%0</b>
+Appearance=Penampilan
+Append=Menambah
+Append_contents_from_a_BibTeX_database_into_the_currently_viewed_database=Menambah_isi_dari_basisdata_BibTeX_ke_basisdata_yang_sedang_dilihat_sekarang
+Append_database=Menambah_basisdata
+append_the_selected_text_to_bibtex_key=menambah_teks_pilihan_ke_kunci_bibtex
+Application=Aplikasi
+Apply=Terapkan
+Arguments_passed_on_to_running_JabRef_instance._Shutting_down.=Argumen_dimasukkan_pada_JabRef_yang_sedang_dibuka._Dimatikan.
+Assign_entry_selection_exclusively_to_this_group=Terapkan_pilihan_entri_hanya_ke_grup_ini
+Assign_exclusively_to_group=Diterapkan_hanya_pada_grup
+Assign_new_file=Terapkan_ke_berkas_baru
+Assign_the_original_group's_entries_to_this_group?=Terapkan_entri_grup_asli_ke_grup_ini?
+Assigned_%0_entries_to_group_"%1".=Diterapkan_%0_entri_ke_grup_"%1".
+Assigned_1_entry_to_group_"%0".=Diterapkan_1_entri_ke_grup_"%0".
+At_least_the_plug-in_'net.sf.jabref.core'_should_be_there.=Paling_tidak_plugin_'net.sf.jabref.core'_harus_ada.
+Attach_%0_file=Lampirkan_berkas_%0
+Attach_URL=Lampirkan_URL
+Attempt_to_autoset_%0_links_for_your_entries._Autoset_works_if_a_%0_file_in_your_%0_directory_or_a_subdirectory<BR>is_named_identically_to_an_entry's_BibTeX_key,_plus_extension.=Mencoba_atur_otomatis_%0_tautan_untuk_entri_anda._Pengaturan_otomatis_berfungsi_jika_berkas_%0_di_folder_%0_atau_subfolder<BR>diberi_nama_sama_dengan_kunci_BibTeX,_tambah_ekstensi.
+Attempting_SQL_export...=Seang_proses_ekspor_SQL...
+Attempting_SQL_import...=Mencoba_impor_SQL...
+Auto=Otomatis
+Autodetect_format=Deteksi_format_otomatis_
+Autogenerate_BibTeX_key=Kunci_BibTeX_dibuat_otomatis
+Autogenerate_BibTeX_keys=Kunci_BibTeX_dibuat_otomatis
+Autogenerate_groups=Grup_dibuat_otomatis
+autogenerate_keys=kunci_dibuat_otomatis
+Autolink_files_with_names_starting_with_the_BibTeX_key=Tautan_otomatis_berkas_dgn_nama_yang_sama_kunci_BibTeX
+Autolink_only_files_that_match_the_BibTeX_key=Tautan_otomatis_hanya_pada_berkas_sesuai_dgn_kunci_BibTeX
+Automatically_create_groups=Otomatis_membuat_grup
+Automatically_create_groups_for_database.=Otomatis_membuat_grup_untuk_basisdata.
+Automatically_created_groups=Grup_yang_dibuat_otomatis
+Automatically_hide_groups_interface_when_switching_to_a_database_that_contains_no_groups=Otomatis_sembunyikan_antarmuka_grup_ketika_merubah_ke_basisdata_yang_tidak_punya_grup
+Automatically_remove_exact_duplicates=Otomatis_menghapus_yang_sama
+Automatically_set_file_links_for_this_entry=Otomatis_membuat_tautan_berkas_untuk_entri_ini
+Automatically_show_groups_interface_when_switching_to_a_database_that_contains_groups=Otomatis_menampilkan_antarmuka_grup_ketika_merubah_ke_basisdata_yang_mempunyai_grup
+Autosave=Simpan_otomatis
+Autosave_interval_(minutes)=Interval_waktu_menyimpan_otomatis_(menit)
+Autosave_of_file_'%0'=Menyimpan_otomatis_berkas_'%0'
+Autoset=Pengaturan_otomatis
+Autoset_%0_field=Pengaturan_otomatis_bidang_%0
+Autoset_%0_links._Allow_overwriting_existing_links.=Pengaturan_otomatis_%0_tautan._Mengijinkan_menindih_tautan_yang_ada.
+Autoset_%0_links._Do_not_overwrite_existing_links.=Pengatuean_otomatis_%0_tautan._Tidak_boleh_menindih_tautan_yang_ada.
+Autoset_external_links=Pengaturan_otomatis_tautan_eksternal
+Autosetting_links=Pengaturan_otomatis_tautan
+AUX_file_import=Impor_berkas_AUX
+Available_export_formats=Format_ekspor_yang_dikenal
+Available_fields=Bidang_tersedia
+Available_import_formats=Format_impor_yang_dikenal
+Back=Kembali
+Background_color_for_marked_entries=Latar_untuk_entri_yang_ditandai
+Background_color_for_optional_fields=Latar_bidang_tambahan
+Background_color_for_required_fields=Latar_bidang_utama
+Backup_old_file_when_saving=Cadangan_berkas_lama_ketika_menyimpan
+Bad_Request_'%0'.=Permintaan_salah_'%0'.
+Before_saving,_please_edit_any_strings_containing_the_#_character.=Sebelum_menyimpan,_mohon_ubah_string_yang_mengandung_karakter_#.
+Beta_version=Versi_Beta
+Bibkey_to_filename_conversion=Konversi_Bibkey_ke_nama_berkas
+BibLaTeX_mode=Mode_BibLaTeX
+BibO_RDF=BibO_RDF
+BibTeX_importer=Penimpor_BibTeX
+BibTeX_key=Kunci_BibTeX
+BibTeX_key_generator=Pembuat_kunci_BibTeX
+BibTeX_key_is_unique.=Kunci_BibTeX_tidak_boleh_sama.
+BibTeX_key_not_set._Enter_a_name_for_the_downloaded_file=Kunci_BibTeX_belum_ditentukan._Tulis_nama_untuk_berkas_muat_turun
+BibTeX_source=Sumber_BibTeX
+BibTeXML=BibTeXML
+Binding=Gabung
+Broken_link=Tautan_rusak
+Browse=Jelajah
+by=oleh
+Calling_external_viewer...=Memanggil_penampil_eksternal
+Cancel=Batal
+Cannot_add_entries_to_group_without_generating_keys._Generate_keys_now?=Tidak_bisa_menambah_entri_ke_grup_tanpa_membuat_kunci._Membuat_kunci_sekarang?
+Cannot_connect_to_SQL_server_at_the_specified_host.=Tidak_bisa_menghubungi_pelayan_SQL_di_host_yang_dinyatakan.
+Cannot_merge_this_change=Tidak_bisa_menggagung_perubahan_ini
+Cannot_move_group_"%0"_down.=Tidak_bisa_meggeser_grup_"%0"_kebawah.
+Cannot_move_group_"%0"_left.=Tidak_bisa_meggeser_grup_"%0"_kekiri.
+Cannot_move_group_"%0"_right.=Tidak_bisa_meggeser_grup_"%0"_kekanan.
+Cannot_move_group_"%0"_up.=Tidak_bisa_meggeser_grup_"%0"_keatas.
+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.
+case_insensitive=huruf_besar_kecil_tidak_penting
+case_sensitive=memperhitungkan_huruf_besar_kecil
+Case_sensitive=Huruf_besar_kecil_tidak_penting
+change_assignment_of_entries=merubah_penugasan_entri
+Change_case=Merubah_huruf_besar/kecil
+Change_entry_type=Merubah_tipe_entri
+Change_file_type=Merubah_tipe_berkas
+change_key=merubah_kunci
+Change_of_Grouping_Method=Metubah_Metode_Grup
+change_preamble=merubah_preamble
+change_string_content=merubah_isi_string
+change_string_name=merubah_nama_string
+Change_table_column_and_General_fields_settings_to_use_the_new_feature=Merubah_kolom_tabel_dan_pengaturan_umum_bidang_dengan_menerapkan_fitur_baru
+change_type=merubah_tipe
+changed_=dirubah_
+Changed_font_settings=Pengaturan_huruf_berubah
+Changed_language_settings=Pengaturan_bahasa_berubah
+Changed_look_and_feel_settings=Pengaturan_penampilan_berubah
+Changed_preamble=Preamble_berubah
+Changed_type_to=Merubah_tipe_ke
+Changes_have_been_made_to_the_following_metadata_elements=Perubahan_telah_dilakukan_pada_elemen_metadata_berikut
+Characters_to_ignore=Karakter_diabaikan
+Check_existing_%0_links=Periksa_%0_tautan_yang_sudah_ada
+Check_links=Periksa_tautan
+Choose_the_URL_to_download._The_default_value_points_to_a_list_provided_by_the_JabRef_developers.=Pilih_URL_untuk_dimuaturun._Daftar_bawaan_diberikan_oleh_pengembang_JabRef.
+Cite_command=Perintah_acuan
+CiteSeer_Error=Kesalahan_CiteSeer
+CiteSeer_Fetch_Error=Kesalahan_mengambil_CiteSeer
+CiteSeer_Import_Error=Kesalahan_Impor_CiteSeer
+CiteSeer_Import_Fields=Bidang_impor_CiteSeer
+CiteSeer_Transfer=Transfer_CiteSeer
+Class_name=Nama_kelas
+Clear=Bersihkan
+clear_all_groups=bersihkan_semua_grup
+Clear_field=Bersihkan_bidang
+Clear_fields=Bersihkan_beberapa_bidang
+Clear_highlight=Bersihkan_highlight
+Clear_inputarea=Bersihkan_area_masukan
+Close=Tutup
+Close_dialog=Tutup_dialog
+Close_the_current_database=Tutup_basisdata_yang_sekarang
+Close_the_help_window=Tutup_jendela_bantuan
+Close_window=Tutup_jendela
+Closed_database=Basisdata_ditutup
+Collapse_subtree=Tutup_cabang_pohon
+Color_codes_for_required_and_optional_fields=Kode_warna_untuk_bidang_utama_dan_tambahan
+Color_for_marking_incomplete_entries=Tanda_untuk_entri_kosong
+Column_width=Lebar_kolom
+Command_line_id=id_perintah_baris
+Complete_record=Selesai_merekam
+Completed_Import_Fields_from_CiteSeer.=Selesai_impor_bidang_dari_CiteSeer.
+Connect=Menghubungi
+Connect_to_external_SQL_database=Menghubungi_basis_data_SQL_eksternal
+Connect_to_SQL_database=Menghubungi_basisdata_SQL
+Connect_to_SQL_Database=Menghubungi_Basisdata_SQL
+Connection_error_when_trying_to_find_full_text_document.=Kesalahan_koneksi_ketika_mencari_dokumen_teks_penuh.
+Connection_to_ACM_Portal_failed=Koneksi_ke_Porta_ACM_gagal
+Connection_to_IEEEXplore_failed=Koneksi_ke_IEEEXplore_gagal
+Contained_in=Terkandung_di
+Content=Isi
+Copied=Disalin
+Copied_cell_contents=Isi_sel_disalin
+Copied_key=Kunci_disalin
+Copied_keys=Kunci_disalin
+Copy=Salin
+Copy_BibTeX_key=Salin_kunci_bibTeX
+Copy_file_to_file_directory.=Salin_berkas_ke_direktori_berkas.
+Copy_files_to_file_directory.=Salin_berkas_ke_direktori_berkas.
+Copy_to_clipboard=Salin_ke_papan_klip
+Could_not_call_executable=Tidak_bisa_memanggil_yang_bisa_dijalankan
+Could_not_connect_to_a_running_gnuserv_process._Make_sure_that_Emacs_or_XEmacs_is_running,<BR>and_that_the_server_has_been_started_(by_running_the_command_'gnuserv-start').=Tidak_bisa_menghubungi_ke_proses_gnuserv_yang_berjalan._Pastikan_Emacs_atau_XEmacs_sedang_berjalan,<BR>dan_server_sudah_dijalankan_(dengan_perintah_'gnuserv-start').
+Could_not_connect_to_host=Tidak_bisa_menghubungi_host
+Could_not_connect_to_host_=Tidak_bisa_menghubungi_host
+Could_not_connect_to_Vim_server._Make_sure_that_Vim_is_running<BR>with_correct_server_name.=Tidak_bisa_menghubungi_server_Vim._Pastikan_Vim_sedang_berjalan<BR>dengan_nama_server_yang_sah.
+Could_not_determine_exception_message.=Tidak_bisa_menentukan_pesan_perkecualian.
+Could_not_determine_version_of_=Tidak_bisa_menentukan_versi_dari_
+Could_not_export_entry_types=Tidak_bisa_ekspor_tipe_entri
+Could_not_export_file=Tidak_bisa_ekspor_berkas
+Could_not_export_preferences=Tidak_bisa_ekspor_preferensi
+Could_not_find_a_suitable_import_format.=Tidak_bisa_menemukan_format_impor_yang_sesuai.
+Could_not_find_directory_for_%0-files\:_%1=Tidak_bisa_menemukan_direktori_untuk_%0-berkas\:_%1
+Could_not_find_fetcher_'%0'=Tidak_bisa_menemukan_pengambil_'%0'
+Could_not_find_file_'%0'.=Tidak_bisa_menemukan_berkas_'%0'.
+Could_not_find_image_file=Tidak_bisa_menemukan_berkas_gambar
+Could_not_find_layout_file=Tidak_bisa_menemukan_berkas_tataletak
+Could_not_import_entry_types=Tidak_bisa_impor_tipe_entri
+Could_not_import_preferences=Tidak_bisa_impor_preferensi
+Could_not_instantiate_%0_%1=Tidak_bisa_instansiasi_%0_%1
+Could_not_instantiate_%0_%1._Have_you_chosen_the_correct_package_path?=Tidak_bisa_instansiasi_%0_%1._Apakah_anda_sudah_memilih_lokasi_paket_yang_benar?
+Could_not_move_file=Tidak_bisa_meindah_berkas
+Could_not_open_link=Tidak_bisa_membuka_tautan
+Could_not_parse_number_of_hits=Tidak_bisa_mengurai_beberapa_hits
+Could_not_print_preview=Tidak_bisa_mencetak_pratampilan
+Could_not_resolve_import_format=Tidak_bisa_menyelesaikan_masalah_format_impor
+Could_not_run_the_'gnuclient'_program._Make_sure_you_have_the_gnuserv/gnuclient_programs_installed.=Tidak_bisa_menjalankan_program_'gnuclient'._Pastikan_anda_sudah_memasang_program_gnuserv/gnuclient.
+Could_not_run_the_'vim'_program.=Tidak_bisa_menjalankan_program_'vim'.
+Could_not_save,_file_locked_by_another_JabRef_instance.=Tidak_bisa_menyimpan,_berkas_dikunci_oleh_Jabref_yang_jalan.
+Could_not_save_file=Tidak_bisa_membuka_berkas
+Could_not_save_file._Character_encoding_'%0'_is_not_supported.=Tidak_bisa_menyimpan_berkas._Enkoding_karakter_'%0'_tidak_didukung.
+Couldn't_find_an_entry_associated_with_this_URL=Tidak_bisa_menemukan_entri_yang_berhubungan_dengan_URL_ini
+Couldn't_parse_the_'citeseerurl'_field_of_the_following_entries=Tidak_bisa_mengurai_bidang_'citeseerurl'_dari_entri_berikut
+Create_group=Membuat_grup
+Created_groups.=Grup_dibuat.
+crossreferenced_entries_included=entri_referensi_silang_diikutkan
+Current_content=Isi_sekarang
+Current_tmp_value=Angka_tmp_sekarang
+Current_value=Angka_sekarang
+Custom_entry_types=Tipe_entri_suaian
+Custom_entry_types_found_in_file=Tipe_entri_suaian_ditemukan_dalam_berkas
+Custom_icon_theme=Tema_ikon_suaian
+Custom_icon_theme_file=Berkas_tema_ikon_suaian_
+Custom_importers=Pengimpor_suaian
+Customize_entry_types=Tipe_entri_ubahsuai
+Customize_key_bindings=Ubahsuai_kunci_gabungan_
+Cut=Potong
+cut_entries=potong_entri
+cut_entry=potong_entri
+Cut_pr=Potong_pr
+Database_\:=Basisdata_\:
+Database_encoding=Enkoding_basisdata
+Database_has_changed._Do_you_want_to_save_before_closing?=Basisdata_sudah_berubah._Apakah_ingin_menyimpan_sebelum_menutup?
+Database_is_protected._Cannot_save_until_external_changes_have_been_reviewed.=Basisdata_dilindungi._Tidak_bisa_disimpan_sebelum_perubahan_eksternal_diperiksa.
+Database_properties=Properti_basisdata
+Database_protection=Perlindungan_basisdata
+Date_format=Format_tanggal
+Default=Bawaan
+Default_encoding=Enkoding_bawaan
+Default_grouping_field=Bidang_grup_bawaan
+Default_look_and_feel=Penampilan_artistik_bawaan
+Default_pattern=Pola_bawaan
+Default_sort_criteria=Kriteria_pengurutan_bawaan
+Define_'%0'=Mendefinisi_'%0'
+defined.=didefinisikan.
+Delete=Hapus
+Delete_custom=Menghapus_suaian
+Delete_custom_format=Menghapus_format_suaian
+delete_entries=hapus_entri
+Delete_entry=Hapus_entri
+delete_entry=hapus_entri
+Delete_multiple_entries=Hapus_entri_berganda
+Delete_plugin=Hapus_plugin
+Delete_plugins=Hapus_plugin
+Delete_rows=Hapus_baris
+Delete_strings=Hapus_string
+Delete_the_%0_selected_plugins?=Menghapus_%0_plugin_pilihan?
+Delete_the_selected_plugin?=Hapus_plugin_pilihan?
+Deleted=Dihapus
+Delimit_fields_with_semicolon,_ex.=Batas_bidang_dengan_titik_koma,_misal,
+Derby=Derby
+Descending=Urutan_menurun
+Description=Deskripsi
+Deselect_all=Lepas_semua_pilihan
+Deselect_all_duplicates=Lepas_semua_pilihan_duplikasi
+Details=Perincian
+Disable_entry_editor_when_multiple_entries_are_selected=Penyunting_entri_tidak_aktif_ketika_beberapa_entri_dipilih
+Disable_file_renaming_in_non-native_file_dialog=Penamaan_ulang_berkas_tidak_aktif_pada_dialog_berkas_bukan_asli
+Disable_this_confirmation_dialog=Dialog_konfirmasi_ini_tidak_aktif
+Disable_this_warning_dialog=Dialog_peringatan_ini_tidak_aktif
+Display_all_entries_belonging_to_one_or_more_of_the_selected_groups.=Tampilkan_semua_entri_yang_ada_di_grup_pilihan.
+Display_all_error_messages=Tampilkan_semua_pesan_kesalahan
+Display_help_on_command_line_options=Tampilkan_bantuan_pada_opsi_perindah_baris
+Display_imported_entries_in_an_inspection_window_before_they_are_added.=Tampilkan_entri_impor_di_jendela_inspeksi_sebelum_ditambahkan
+Display_only_entries_belonging_to_all_selected_groups.=Tampilkan_entri_hanya_yang_ada_di_grup_pilihan.
+Display_version=Tampilkan_versi
+Displaying_no_groups=Grup_tidak_ditampilkan
+Do_not_abbreviate_names=Jangan_singkat_nama
+Do_not_autoset=Jangan_pengaturan_otomatis
+Do_not_import_entry=Jangan_impor_entri
+Do_not_open_any_files_at_startup=Jangan_buka_berkas_saat_menjalankan
+Do_not_overwrite_existing_keys=Jangan_menindih_kunci_yang_ada
+Do_not_show_splash_window_at_startup=Jangan_menampilkan_jendela_info_ketika_memulai
+Do_not_show_these_options_in_the_future=Untuk_selanjutnya_Jangan__tampilkan_ini_lagi
+Do_not_wrap_the_following_fields_when_saving=Jangan_lipat_bidang_berikut_ketika_menyimpan
+Do_not_write_the_following_fields_to_XMP_Metadata\:=Jangan_menulis_bidang_dibawah_pada_Metadata_XMP\:
+Do_you_want_JabRef_to_do_the_following_operations?=Apakah_anda_ingin_JabRef_melakukan_proses_berikut?
+Do_you_want_to_override_the_file_lock?=Apakah_anda_ingin_menindih_kunci_berkas?
+Do_you_want_to_recover_the_database_from_the_autosave_file?=Apakah_anda_ingin_mengembalikan_basisdata_dari_berkas_simpan_otomatis?
+Do_you_want_to_resolve_duplicate_keys_now?=Apakah_anda_ingin_menyelesaikan_masalah_kunci_sama_sekarang?
+Docbook=Docbook
+Done=Selesai
+Down=Kebawah
+Download=Muaturun
+Download_completed=Muaturun_selesai
+Download_file=Muaturun_berkas
+Download_plugin=Muaturun_plugin
+Downloading...=Sedang_muaturun...
+Drag_and_Drop_Error=Kesalahan_Seret_dan_Letak
+Drop_%0=Letakkan_%0
+duplicate_BibTeX_key=kunci_BibTeX_sama
+Duplicate_BibTeX_key=kunci_BibTeX_sama
+Duplicate_BibTeX_key.=Kunci_BibTeX_sama.
+Duplicate_BibTeX_key._Grouping_may_not_work_for_this_entry.=Kunci_BibTeX_sama._Entri_ini_tidak_bisa_untuk_grup.
+Duplicate_key=Kunci_sama
+Duplicate_Key_Warning=Peringatan_Kunci_Sama
+Duplicate_pairs_found=Ditemukan_pasangan_sama
+duplicate_removal=penghapus_yang_sama
+Duplicate_string_name=Nama_string_sama
+Duplicates_found=Ditemukan_ada_yang_sama
+Duplicates_removed=Yang_sama_dihapus
+Dynamic_groups=Grup_dinamik
+Dynamically_group_entries_by_a_free-form_search_expression=Entri_grup_dinamik_dengan_ekspresi_pencarian_bebas
+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
+Edit_custom_export=Sunting_ekspor_suaian
+Edit_entry=Sunting_entri
+Edit_file_link=Sunting_berkas_tautan
+Edit_file_type=Sunting_tipe_berkas
+Edit_group=Sunting_grup
+Edit_journal=Sunting_jurnal
+Edit_preamble=Sunting_preamble
+Edit_strings=Sunting_string
+Editor_options=Pilihan_Penyunting
+empty_BibTeX_key=kunci_BibTeX_kosong
+Empty_BibTeX_key.=Kinci_BibTeX_kosong.
+Empty_BibTeX_key._Grouping_may_not_work_for_this_entry.=Kunci_BibTeX_kosong._Grup_tidak_bisa_menggunakan_entri_ini.
+empty_database=basisdata_kosong
+Enable_source_editing=Aktifkan_penyuntingan_sumber
+Enable_word/name_autocompletion=Otomatis_melengkapi_kata/nama
+Endnote=Endnote
+Enforce_legal_characters_in_BibTeX_keys=Menggunakan_karakter_legal_untuk_kunci_BibTeX
+Ensure_unique_keys_using_letters_(a,_b,_...)=Pastikan_kunci_unik_dengan_huruf_(a,_b,_...)
+Ensure_unique_keys_using_letters_(b,_c,_...)=Pastikan_kunci_unik_dengan_huruf_(b,c,_...)
+Enter_download_URL=Tulis_URL_muaturun
+Enter_URL=Tulis_URL
+Enter_URL_to_download=Tulis_URL_untuk_muaturun
+entries=entri
+Entries_cannot_be_manually_assigned_to_or_removed_from_this_group.=Entri_tidak_bisa_diterapkan_secara_manual_atau_dihapus_dari_grup_ini.
+Entries_exported_to_clipboard=Entri_diekspor_ke_papan_klip
+entries_have_undefined_BibTeX_key=entri_belum_mempunyai_kunci_BibTeX
+entries_into_new_database=entri_ke_basisdata_baru
+entry=entri
+Entry_editor=Penyunting_entri
+Entry_editor_active_background_color=Latar_penyunting_entri_aktif
+Entry_editor_background_color=Latar_penyunting_entri
+Entry_editor_font_color=Huruf_penyunting_entri
+Entry_editor_invalid_field_color=Entri_bidang_tidak_valid
+Entry_in_current_database=Entri_di_basisdata_sekarang
+Entry_in_import=Entri_dalam_impor
+Entry_preview=Pratampilan_entri
+Entry_table=Tabel_entri
+Entry_table_columns=Kolom_tabel_entri
+Entry_type=Tipe_entri
+Entry_type_names_are_not_allowed_to_contain_white_space_or_the_following_characters=Entri_tipe_nama_tidak_diijinkan_mengandung_spasi_kosong_atau_karakter_berikut
+Entry_types=Tipe_entri
+Error=Kesalahan
+Error\:_=Kesalahan\:_
+Error_converting_Bibtex_to_XMP:_%0=Kesalahan_merubah_BibTeX_ke_XMP:_%0
+Error_converting_Bibtex_to_XMP\:_%0=Kesalahan_merubah_Bibtex_ke_XMP\:_%0
+Error_converting_XMP_to_'%0'...=Kesalahan_merubah_XMP_ke_'%0'...
+Error_exporting_to_clipboard=Kesalahan_mengekspor_ke_papan_klip
+Error_fetching_from_Citeseer\:\\n=Ada_kesalahan_ketika_mengambil_dari_Citeseer\:\\n
+Error_fetching_from_Citeseer\:\n=Ada_kesalahan_ketika_mengambil_dari_Citeseer\:\n
+Error_in_field=Kesalahan_dalam_bidang
+Error_in_starting_plug-in_system._Starting_without,_but_some_functionality_may_be_missing.=Ada_kesalahan_ketika_menjalankan_sistem_plugin._Tetap_menjalankan_tetapi_fungsinya_tidak_sempurna.
+Error_initializing_custom_export_format_from_string_'%0'=Ada_kesalahan_menentukan_format_ekspor_suaian_dari_string_'%0'
+Error_occured_when_parsing_entry=Kesalahan_terjadi_ketika_mengurai_entri
+Error_opening_autosave_of_'%0'._Trying_to_load_'%0'_instead.=Kesalahan_ketika_membuka_simpanan_otomatis_'%0'._Gantinya_memuat_'%0'.
+Error_opening_file=Kesalahan_ketika_membuka_berkas
+Error_opening_file_'%0'.=Kesalahan_ketika_membuka_berkas_'%0'.
+Error_setting_field=Kesalahan_pengaturan_bidang
+Error_while_converting_BibtexEntry_to_XMP_%0=Kesalahan_ketika_merubah_BibtexEntry_ke_XMP_%0
+Error_while_downloading_file\:=Kesalahan_ketika_muaturun_berkas\:
+Error_while_fetching_from_JSTOR=Kesalahan_ketika_mengambil_dari_JSTOR
+Error_while_fetching_from_OIA2=Kesalahan_ketika_mengambil_dari_OIA2
+Error_while_fetching_from_ScienceDirect=Kesalahan_ketika_mengambil_dari_ScienceDirect
+Error_while_fetching_from_Spires\:_=Kesalahan_ketika_mengambil_dari_Spires\:_
+Error_while_writing=Kesalahan_ketika_menulis
+Error_writing_to_%0_file(s).=Kesalahan_menulis_ke_berkas_%0.
+Error_writing_XMP_to_file\:_%0=Kesalahan_ketika_menulis_XMP_ke_berkas\:_%0
+Establishing_SQL_connection...=Sedang_membuat_koneksi_SQL...
+Exceptions=Perkecualian
+Existing_file=Berkas_yang_ada
+exists._Overwrite?=sudah_ada._Ditindih?
+exists._Overwrite_file?=sudah_ada._Berkas_ditindih?
+Expand_subtree=Paparkan_cabang
+Expected_syntax_for_--fetch=Sintaks_yang_diharapkan_untuk_--mengambil
+Export=Ekspor
+Export_entries_in_their_original_order=Ekspor_entri_dengan_urutan_aslinya
+Export_entry_types=Ekspor_tipe_entri
+Export_in_current_table_sort_order=Ekspor_menurut_tabel_urutan_sekarang
+Export_name=Ekspor_nama
+Export_ordered_by_author/editor/year=Ekspor_dengan_urutan_penulis/penyunting/tahun
+Export_preferences=Preferensi_Ekspor
+Export_preferences_to_file=Ekspor_preferensi_ke_berkas
+Export_properties=Ekspor_properti
+Export_to_clipboard=Ekspor_ke_papan_klip
+Export_to_external_SQL_database=Ekspor_ke_basisdata_SQL_eksternal
+Export_to_SQL_database=Ekspor_ke_basisdata_eksternal
+Exporting=Proses_mengekspor
+Extension=Ekstensi
+External_changes=Perubahan_eksternal
+External_file_links=Tautan_berkas_eksternal
+External_files=Berkas_eksternal
+External_programs=Program_eksternal
+External_viewer_called=Penampil_eksternal_dijalankan
+Failed_to_read_groups_data_(unsupported_version:_%0)=Gagal_membaca_data_grup_(versi_tidak_didukung:_%0)
+Fetch=Mengambil
+Fetch_Articles_Citing_your_Database=Mengambil_Artikel_Mengacu_Basisdata_Anda
+Fetch_CiteSeer=Mengambil_CiteSeer
+Fetch_Citeseer=Mengamvil_Citeseer
+Fetched_all_citations_from_target_database.=Mengambil_semua_acuan_dari_basisdata_tujuan.
+Fetching_Citations=Mengambil_acuan
+Fetching_Identifiers=Mengambil_Pengenal
+Fetching_Medline_by_id...=mengambil_Medline_berdasar_id...
+Fetching_Medline_by_term...=Mengambil_Medline_berdasar_istilah...
+Field=Bidang
+field=bidang
+Field_content=Isi_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_sizes=Ukuran_bidang
+Field_to_filter=Bidang_ditapis
+Field_to_group_by=Bidang_ke_grup_berdasar
+Fields=Bidang
+File=Berkas
+file=berkas
+File_'%0'_is_already_open.=Berkas_'%0'_sudah_dibuka
+File_'%0'_not_found=Berkas_'%0'_tidak_ditemukan
+File_changed=Berkas_sudah_diubah
+File_dialog=Dialog_berkas
+File_directory=Lokasi_berkas
+File_directory_is_'%0'\:=Lokasi_berkas_adalah_'%0'\:
+File_directory_is_not_set_or_does_not_exist!=Lokasi_berkas_belum_ditentukan_atau_tidak_ada!
+File_directory_is_not_set_or_does_not_exist.=Lokasi_berkas_belum_ditentukan_atau_tidak_ada.
+File_download=Berkas_muatturun
+File_exists=Berkas_ada
+File_extension=Ekstensi_berkas
+File_has_been_updated_externally._What_do_you_want_to_do?=Berkas_diperbarui_dengan_program_eksternal._Apakah_yang_and_inginkan?
+File_is_locked_by_another_JabRef_instance.=Berkas_dikunci_oleh_JabRef_lain.
+File_locked=Berkas_dikunci
+File_moved=Berkas_dipindah
+File_not_found=Berkas_tidak_ditemukan
+File_type=Tipe_berkas
+File_updated_externally=Berkas_diperbarui_secara_eksternal
+filename=nama_berkas
+Files_opened=Berkas_dibuka
+Filter=Penapis
+Find_and_remove_duplicate_BibTeX_keys=Temukan_dan_hapus_kunci_BibTeX_yang_sama
+Finished_autosetting_external_links.=Selesai_pengaturan_otomatis_tautan_eksternal.
+Finished_downloading_full_text_document=Selesai_muaturun_dokumen_teks_lengkap
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Selesai_mengatasi_masalah_kunci_BibTeX_sama._%0_entri_diubah.
+Finished_synchronizing_%0_links._Entries_changed%c_%1.=Selesai_menyelaraskan_%0_tautan._Entri_diubah%c_%1.
+Finished_writing_XMP-metadata._Wrote_to_%0_file(s).=Selesai_menulis_XMP-metadata._Ditulis_ke_berkas_%0.
+Finished_writing_XMP_for_%0_file_(%1_skipped,_%2_errors).=Selesai_menulis_XMP_untuk_berkas_%0_(%1_dilewati,_%2_kesalahan).
+First_select_the_entries_you_want_keys_to_be_generated_for.=Pertama_pilih_entri_yang_anda_kehendaki_untuk_dibuat_kunci.
+Fit_table_horizontally_on_screen=Sesuaikan_ukuran_tabel_horisontal_sesuai_layar
+Float=Ambangan
+Float_marked_entries=Ambangan_ditandai_sebagai_entri
+Follow_DOI_or_URL_link_and_try_to_locate_PDF_full_text_document=Ikuti_tautan_DOI_atau_URL_dan_temukan_dokumen_PDF_lengkap
+Font_Family=Keluarga_Huruf
+Font_Preview=Pratampilan_Huruf
+Font_Size=Ukuran_Huruf
+Font_Style=Corak_huruf
+FontSelector=PemilihHuruf
+for=untuk
+Format_of_author_and_editor_names=Format_nama_penulis_dan_penyunting
+Format_String=Format_String
+Format_used=Format_digunakan
+Formatter_Name=Nama_Pemformat
+Formatter_not_found=Pemformat_tidak_ditemukan
+Formatter_not_found\:_%0=Pemformat_tidak_ditemukan\:_%0
+Forward=Maju
+found=ditemukan
+Found_%0_plugin(s)=Ditemukan_%0_plugin
+found_in_aux_file=ditemukan_dalam_berkas_aux
+Found_pdf_link,_but_received_the_wrong_MIME_type._This_could_indicate_that_you_don't_have_access_to_the_fulltext_article.=Menemukan_tautan_pdf,_tetapi_menerima_tipe_MIME_yang_salah._Menunjukkan_bahwa_anda_tidak_mempunyai_akses_artikel_teks_lengkap.
+Full_name=Nama_lengkap
+Full_text_article_download_failed=Gagal_muaturun_artikel_teks_lengkap
+General=Umum
+General_fields=Bidang_umum
+Generate=Membuat
+Generate_BibTeX_key=Membuat_kunci_BibTeX
+Generate_groups_for_author_last_names=Membuat_grup_untuk_nama_belakang_penulis
+Generate_groups_for_editor_last_names=Membuat_grup_untuk_nama_belakang_penyunting
+Generate_groups_from_keywords_in_a_BibTeX_field=Membuat_grup_dari_katakunci_di_bidang_BibTeX
+Generate_key=Membuat_kunci
+Generate_keys=Membuat_kunci
+Generate_keys_before_saving_(for_entries_without_a_key)=Buat_kunci_sebelum_menyimpan_(untuk_entri_tanpa_kunci)
+Generate_keys_for_imported_entries=Buat_kunci_untuk_entri_impor
+Generate_now=Membuat_sekarang
+Generated_BibTeX_key_for=Kunci_BibTeX_dibuat_untuk
+Generating_BibTeX_key_for=Membuat_kunci_BibTeX_untuk
+Global_search=Pencarian_global
+Grab=Ambil
+Gray_out_entries_not_in_group_selection=Kelabukan_entri_yang_tidak_dalam_pilihan_grup
+Gray_out_non-hits=Kelabukan_non-hits
+Gray_out_non-matching_entries=Kelabukan_entri_yang_tidak_sesuai
+Group_properties=Properti_grup
+grouping_may_not_work_for_this_entry=Entri_ini_tidak_akan_berfungsi_dalam_grup
+Groups=Grup
+Harvard_RTF=Harcard_RTF
+Have_you_chosen_the_correct_package_path?=Apakah_anda_sudah_memilih_lokasi_paket_yang_tepat?
+Help=Bantuan
+Help_contents=Daftar_isi_bantuan
+Help_on_groups=Bantuan_untuk_grup
+Help_on_key_patterns=Bantuan_untuk_pola_kunci
+Help_on_Preview_Settings=Bantuan_untuk_Pengaturan_Pratampilan
+Help_on_Regular_Expression_Search=Bantuan_untuk_Pencarian_Ekspresi_Reguler
+Hide_non-hits=Sembunyikan_non-hits
+Hide_non-matching_entries=Sembunyikan_entri_yang_tidak_sesuai
+Hierarchical_context=Konteks_berhirarki
+Highlight=Warnakan
+Highlight_groups_matching_all_selected_entries=Warnakan_grup_yang_sesuai_dengan_semua_entri_pilihan
+Highlight_groups_matching_any_selected_entry=Warnakan_grup_yang_sesuai_dengan_entri_pilihan
+Highlight_groups_that_contain_entries_contained_in_any_currently_selected_group=Warnakan_grup_yang_mengandung_entri_pada_grup_yang_dipilih
+Highlight_overlapping_groups=Warnakan_grup_yang_bertindih
+Hint%c_To_search_specific_fields_only,_enter_for_example%c<p><tt>author%esmith_and_title%eelectrical</tt>=Sarant%c_untuk_mencari_hanya_bidang_tertentu,_misal_tulis%c<p><tt>author%esmith_dan_title%eelectrical</tt>
+HTML=HTML
+HTML_parser=Pengurai_HTML
+HTML_table=Tabel_HTML
+HTML_table_(with_Abstract_&_BibTeX)=Tabel_HTML_(dengan_Abstrak_dan_BibTeX)
+Icon=Ikon
+Ignore=Abaikan
+Illegal_type_name=nama_tipe_tidak_sah
+Immediate_subgroups=sub-grup_seketika
+Import=Impor
+Import_and_keep_old_entry=Impor_dan_pertahankan_entri_lama
+Import_and_remove_old_entry=Impor_dan_hapus_entri_lama
+Import_canceled_by_user=Impor_dibatalkan_oleh_pengguna
+Import_Data_from_CiteSeer_Database=Impor_Data_dari_Basisdata_CiteSeer
+Import_entries=Impor_entri
+Import_entry_types=Impor_tipe_entri
+Import_failed=Impor_gagal
+Import_Fields_from_CiteSeer_Database=Impor_Bidang_dari_Basisdata_CiteSeer
+Import_file=Impor_berkas
+Import_group_definitions=Impor_definisi_grup
+Import_marking_color=Tanda_impor
+Import_name=Impor_nama
+Import_preferences=Preferensi_Impor
+Import_preferences_from_file=Impor_preferensi_dari_berkas
+Import_strings=Impor_string
+Import_to_open_tab=Impor_ke_tab_yang_dibuka
+Import_word_selector_definitions=Impor_definisi_pemilih_kata
+Imported_database=basisdata_diimpor
+Imported_entries=entri_diimpor
+Imported_entry_types=tipe_entri_diimpor
+Imported_from_database=diimpor_dari_basisdata
+ImportFormat_class=kelas_ImportFormat
+Importing=Sedang_mengimpor
+Importing_in_unknown_format=Mengimpor_pada_format_tidak_dikenal
+In_JabRef,_use_pairs_of_#_characters_to_indicate_a_string.=Di_JabRef,_gunakan_pasangan_karakter_#_untuk_menandai_string.
+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.
+Incremental=Bertahap
+Incremental_search=Pencarian_bertahap
+Incremental_search_failed._Repeat_to_search_from_top.=Pencarian_bertahap_gagal._Ulangi_pencarian_dari_atas.
+Independent_group\:_When_selected,_view_only_this_group's_entries=Grup_bebas\:_Ketika_dipilih,_lihat_hanya_entri_grup_ini
+Initially_show_groups_tree_expanded=Awalnya_grup_tampil_dengan_detail_dibuka
+Input=Masukan
+Input_error=Kesalahan_masukan
+Insert=Sisipkan
+Insert_rows=Sisipkan_baris
+Insert_selected_citations_into_LyX/Kile=Sisipkan_acuan_pilihan_ke_LyX/Kile
+Insert_selected_citations_into_Vim=Sisipkan_acuan_pilihan_ke_Vim
+Insert_selected_citations_into_WinEdt=Sisipkan_acuan_pilihan_ke_WinEdt
+insert_string_=sisipkan_string_
+Insert_URL=Sisipkan_URL
+Install_anyway?=Tetap_pasang?
+Install_plugin=Pasang_Plugin
+integrity=integritas
+Integrity_check=periksa_integritas
+Intersection=Interseksi
+Invalid_BibTeX_key=Kunci_BibTeX_salah
+Invalid_date_format=Format_hari_salah
+Invalid_URL=URL_salah
+Inverted=Dibalik
+is_a_standard_type.=adalah_tipe_standar.
+ISO_abbreviation=Singkatan_ISO
+Item_list_for_field=daftar_item_untuk_bidang
+jabref=jabref
+JabRef_help=Petunjuk_menggunakan_JabRef
+JabRef_preferences=Preferensi_JabRef
+Journal_abbreviations=Singkatan_nama_Jurnal
+Journal_list_preview=Tampilkan_daftar_Jurnal
+Journal_name=Nama_Jurnal
+Keep=Tetap
+Keep_both=Tetap_keduanya
+Keep_lower=Tetap_atas
+Keep_upper=Tetap_bawah
+Key_bindings=Gabungan_kunci
+Key_bindings_changed=Gabungan_kunci_berubah
+Key_generator_settings=Pengaturan_pembuat_kunci
+Key_pattern=Pola_kunci
+keys_in_database=daftar_kunci_di_basisdata
+Keyword=katakunci
+Label=Label
+Language=Bahasa
+Last_modified=Terakhir_diubah
+LaTeX_AUX_file=berkas_LaTeX_AUX
+Leave_file_in_its_current_directory.=Tinggalkan_berkas_di_direktori_yg_sekarang.
+Leave_files_in_their_current_directory.=Tinggalkan_berkas_di_direktori_yg_sekarang.
+Left=Kiri
+Legacy_file_directory_setting_found_-_clear_setting?=Berkas_legasi_pengaturan_direktori_ditemukan_-_hapus_pengaturan?
+Legacy_file_fields=Bidang_berkas_legasi
+License=Lisensi
+Limit_to_fields=Batasi_ke_bidang
+Limit_to_selected_entries=Batasi_ke_entri_pilihan
+Line_%0\:_Found_corrupted_BibTeX-key.=Baris_%0\:_Ditemukan_kunci_BibTeX_ada_kesalahan.
+Line_%0\:_Found_corrupted_BibTeX-key_(comma_missing).=Baris_%0\:_Ditemukan_kunci_BibTeX_ada_kesalahan_(tidak_ada_koma).
+Line_%0\:_Found_corrupted_BibTeX-key_(contains_whitespaces).=Baris_%0\:_Ditemukan_kunci_BibTeX_ada_kesalahan_(mengandung_spasi_kosong).
+Link=Tautan
+Link_local_file=Tautan_berkas_lokal
+Link_to_file_%0=Tautan_ke_berkas_%0
+Listen_for_remote_operation_on_port=Menggunakan_operasi_jarak_jauh_pada_port
+Load_and_Save_preferences_from/to_jabref.xml_on_start-up_(memory_stick_mode)=Muat_dan_Simpan_preferensi_dari/ke_jabref.xml_ketika_memulai_(mode_pena_simpan)
+Load_session=Sesi_muat
+Loaded=Dimuat
+Loading_session...=Sesi_pemuatan...
+localhost=host_lokal
+Look_and_feel=Penampilan_artistik
+Looking_for_full_text_document...=Sedang_mencari_dokumen_teks_lengkap...
+Looking_for_pdf...=Sedang_mencari_pdf...
+lower=bawah
+Main_file_directory=Lokasi_berkas_utama
+Main_layout_file=Berkas_tataletak_utama
+Main_PDF_directory=Lokasi_utama_PDF
+Main_PS_directory=Lokasi_utama_PS
+Manage=Mengatur
+Manage_custom_exports=Mengatur_ekspor_suaian
+Manage_custom_imports=Mengatur_impor_suaian
+Manage_external_file_types=Pengaturan_program_eksternal
+Manage_journal_abbreviations=Pengaturan_singkatan_jurnal
+Mark_entries=Tandai_entri
+Mark_entries_imported_into_an_existing_database=Tandai_entri_impor_di_basisdata_yang_sudah_ada
+Mark_entry=Tandai_entri
+Mark_new_entries_with_addition_date=Tandai_entri_baru_dengan_tambahan_tanggal
+Mark_new_entries_with_owner_name=Tandai_entri_baru_dengan_nama_pemilik
+Marked_selected=Tandai_pilihan
+Medline_import_canceled=Impor_Medline_dibatalkan
+Memory_Stick_Mode=Mode_Pena_Simpan
+Menu_and_label_font_size=Ukuran_huruf_menu_dan_label
+Merged_external_changes=Menggabung_perubahan_eksternal
+Messages=Pesan
+Messages_and_Hints=Pesan_dan_Saran
+Metadata_change=Perubahan_Metadata
+MIME_type=Tipe_MIME
+Modification_of_field=Modifikasi_bidang
+Modified_group_"%0".=Grup_dimodifikasi_"%0".
+Modified_groups=Grup_dimodifikasi
+Modified_string=String_dimodifikasi
+Modify=Memodifikasi
+modify_group=memodifikasi_grup
+MODS=MODS
+Move=Memindah
+Move/Rename_file=Memindah/Menamai_berkas
+Move/rename_file=Memindah/menamai_berkas
+Move_contents_of_a_field_into_a_field_with_a_different_name=Pindah_isi_dari_bidang_ke_bidang_lain_dengan_nama_lain
+Move_down=Pindah_kebawah
+Move_entries_in_group_selection_to_the_top=Pindah_entri_dalam_grup_pilihan_ke_atas
+Move_external_links_to_'file'_field=Pindah_tautan_eksternal_ke_bidang_'berkas'
+Move_file_failed=Gagal_memindah_berkas
+Move_file_to_file_directory.=Pindah_berkas_ke_direktori_berkas.
+Move_file_to_file_directory?=Pindah_berkas_ke_direktori_berkas?
+Move_files_to_file_directory.=Pindah_berkas_ke_direktori_berkas.
+move_group=pindah_grup
+Move_string_down=Pindah_string_kebawah
+Move_string_up=Pindah_string_keatas
+Move_the_keyboard_focus_to_the_entry_table=Pindah_fokus_papanketik_ke_tabel_entri
+Move_to_file_directory=Pindah_ke_direntori_berkas
+Move_up=Pindah_keatas
+Moved_group_"%0".=Grup_dipindah_"%0".
+MS_Office_2007=MS_Office_2007
+MySQL=MySQL
+MySQL_database=basisdata_MySQL
+Name=Nama
+Name_formatter=Pemformat_nama
+Natbib_style=Gaya_Natbib
+nested_aux_files=berkas_aux_bertingkat
+New=Baru
+new=baru
+New_BibTeX_database=Basisdata_BibTeX_baru
+New_BibTeX_entry=Entri_BibTeX_baru
+New_BibTeX_subdatabase=Anak_basisdata_BibTeX_baru
+New_content=Isi_baru
+New_database_created.=Basisdata_baru_selesai_dibuat.
+New_field_value=Isi_bidang_baru
+New_file=Berkas_baru
+New_file_link_(INSERT)=Tautan_berkas_baru_(SISIPAN)
+New_group=Grup_baru
+New_string=String_baru
+Next_entry=Entri_berikutnya
+No_%0_found=Berkas_%0_tidak_ada
+No_actual_changes_found.=Tidak_ada_perubahan.
+no_base-bibtex-file_specified=tidak_ada_berkas_berbasis_bibtex_dinyatakan
+no_database_generated=tidak_ada_basisdata_dibuat
+No_duplicates_found=Tidak_ditemukan_duplikasi
+No_entries_found._It_looks_like_you_do_not_have_access_to_search_JStor.=Entri_tidak_ditemukan._Tampaknya_anda_tidak_mempunyai_akses_pencarian_JStor.
+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_entries_or_multiple_entries_selected.=Tidak_ada_satu_entri_pun_yang_dipilih.
+No_entries_selected=Tidak_ada_entri_yang_dipilih
+No_entries_selected.=Tidak_ada_entri_yang_dipilih.
+No_exceptions_have_ocurred.=Tidak_ada_perkecualian_yang_terjadi.
+No_files_found.=Berkas_tidak_ditemukan.
+No_GUI._Only_process_command_line_options.=Tidak_ada_GUI._Hanya_menggunakan_perintah_baris.
+No_journal_names_could_be_abbreviated.=Tidak_ada_nama_jurnal_yang_bisa_disingkat.
+No_journal_names_could_be_unabbreviated.=Tidak_ada_ada_nama_jurnal_yang_bisa_dipanjangkan.
+No_PDF_linked=Tidak_ada_tautan_PDF
+No_pdf_or_ps_defined,_and_no_file_matching_Bibtex_key_found=pdf_atau_ps_belum_didefinisikan,_dan_tidak_ada_berkas_yang_sesuai_dgn_kunci_BibTeX
+No_plugins_were_found_in_the_following_folders\:=Plugin_tidak_ditemukan_di_lokasi_berikut\:
+No_references_found=Referensi_tidak_ditemukan
+No_saved_session_found.=Tidak_ditemukan_sesi_yang_disimpan.
+No_url_defined=Tidak_ada_URL_didefinisikan
+No_XMP_metadata_found_in_=Tidak_ada_XMP_metadata_ditemukan_di_
+not=tidak
+not_found=tidak_ditemukan
+Not_loaded=Tidak_dimuat
+Not_saved_(empty_session)=Tidak_disimpan_(sesi_kosong)
+Note_that_the_entry_causing_the_problem_has_been_selected.=Catatan,_entri_yang_bermasalah_sudah_dipilih.
+Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Pengaturan_ini_hanya_mengatur_bidang_legasi_<b>pdf</b>_dan_<b>ps</b>_saja._<br>Pengguna_biasanya_cukup_mengatur_<b>Lokasi_berkas_utama</b>_diatas.
+Note_that_you_must_specify_the_fully_qualified_class_name_for_the_look_and_feel,=Anda_harus_menyatakan_nama_kelas_spesifik_yang_akan_digunakan
+Nothing_to_redo=Tidak_ada_yang_dibatalkan
+Nothing_to_undo=Tidak_ada_yang_dikembalikan
+Number_of_entries_successfully_imported=Jumlah_entri_yang_berhasil_diimpor
+Number_of_references_to_fetch?=Nomor_referensi_yang_diambil?
+occurences=kali
+OK=OK
+Ok=Ok
+Old_plugin_versions_will_be_deleted_next_time_JabRef_starts_up.=Versi_plugin_lama_akan_dihapus_ketika_JabRef_dijalankan_ulang.
+Old_versions_deleted_successfully.=Versi_lama_berhasil_dihapus.
+One_or_more_file_links_are_of_the_type_'%0',_which_is_undefined._What_do_you_want_to_do?=Satu_atau_lebih_tautan_berkas_dari_tipe_'%0',_yang_tidak_didefinisikan._Apa_yang_anda_inginkan?
+One_or_more_keys_will_be_overwritten._Continue?=Satu_atau_lebih_kunci_akan_ditindih._Teruskan?
+One_or_more_older_versions_of_this_plugin_is_installed._Delete_old_versions?=Satu_atau_lebih_versi_lama_dari_plugin_ini_dipasang._Hapus_versi_lama?
+Only_one_item_is_supported=Hanya_satu_saja_yang_didukung
+Open=Buka
+Open_BibTeX_database=Buka_basisdata_BibTeX
+Open_database=Buka_basisdata
+Open_editor_when_a_new_entry_is_created=Buka_penyunting_ketika_entri_baru_dibuat
+Open_file=Buka_berkas
+Open_last_edited_databases_at_startup=Buka_basisdata_terakhir_ketika_memulai
+Open_PDF_or_PS=Buka_PDF_atau_PS
+Open_right-click_menu_with_Ctrl+left_button=Buka_menu_klik_kanan_dengan_tombol_Ctrl+kiri
+Open_SPIRES_entry=Buka_entri_SPIRES
+Open_URL_or_DOI=Buka_URL_atau_DOI
+OpenDocument_Spreadsheet=Lembarkerja_OpenDocument
+Opened_database=Basisdata_dibuka
+Opening=Membuka
+Opening_preferences...=Membuka_preferensi...
+OpenOffice_Calc=OpenOffice_Calc
+OpenOffice_CSV=OpenOffice_CVS
+Operation_canceled.\n=Operasi_dibatalkan.\n
+Operation_not_supported=Operasi_tidak_didukung
+Optional_fields=Bidang_tambahan
+Optional_fields_2=Bidang_tambahan_2
+Options=Pilihan
+or=atau
+out_of=dari
+Output=Keluaran
+Output_or_export_file=Keluaran_atau_berkas_ekspor
+Override=Ganti
+Override_default_file_directories=Ganti_direktori_berkas_bawaan
+Override_default_font_settings=Ganti_ukuran_huruf_bawaan
+Override_legacy_file_fields=Ganti_bidang_berkas_legasi
+override_the_bibtex_key_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
+pairs_processed=proses_berpasangan
+Password_\:=Katalaluan_\:
+Paste=Tempel
+paste_entries=tempel_entri
+paste_entry=tempel_entri
+Paste_from_clipboard=Tempel_dari_papan_klip
+Pasted=Ditempel
+Path_to_%0_not_defined=Lokasi_%0_tidak_ada
+Path_to_LatexEditor_(LEd.exe)=Lokasi_LatexEditor_(LEd.exe)
+Path_to_LyX_pipe=Lokasi_pipa_LyX
+Path_to_Vim=Lokasi_Vim
+Path_to_WinEdt.exe=Lokasi_WinEdt.exe
+PDF_directory=Lokasi_PDF
+PDF_does_not_exist=PDF_tidak_ada
+Personal_journal_list=Daftar_jurnal_pribadi
+Plain_text_import=Impor_teks_normal
+Please_check_your_network_connection_to_this_machine.=Mohon_periksa_koneksi_jaringan_ke_mesin_ini.
+Please_enter_a_comma_separated_list_of_Medline_IDs_(numbers)_or_search_terms.=Gunakan_pemisah_koma_dari_ID_Medline_(angka)_atau_cari_istilah.
+Please_enter_a_name_for_the_group.=Tuliskan_nama_untuk_grup.
+Please_enter_a_search_term._For_example,_to_search_all_fields_for_<b>Smith</b>,_enter%c<p><tt>smith</tt><p>To_search_the_field_<b>Author</b>_for_<b>Smith</b>_and_the_field_<b>Title</b>_for_<b>electrical</b>,_enter%c<p><tt>author%esmith_and_title%eelectrical</tt>=Tuliskan_kata_pencarian._Contoh,_untuk_mencari_di_semua_bidang_<b>Smith</b>,_tulis%c<p><tt>smith</tt><p>Untuk_mencari_pada_bidang_<b>Author</b>_untuk_<b>Smith</b>_dan_pada_bidang_<b>Title</b>_untuk_<b>electrical</b>,_tulis%c<p><t [...]
+Please_enter_a_valid_number=Tuliskan_nomor_yang_benar
+Please_enter_the_field_to_search_(e.g._<b>keywords</b>)_and_the_keyword_to_search_it_for_(e.g._<b>electrical</b>).=Tulis_bidang_pencarian_(misal_<b>keywords</b>)_dan_katakunci_untuk_mencari_(misal_<b>electrical</b>).
+Please_enter_the_string's_label=Tuliskan_label_string
+Please_refer_to_the_JabRef_help_manual_on_using_the_CiteSeer_tools=Silahkan_mengacu_pada_bantuan_JabRef_untuk_penggunaan_alatbantu_CiteSeer
+Please_refer_to_the_JabRef_help_manual_on_using_the_CiteSeer_tools.=Silahkan_mengacu_pada_bantuan_JabRef_untuk_penggunaan_alatbantu_CiteSeer.
+Please_select_an_importer=Silahkan_pilih_pengimpor
+Please_select_an_importer.=Silahkan_pilih_pengimpor.
+Please_select_exactly_one_group_to_move.=Silahkan_pilih_satu_grup_yang_akan_dipindah.
+Please_specify_the_=Silahkan_nyatakan_
+Please_wait=Mohon_tunggu
+Please_wait!=Mohon_tunggu!
+Please_wait_until_it_has_finished.=Mohon_tunggu_sampai_selesai.
+Plugin_installation_failed.=Pemasangan_plugin_gagal.
+Plugin_installed_successfully._You_must_restart_JabRef_to_load_the_new_plugin.=Plugin_berhasil_dipasang._Anda_harus_menjalankan_ulang_JabRef_untuk_memuat_plugin_baru.
+Plugin_installer=Pemasang_plugin
+Plugin_manager=Pengelola_plugin
+Plugin_name=Nama_plugin
+Plugin_will_be_deleted_next_time_JabRef_starts_up.=Plugin_akan_dihapus_saat_JabRef_dijalankan_ulang.
+Plugins_installed_in_other_locations\:=Plugin_dipasang_di_lokasi_lain\:
+Plugins_installed_in_your_user_plugin_directory_(%0)\:=Plugin_dipasang_di_direktori_pengguna_plugin_(%0)\:
+Plugins_will_be_deleted_next_time_JabRef_starts_up.=Plugin_akan_dihapus_saat_JabRef_dijalankan_ulang.
+Possible_duplicate_entries=Mungkin_entri_sama
+Possible_duplicate_of_existing_entry._Click_to_resolve.=Mungkin_entri_sama_dengan_lainnya._Klik_untuk_menyelesaikan.
+Preamble=Preambel
+Preferences=Preferensi
+Preferences_recorded.=Preferensi_disimpan.
+Preview=Pratampilan
+Previous_entry=Entri_sebelumnya
+Primary_sort_criterion=Kriteria_pertama
+Print_Preview=Cetak_Pratampilan
+Printing_Entry_Preview=Mencetak_pratampilan_entri
+Problem_with_parsing_entry=Permasalahan_dengan_penguraian_entri
+Processing_=Memroses_
+Program_output=Keluaran_program
+Progress:_%0_of_%1=Berlangsung:_%0_of_%1
+Prompt_before_recovering_a_database_from_an_autosave_file=Ingatkan_ketika_ambil_ulang_basisdata_dari_berkas_simpanan_otomatis
+Protected_database=Basisdata_terlindungi
+PS_directory=Direktori_PS
+Push_entries_to_external_application_(%0)=Kirim_entri_ke_aplikasi_eksternal_(%0)
+Push_selection_to_Emacs=Kirim_pilihan_ke_Emacs
+Push_selection_to_LyX/Kile=Kirim_pilihan_ke_LyX/Kile
+Push_selection_to_Vim=Kirim_pilihan_ke_Vim
+Push_selection_to_WinEdt=Kirim_pilihan_ke_WinEdt
+Push_to_LatexEditor=Kirim_pilihan_ke_LatexEditor
+Pushed_citations_to_%0=Kirim_acuan_ke_%0
+Pushed_citations_to_Emacs=Kirim_acuan_ke_Emacs
+Pushed_citations_to_Vim=Kirim_acuan_ke_Vim
+Pushed_citations_to_WinEdt=Kirim_acuan_ke_WinEdt
+Pushed_the_citations_for_the_following_rows_to=Kirim_acuan_dari_baris_berikut_ke
+Query_'%0'_with_fetcher_'%1'_did_not_return_any_results.=Kueri_'%0'_dengan_pengambil_'%1'_tidak_ada_hasilnya.
+Quit_JabRef=Keluar_JabRef
+Quit_synchronization=Keluar_sinkronisasi
+Raw_source=Sumber_asli
+Really_delete_the_selected=Ingin_menghapus_pilihan
+Rearrange_tabs_alphabetically_by_title=Mengatur_tab_judul_berdasarkan_alfabet
+Recover_from_autosave=Mengambil_uland_dari_simpan_otomatis
+Redo=Mengembalikan
+Reference_database=Basisdata_acuan
+References_found=Acuan_ditemukan
+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
+Refresh_view=Segarkan_tampilan
+Refuse_to_save_the_database_before_external_changes_have_been_reviewed.=Menolak_menyimpan_basisdata_sebelum_perubahan_eksternal_diperiksa.
+Regular_Expression=Ekspresi_reguler
+Remember_these_entry_types?=Ingat_tipe_entri_ini?
+Remote_operation=Penggunaan_jarak_jauh
+Remote_server_port=Port_server_jauh
+Remove=Hapus
+Remove_all?=Hapus_semua?
+Remove_all_broken_links=Hapus_semua_tautan_rusak?
+Remove_all_subgroups=Hapus_semua_sub-grup
+Remove_all_subgroups_of_"%0"?=Hapus_semua_sub-grup_dari_"%0"?
+Remove_double_braces_around_BibTeX_fields_when_loading.=Hapus_kurung_kurawal_ganda_pada_bidang_BibTeX_ketika_memuat
+Remove_duplicates=Hapus_yang_sama
+Remove_entry_from_import=Hapus_entri_dari_impor
+Remove_entry_selection_from_this_group=Hapus_entri_pilihan_dari_grup_ini
+Remove_entry_type=Hapus_tipe_entri
+Remove_file_link_(DELETE)=Hapus_tautan_berkas_(HAPUS)
+remove_from_group=hapus_dari_grup
+Remove_from_group=Hapus_dari_grup
+Remove_group=Hapus_grup
+Remove_group,_keep_subgroups=Hapus_grup,_sub-grup_tetap
+Remove_group_"%0"?=Hapus_grup_"%0"?
+Remove_group_"%0"_and_its_subgroups?=Hapus_grup_"%0"_dan_sub-grup_nya?
+remove_group_(keep_subgroups)=hapus_grup_(pertahankan_sub-grup)
+remove_group_and_subgroups=hapus_grup_dan_sub-grup
+Remove_group_and_subgroups=Hapus_grup_dan_sub-grup
+Remove_link=Hapus_tautan
+Remove_old_entry=Hapus_entri_lama
+Remove_selected_strings=Hapus_string_pilihan
+remove_string_=hapus_string_
+Removed_entry_type.=Hapus_tipe_entri.
+Removed_group_"%0".=Hapus_grup_"%0".
+Removed_group_"%0"_and_its_subgroups.=Hapus_grup_"%0"_dan_sub-grup_nya.
+Removed_string=Hapus_string
+Rename_field=Ganti_nama_bidang
+Rename_field_to\:=Ganti_nama_bidang_menjadi\:
+Rename_file_to=Ganti_nama_berkas_menjadi
+Rename_to_'%0'=Ganti_nama_menjadi_'%0'
+Renamed_string=Ganti_nama_string
+Replace=Ganti
+Replace_(regular_expression)=Ganti_(ekspresi_reguler)
+Replace_comma_by_and_where_appropriate=Ganti_koma_dengan_and_jika_perlu
+Replace_string=Ganti_string
+Replace_with=Ganti_dengan
+Replaced=Diganti
+Required_fields=Bidang_diperlukan
+Reset=Atur_ulang
+Reset_all=Atur_ulang_semua
+Reset_file_type_definitons=Atur_ulang_definisi_tipe_berkas
+Resolve_strings_for_all_fields_except=Selesaikan_masalah_string_untuk_semua_bidang_kecuali
+Resolve_strings_for_standard_BibTeX_fields_only=Selesaikan_masalah_string_hanya_pada_bidang_BibTeX_standar
+resolved=sudah_diselesaikan
+Resolving_duplicate_BibTeX_keys...=Mengatasi_masalah_kunci_BibTeX_sama...
+Results=Hasil
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Pertahankan_pengaturan_direktori_berkas_legasi_(untuk_versi_lama_JabRef)
+Revert_to_original_source=Kembalikan_ke_sumber_asli
+Review=Periksa_ulang
+Review_changes=Periksa_ulang_perubahan
+Right=Kanan
+RIS=RIS
+root=root
+Run_Fetcher,_e.g._"--fetch=Jalankan_Pengambil,_misal._"--fetch
+Running_Query_'%0'_with_fetcher_'%1'.=Jalankan_Kueri_'%0'_dengan_pengambil_'%1'.
+Save=Simpan
+Save_all_finished.=Simpan_semua_selesai.
+Save_all_open_databases=Simpan_semua_basisdata_yang_dibuka
+Save_before_closing=Simpan_sebelum_menutup
+Save_database=Simpan_basisdata
+Save_database_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
+Save_failed_while_committing_changes=Gagal_menyimpan_waktu_memasukkan_perubahan
+Save_in_current_table_sort_order=Simpan_menurut_tabel_urutan_sekarang
+Save_ordered_by_author/editor/year=Simpan_berdasar_urutan_penulis/penyunting/tahun
+Save_selected_as_...=Simpan_pilihan_sebagai...
+Save_without_backup?=Simpan_tanpa_cadangan?
+Saved_database=Basisdata_disimpan
+Saved_selected_to=Simpan_pilihan_ke
+Saved_session=Sesi_disimpan
+Saving=Menyimpan
+Saving_all_databases...=Menyimpan_semua_basisdata...
+Saving_database=Menyimpan_basisdata
+Scan=Pindai
+Search=Cari
+Search_ACM_Portal=Pencarian_Portal_ACM
+Search_All_Fields=Pencarian_Semua_Bidang
+Search_all_fields=Pencarian_semua_bidang
+Search_error=Kesalahan_pencarian
+Search_expression=Ekspresi_pencarian
+search_expression\:_<b>=ekspresi_pencarian\:_<b>
+Search_for=Mencari
+Search_general_fields=Mencari_bidang_umum
+Search_IEEEXplore=Pencarian_IEEEXplore
+Search_IEEExplore=Pencarian_IEEEXplore
+Search_JSTOR=Pencarian_JSTOR
+Search_optional_fields=Pencarian_bidang_tambahan
+Search_required_fields=Pencarian_bidang_utama
+Search_results=Hasil_pencarian
+Search_ScienceDirect=Pencarian_ScienceDirect
+Search_Specified_Field(s)=Pencarian_Bidang_Tertentu
+Searched_database._Global_number_of_hits=Basisdata_dicari._Jumlah_hit_global
+Searched_database._Number_of_hits=Basisdata_dicari._Jumlah_hit
+Searching_for_%0_file=Mencari_berkas_%0
+Searching_for_duplicates...=pencarian_hal_yang_sama...
+Searching_for_files=Mencari_berkas
+Secondary_sort_criterion=Kriteria_kedua
+Select=Pilih
+Select_a_Zip-archive=Pilih_arsip_Zip
+Select_action=Pilih_aksi
+Select_all=Pilih_semua
+Select_Classpath_of_New_Importer=Pilih_Classpath_dari_Pengimpor_Baru
+Select_encoding=Pilih_enkoding
+Select_entries_in_group_selection=Pilih_entri_dalam_grup_pilihan
+Select_entry_type=Pilih_tipe_entri
+Select_external_application=Pilih_aplikasi_eksternal
+Select_file_from_ZIP-archive=Pilih_berkas_dari_arsip_ZIP
+Select_format=Pilih_format
+Select_icon=Pilih_ikon
+Select_matches=Pilih_matches
+Select_new_ImportFormat_Subclass=Pilih_ImportFormat_Subclass_baru
+Select_the_tree_nodes_to_view_and_accept_or_reject_changes=Pilih_tiga_nodal_untuk_melihat,_menerima_atau_menolak_perubahan
+Selected_entries=Entri_pilihan
+Selector_enabled_fields=Pemilih_entri_aktif
+Server_Hostname_\:=Nama_Host_Server_\:
+Server_Type_\:=Tipe_Server_\:
+Set/clear/rename_fields=Pilih/hapus/namai_ulang_bidang
+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
+Set_table_font=Tetapkan_huruf_tabel
+Set_user_specific_file_directory=Tetapkan_direktori_pengguna_berkas_spesifik
+Settings=Pengaturan
+Settings_for_%0=Pengaturan_untuk
+Setup_selectors=Pengaturan_pengisian_kata
+Short_form=Bentuk_singkat
+Shortcut=Pintasan
+Show/edit_BibTeX_source=Tampil/Sunting_sumber_BibTeX
+Show_'Firstname_Lastname'=Tampil_'Depan_Belakang'
+Show_'Lastname,_Firstname'=Tampil_'Belakang_Depan'
+Show_BibTeX_source_by_default=Tampilkan_sumber_BibTeX_sebagai_bawaan
+Show_BibTeX_source_panel=Tampilkan_panel_sumber_BibTeX
+Show_CiteSeer_column=Tampilkan_kolom_CiteSeer
+Show_confirmation_dialog_when_deleting_entries=Tampilkan_dialog_konfirmasi_jika_menghapus_entri
+Show_description=Tampilkan_deskripsi
+Show_dynamic_groups_in_<i>italics</i>=Tampilkan_grup_dinamik_dengan_huruf_<i>miring</i>
+Show_entries_*not*_in_group_selection=Tampilkan_entri_*tidak*_dalam_pilihan_grup
+Show_file_column=Tampilkan_kolom_berkas
+Show_icons_for_groups=Tampilkan_ikon_untuk_grup
+Show_last_names_only=Tampil_hanya_nama_belakang
+Show_names_unchanged=Nama_apa_adanya
+Show_one_less_rows=Tampilkan_satu_baris_kurang
+Show_one_more_row=Tampilkan_satu_baris_lebih
+Show_optional_fields=Tampilkan_bidang_tambahan
+Show_PDF/PS_column=Tampilkan_kolom_PD/PS
+Show_required_fields=Tampilkan_bidang_utama
+Show_results_in_dialog=Tampilkan_hasil_di_dialog
+Show_search_results_in_a_window=Tampilkan_hasil_pencarian_di_jendela
+Show_URL/DOI_column=Tampilkan_kolom_URL/DOI
+Show_warning_dialog_when_a_duplicate_BibTeX_key_is_entered=Tampilkan_dialog_peringatan_jika_menuliskan_kunci_BibTeX_yang_sudaha_ada
+Show_warning_dialog_when_an_empty_BibTeX_key_is_entered=Tampilkan_dialog_peringatan_ketika_tidak_menulis_kunci_BibTeX
+Simple_HTML=HTML_sederhana
+Size=Ukuran
+Skip=Lompat
+Skipped_-_No_PDF_linked=Dilompati_-_Tanpa_tautan_PDF
+Skipped_-_PDF_does_not_exist=Dilompati_-_PDF_tidak_ada
+Skipped_entry.=Entri_dilompati.
+Sort_alphabetically=Urut_alfabet
+Sort_Automatically=Urut_otomatis
+Sort_order=Cara_urutan
+sort_subgroups=urut_sub-grup
+Sort_the_following_fields_as_numeric_fields=Urutkan_bidang_berikut_sepeerti_angka
+Sorted_all_subgroups_recursively.=Diurutkan_semua_sub-grup_secara_rekursif
+Sorted_immediate_subgroups.=Diurutkan_sub-grup_seketika.
+source_edit=sunting_sumber
+Special_Name_Formatters=Pemformat_Nama_Spesial
+Special_table_columns=Kolom_tabe_khusus
+SQL_connection_established.=Koneksi_SQL_diadakan.
+Start_incremental_search=Pencarian_bertahap_dimulai
+Start_search=Pencarian_dimulai
+Starting_import=Memulai_impor
+Statically_group_entries_by_manual_assignment=Entri_grup_statik_secara_penerapan_manual
+Status=Status
+Stop=Berhenti
+Store=Simpan
+Store_journal_abbreviations=Simpan_singkatan_jurnal
+Store_string=Simpan_string
+Store_the_following_fields_with_braces_around_capital_letters=Simpan_bidang_berikut_dengan_kurawal_melingkupi_huruf_besar
+Stored_definition_for_type=Definisi_yang_disimpan_untuk_tipe
+Stored_entry=Entri_yang_disimpan
+Strings=String
+Strings_for_database=String_untuk_basisdata
+Subdatabase_from_aux=Sub-basisdata_dari_aux
+Suggest=Saran
+Switches_between_full_and_abbreviated_journal_name_if_the_journal_name_is_known.=Menukar_antara_nama_jurnal_penuh_dan_singkatan_jika_nama_jurnal_diketahui.
+Synchronize_%0_links=Sinkronkan_%0_tautan
+Synchronize_file_links=Sinkronkan_tautan_berkas
+Synchronizing_%0_links...=Sinkronisasi_%0_tautan...
+Table_and_entry_editor_colors=Warna_tabel_dan_penyunting_entri
+Table_appearance=Penampilan_tabel
+Table_background_color=Latar_tabel
+Table_grid_color=Jejaring
+Table_text_color=Teks
+Tabname=Nama_tab
+Target_file_cannot_be_a_directory.=Berkas_target_tidak_boleh_nama_folder
+Tertiary_sort_criterion=Kriteria_ketiga
+Test=Coba_lihat
+Text_Input_Area=Area_Masukan_Teks
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=bahwa_JabRef_tidak_ditutup_dengan_benar_waktu_menggunakan_berkas.
+The_#_character_is_not_allowed_in_BibTeX_fields=Karakter_#_tidak_diijinkan_dalam_bidang_BibTeX
+The_#_character_is_not_allowed_in_BibTeX_strings_unless_escaped_as_in_'\\#'.=Karakter_#_tidak_diijinkan_dalam_string_BibTeX_kecuali_escape_seperti_dalam_'\\#'.
+The_ACM_Digital_Library=Pustaka_SCM_Dijital
+The_chosen_date_format_for_new_entries_is_not_valid=Format_hari_yang_dipilih_untuk_entri_baru_tidak_sah
+The_chosen_encoding_'%0'_could_not_encode_the_following_characters\:_=Enkoding_yang_dipilih_'%0'_tidak_bisa_digunakan_untuk_karakter_berikut\:_
+The_CiteSeer_fetch_operation_returned_zero_results.=Operasi_pengambilan_CiteSeer_tidak_membuahkan_hasil.
+The_current_version_features_a_new_way_of_handling_links_to_external_files.<br>To_take_advantage_of_this,_your_links_must_be_changed_into_the_new_format,_and<br>JabRef_must_be_configured_to_show_the_new_links.=Versi_sekarang_mempunyaia_fitur_pengaturan_tautan_untuk_berkas_luar.<br>Untuk_memanfaatkan,_tautan_anda_harus_diubah_ke_format_baru,_dan<br>JabRef_di_konfigurasi_ulang_untuk_menampilkan_tautan.
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=Versi_ini_mempunyai_fitur_baru_menyimpan_pengaturan_direktori_berkas_dari<br>basisdata._Ini_memungkinkan_para_pengguna_basis_data_sama_tetap_mempertahankan<br>pengaturan_m [...]
+the_field_<b>%0</b>=bidang_<b>%0</b>
+The_file<BR>'%0'<BR>has_been_modified<BR>externally!=Berkas<BR>'%0'<BR>telah_diubah<BR>oleh_program_eksternal!
+The_following_fetchers_are_available\:=Pengambil_berikut_tersedia\:
+The_following_formatters_could_not_be_found=Pemformat_berikut_tidak_bisa_ditemukan
+The_group_"%0"_already_contains_the_selection.=Grup_"%0"_sudah_mengandung_pilihan.
+The_Guide_to_Computing_Literature=Panduan_untuk_Computing_Literature
+The_label_of_the_string_can_not_be_a_number.=Label_untuk_string_tidak_boleh_berupa_angka.
+The_label_of_the_string_can_not_contain_spaces.=Label_untuk_string_tidak_boleh_ada_spasi.
+The_label_of_the_string_can_not_contain_the_'#'_character.=Label_string_tidak_boleh_mengandung_karakter_'#'.
+The_output_option_depends_on_a_valid_import_option.=Pilihan_keluaran_tergantung_dari_pilihan_impor_yang_sah.
+The_PDF_contains_one_or_several_bibtex-records.\nDo_you_want_to_import_these_as_new_entries_into_the_current_database?=PDF_mengandung_satu_atau_beberapa_data_bibtex.\nApakah_anda_ingin_impor_sebagai_entri_baru_pada_basisdata_sekarang?
+The_regular_expression_<b>%0</b>_is_invalid%c=Ekspresi_reguler_<b>%0</b>_tidak_sah%c
+The_same_version_of_this_plugin_is_already_installed.=Versi_yang_sama_dari_plugin_sudah_dipasang.
+The_search_is_case_insensitive.=Pencarian_tidak_meperhitungkan_huruf_besar_kecil.
+The_search_is_case_sensitive.=Pencarian_meperhitungkan_huruf_besar_kecil.
+The_string_has_been_removed_locally=String_sudah_dihapus_secara_lokal
+The_type_name_can_not_contain_spaces.=Nama_tipe_tidak_boleh_mengandung_spasi.
+The_URL_field_appears_to_be_empty_on_entry_number_=Bidang_URL_tampak_sebagai_kosong_pada_nomor_entri_
+There_are_possible_duplicates_(marked_with_a_'D'_icon)_that_haven't_been_resolved._Continue?=Ada_kemungkinan_sama_(ditandai_dengan_ikon_'D')_yang_belum_diselesaikan._Teruskan?
+There_is_no_entry_type=Tidak_ada_tipe_entri
+this_button_will_update=Tombol_ini_akan_memperbarui
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=Basisdata_ini_mempunyai_satu_atau_lebih_kunci_BibTeX_yang_sama.
+This_database_was_written_using_an_older_version_of_JabRef.=Basisdata_ini_ditulis_dengan_JabRef_versi_lama.
+This_entry_has_no_BibTeX_key._Generate_key_now?=Entri_ini_belum_mempunyai_kunci_BibTeX._Membuat_kunci_sekarang?
+This_entry_is_incomplete=Entri_belum_lengkap
+This_entry_provides_no_URL_or_DOI_links.=Entri_belum_mempunyai_tautan_URL_atau_DOI.
+This_entry_type_cannot_be_removed.=Tipe_entri_tidak_bisa_dihapus.
+This_external_link_is_of_the_type_'%0',_which_is_undefined._What_do_you_want_to_do?=Tautan_eksternal_dari_tipe_'%0',_yang_belum_didefinisikan._Apa_yang_akan_anda_lakukan?
+This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instance_of_JabRef<BR>instead_of_opening_a_new_instance._For_instance,_this_is_useful_when_you_open_a_file_in_JabRef<br>from_your_web_browser.<BR>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<br>bukan_membuat_baru._Hal_ini_berguna_ketika_anda_membuka_berkas_di_JabRef<br>dari_halaman_web.<br>Hal_ini_ [...]
+This_group_contains_entries_based_on_manual_assignment._Entries_can_be_assigned_to_this_group_by_selecting_them_then_using_either_drag_and_drop_or_the_context_menu._Entries_can_be_removed_from_this_group_by_selecting_them_then_using_the_context_menu._Every_entry_assigned_to_this_group_must_have_a_unique_key._The_key_may_be_changed_at_any_time_as_long_as_it_remains_unique.=Grup_ini_mempunyai_entri_berdasar_dari_pengisian_manual._Entri_dapat_dituliskan_dalam_grup_ini_dengan_cara_memilih_en [...]
+This_group_contains_entries_in_which=Grup_ini_memiliki_entri_dimana
+This_group_contains_entries_in_which_any_field_contains_the_regular_expression_<b>%0</b>=Grup_ini_memiliki_entri_dimana_setiap_bidang_mempunyai_ekspresi_reguler_<b>%0</b>
+This_group_contains_entries_in_which_any_field_contains_the_term_<b>%0</b>=Grup_ini_memiliki_entri_dimana_semua_bidang_mempunyai_istilah_<b>%0</>
+This_group_contains_entries_whose_<b>%0</b>_field_contains_the_keyword_<b>%1</b>=Grup_ini_memiliki_entri_dimana_bidang_<b>%0</b>_memiliki_katakunci_<b>%1</b>
+This_group_contains_entries_whose_<b>%0</b>_field_contains_the_regular_expression_<b>%1</b>=Grup_ini_memiliki_entri_dimana_bidang_<b>%0</b>_mempunyai_ekspresi_reguler_<b>%1</b>
+This_is_a_simple_copy_and_paste_dialog_for_import_some_fields_from_normal_text.=Ini_hanyalah_dialog_sederhana_salin_dan_tempelkan_untuk_impor_beberapa_beidang_dari_teks_normal.
+This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=Ini_membuat_JabRef_mencari_disemua_ekstensi_%0_dan_memeriksa_apakah_ada_berkas._Jika_tidak,_anda_diberi_pilihan_<BR>untuk_mengatasi_masalah.
+This_makes_JabRef_look_up_each_%0_link_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=Ini_membuat_JabRef_mencari_disemua_tautan_%0_dan_memeriksa_apakah_ada_berkas._Jika_tidak,_anda_diberi_pilihan_<BR>untuk_mengatasi_masalah.
+This_operation_requires_all_selected_entries_to_have_BibTex_keys_defined.=Operasi_ini_memerlukan_semua_entri_mempunyai_kunci_BibTeX.
+This_operation_requires_at_least_one_entry.=Operasi_ini_memerlukan_paling_tidak_satu_entri.
+This_operation_requires_one_or_more_entries_to_be_selected.=Operasi_ini_memerlukan_satu_atau_lebih_entri_yang_dipilih.
+This_will_move_all_external_links_from_the_'pdf'_and_'ps'_fields_into_the_'%0'_field._Proceed?=Ini_akan_memindah_semua_tautan_eksternal_dari_bidang_'pdf'_dan_'ps'_ke_bidang_'%0'._Diteruskan?
+To_set_up,_go_to_<B>Tools_->_Manage_journal_abbreviations</B>=Untuk_mengatur,_dari_<B>AlatBantuan_->_Pengaturan_singkatan_jurnal</B>
+Toggle_abbreviation=Gunakan_singkatan
+Toggle_entry_preview=Gunakan_pratampilan_entri
+Toggle_groups_interface=Gunakan_antarmuka_grup
+Toggle_search_panel=Gunakan_panel_pencarian
+Try_different_encoding=Coba_enkoding_lain
+Type=Tipe
+Type_set_to_'other'=Ubah_tipe_ke_'lainnya'
+Unabbreviate_journal_names_of_the_selected_entries=Nama_jurnal_tidak_disingkat_dari_entri_pilihan
+Unabbreviated_%0_journal_names.=%0_nama_jurnal_tidak_disingkat.
+unable_to_access_LyX-pipe=tidak_bisa_berhubungan_dengan_pipa_LyX
+Unable_to_copy_file=TIdak_bisa_menyalin_berkas
+Unable_to_create_backup=Tidak_bisa_membuat_cadangan
+Unable_to_create_graphical_interface=Tidak_bisa_membuat_antarmuka_grafik
+Unable_to_create_plugin_directory=TIdak_bisa_membuat_direktori_plugin
+Unable_to_create_user_plugin_directory=Tidak_bisa_membuat_direktori_plugin_pengguna
+Unable_to_find_full_text_article._No_search_algorithm_defined_for_the_'%0'_web_site.=Tidak_bisa_menemukan_artikel_teks_lengkap._Tidak_ada_algoritma_pencarian_didefinisakn_untuk_situs_'%0'.
+Unable_to_find_full_text_document_in_the_linked_web_page.=Tidak_bisa_menemukan_dokumen_teks_lengkap_di_tautan_halaman_web.
+Unable_to_open_file.=Tidak_bisa_membuka_berkas.
+Unable_to_open_link.=Tidak_bisa_membuka_tautan.
+Unable_to_open_link._The_application_'%0'_associated_with_the_file_type_'%1'_could_not_be_called.=Tidak_bisa_membuka_tautan._Aplikasi_'%0'_yang_berkaitan_dengan_berkas_tipe_'%0'_tidak_bisa_dimuat.
+Unable_to_parse_the_following_URL=Tidak_bisa_menguraikan_URL_berikut
+Unable_to_read_default_icon_theme.=Tidak_bisa_membaca_tema_ikon_bawaan.
+Unable_to_read_icon_theme_file=Tidak_bisa_membaca_berkas_tema_ikon
+Unable_to_save_database=Tidak_bisa_menyimpan_basisdata
+unable_to_write_to=tidak_bisa_menulis_ke
+Undefined_file_type=tipe_berkas_tidak_terdefinisi
+Undo=Batalkan
+Union=Menyatu
+Unknown=Tidak_dikenal
+Unknown_bibtex_entries=Entri_bibtex_tidak_dikenal
+unknown_edit=suntingan_tidak_dikenal
+unknown_entry_type=tipe_entri_tidak_dikenal
+Unknown_export_format=format_ekspor_tidak_dikenal
+Unmark_all=Hilangkan_tanda_semua
+Unmark_all_entries_before_importing_new_entries_into_an_existing_database=Hilangkan_tanda_semua_entri_sebelum_mengimpor_entri_baru_ke_basisdata
+Unmark_entries=Hilangkan_tanda_entri
+Unmark_entry=Hilangkan_tanda_entri
+Unmarked_selected=Hilangkan_tanda_pilihan
+Unpack_EndNote_filter_set=Membuka_tapisan_EndNote
+Unpacked_file.=Mengeluarkan_berkas.
+Unsupported_version_of_class_%0:_%1=Versi_kelas_tidak_didukung_%0:_%1
+untitled=tanpa_judul
+Up=Naik
+Update_to_current_column_order=Perbarui_sebuai_urutan_kolom_sekarang
+Update_to_current_column_widths=Perbarui_sesuai_lebar_kolom_sekarang
+Updated_group_selection=Pilihan_grup_diperbarui
+Updating_entries...=Memperbarui_entri...
+Upgrade_external_links=Naiktaraf_tautan_eksternal
+Upgrade_external_PDF/PS_links_to_use_the_'%0'_field.=Perbarui_tautan_eksternal_PDF/PS_untuk_digunakan_bidang_'%0'.
+Upgrade_file=Naiktaraf_berkas
+Upgrade_old_external_file_links_to_use_the_new_feature=Naiktaraf_tautan_berkas_eksternal_lama_untuk_digunakan_di_fitur_baru
+Upgraded_links.=Naiktaraf_tautan.
+UPPER=ATAS
+Upper_Each_First=Utamakan_setiap_atas
+Upper_first=Dahulukan_atas
+usage=penggunaan
+Use_antialiasing_font=Gunakan_huruf_antialiasing
+Use_autocompletion_for_the_following_fields=Gunakan_otomatis_melengkapi_pada_bidang_berikut
+Use_custom_icon_theme=Gunakan_tema_ikon_atursendiri
+Use_default_viewer=Gunakan_penampil_bawaan
+Use_IEEE_LaTeX_abbreviations=Gunakan_singkatan_IEEE_LaTeX
+Use_inspection_window_also_when_a_single_entry_is_imported.=Gunakan_jendela_inspeksi_juga_untuk_entri_tunggal_impor
+Use_native_file_dialog=Gunakan_dialog_berkas_asli
+Use_other_look_and_feel=Gunakan_gaya_penampilan_lain
+Use_Regular_Expression_Search=Gunakan_ekspresi_pencarian_biasa
+Use_regular_expressions=Gunakan_ekspresi_reguler
+Use_the_following_delimiter_character(s)=Gunakan_karakter_pembatas_berikut
+User_does_not_have_sufficient_privileges.\n=Pengguna_tidak_mempunyai_hak_yang_cukup.\n
+Username_\:=Nama_pengguna_\:
+Value_cleared_externally=Isi_dihapus_dari_luar
+Value_set_externally=Isi_diatur_dari_luar
+verify_that_LyX_is_running_and_that_the_lyxpipe_is_valid=pastikan_LyX_sedang_dijalankan_dan_pipalyx_nya_benar
+Version=Versi
+View=Tampilkan
+Vim_Server_Name=Nama_Server_Vim
+Waiting_for_ArXiv...=Menunggu_ArXiv...
+Waiting_for_save_operation_to_finish=Menunggu_proses_menyimpan_selesai
+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
+Warning=Peringatan
+Warning\:_could_not_complete_file_repair;_your_file_may_have_been_corrupted._Error_message=Peringatan\:_tidak_bisa_menyelesaikan_perbaikan_berkas:_berkas_anda_mungkin_rusak._Pesan_kesalahan
+Warning_there_is_a_duplicate_key=Peringatan_ada_kunci_yang_sama
+Warnings=Peringatan
+web_link=tautan_web
+What_do_you_want_to_do?=Apa_yang_anda_inginkan?
+When_adding/removing_keywords,_separate_them_by=Ketika_menambah/menghapus_katakunci,_pisahkan_dengan_tanda
+When_opening_file_link,_search_for_matching_file_if_no_link_is_defined=Ketika_membuka_tautan_berkas,_cari_berkas_yang_sesuai
+Will_write_XMP-metadata_to_the_PDFs_linked_from_selected_entries.=Akan_menulis_metadata_XMP_ke_tautan_PDF_dari_entri_pilihan.
+with=dan
+Word=Word
+Write_BibtexEntry_as_XMP-metadata_to_PDF.=Menulis_BibtexEntry_sebagai_XMP-metadata_ke_PDF.
+Write_XMP=Menulis_XMP
+Write_XMP-metadata=Menulis_XMP-metadata
+Write_XMP-metadata_for_all_PDFs_in_current_database?=Menulis_XMP-metadata_untuk_semua_PDF_di_basisdata_sekarang?
+Writing_XMP=Sedang_menulis_XMP
+Writing_XMP_metadata...=Sedang_menulis_XMP_metadata...
+Writing_XMP_metadata_for_selected_entries...=Sedang_menulis_XMP_metadata_untuk_entri_pilihan...
+Writing_XMP_to_'%0'...=Sedang_menulis_XMP_ke_'%0'...
+Wrong_file_format=Format_berkas_salah
+Wrote_XMP-metadata=XMP-metadata_ditulis
+Wrote_XMP_to_'%0'.=Selesai_ditulis_XMP_ke_'%0'.
+XMP-annotated_PDF=XMP-annotated_PDF
+XMP_Export_Privacy_Settings=Pengaturan_Info_Ekspor_XMP
+XMP_metadata=Metadata_XMP
+XMP_metadata_found_in_PDF\:_%0=XMP_metadata_ditemukan_di_PDF\:_%0
+You_can_only_rename_one_field_at_a_time=Anda_bisa_mengganti_nama_satu_bidang_dalam_satu_waktu
+You_have_changed_the_language_setting._You_must_restart_JabRef_for_this_to_come_into_effect.=Anda_telah_mengganti_pengaturan_bahasa._Anda_harus_menjalankan_ulang_JabRef_agar_berfungsi.
+You_have_changed_the_look_and_feel_setting._You_must_restart_JabRef_for_this_to_come_into_effect.=Anda_telah_mengganti_pengaturan_penampilan_artistik._Anda_harus_menjalankan_ulang_JabRef_untuk_menerapkan.
+You_have_changed_the_menu_and_label_font_size._You_must_restart_JabRef_for_this_to_come_into_effect.=Anda_telah_mengganti_ukuran_huruf_menu_dan_label._Anda_harus_menjalankan_ulang_JabRef_untuk_menerapkan.
+You_have_cleared_this_field._Original_value=Anda_sudah_membersihkan_bidang_ini._Isi_aslinya
+You_have_entered_an_invalid_search_'%0'.=Anda_telah_menulis_pencarian_yang_salah_'%0'.
+You_must_choose_a_file_name_to_store_journal_abbreviations=Anda_harus_memilih_nama_berkas_untuk_menyimpan_singkatan_jurnal
+You_must_enter_an_integer_value_in_the_text_field_for=Anda_harus_menulis_bilangan_bulat_dalam_bidang_teks
+You_must_fill_in_a_name_for_the_entry_type.=Anda_harus_mengisi_nama_untuk_tipe_entri.
+You_must_restart_JabRef_for_the_new_key_bindings_to_work_properly.=Anda_harus_menjalankan_ulang_JabRef_agar_gabungan_kunci_dapat_berfungsi.
+You_must_select_at_least_one_row_to_perform_this_operation.=Anda_harus_memilih_paling_tidak_satu_baris_untuk_memulai_proses_ini.
+You_must_set_both_BibTeX_key_and_%0_directory=Anda_harus_menentukan_kunci_BibTeX_dan_ditektori_%0
+Your_new_key_bindings_have_been_stored.=Gabungan_kunci_anda_sudah_disimpan.
diff --git a/src/resource/JabRef_it.properties b/src/resource/JabRef_it.properties
index b1b93a6..79176c0 100644
--- a/src/resource/JabRef_it.properties
+++ b/src/resource/JabRef_it.properties
@@ -14,7 +14,6 @@
%0_matches_the_term_<b>%1</b>=%0_corrisponde_al_termine_<b>%1</b>
<field_name>=<nome_del_campo>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Non_\u00E8_stato_trovato_il_file_'%0'_<BR>collegato_alla_voce_'%1'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Decompattare_il_file_zip_contenente_i_filtri_import/export_per_EndNote,<BR>per_una_interoperabilit\u00E0_ottimale_con_JabRef</HTML>
<no_field>=<nessun_campo>
<select>=<seleziona>
<select_word>=<select_word>
@@ -108,7 +107,6 @@ AUX_file_import=Importa_file_AUX
Available_export_formats=Formati_di_esportazione_disponibili
Available_fields=Campi_BibTeX_disponibili
Available_import_formats=Formati_di_importazione_disponibili
-Background_color_for_marked_entries=Colore_di_sfondo_per_le_voci_contrassegnate
Background_color_for_optional_fields=Colore_di_sfondo_per_i_campi_facoltativi
Background_color_for_required_fields=Colore_di_sfondo_per_i_campi_obbligatori
Backup_old_file_when_saving=Fare_una_copia_di_backup_del_vecchio_file_quando_viene_salvato
@@ -200,8 +198,8 @@ Copied_key=Chiave_BibTeX_copiata
Copied_keys=Chiavi_BibTeX_copiate
Copy=Copia
Copy_BibTeX_key=Copia_chiave_BibTeX
-Copy_file_to_file_directory.=Copia_il_file_nella_cartella.
-Copy_files_to_file_directory.=Copia_i_file_nella_cartella.
+Copy_file_to_file_directory.=Copia_il_file_nella_cartella_dei_file.
+Copy_files_to_file_directory.=Copia_i_file_nella_cartella_dei_file.
Copy_to_clipboard=Copia_negli_appunti
Could_not_call_executable=Non_\u00E8_possibile_effetuare_la_chiamata_dell'eseguibile
Could_not_connect_to_a_running_gnuserv_process._Make_sure_that_Emacs_or_XEmacs_is_running,<BR>and_that_the_server_has_been_started_(by_running_the_command_'gnuserv-start').=Impossibile_la_connessione_a_un_processo_gnuserv_in_esecuzione._Accertarsi_che_Emacs_o_XEmacs_siano_in_esecuzione,<BR>e_che_il_server_sia_stato_avviato_(con_il_comando_'gnuserv-start').
@@ -426,10 +424,10 @@ file=file
File_'%0'_is_already_open.=Il_file_'%0'__\u00E8_gi\u00E0_aperto.
File_'%0'_not_found=File_'%0'_non_trovato
File_changed=File_modificato
-File_directory=Cartella_file
+File_directory=Cartella_dei_file
File_directory_is_'%0'\:=La_cartella_dei_file_\u00E8_'%0':
-File_directory_is_not_set_or_does_not_exist!=La_cartella_non_\u00E8_impostata_o_non_esiste!
+File_directory_is_not_set_or_does_not_exist!=La_cartella_dei_file_non_\u00E8_impostata_o_non_esiste!
File_download=Download_di_file
File_exists=Il_file_esiste
File_extension=Estensione_del_file
@@ -604,7 +602,7 @@ localhost=localhost
Look_and_feel=Aspetto
Looking_for_pdf...=Ricerca_del_file_pdf...
lower=minuscolo
-Main_file_directory=Cartella_file_principale
+Main_file_directory=Cartella_dei_file_principale
Main_layout_file=File_di_layout_principale
Main_PDF_directory=Cartella_file_PDF_principale
@@ -635,7 +633,7 @@ Move=Sposta
Move_down=Sposta_in_gi\u00F9
Move_entries_in_group_selection_to_the_top=Sposta_le_voci_selezionate_in_su
Move_external_links_to_'file'_field=Sposta_i_collegamenti_esterni_nel_campo_'file'
-Move_files_to_file_directory.=Sposta_i_file_nella_cartella.
+Move_files_to_file_directory.=Sposta_i_file_nella_cartella_dei_file.
move_group=sposta_gruppo
Move_string_down=Sposta_la_stringa_in_gi\u00F9
Move_string_up=Sposta_la_stringa_in_su
@@ -1184,9 +1182,9 @@ Show_results_in_dialog=Mostra_i_risultati_in_una_finestra_di_dialogo
Global_search=Ricerca_globale
Show_search_results_in_a_window=Mostra_i_risultati_della_ricerca_in_una_finestra
Search_results=Risultati_della_ricerca
-Move_file_to_file_directory?=Spostare_i_file_nella_cartella_di_file_principale?
+Move_file_to_file_directory?=Spostare_i_file_nella_cartella_dei_file_principale?
Rename_to_'%0'=Rinomina_in_'%0'
-Move_to_file_directory=Sposta_nella_cartella_di_file_principale
+Move_to_file_directory=Sposta_nella_cartella_dei_file_principale
You_have_changed_the_menu_and_label_font_size._You_must_restart_JabRef_for_this_to_come_into_effect.=Sono_state_modificate_le_dimensioni_del_carattere_di_menu_ed_etichette._Riavviare_Jabref_per_rendere_effettive_le_modifiche.
@@ -1206,12 +1204,12 @@ Move_the_keyboard_focus_to_the_entry_table=Sposta_il_cursore_nella_tabella_delle
MIME_type=Tipo_MIME
This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instance_of_JabRef<BR>instead_of_opening_a_new_instance._For_instance,_this_is_useful_when_you_open_a_file_in_JabRef<br>from_your_web_browser.<BR>Note_that_this_will_prevent_you_from_running_more_than_one_instance_of_JabRef_at_a_time.=Questa_funzione_permette_l'apertura_o_l'importazione_di_nuovi_file_in_una_istanza_di_JabRef_gi\u00E0_aperta<BR>invece_di_aprirne_una_nuova._Per_esempio,_ci\u00F2_\u00E8_utile_quando_u [...]
-Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Si_noti_che_queste_impostazioni_sono_usate_solo_per_i_campi_obsoleti_<B>pdf</B>_e_<B>ps</B>.<BR>Per_la_generalit\u00E0_degli_utenti,_l'impostazione_del_parametro_<B>Cartella_file_principale</B>_dovrebbe_essere_sufficiente.
+Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=Si_noti_che_queste_impostazioni_sono_usate_solo_per_i_campi_obsoleti_<B>pdf</B>_e_<B>ps</B>.<BR>Per_la_generalit\u00E0_degli_utenti,_l'impostazione_del_parametro_<B>Cartella_dei_file_principale</B>_dovrebbe_essere_sufficiente.
Legacy_file_fields=Campi_file_obsoleti
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=Per_ciascuna_delle_%0_estensioni,_JabRef_verificher\u00E0_l'esistenza_del_file.<BR>In_caso_negativo_proporr\u00E0_delle_opzioni_per_la_risoluzione_del_problema.
## Check if the = sign must be escaped. In both sides?
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Lanciare_una_ricerca,_es._"--fetch=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Lanciare_una_ricerca,_es._"--fetch\=Medline\:cancer"
##
Override_legacy_file_fields=Ignora_i_campi_di_file_obsoleti
@@ -1242,7 +1240,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Impossibile_trovare_il
Connection_error_when_trying_to_find_full_text_document.=Errore_di_connessione_nel_corso_della_ricerca_del_documento_citato
This_entry_provides_no_URL_or_DOI_links.=Questa_voce_non_fornisce_collegamenti_URL_o_DOI.
Full_text_article_download_failed=Fallito_il_download_del_documento_citato
-Down_up=Sposta_in_gi\u00F9
Update_to_current_column_order=Salvare_l'ordine_delle_colonne_attuale
Rename_field=Rinomina_il_campo
@@ -1328,30 +1325,66 @@ Enforce_legal_characters_in_BibTeX_keys=Imponi_l'utilizzo_dei_soli_caratteri_con
The_#_character_is_not_allowed_in_BibTeX_strings_unless_escaped_as_in_'\\#'.=Il_carattere_#_non_\u00E8_consentito_nelle_stringhe_BibTeX_se_non_protetto_da_un_carattere_di_"escape"_come_in_'\\#'.
Before_saving,_please_edit_any_strings_containing_the_#_character.=Prima_di_salvare,_modificare_le_stringhe_contenenti_il_carattere_#.
-Save_without_backup?=
-Unable_to_create_backup=
-
-File_directory_is_not_set_or_does_not_exist.=
-Move_file_to_file_directory.=
-Rename_file_to=
-Reset=
-<b>All_Entries</b>_(this_group_cannot_be_edited_or_removed)=
-</b>_-_static_group=
-,_refines_supergroup=
-,_includes_subgroups=
-</b>_-_dynamic_group_(<b>=
-</b>_contains_<b>=
-</b>_-_dynamic_group_(=
-search_expression\:_<b>=
-
-Disable_file_renaming_in_non-native_file_dialog=
-File_dialog=
-No_entries_found._It_looks_like_you_do_not_have_access_to_search_JStor.=
-
-Search_ScienceDirect=
-Error_while_fetching_from_ScienceDirect=
-
-Error_initializing_custom_export_format_from_string_'%0'=
-
-%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
-BibTeX_importer=
+Save_without_backup?=Salvare_senza_backup?
+Unable_to_create_backup=Impossibile_creare_un_backup
+## line below is a duplicate?
+File_directory_is_not_set_or_does_not_exist.=La_cartella_dei_file_non_\u00E8_configurata_o_non_esiste.
+## end note
+
+Move_file_to_file_directory.=Sposta_il_file_nella_cartella_dei_file.
+Rename_file_to=Rinomina_il_file_in_
+Reset=Reinizializza
+<b>All_Entries</b>_(this_group_cannot_be_edited_or_removed)=<b>Tutte_le_voci</b>_(questo_gruppo_non_pu\u00F2_essere_modificato_o_rimosso)
+</b>_-_static_group=</b>_-_gruppo_statico
+,_refines_supergroup=,_ridefinisce_il_super-gruppo
+,_includes_subgroups=,_include_il_super-gruppo
+</b>_-_dynamic_group_(<b>=</b>_-_gruppo_dinamico_(<b>
+</b>_contains_<b>=</b>_contiene_<b>
+</b>_-_dynamic_group_(=</b>_-_gruppo_dinamico_(
+search_expression\:_<b>=espressione_di_ricerca:_<b>
+
+Disable_file_renaming_in_non-native_file_dialog=Disattivare_la_possibilit\u00E0_di_rinominare_i_file_nelle_finestre_di_dialogo_file_non_native
+File_dialog=Finestra_di_dialogo_file
+No_entries_found._It_looks_like_you_do_not_have_access_to_search_JStor.=Nessuna_voce_trovata._\u00C8_possibile_non_si_disponga_dell'accesso_alla_ricerca_su_JStor
+
+Search_ScienceDirect=Ricerca_in_ScienceDirect
+Error_while_fetching_from_ScienceDirect=Errore_nel_recupero_dei_dati_da_ScienceDirect
+
+Error_initializing_custom_export_format_from_string_'%0'=Errore_di_inizializzazione_del_formato_di_esportazione_personalizzato_dalla_stringa_'%0'
+
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_voci_trovate._Per_ridurre_il_carico_sul_server_ne_saranno_scaricate_solo_%1._Il_processo_sar\u00E0_piuttosto_lento,_in_modo_da_non_creare_problemi_ad_ACM.
+
+BibTeX_importer=Filtro_di_importazione_BibTeX
+Set_user_specific_file_directory=Imposta_la_cartella_dei_file_specifica_dell'utente
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Mantieni_le_impostazioni_obsolete_della_cartella_dei_file_(per_le_versioni_pi\u00F9_vecchie_di_JabRef)
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=Questa_versione_introduce_una_nuova_modalit\u00E0_di_conservazione_delle_impostazioni_delle_cartelle<br>dei_file_per_il_database._Questo_permette_a_pi\u00F9_utenti_dello_s [...]
+Legacy_file_directory_setting_found_-_clear_setting?=Sono_state_rilevate_impostazioni_obsolete_della_cartella_dei_file_-_volete_aggiornarle?
+
+BibLaTeX_mode=modalit\u00E0_BibLaTeX
+Optional_fields_2=Campi_opzionali_2
+Please_wait=Attendere,_prego.
+Waiting_for_save_operation_to_finish=In_attesa_del_termine_del_salvataggio
+Resolving_duplicate_BibTeX_keys...=Risoluzione_delle_chiavi_BibTeX_duplicate...
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=Terminata_la_risoluzione_delle_chiavi_BibTeX_duplicate._%0_voci_modificate.
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=Questo_database_contiene_una_o_pi\u00F9_chiavi_BibTeX_duplicate.
+Do_you_want_to_resolve_duplicate_keys_now?=Vuoi_effettuare_la_risoluzione_delle_chiavi_duplicate_ora?
+
+Find_and_remove_duplicate_BibTeX_keys=Trova_e_rimuovi_le_chiavi_BibTeX_duplicate
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=Sintassi_attesa_per_--fetch\='<name_of_fetcher>\:<query>'
+Duplicate_BibTeX_key=Chiave_BibTeX_duplicata
+Duplicate_key=Chiave_duplicata
+Generate_key=Genera_una_chiave
+Import_marking_color=Importa_i_colori_per_contrassegnare_le_voci
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=Assicura_l'unicit\u00E0_delle_chiavi_con_l'uso_di_lettere_(a,_b,_...)
+Ensure_unique_keys_using_letters_(b,_c,_...)=Assicura_l'unicit\u00E0_delle_chiavi_con_l'uso_di_lettere_(b,_c,_...)
+Always_add_letter_(a,_b,_...)_to_generated_keys=Aggiungi_sempre_una_lettera_(a,_b,_...)_alle_chiavi_generate
+
+Table_and_entry_editor_colors=Colori_della_tabella_e_dell'editor_delle_voci
+Entry_editor_font_color=Colore_del_font_dell'editor_delle_voci
+Entry_editor_background_color=Colore_dello_sfondo_dell'editor_delle_voci
+Entry_editor_active_background_color=Colore_dello_sfondo_quando_attivo_l'editor_delle_voci
+Entry_editor_invalid_field_color=Colore_del_campo_non_valido_nell'editor_delle_voci
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=Un_file_di_savataggio_automatico_\u00E8_stato_trovato_per_questo_database._Questo_pu\u00F2_indicare_
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=che_JabRef_non_\u00E8_stato_chiuso_correttamente_l'ultima_volta_che_il_file_\u00E8_stato_utilizzato.
\ No newline at end of file
diff --git a/src/resource/JabRef_nl.properties b/src/resource/JabRef_nl.properties
index b9e0741..966a8e7 100644
--- a/src/resource/JabRef_nl.properties
+++ b/src/resource/JabRef_nl.properties
@@ -24,8 +24,6 @@
<field_name>=<veldnaam>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Pak_het_zip_bestand_dat_de_import/export_filters_voor_Endnote_bevat_uit<BR>voor_optimale_samenwerking_met_JabRef</HTML>
-
<no_field>=<geen_veld>
<select>=<selecteer>
@@ -189,8 +187,6 @@ Available_fields=Beschikbare_velden
Available_import_formats=Beschikbare_importeer_formaten
-Background_color_for_marked_entries=Achtergrondkleur_voor_gemarkeerde_entries
-
Background_color_for_optional_fields=Achtergrondkleur_voor_optionele_velden
Background_color_for_required_fields=Achtergrondkleur_voor_vereiste_velden
@@ -2034,7 +2030,6 @@ Move_the_keyboard_focus_to_the_entry_table=
Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=
Override_legacy_file_fields=
RIS=
-Run_Fetcher,_e.g._"--fetch\=
Search_ACM_Portal=
Search_JSTOR=
Settings_for_%0=
@@ -2043,7 +2038,6 @@ The_Guide_to_Computing_Literature=
This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instance_of_JabRef<BR>instead_of_opening_a_new_instance._For_instance,_this_is_useful_when_you_open_a_file_in_JabRef<br>from_your_web_browser.<BR>Note_that_this_will_prevent_you_from_running_more_than_one_instance_of_JabRef_at_a_time.=
Use_IEEE_LaTeX_abbreviations=
When_opening_file_link,_search_for_matching_file_if_no_link_is_defined=
-Down_up=
Update_to_current_column_order=
Rename_field=
@@ -2155,3 +2149,37 @@ Error_initializing_custom_export_format_from_string_'%0'=
%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
BibTeX_importer=
+
+BibLaTeX_mode=
+Optional_fields_2=
+Please_wait=
+Waiting_for_save_operation_to_finish=
+Resolving_duplicate_BibTeX_keys...=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Do_you_want_to_resolve_duplicate_keys_now?=
+
+Find_and_remove_duplicate_BibTeX_keys=
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Generate_key=
+Import_marking_color=
+Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"
+Set_user_specific_file_directory=
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=
+Legacy_file_directory_setting_found_-_clear_setting?=
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
+
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/JabRef_no.properties b/src/resource/JabRef_no.properties
index e6a416e..b6f1060 100644
--- a/src/resource/JabRef_no.properties
+++ b/src/resource/JabRef_no.properties
@@ -13,7 +13,6 @@
%0_matches_the_term_<b>%1</b>=%0_matcher_uttrykket_<b>%1</b>
<field_name>=<feltnavn>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Kunne_ikke_finne_filen_'%0'<BR>linket_fra_enheten_'%1'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>Pakk_ut_zip-filen_som_inneholder_import-_og_eksportfiltre_for<BR>EndNote,_for_best_mulig_kompatibilitet_med_JabRef</HTML>
<no_field>=<ingen_felter>
<select>=<velg>
<select_word>=<velg_ord>
@@ -108,7 +107,6 @@ AUX_file_import=AUX-fil_import
Available_export_formats=Tilgjengelige_eksportformater
Available_fields=Tilgjengelige_felter
Available_import_formats=Tilgjengelige_importformater
-Background_color_for_marked_entries=Bakgrunnsfarge_for_merkede_enheter
Background_color_for_optional_fields=Bakgrunnsfarge_for_valgfrie_felter
Background_color_for_required_fields=Bakgrunnsfarge_for_n\u00F8dvendige_felter
Backup_old_file_when_saving=Lag_sikkerhetskopi_ved_lagring
@@ -1210,7 +1208,7 @@ Mark_entries_imported_into_an_existing_database=Merk_enheter_som_importeres_til_
Unmark_all_entries_before_importing_new_entries_into_an_existing_database=Fjern_merking_fra_alle_merkede_enheter_f\u00B8r_nye_importeres
Forward=Fram
Back=Tilbake
-Sort_the_following_fields_as_numeric_fields=Sorter_de_følgende_feltene_som_tall
+Sort_the_following_fields_as_numeric_fields=Sorter_de_f\u00C3\u00B8lgende_feltene_som_tall
Error_fetching_from_Citeseer\:\n=Feil_ved_nedlasting_fra_Citeseer:\n
Line_%0\:_Found_corrupted_BibTeX-key.=Linje_%0\:_Fant_ugyldig_BibTeX-n\u00B8kkel.
Line_%0\:_Found_corrupted_BibTeX-key_(contains_whitespaces).=Linje_%0\:_Fant_ugyldig_BibTeX-n\u00B8kkel_(inneholder_mellomrom).
@@ -1331,3 +1329,36 @@ Error_initializing_custom_export_format_from_string_'%0'=Feil_ved_initialisering
BibTeX_importer=BibTeX-importerer
Reset=Resett
Current_tmp_value=
+
+BibLaTeX_mode=
+Optional_fields_2=
+Please_wait=
+Waiting_for_save_operation_to_finish=
+Resolving_duplicate_BibTeX_keys...=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Do_you_want_to_resolve_duplicate_keys_now?=
+
+Find_and_remove_duplicate_BibTeX_keys=
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Generate_key=
+Import_marking_color=
+Set_user_specific_file_directory=
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=
+Legacy_file_directory_setting_found_-_clear_setting?=
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
+
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/JabRef_tr.properties b/src/resource/JabRef_tr.properties
index f56aa96..3a0344c 100644
--- a/src/resource/JabRef_tr.properties
+++ b/src/resource/JabRef_tr.properties
@@ -13,7 +13,6 @@
%0_matches_the_term_<b>%1</b>=%0_\u015Fu_terimle_e\u015Fle\u015Fiyor_<b>%1</b>
<field_name>=<alan_ad\u0131>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>'%1'_girdisinden_ba\u011Flant\u0131l\u0131<BR>'%0'_dosyas\u0131_bulunamad\u0131</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>JabRe'le_optimal_birlikte_i\u015Flerlik_i\u00E7in_Endnote_i\u00E7in_i\u00E7e/d\u0131\u015Fa_aktar\u0131m_<BR>filtrelerini_i\u00E7eren_zip_dosyas\u0131n\u0131_a\u00E7\u0131n\u0131z</HTML>
<no_field>=<alan_yok>
<select>=<se\u00E7>
<select_word>=<s\u00F6zc\u00FCk_se\u00E7>
@@ -104,7 +103,6 @@ AUX_file_import=AUX_dosya_i\u00E7e_aktar\u0131m\u0131
Available_export_formats=Mevcut_d\u0131\u015Fa_aktar\u0131m_bi\u00E7emleri
Available_fields=Mevcut_alanlar
Available_import_formats=Mevcut_i\u00E7e_aktar\u0131m_bi\u00E7emleri
-Background_color_for_marked_entries=\u0130\u015Faretlenmi\u015F_girdiler_i\u00E7in_arkaplan_rengi
Background_color_for_optional_fields=Se\u00E7meli_alanlar_i\u00E7in_arkaplan_rengi
Background_color_for_required_fields=Zorunlu_alanlar_i\u00E7in_arkaplan_rengi
Backup_old_file_when_saving=Kaydederken_eski_dosyay\u0131_yedekle
@@ -1126,11 +1124,11 @@ Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields
Legacy_file_fields=Eski_s\u00FCr\u00FCm_dosya_alanlar\u0131
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=Bu,_JabRef'in_her_bir_%0_uzant\u0131s\u0131n\u0131_bulup_dosyan\u0131n_var_olup_olmad\u0131\u011F\u0131n\u0131_kontrol_etmesini_sa\u011Flar._E\u011Fer_dosya_yoksa,_sorunu_\u00E7\u00F6zmek_i\u00E7in_se\u00E7enekler<BR>_sunulacakt\u0131r.
-Run_Fetcher,_e.g._"--fetch=Getiriciyi_\u00C7al\u0131\u015Ft\u0131r,_\u00D6rnek_"--fetch
Override_legacy_file_fields=Eski_s\u00FCr\u00FCm_dosya_alanlar\u0131n\u0131_\u00F6nemseme
The_ACM_Digital_Library=ACM_Say\u0131sal_K\u00FCt\u00FCphane
+Reset=S\u0131f\u0131rla
Use_IEEE_LaTeX_abbreviations=IEEE_LaTeX_k\u0131saltmalar\u0131_kullan\u0131n\u0131z
The_Guide_to_Computing_Literature=Bilgi_\u0130\u015Flem_Literat\u00FCr\u00FC_Klavuzu
@@ -1156,7 +1154,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=Linkteki_sanaldoku_say
Connection_error_when_trying_to_find_full_text_document.=Tam_metin_belge_bulmay\u0131_denerken_ba\u011Flant\u0131_hatas\u0131.
This_entry_provides_no_URL_or_DOI_links.=Bu_girdi_URL-ya_da_DOI_linki_sa\u011Flam\u0131yor.
Full_text_article_download_failed=Tam_metin_makale_indirme_ba\u015Far\u0131s\u0131z
-Down_up=A\u015Fa\u011F\u0131_ta\u015F\u0131
Update_to_current_column_order=Varolan_s\u00FCtun_s\u0131ras\u0131na_g\u00FCncelle
Rename_field=Alan\u0131n_ad\u0131n\u0131_de\u011Fi\u015Ftir
@@ -1263,10 +1260,42 @@ Search_ScienceDirect=ScienceDirect'te_Ara
Error_while_fetching_from_ScienceDirect=ScienceDirect'ten_getirirken_hata
Error_initializing_custom_export_format_from_string_'%0'='%0'_dizgesinden_\u00F6zelle\u015Ftirilmi\u015F_d\u0131\u015Fa_aktarma_bi\u00E7emi_ilklendirmede_hata
-Reset=S\u0131f\u0131rla
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=%0_girdi_bulundu._Sunucu_y\u00FCk\u00FCn\u00FC_azaltmak_i\u00E7in,_yaln\u0131zca_%1_indirilecek._ACM'yi_mutlu_etmek_i\u00E7in_\u00E7ok_yava\u015F_olacak.
+BibTeX_importer=BibTeX_i\u00E7e_aktar\u0131c\u0131s\u0131
+Set_user_specific_file_directory=Kullan\u0131c\u0131ya_\u00F6zel_dosya_dizini_ata
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=Kal\u0131tsal_dosya_dizini_ayar\u0131n\u0131_koru_(daha_eski_JabRef_s\u00FCr\u00FCmleri_i\u00E7in)
+Legacy_file_directory_setting_found_-_clear_setting?=Kal\u0131tsal_dosya_dizini_ayar\u0131_bulundu_-_silinsin_mi?
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=Mevcut_s\u00FCr\u00FCm_bir_veritaban\u0131n\u0131n_dosya_dizini_ayar\u0131n\u0131_saklaman\u0131n_yeni<br>bir_yolunu_sunar._Bu,_ayn\u0131_veritaban\u0131_dosyas\u0131n\u01 [...]
+
+BibLaTeX_mode=BibLaTeX_kipi
+Optional_fields_2=Opsiyonel_alanlar_2
+Please_wait=
+Waiting_for_save_operation_to_finish=
+Resolving_duplicate_BibTeX_keys...=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Do_you_want_to_resolve_duplicate_keys_now?=
+
+Find_and_remove_duplicate_BibTeX_keys=
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Generate_key=
+Import_marking_color=
+
+#translation needs to be completed
+Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"=Getiriciyi_\u00C7al\u0131\u015Ft\u0131r,_\u00D6rnek_"--fetch\=Medline\:cancer"
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
-Highlight_groups_that_contain_entries_contained_in_any_currently_selected_group=Se\u00E7ili_herhangi_bir_gruptaki_girdileri_i\u00E7eren_gruplar\u0131_i\u015Faretle
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
-%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
-BibTeX_importer=
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/JabRef_vi.properties b/src/resource/JabRef_vi.properties
new file mode 100755
index 0000000..1ec1d78
--- /dev/null
+++ b/src/resource/JabRef_vi.properties
@@ -0,0 +1,2179 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+
+%0_contains_the_Regular_Expression_<b>%1</b>=%0%0 ch\u1EE9a_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%1</b>
+
+%0_contains_the_term_<b>%1</b>=%0 ch\u1EE9a_thu\u1EADt_ng\u1EEF_<b>%1</b>
+
+%0_doesn't_contain_the_Regular_Expression_<b>%1</b>=%0_kh\u00F4ng_ch\u1EE9a_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%1</b>
+
+%0_doesn't_contain_the_term_<b>%1</b>=%0_kh\u00F4ng_ch\u1EE9a_thu\u1EADt_ng\u1EEF_<b>%1</b>
+
+%0_doesn't_match_the_Regular_Expression_<b>%1</b>=%0_kh\u00F4ng_kh\u1EDBp_v\u1EDBi_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%1</b>
+
+%0_doesn't_match_the_term_<b>%1</b>=%0_kh\u00F4ng_kh\u1EDBp_thu\u1EADt_ng\u1EEF_<b>%1</b>
+
+%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=T\u00ECm_th\u1EA5y_%0_m\u1EE5c._\u0110\u1EC3_gi\u1EA3m_t\u1EA3i_cho_server,_ch\u1EC9_c\u00F3_%1_s\u1EBD_\u0111\u01B0\u1EE3c_n\u1EA1p._S\u1EBD_r\u1EA5t_ch\u1EADm,_\u0111\u1EC3_\u0111\u1EA3m_b\u1EA3o_ACM_"h\u00E0i_l\u00F2ng".
+
+%0_export_successful=%0_xu\u1EA5t_th\u00E0nh_c\u00F4ng
+
+%0_field_set=%0_tr\u01B0\u1EDDng_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp
+
+%0_matches_the_Regular_Expression_<b>%1</b>=%0_kh\u1EDBp_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%1</b>
+
+%0_matches_the_term_<b>%1</b>=%0_kh\u1EDBp_thu\u1EADt_ng\u1EEF_<b>%1</b>
+%0_warnings=%0_c\u1EA3nh_b\u00E1o
+,_includes_subgroups=,_k\u1EC3_c\u1EA3_c\u00E1c_nh\u00F3m_con
+,_refines_supergroup=,_tinh_ch\u1EC9nh_l\u1EA1i_nh\u00F3m_l\u1EDBn
+</b>_-_dynamic_group_(=</b>_-_nh\u00F3m_\u0111\u1ED9ng_(
+</b>_-_dynamic_group_(<b>=</b>_-_nh\u00F3m_\u0111\u1ED9ng_(<b>
+</b>_-_static_group=</b>_-_nh\u00F3m_t\u0129nh
+</b>_contains_<b>=</b>_ch\u1EE9a_<b>
+<b>All_Entries</b>_(this_group_cannot_be_edited_or_removed)=<b>T\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c</b>_(kh\u00F4ng_th\u1EC3_ch\u1EC9nh_s\u1EEDa_ho\u1EB7c_lo\u1EA1i_b\u1ECF_nh\u00F3m_n\u00E0y)
+
+<field_name>=<t\u00EAn_tr\u01B0\u1EDDng>
+<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_t\u1EADp_tin_'%0'<BR>\u0111\u01B0\u1EE3c_li\u00EAn_k\u1EBFt_t\u1EEB_m\u1EE5c_'%1'</HTML>
+
+<no_field>=<kh\u00F4ng_c\u00F3_tr\u01B0\u1EDDng>
+
+<select>=<ch\u1ECDn>
+
+<select_word>=<ch\u1ECDn_t\u1EEB>
+
+_on_entry_number_=_d\u1EF1a_tr\u00EAn_s\u1ED1_hi\u1EC7u_m\u1EE5c_
+
+A_CiteSeer_fetch_operation_is_currently_in_progress.=M\u1ED9t_l\u1EC7nh_l\u1EA5y_v\u1EC1_t\u1EEB_CiteSeer_hi\u1EC7n_\u0111ang_ch\u1EA1y.
+
+A_CiteSeer_import_operation_is_currently_in_progress.=M\u1ED9t_l\u1EC7nh_nh\u1EADp_t\u1EEB_CiteSeer_hi\u1EC7n_\u0111ang_ch\u1EA1y.
+A_newer_version_of_this_plugin_is_already_installed.=M\u1ED9t_phi\u00EAn_b\u1EA3n_m\u1EDBi_h\u01A1n_c\u1EE7a_ph\u1EA7n_m\u1EDF_r\u1ED9ng_n\u00E0y_\u0111\u00E3_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t.
+A_string_with_that_label_already_exists=M\u1ED9t_chu\u1ED7i_v\u1EDBi_nh\u00E3n_\u0111\u00F3_\u0111\u00E3_c\u00F3
+Abbreviate_journal_names_of_the_selected_entries_(ISO_abbreviation)=Vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_ch\u00ED_c\u1EE7a_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn_(vi\u1EBFt_t\u1EAFt_ki\u1EC3u_ISO)
+Abbreviate_journal_names_of_the_selected_entries_(MEDLINE_abbreviation)=Vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_ch\u00ED_c\u1EE7a_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn_(vi\u1EBFt_t\u1EAFt_ki\u1EC3u_MEDLINE)
+
+Abbreviate_names=Vi\u1EBFt_t\u1EAFt_c\u00E1c_t\u00EAn
+Abbreviated_%0_journal_names.=%0_t\u00EAn_t\u1EA1p_ch\u00ED_\u0111\u01B0\u1EE3c_vi\u1EBFt_t\u1EAFt.
+
+Abbreviation=Vi\u1EBFt_t\u1EAFt
+
+About_JabRef=N\u00F3i_v\u1EC1_JabRef
+
+Abstract=T\u00F3m_t\u1EAFt
+
+Accept=Ch\u1EA5p_nh\u1EADn
+
+Accept_change=Ch\u1EA5p_nh\u1EADn_thay_\u0111\u1ED5i
+
+Action=H\u00E0nh_\u0111\u1ED9ng
+
+Add=Th\u00EAm
+
+Add_a_(compiled)_custom_ImportFormat_class_from_a_class_path._\nThe_path_need_not_be_on_the_classpath_of_JabRef.=Th\u00EAm_m\u1ED9t_l\u1EDBp_\u0110\u1ECBnhd\u1EA1ngNh\u1EADp_t\u00F9y_bi\u1EBFn_(\u0111\u01B0\u1EE3c_bi\u00EAn_d\u1ECBch)_t\u1EEB_\u0111\u01B0\u1EDDng_d\u1EABn_l\u1EDBp._\n\u0110\u01B0\u1EDDng_d\u1EABn_kh\u00F4ng_\u0111\u01B0\u1EE3c_tr\u00F9ng_v\u1EDBi_\u0111\u01B0\u1EDDng_d\u1EABn_l\u1EDBp_c\u1EE7a_JabRef.
+
+Add_a_(compiled)_custom_ImportFormat_class_from_a_Zip-archive.\nThe_Zip-archive_need_not_be_on_the_classpath_of_JabRef.=Th\u00EAm_m\u1ED9t_l\u1EDBp_\u0110\u1ECBnhd\u1EA1ngNh\u1EADp_t\u00F9y_bi\u1EBFn_(\u0111\u01B0\u1EE3c_bi\u00EAn_d\u1ECBch)_t\u1EEB_m\u1ED9t_t\u1EADp_tin-zip._\nT\u1EADp_tin-zip_kh\u00F4ng_\u0111\u01B0\u1EE3c_tr\u00F9ng_v\u1EDBi_\u0111\u01B0\u1EDDng_d\u1EABn_l\u1EDBp_c\u1EE7a_JabRef.
+
+add_entries_to_group=th\u00EAm_c\u00E1c_m\u1EE5c_v\u00E0o_nh\u00F3m
+
+Add_entry_selection_to_this_group=Th\u00EAm_ph\u00E9p_ch\u1ECDn_m\u1EE5c_v\u00E0o_nh\u00F3m_n\u00E0y
+
+Add_from_folder=Th\u00EAm_t\u1EEB_th\u01B0_m\u1EE5c
+
+Add_from_jar=Th\u00EAm_t\u1EEB_t\u1EADp_tin_jar
+
+add_group=th\u00EAm_nh\u00F3m
+
+Add_Group=Th\u00EAm_nh\u00F3m
+
+Add_new=Th\u00EAm_m\u1EDBi
+
+Add_Subgroup=Th\u00EAm_nh\u00F3m_con
+
+Add_to_group=Th\u00EAm_v\u00E0o_nh\u00F3m
+
+Added_group_"%0".=Nh\u00F3m_\u0111\u01B0\u1EE3c_th\u00EAm_"%0".
+
+Added_new=M\u1EDBi_\u0111\u01B0\u1EE3c_th\u00EAm
+
+Added_string=Chu\u1ED7i_\u0111\u01B0\u1EE3c_th\u00EAm
+
+Additionally,_entries_whose_<b>%0</b>_field_does_not_contain_<b>%1</b>_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_<b>%1</b>_to_each_entry's_<b>%0</b>_field._Entries_can_be_removed_manually_from_this_group_by_selecting_them_then_using_the_context_menu._This_process_removes_the_term_<b>%1</b>_from_each_entry's_<b>%0</b>_field.=Ngo\u00E0i_ra,_nh\u1EEFng_m\u1EE5c_n\u00E0o_c\u00F3_tr\u01B0\u1EDDng_<b [...]
+
+Advanced=N\u00E2ng_cao
+All_custom_file_types_will_be_lost._Proceed?=T\u1EA5t_c\u1EA3_ki\u1EC3u_t\u1EADp_tin_t\u1EF1_t\u1EA1o_s\u1EBD_m\u1EA5t._V\u1EABn_ti\u1EBFp_t\u1EE5c?
+
+All_Entries=T\u1EA5t_c\u1EA3_c\u00E1c_M\u1EE5c
+
+All_entries=T\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c
+All_entries_of_this_type_will_be_declared_typeless._Continue?=T\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_thu\u1ED9c_ki\u1EC3u_n\u00E0y_s\u1EBD_\u0111\u01B0\u1EE3c_\u0111\u1ED5i_th\u00E0nh_kh\u00F4ng_c\u00F3_ki\u1EC3u._Ti\u1EBFp_t\u1EE5c_kh\u00F4ng?
+
+All_fields=T\u1EA5t_c\u1EA3_c\u00E1c_tr\u01B0\u1EDDng
+
+All_subgroups_(recursively)=T\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m_con_(\u0111\u1EC7_quy)
+
+Allow_editing_in_table_cells=Cho_ph\u00E9p_ch\u1EC9nh_s\u1EEDa_trong_\u00F4_c\u1EE7a_b\u1EA3ng
+An_Error_occurred_while_fetching_from_OAI2_source_(%0)\:=M\u1ED9t_l\u1ED7i_x\u1EA3y_ra_khi_\u0111ang_l\u1EA5y_v\u1EC1_t\u1EEB_ngu\u1ED3n_OAI2_(%0):
+An_Error_occurred_while_fetching_from_SPIRES_source_(%0)\:=M\u1ED9t_l\u1ED7i_x\u1EA3y_ra_khi_\u0111ang_l\u1EA5y_v\u1EC1_t\u1EEB_ngu\u1ED3n_SPIRES_(%0)\:
+An_Exception_ocurred_while_accessing_'%0'=M\u1ED9t_l\u1ED7i_x\u1EA3y_ra_khi_\u0111ang_truy_c\u1EADp_'%0'
+An_SAXException_ocurred_while_parsing_'%0'\:=M\u1ED9t_l\u1ED7i_SAXException_x\u1EA3y_ra_khi_\u0111ang_ph\u00E2n_t\u00E1ch_'%0':
+
+and= v\u00E0
+and_inside_the_JabRef-jar\:=v\u00E0_trong_JabRef-jar:
+
+and_the_class_must_be_available_in_your_classpath_next_time_you_start_JabRef.=v\u00E0_l\u1EDBp_ph\u1EA3i_c\u00F3_trong_\u0111\u01B0\u1EDDng_d\u1EABn_l\u1EDBp_l\u1EA7n_sau_khi_b\u1EA1n_kh\u1EDFi_\u0111\u1ED9ng_JabRef.
+
+any_field_that_matches_the_regular_expression_<b>%0</b>=b\u1EA5t_k\u1EF3_tr\u01B0\u1EDDng_n\u00E0o_kh\u1EDBp_Bi\u1EC3u_th\u1EE9c_Ch\u00EDnh_t\u1EAFc_<b>%0</b>
+
+Appearance=Di\u1EC7n_m\u1EA1o
+
+Append=N\u1ED1i
+Append_contents_from_a_BibTeX_database_into_the_currently_viewed_database=N\u1ED1i_n\u1ED9i_dung_t\u1EEB_m\u1ED9t_CSDL_BibTeX_v\u00E0o_CSDL_\u0111ang_xem_hi\u1EC7n_t\u1EA1i
+
+Append_database=N\u1ED1i_CSDL
+
+append_the_selected_text_to_bibtex_key=n\u1ED1i_n\u1ED9i_dung_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_kh\u00F3a_bibtex
+Application=\u1EE8ng_d\u1EE5ng
+
+Apply=\u00C1p_d\u1EE5ng
+
+Arguments_passed_on_to_running_JabRef_instance._Shutting_down.=C\u00E1c_\u0111\u1ED1i_s\u1ED1_\u0111\u01B0\u1EE3c_truy\u1EC1n_cho_phi\u00EAn_JabRef_\u0111ang_ch\u1EA1y._\u0110ang_t\u1EAFt.
+
+Assign_entry_selection_exclusively_to_this_group=G\u00E1n_ph\u00E9p_ch\u1ECDn_m\u1EE5c_ch\u1EC9_cho_nh\u00F3m_n\u00E0y
+
+Assign_exclusively_to_group=Ch\u1EC9_g\u00E1n_v\u00E0o_nh\u00F3m
+
+Assign_new_file=G\u00E1n_t\u1EADp_tin_m\u1EDBi
+
+Assign_the_original_group's_entries_to_this_group?=G\u00E1n_c\u00E1c_m\u1EE5c_c\u1EE7a_nh\u00F3m_ban_\u0111\u1EA7u_v\u00E0o_nh\u00F3m_n\u00E0y?
+
+Assigned_%0_entries_to_group_"%1".=\u0110\u00E3_g\u00E1n_%0_m\u1EE5c_v\u00E0o_nh\u00F3m_"%1".
+
+Assigned_1_entry_to_group_"%0".=\u0110\u00E3_g\u00E1n_1_m\u1EE5c_v\u00E0o_nh\u00F3m_"%0".
+At_least_the_plug-in_'net.sf.jabref.core'_should_be_there.=T\u1ED1i_thi\u1EC3u_ph\u1EA3i_c\u00F3_ph\u1EA7n_m\u1EDF_r\u1ED9ng_'net.sf.jabref.core'.
+
+Attach_%0_file=G\u1EAFn_%0_t\u1EADp_tin
+
+Attach_URL=G\u1EAFn_URL
+
+Attempt_to_autoset_%0_links_for_your_entries._Autoset_works_if_a_%0_file_in_your_%0_directory_or_a_subdirectory<BR>is_named_identically_to_an_entry's_BibTeX_key,_plus_extension.=C\u1ED1_g\u1EAFng_thi\u1EBFt_l\u1EADp_t\u1EF1_\u0111\u1ED9ng_%0_li\u00EAn_k\u1EBFt_v\u00E0o_c\u00E1c_m\u1EE5c._Thi\u1EBFt_l\u1EADp_t\u1EF1_\u0111\u1ED9ng_ch\u1EA1y_\u0111\u01B0\u1EE3c_n\u1EBFu_m\u1ED9t_t\u1EADp_tin_%0_\u1EDF_trong_th\u01B0_m\u1EE5c_ho\u1EB7c_th\u01B0_m\u1EE5c_con_%0_c\u1EE7a_b\u1EA1n<BR>\u0111\u0 [...]
+Attempting_SQL_export...=\u0110ang_c\u1ED1_xu\u1EA5t_ra_SQL...
+Attempting_SQL_import...=\u0110ang_c\u1ED1_nh\u1EADp_SQL...
+
+Auto=T\u1EF1_\u0111\u1ED9ng
+
+Autodetect_format=T\u1EF1_\u0111\u1ED9ng_ph\u00E1t_hi\u1EC7n_\u0111\u1ECBnh_d\u1EA1ng
+
+Autogenerate_BibTeX_key=T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_kh\u00F3a_BibTeX
+Autogenerate_BibTeX_keys=T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_c\u00E1c_kh\u00F3a_BibTeX
+
+Autogenerate_groups=T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_c\u00E1c_nh\u00F3m
+
+autogenerate_keys=t\u1EF1_\u0111\u1ED9ng_t\u1EA1o_c\u00E1c_kh\u00F3a
+Autolink_files_with_names_starting_with_the_BibTeX_key=T\u1EF1_\u0111\u1ED9ng_li\u00EAn_k\u1EBFt_v\u1EDBi_c\u00E1c_t\u00EAn_b\u1EAFt_\u0111\u1EA7u_b\u1EB1ng_kh\u00F3a_BibTeX
+
+Autolink_only_files_that_match_the_BibTeX_key=Ch\u1EC9_t\u1EF1_\u0111\u1ED9ng_li\u00EAn_k\u1EBFt_c\u00E1c_t\u1EADp_tin_n\u00E0o_kh\u1EDBp_kh\u00F3a_BibTeX
+
+Automatically_create_groups=T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_c\u00E1c_nh\u00F3m
+
+Automatically_create_groups_for_database.=T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_c\u00E1c_nh\u00F3m_d\u00F9ng_cho_CSDL.
+
+Automatically_created_groups=C\u00E1c_nh\u00F3m_\u0111\u01B0\u1EE3c_t\u1EA1o_ra_t\u1EF1_\u0111\u1ED9ng
+
+Automatically_hide_groups_interface_when_switching_to_a_database_that_contains_no_groups=T\u1EF1_\u0111\u1ED9ng_\u1EA9n_\u0111i_giao_di\u1EC7n_nh\u00F3m_khi_chuy\u1EC3n_qua_m\u1ED9t_CSDL_kh\u00F4ng_ch\u1EE9a_nh\u00F3m
+
+Automatically_remove_exact_duplicates=T\u1EF1_\u0111\u1ED9ng_lo\u1EA1i_b\u1ECF_c\u00E1c_m\u1EE5c_tr\u00F9ng_nhau
+
+Automatically_set_file_links_for_this_entry=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_c\u00E1c_li\u00EAn_k\u1EBFt_t\u1EADp_tin_cho_m\u1EE5c_n\u00E0y
+
+Automatically_show_groups_interface_when_switching_to_a_database_that_contains_groups=T\u1EF1_\u0111\u1ED9ng_hi\u1EC3n_th\u1ECB_giao_di\u1EC7n_nh\u00F3m_khi_chuy\u1EC3n_qua_m\u1ED9t_CSDL_ch\u1EE9a_nh\u00F3m
+
+Autosave=L\u01B0u_t\u1EF1_\u0111\u1ED9ng
+Autosave_interval_(minutes)=Kho\u1EA3ng_th\u1EDDi_gian_t\u1EF1_\u0111\u1ED9ng_l\u01B0u_(ph\u00FAt)
+Autosave_of_file_'%0'=L\u01B0u_t\u1EF1_\u0111\u1ED9ng_t\u1EADp_tin_'%0'
+
+Autoset=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp
+
+Autoset_%0_field=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_%0_tr\u01B0\u1EDDng
+
+Autoset_%0_links._Allow_overwriting_existing_links.=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_%0_li\u00EAn_k\u1EBFt._Cho_ph\u00E9p_ghi_\u0111\u00E8_c\u00E1c_li\u00EAn_k\u1EBFt_hi\u1EC7n_c\u00F3.
+
+Autoset_%0_links._Do_not_overwrite_existing_links.=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_%0_li\u00EAn_k\u1EBFt._Kh\u00F4ng_ghi_\u0111\u00E8_c\u00E1c_li\u00EAn_k\u1EBFt_hi\u1EC7n_c\u00F3.
+Autoset_external_links=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i
+Autosetting_links=T\u1EF1_\u0111\u1ED9ng_thi\u1EBFt_l\u1EADp_li\u00EAn_k\u1EBFt
+
+AUX_file_import=Nh\u1EADp_t\u1EADp_tin_AUX
+
+Available_export_formats=C\u00E1c_\u0111\u1ECBnh_d\u1EA1ng_xu\u1EA5t_d\u00F9ng_\u0111\u01B0\u1EE3c
+
+Available_fields=C\u00E1c_tr\u01B0\u1EDDng_BibTeX_d\u00F9ng_\u0111\u01B0\u1EE3c
+
+Available_import_formats=C\u00E1c_\u0111\u1ECBnh_d\u1EA1ng_nh\u1EADp_d\u00F9ng_\u0111\u01B0\u1EE3c
+Back=Lui
+
+Background_color_for_optional_fields=M\u00E0u_n\u1EC1n_cho_c\u00E1c_tr\u01B0\u1EDDng_t\u00F9y_ch\u1ECDn
+
+Background_color_for_required_fields=M\u00E0u_n\u1EC1n_cho_c\u00E1c_tr\u01B0\u1EDDng_b\u1EAFt_bu\u1ED9c
+
+Backup_old_file_when_saving=Sao_l\u1EA1i_t\u1EADp_tin_c\u0169_khi_l\u01B0u
+
+Bad_Request_'%0'.=Y\u00EAu_c\u1EA7u_sai_'%0'.
+Before_saving,_please_edit_any_strings_containing_the_#_character.=Tr\u01B0\u1EDBc_khi_l\u01B0u,_vui_l\u00F2ng_ch\u1EC9nh_s\u1EEDa_t\u1EA5t_c\u1EA3_c\u00E1c_chu\u1ED7i_ch\u1EE9a_k\u00FD_t\u1EF1__#.
+Beta_version=Phi\u00EAn_b\u1EA3n_Beta
+
+Bibkey_to_filename_conversion=Ph\u00E9p_chuy\u1EC3n_Bibkey_th\u00E0nh_t\u00EAn_t\u1EADp_tin
+BibO_RDF=BibO_RDF
+BibTeX_importer=Tr\u00ECnh_nh\u1EADp_BibTeX
+
+BibTeX_key=Kh\u00F3a_BibTeX
+
+BibTeX_key_generator=Tr\u00ECnh_t\u1EA1o_kh\u00F3a_BibTeX
+
+BibTeX_key_is_unique.=Kh\u00F3a_BibTeX_kh\u00F4ng_\u0111\u01B0\u1EE3c_tr\u00F9ng.
+
+BibTeX_key_not_set._Enter_a_name_for_the_downloaded_file=Kh\u00F3a_BibTeX_ch\u01B0a_thi\u1EBFt_l\u1EADp._Nh\u1EADp_t\u00EAn_cho_t\u1EADp_tin_t\u1EA3i_v\u1EC1
+
+BibTeX_source=Ngu\u1ED3n_BibTeX
+
+BibTeXML=BibTeXML
+
+Binding=G\u1EAFn_k\u1EBFt
+Broken_link=Li\u00EAn_k\u1EBFt_b\u1ECB_\u0111\u1EE9t
+
+Browse=Duy\u1EC7t
+
+by=theo
+
+Calling_external_viewer...=\u0110ang_g\u1ECDi_tr\u00ECnh_xem_ngo\u00E0i...
+
+Cancel=H\u1EE7y
+
+Cannot_add_entries_to_group_without_generating_keys._Generate_keys_now?=Kh\u00F4ng_th\u1EC3_th\u00EAm_c\u00E1c_m\u1EE5c_v\u00E0o_nh\u00F3m_m\u00E0_kh\u00F4ng_t\u1EA1o_kh\u00F3a._C\u00F3_t\u1EA1o_kh\u00F3a_kh\u00F4ng?
+Cannot_connect_to_SQL_server_at_the_specified_host.=Kh\u00F4ng_th\u1EC3_k\u1EBFt_n\u1ED1i_v\u00E0o_server_SQL_t\u1EA1i_host_\u0111\u01B0\u1EE3c_ch\u1EC9_\u0111\u1ECBnh.
+
+Cannot_merge_this_change=Kh\u00F4ng_th\u1EC3_g\u1ED9p_thay_\u0111\u1ED5i_n\u00E0y
+
+Cannot_move_group_"%0"_down.=Kh\u00F4ng_th\u1EC3_chuy\u1EC3n_nh\u00F3m_"%0"_xu\u1ED1ng.
+
+Cannot_move_group_"%0"_left.=Kh\u00F4ng_th\u1EC3_chuy\u1EC3n_nh\u00F3m_"%0"_qua_tr\u00E1i.
+
+Cannot_move_group_"%0"_right.=Kh\u00F4ng_th\u1EC3_chuy\u1EC3n_nh\u00F3m_"%0"_qua_ph\u1EA3i.
+
+Cannot_move_group_"%0"_up.=Kh\u00F4ng_th\u1EC3_chuy\u1EC3n_nh\u00F3m_"%0"_l\u00EAn_tr\u00EAn.
+
+Cannot_use_port_%0_for_remote_operation;_another_application_may_be_using_it._Try_specifying_another_port.=Kh\u00F4ng_th\u1EC3_d\u00F9ng_c\u1ED5ng_%0_cho_l\u1EC7nh_ch\u1EA1y_t\u1EEB_xa;_m\u1ED9t_\u1EE9ng_d\u1EE5ng_kh\u00E1c_c\u00F3_th\u1EC3_\u0111ang_d\u00F9ng_n\u00F3._H\u00E3y_th\u1EED_ch\u1EC9_\u0111\u1ECBnh_m\u1ED9t_c\u1ED5ng_kh\u00E1c.
+
+case_insensitive=kh\u00F4ng_ph\u00E2n_bi\u1EC7t_ch\u1EEF_hoa/th\u01B0\u1EDDng
+
+case_sensitive=ph\u00E2n_bi\u1EC7t_ch\u1EEF_hoa/th\u01B0\u1EDDng
+
+Case_sensitive=Ph\u00E2n_bi\u1EC7t_ch\u1EEF_hoa/th\u01B0\u1EDDng
+
+change_assignment_of_entries=\u0111\u1ED5i_ph\u00E9p_g\u00E1n_c\u00E1c_m\u1EE5c
+
+Change_case=\u0110\u1ED5i_ch\u1EEF_hoa/th\u01B0\u1EDDng
+
+Change_entry_type=\u0110\u1ED5i_ki\u1EC3u_c\u1EE7a_m\u1EE5c
+Change_file_type=\u0110\u1ED5i_ki\u1EC3u_t\u1EADp_tin
+
+change_key=\u0111\u1ED5i_kh\u00F3a
+
+Change_of_Grouping_Method=\u0110\u1ED5i_Ph\u01B0\u01A1ng_ph\u00E1p_G\u1ED9p_nh\u00F3m
+
+change_preamble=\u0111\u1ED5i_ph\u1EA7n_m\u1EDF_\u0111\u1EA7u
+
+change_string_content=\u0111\u1ED5i_n\u1ED9i_dung_chu\u1ED7i
+
+change_string_name=\u0111\u1ED5i_t\u00EAn_chu\u1ED7i
+Change_table_column_and_General_fields_settings_to_use_the_new_feature=\u0110\u1ED5i_c\u1ED9t_c\u1EE7a_b\u1EA3ng_v\u00E0_c\u00E1c_thi\u1EBFt_l\u1EADp_tr\u01B0\u1EDDng_t\u1ED5ng_qu\u00E1t_\u0111\u1EC3_d\u00F9ng_t\u00EDnh_ch\u1EA5t_m\u1EDBi
+
+change_type=\u0111\u1ED5i_ki\u1EC3u
+
+changed_=\u0111\u01B0\u1EE3c_thay_\u0111\u1ED5i_
+
+Changed_font_settings=C\u00E1c_thi\u1EBFt_l\u1EADp_ph\u00F4ng_\u0111\u01B0\u1EE3c_thay_\u0111\u1ED5i
+
+Changed_language_settings=C\u00E1c_thi\u1EBFt_l\u1EADp_ng\u00F4n_ng\u1EEF_\u0111\u01B0\u1EE3c_thay_\u0111\u1ED5i
+
+Changed_look_and_feel_settings=C\u00E1c_thi\u1EBFt_l\u1EADp_di\u1EC7n_m\u1EA1o_\u0111\u01B0\u1EE3c_thay_\u0111\u1ED5i
+
+Changed_preamble=Ph\u1EA7n_m\u1EDF_\u0111\u1EA7u_\u0111\u01B0\u1EE3c_thay_\u0111\u1ED5i
+
+Changed_type_to=Ki\u1EC3u_\u0111\u01B0\u1EE3c_\u0111\u1ED5i_th\u00E0nh
+Changes_have_been_made_to_the_following_metadata_elements=C\u00E1c_thay_\u0111\u1ED5i_\u0111\u00E3_\u0111\u01B0\u1EE3c_th\u1EF1c_hi\u1EC7n_cho_nh\u1EEFng_th\u00E0nh_ph\u1EA7n_\u0111\u1EB7c_t\u1EA3_CSDL_sau
+
+Characters_to_ignore=C\u00E1c_k\u00FD_t\u1EF1_b\u1ECF_qua
+
+Check_existing_%0_links=Ki\u1EC3m_tra_%0_li\u00EAn_k\u1EBFt_hi\u1EC7n_c\u00F3
+
+Check_links=Ki\u1EC3m_tra_c\u00E1c_li\u00EAn_k\u1EBFt
+
+Choose_the_URL_to_download._The_default_value_points_to_a_list_provided_by_the_JabRef_developers.=Ch\u1ECDn_URL_\u0111\u1EC3_t\u1EA3i_v\u1EC1._Gi\u00E1_tr\u1ECB_hi\u1EC7n_t\u1EA1i_tr\u1ECF_\u0111\u1EBFn_m\u1ED9t_danh_s\u00E1ch_do_c\u00E1c_nh\u00E0_ph\u00E1t_tri\u1EC3n_JabRef_cung_c\u1EA5p.
+Cite_command=L\u1EC7nh_tr\u00EDch_d\u1EABn
+
+CiteSeer_Error=L\u1ED7i_CiteSeer
+
+CiteSeer_Fetch_Error=L\u1ED7i_l\u1EA5y_v\u1EC1_t\u1EEB_CiteSeer
+
+CiteSeer_Import_Fields=C\u00E1c_tr\u01B0\u1EDDng_nh\u1EADp_t\u1EEB_CiteSeer
+
+CiteSeer_Transfer=Chuy\u1EC3n_t\u1EEB_CiteSeer
+
+Class_name=T\u00EAn_l\u1EDBp
+
+Clear=X\u00F3a
+
+clear_all_groups=x\u00F3a_t\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m
+
+Clear_field=X\u00F3a_tr\u01B0\u1EDDng
+Clear_fields=X\u00F3a_c\u00E1c_tr\u01B0\u1EDDng
+
+Clear_highlight=X\u00F3a_ph\u1EA7n_l\u00E0m_n\u1ED5i
+
+Clear_inputarea=X\u00F3a_trong_v\u00F9ng_nh\u1EADp_li\u1EC7u
+
+Close=\u0110\u00F3ng
+
+Close_dialog=\u0110\u00F3ng_h\u1ED9p_tho\u1EA1i
+
+Close_the_current_database=\u0110\u00F3ng_CSDL_hi\u1EC7n_t\u1EA1i
+
+Close_the_help_window=\u0110\u00F3ng_c\u1EEDa_s\u1ED5_tr\u1EE3_gi\u00FAp
+
+Close_window=\u0110\u00F3ng_c\u1EEDa_s\u1ED5
+
+Closed_database=CSDL_\u0111\u01B0\u1EE3c_\u0111\u00F3ng
+
+Collapse_subtree=Thu_s\u01A1_\u0111\u1ED3_ph\u1EE5_h\u00ECnh_c\u00E2y_l\u1EA1i
+
+Color_codes_for_required_and_optional_fields=\u0110\u00E1nh_m\u00E3_m\u00E0u_c\u00E1c_tr\u01B0\u1EDDng_b\u1EAFt_bu\u1ED9c_v\u00E0_t\u00F9y_ch\u1ECDn
+
+Color_for_marking_incomplete_entries=M\u00E0u_\u0111\u1EC3_\u0111\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c_ch\u01B0a_ho\u00E0n_t\u1EA5t
+
+Column_width=Chi\u1EC1u_r\u1ED9ng_c\u1ED9t
+
+Command_line_id=Ch\u1EC9_s\u1ED1_(id)_c\u1EE7a_d\u00F2ng_l\u1EC7nh
+
+Complete_record=Ho\u00E0n_t\u1EA5t_b\u1EA3n_ghi
+
+Completed_Import_Fields_from_CiteSeer.=Ho\u00E0n_t\u1EA5t_nh\u1EADp_c\u00E1c_tr\u01B0\u1EDDng_nh\u1EADp_t\u1EEB_CiteSeer
+Connect=K\u1EBFt_n\u1ED1i
+Connect_to_external_SQL_database=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_CSDL__SQL_ngo\u00E0i
+Connect_to_SQL_database=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_CSDL_SQL
+Connect_to_SQL_Database=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_CSDL_SQL
+Connection_error_when_trying_to_find_full_text_document.=L\u1ED7i_k\u1EBFt_n\u1ED1i_khi_\u0111ang_c\u1ED1_t\u00ECm_t\u00E0i_li\u1EC7u_\u0111\u1EA7y_\u0111\u1EE7.
+Connection_to_ACM_Portal_failed=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_ACM_Portal_th\u1EA5t_b\u1EA1i
+Connection_to_IEEEXplore_failed=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_IEEEXplore_th\u1EA5t_b\u1EA1i
+
+Contained_in=Ch\u1EE9a_trong
+
+Content=N\u1ED9i_dung
+
+Copied=\u0110\u01B0\u1EE3c_ch\u00E9p
+
+Copied_cell_contents=N\u1ED9i_dung_\u00F4_\u0111\u01B0\u1EE3c_ch\u00E9p
+
+Copied_key=Kh\u00F3a_\u0111\u01B0\u1EE3c_ch\u00E9p
+
+Copied_keys=C\u00E1c_kh\u00F3a_\u0111\u01B0\u1EE3c_ch\u00E9p
+
+Copy=Ch\u00E9p
+
+Copy_BibTeX_key=Ch\u00E9p_kh\u00F3a_BibTeX
+Copy_file_to_file_directory.=Ch\u00E9p_t\u1EADp_tin_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin.
+Copy_files_to_file_directory.=Ch\u00E9p_c\u00E1c_t\u1EADp_tin_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin.
+
+Copy_to_clipboard=Ch\u00E9p_v\u00E0o_b\u1ED9_nh\u1EDB_t\u1EA1m
+
+Could_not_call_executable=Kh\u00F4ng_th\u1EC3_g\u1ECDi_ch\u01B0\u01A1ng_tr\u00ECnh
+
+Could_not_connect_to_a_running_gnuserv_process._Make_sure_that_Emacs_or_XEmacs_is_running,<BR>and_that_the_server_has_been_started_(by_running_the_command_'gnuserv-start').=Kh\u00F4ng_th\u1EC3_k\u1EBFt_n\u1ED1i_\u0111\u1EBFn_m\u1ED9t_ti\u1EBFn_tr\u00ECnh_gnuserv_\u0111ang_ch\u1EA1y._H\u00E3y_\u0111\u1EA3m_b\u1EA3o_r\u1EB1ng_Emacs_ho\u1EB7c_XEmacs_\u0111ang_ch\u1EA1y,<BR>v\u00E0_r\u1EB1ng_server_\u0111\u00E3_\u0111\u01B0\u1EE3c_kh\u1EDFi_\u0111\u1ED9ng_(b\u1EB1ng_c\u00E1ch_ch\u1EA1y_l\u1E [...]
+
+Could_not_connect_to_host=Kh\u00F4ng_th\u1EC3_k\u1EBFt_n\u1ED1i_\u0111\u1EBFn_host
+
+Could_not_connect_to_host_=Kh\u00F4ng_th\u1EC3_k\u1EBFt_n\u1ED1i_\u0111\u1EBFn_host_
+Could_not_connect_to_Vim_server._Make_sure_that_Vim_is_running<BR>with_correct_server_name.=Kh\u00F4ng_th\u1EC3_k\u1EBFt_n\u1ED1i_\u0111\u1EBFn_server_Vim._H\u00E3y_\u0111\u1EA3m_b\u1EA3o_r\u1EB1ng_Vim_\u0111ang_ch\u1EA1y<BR>v\u1EDBi_t\u00EAn_server_\u0111\u00FAng.
+Could_not_determine_exception_message.=Kh\u00F4ng_th\u1EC3_x\u00E1c_\u0111\u1ECBnh_th\u00F4ng_b\u00E1o_ngo\u1EA1i_l\u1EC7.
+Could_not_determine_version_of_=Kh\u00F4ng_th\u1EC3_x\u00E1c_\u0111\u1ECBnh_phi\u00EAn_b\u1EA3n_c\u1EE7a_
+
+Could_not_export_entry_types=Kh\u00F4ng_th\u1EC3_xu\u1EA5t_c\u00E1c_ki\u1EC3u_c\u1EE7a_m\u1EE5c
+
+Could_not_export_file=Kh\u00F4ng_th\u1EC3_xu\u1EA5t_t\u1EADp_tin
+
+Could_not_export_preferences=Kh\u00F4ng_th\u1EC3_xu\u1EA5t_c\u00E1c_t\u00F9y_th\u00EDch
+
+Could_not_find_a_suitable_import_format.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_\u0111\u1ECBnh_d\u1EA1ng_nh\u1EADp_ph\u00F9_h\u1EE3p.
+Could_not_find_directory_for_%0-files\:_%1=Kh\u00F4ng_t\u00ECm_th\u1EA5y_th\u01B0_m\u1EE5c_d\u00F9ng_cho_%0-t\u1EADp_tin:_%1
+Could_not_find_fetcher_'%0'=Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_tr\u00ECnh_l\u1EA7y_v\u1EC1_'%0'
+Could_not_find_file_'%0'.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u1EADp_tin_'%0'.
+Could_not_find_image_file=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u1EADp_tin_\u1EA3nh
+
+Could_not_find_layout_file=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u1EADp_tin_tr\u00ECnh_b\u00E0y
+
+Could_not_import_entry_types=Kh\u00F4ng_th\u1EC3_nh\u1EADp_c\u00E1c_ki\u1EC3u_m\u1EE5c
+
+Could_not_import_preferences=Kh\u00F4ng_th\u1EC3_nh\u1EADp_c\u00E1c_t\u00F9y_th\u00EDch
+
+Could_not_instantiate_%0_%1=Kh\u00F4ng_th\u1EC3_t\u1EA1o_\u0111\u1ED1i_t\u01B0\u1EE3ng_%0_%1
+
+Could_not_instantiate_%0_%1._Have_you_chosen_the_correct_package_path?=Kh\u00F4ng_th\u1EC3_t\u1EA1o_\u0111\u1ED1i_t\u01B0\u1EE3ng_%0_%1._B\u1EA1n_\u0111\u00E3_ch\u1ECDn_\u0111\u01B0\u1EDDng_d\u1EABn_g\u00F3i_\u0111\u00FAng_ch\u01B0a?
+Could_not_move_file=Kh\u00F4ng_th\u1EC3_chuy\u1EC3n_t\u1EADp_tin
+Could_not_open_link=Kh\u00F4ng_th\u1EC3_m\u1EDF_li\u00EAn_k\u1EBFt
+
+Could_not_parse_number_of_hits=Kh\u00F4ng_th\u1EC3_ph\u00E2n_t\u00E1ch_s\u1ED1_l\u1EA7n_g\u1EB7p
+Could_not_print_preview=Kh\u00F4ng_th\u1EC3_in_ph\u1EA7n_xem_tr\u01B0\u1EDBc
+
+Could_not_resolve_import_format=Kh\u00F4ng_th\u1EC3_gi\u1EA3i_\u0111\u1ECBnh_d\u1EA1ng_nh\u1EADp
+
+Could_not_run_the_'gnuclient'_program._Make_sure_you_have_the_gnuserv/gnuclient_programs_installed.=Kh\u00F4ng_th\u1EC3_ch\u1EA1y_ch\u01B0\u01A1ng_tr\u00ECnh_'gnuclient'._H\u00E3y_\u0111\u1EA3m_b\u1EA3o_r\u1EB1ng_b\u1EA1n_c\u00F3_c\u00E0i_\u0111\u1EB7t_c\u00E1c_ch\u01B0\u01A1ng_tr\u00ECnh_gnuserv/gnuclient.
+Could_not_run_the_'vim'_program.=Kh\u00F4ng_th\u1EC3_ch\u1EA1y_ch\u01B0\u01A1ng_tr\u00ECnh_'vim'.
+Could_not_save,_file_locked_by_another_JabRef_instance.=Kh\u00F4ng_th\u1EC3_l\u01B0u,_t\u1EADp_tin_b\u1ECB_kh\u00F3a_b\u1EDFi_m\u1ED9t_phi\u00EAn_l\u00E0m_vi\u1EC7c_kh\u00E1c_c\u1EE7a_JabRef_\u0111ang_ch\u1EA1y.
+
+Could_not_save_file=Kh\u00F4ng_th\u1EC3_l\u01B0u_t\u1EADp_tin
+Could_not_save_file._Character_encoding_'%0'_is_not_supported.=Kh\u00F4ng_th\u1EC3_l\u01B0u_t\u1EADp_tin._M\u00E3_h\u00F3a_k\u00FD_t\u1EF1_'%0'_kh\u00F4ng_\u0111\u01B0\u1EE3c_h\u1ED7_tr\u1EE3.
+
+Couldn't_find_an_entry_associated_with_this_URL=Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_m\u1EE5c_n\u00E0o_li\u00EAn_quan_\u0111\u1EBFn_URL_n\u00E0y
+
+Couldn't_parse_the_'citeseerurl'_field_of_the_following_entries=Kh\u00F4ng_th\u1EC3_ph\u00E2n_t\u00E1ch_tr\u01B0\u1EDDng_'citeseerurl'_c\u1EE7a_c\u00E1c_m\u1EE5c_sau
+
+Create_group=T\u1EA1o_nh\u00F3m
+
+Created_groups.=C\u00E1c_nh\u00F3m_\u0111\u01B0\u1EE3c_t\u1EA1o_ra.
+
+crossreferenced_entries_included=c\u00E1c_m\u1EE5c_c\u00F3_tham_chi\u1EBFu_ch\u00E9o_\u0111\u01B0\u1EE3c_\u0111\u01B0a_v\u00E0o
+
+Current_content=N\u1ED9i_dung_hi\u1EC7n_t\u1EA1i
+Current_tmp_value=Gi\u00E1_tr\u1ECB_tmp_hi\u1EC7n_t\u1EA1i
+
+Current_value=Gi\u00E1_tr\u1ECB_hi\u1EC7n_t\u1EA1i
+
+Custom_entry_types=Ki\u1EC3u_m\u1EE5c_t\u00F9y_ch\u1EC9nh
+
+Custom_entry_types_found_in_file=Ki\u1EC3u_m\u1EE5c_t\u00F9y_ch\u1EC9nh_\u0111\u01B0\u1EE3c_t\u00ECm_th\u1EA5y_trong_t\u1EADp_tin
+Custom_icon_theme=S\u1EAFc_th\u00E1i_bi\u1EC3u_t\u01B0\u1EE3ng_t\u00F9y_ch\u1EC9nh
+Custom_icon_theme_file=T\u1EADp_tin_s\u1EAFc_th\u00E1i_bi\u1EC3u_t\u01B0\u1EE3ng_t\u00F9y_ch\u1EC9nh
+
+Custom_importers=C\u00E1c_tr\u00ECnh_nh\u1EADp_t\u00F9y_ch\u1EC9nh
+
+Customize_entry_types=T\u00F9y_ch\u1EC9nh_c\u00E1c_ki\u1EC3u_m\u1EE5c
+
+Customize_key_bindings=T\u00F9y_ch\u1EC9nh_t\u1ED5_h\u1EE3p_ph\u00EDm
+
+Cut=C\u1EAFt
+
+cut_entries=c\u1EAFt_c\u00E1c_m\u1EE5c
+
+cut_entry=c\u1EAFt_m\u1EE5c
+
+Cut_pr=C\u1EAFt_pr
+Database_\:=CSDL:
+
+Database_encoding=M\u00E3_h\u00F3a_CSDL
+
+Database_has_changed._Do_you_want_to_save_before_closing?=CSDL_\u0111\u00E3_thay_\u0111\u1ED5i._B\u1EA1n_c\u00F3_mu\u1ED1n_l\u01B0u_tr\u01B0\u1EDBc_khi_\u0111\u00F3ng_kh\u00F4ng?
+
+Database_is_protected._Cannot_save_until_external_changes_have_been_reviewed.=CSDL_\u0111\u01B0\u1EE3c_b\u1EA3o_v\u1EC7._Kh\u00F4ng_th\u1EC3_l\u01B0u_cho_\u0111\u1EBFn_khi_nh\u1EEFng_thay_\u0111\u1ED5i_ngo\u00E0i_\u0111\u01B0\u1EE3c_xem_x\u00E9t.
+
+Database_properties=T\u00EDnh_ch\u1EA5t_c\u1EE7a_CSDL
+Database_protection=B\u1EA3o_v\u1EC7_CSDL
+
+Date_format=\u0110\u1ECBnh_d\u1EA1ng_ng\u00E0y
+
+Default=M\u1EB7c_\u0111\u1ECBnh
+
+Default_encoding=M\u00E3_h\u00F3a_m\u1EB7c_\u0111\u1ECBnh
+
+Default_grouping_field=Tr\u01B0\u1EDDng_g\u1ED9p_nh\u00F3m_m\u1EB7c_\u0111\u1ECBnh
+
+Default_look_and_feel=Di\u1EC7n_m\u1EA1o_m\u1EB7c_\u0111\u1ECBnh
+
+Default_pattern=Ki\u1EC3u_m\u1EB7c_\u0111\u1ECBnh
+
+Default_sort_criteria=C\u00E1c_ti\u00EAu_chu\u1EA9n_ph\u00E2n_lo\u1EA1i_m\u1EB7c_\u0111\u1ECBnh
+Define_'%0'=\u0110\u1ECBnh_ngh\u0129a_'%0'
+
+defined.=\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a.
+
+Delete=X\u00F3a
+
+Delete_custom=X\u00F3a_t\u00F9y_ch\u1ECDn
+
+Delete_custom_format=X\u00F3a_\u0111\u1ECBnh_d\u1EA1ng_t\u00F9y_ch\u1ECDn
+
+delete_entries=x\u00F3a_c\u00E1c_m\u1EE5c
+
+Delete_entry=X\u00F3a_m\u1EE5c
+
+delete_entry=x\u00F3a_m\u1EE5c
+
+Delete_multiple_entries=X\u00F3a_nhi\u1EC1u_m\u1EE5c
+Delete_plugin=X\u00F3a_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Delete_plugins=X\u00F3a_c\u00E1c_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+
+Delete_rows=X\u00F3a_h\u00E0ng
+
+Delete_strings=X\u00F3a_chu\u1ED7i
+Delete_the_%0_selected_plugins?=X\u00F3a_%0_ph\u1EA7n_m\u1EDF_r\u1ED9ng_\u0111\u01B0\u1EE3c_ch\u1ECDn?
+Delete_the_selected_plugin?=X\u00F3a_ph\u1EA7n_m\u1EDF_r\u1ED9ng_\u0111\u01B0\u1EE3c_ch\u1ECDn?
+
+Deleted=B\u1ECB_x\u00F3a
+
+Delimit_fields_with_semicolon,_ex.=Ph\u00E2n_c\u00E1ch_c\u00E1c_tr\u01B0\u1EDDng_b\u1EB1ng,_v\u00ED_d\u1EE5_nh\u01B0,_d\u1EA5u_ch\u1EA5m_ph\u1EA9y.
+Derby=Derby
+
+Descending=Gi\u1EA3m_d\u1EA7n
+
+Description=M\u00F4_t\u1EA3
+
+Deselect_all=Kh\u1EED_ch\u1ECDn_t\u1EA5t_c\u1EA3
+Deselect_all_duplicates=Kh\u1EED_ch\u1ECDn_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_l\u1EB7p
+
+Details=Chi_ti\u1EBFt
+
+Disable_entry_editor_when_multiple_entries_are_selected=T\u1EAFt_tr\u00ECnh_ch\u1EC9nh_s\u1EEDa_m\u1EE5c_khi_nhi\u1EC1u_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+
+Disable_file_renaming_in_non-native_file_dialog=B\u1EA5t_ho\u1EA1t_vi\u1EC7c_\u0111\u1ED5i_t\u00EAn_trong_h\u1ED9p_tho\u1EA1i_t\u1EADp_tin_kh\u00F4ng_ph\u1EA3i_thu\u1ED9c_ch\u01B0\u01A1ng_tr\u00ECnh
+
+Disable_this_confirmation_dialog=T\u1EAFt_h\u1ED9p_tho\u1EA1i_x\u00E1c_nh\u1EADn_n\u00E0y
+
+Disable_this_warning_dialog=T\u1EAFt_h\u1ED9p_tho\u1EA1i_c\u1EA3nh_b\u00E1o_n\u00E0y
+
+Display_all_entries_belonging_to_one_or_more_of_the_selected_groups.=Tr\u00ECnh_b\u00E0y_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_thu\u1ED9c_v\u1EC1_m\u1ED9t_ho\u1EB7c_nhi\u1EC1u_nh\u00F3m_\u0111\u01B0\u1EE3c_ch\u1ECDn.
+
+Display_all_error_messages=Tr\u00ECnh_b\u00E0y_t\u1EA5t_c\u1EA3_th\u00F4ng_b\u00E1o_l\u1ED7i
+
+Display_help_on_command_line_options=Tr\u00ECnh_b\u00E0y_tr\u1EE3_gi\u00FAp_\u1EDF_c\u00E1c_t\u00F9y_ch\u1ECDn_d\u00F2ng_l\u1EC7nh
+
+Display_imported_entries_in_an_inspection_window_before_they_are_added.=Tr\u00ECnh_b\u00E0y_c\u00E1c_m\u1EE5c_nh\u1EADp_v\u00E0o_trong_c\u1EEDa_s\u1ED5_xem_x\u00E9t_tr\u01B0\u1EDBc_khi_th\u00EAm_ch\u00FAng.
+
+Display_only_entries_belonging_to_all_selected_groups.=Ch\u1EC9_tr\u00ECnh_b\u00E0y_c\u00E1c_m\u1EE5c_thu\u1ED9c_v\u1EC1_t\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m_\u0111\u01B0\u1EE3c_ch\u1ECDn.
+Display_version=Tr\u00ECnh_b\u00E0y_phi\u00EAn_b\u1EA3n
+
+Displaying_no_groups=Kh\u00F4ng_tr\u00ECnh_b\u00E0y_c\u00E1c_nh\u00F3m
+
+Do_not_abbreviate_names=Kh\u00F4ng_vi\u1EBFt_t\u1EAFt_t\u00EAn
+
+Do_not_autoset=Kh\u00F4ng_thi\u1EBFt_l\u1EADp_t\u1EF1_\u0111\u1ED9ng
+
+Do_not_import_entry=Kh\u00F4ng_nh\u1EADp_m\u1EE5c
+
+Do_not_open_any_files_at_startup=Kh\u00F4ng_m\u1EDF_t\u1EADp_tin_n\u00E0o_l\u00FAc_kh\u1EDFi_\u0111\u1ED9ng
+
+Do_not_overwrite_existing_keys=Kh\u00F4ng_ghi_\u0111\u00E8_c\u00E1c_kh\u00F3a_hi\u1EC7n_c\u00F3
+Do_not_show_splash_window_at_startup=Kh\u00F4ng_hi\u1EC3n_th\u1ECB_m\u00E0n_h\u00ECnh_gi\u1EDBi_thi\u1EC7u_l\u00FAc_kh\u1EDFi_\u0111\u1ED9ng
+Do_not_show_these_options_in_the_future=Kh\u00F4ng_hi\u1EC3n_th\u1ECB_nh\u1EEFng_t\u00F9y_ch\u1ECDn_n\u00E0y_trong_t\u01B0\u01A1ng_lai
+
+Do_not_wrap_the_following_fields_when_saving=Kh\u00F4ng_'b\u1ECDc'_nh\u1EEFng_tr\u01B0\u1EDDng_d\u01B0\u1EDBi_\u0111\u00E2y_khi_l\u01B0u
+Do_not_write_the_following_fields_to_XMP_Metadata\:=Kh\u00F4ng_ghi_nh\u1EEFng_tr\u01B0\u1EDDng_d\u01B0\u1EDBi_\u0111\u00E2y_v\u00E0o_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP:
+
+Do_you_want_JabRef_to_do_the_following_operations?=B\u1EA1n_c\u00F3_mu\u1ED1n_JabRef_th\u1EF1c_hi\u1EC7n_nh\u1EEFng_l\u1EC7nh_sau?
+Do_you_want_to_override_the_file_lock?=B\u1EA1n_c\u00F3_mu\u1ED1n_b\u1ECF_qua_kh\u00F3a_t\u1EADp_tin?
+Do_you_want_to_recover_the_database_from_the_autosave_file?=B\u1EA1n_c\u00F3_mu\u1ED1n_ph\u1EE5c_h\u1ED3i_l\u1EA1i_CSDL_t\u1EEB_m\u1ED9t_t\u1EADp_tin_l\u01B0u_t\u1EF1_\u0111\u1ED9ng?
+
+Docbook=Docbook
+
+Done=Xong
+
+Down=Xu\u1ED1ng
+
+Download=T\u1EA3i_xu\u1ED1ng
+
+Download_completed=T\u1EA3i_xu\u1ED1ng_ho\u00E0n_t\u1EA5t
+
+Download_file=T\u1EA3i_xu\u1ED1ng_t\u1EADp_tin
+Download_plugin=T\u1EA3i_v\u1EC1_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+
+Downloading...=\u0110ang_t\u1EA3i...
+Drag_and_Drop_Error=L\u1ED7i_k\u00E9o_v\u00E0_th\u1EA3
+Drop_%0=Th\u1EA3_%0
+
+duplicate_BibTeX_key=tr\u00F9ng_kh\u00F3a_BibTeX
+
+Duplicate_BibTeX_key.=Tr\u00F9ng_kh\u00F3a_BibTeX.
+
+Duplicate_BibTeX_key._Grouping_may_not_work_for_this_entry.=Tr\u00F9ng_kh\u00F3a_BibTeX._Vi\u1EC7c_g\u1ED9p_nh\u00F3m_c\u00F3_th\u1EC3_kh\u00F4ng_l\u00E0m_\u0111\u01B0\u1EE3c_v\u1EDBi_m\u1EE5c_n\u00E0y.
+
+Duplicate_Key_Warning=C\u1EA3nh_b\u00E1o_tr\u00F9ng_kh\u00F3a
+
+Duplicate_pairs_found=C\u00E1c_c\u1EB7p_b\u1ECB_tr\u00F9ng_\u0111\u01B0\u1EE3c_t\u00ECm_th\u1EA5y
+
+duplicate_removal=lo\u1EA1i_b\u1ECF_tr\u00F9ng
+
+Duplicate_string_name=Tr\u00F9ng_t\u00EAn_chu\u1ED7i
+
+Duplicates_found=T\u00ECm_th\u1EA5y_c\u00E1c_m\u1EE5c_tr\u00F9ng
+
+Duplicates_removed=C\u00E1c_m\u1EE5c_tr\u00F9ng_b\u1ECB_lo\u1EA1i_b\u1ECF
+
+Dynamic_groups=C\u00E1c_nh\u00F3m_\u0111\u1ED9ng
+
+Dynamically_group_entries_by_a_free-form_search_expression=G\u1ED9p_nh\u00F3m_\u0111\u1ED9ng_c\u00E1c_m\u1EE5c_b\u1EB1ng_bi\u1EC3u_th\u1EE9c_t\u00ECm_ki\u1EBFm_d\u1EA1ng_t\u1EF1_do
+
+Dynamically_group_entries_by_searching_a_field_for_a_keyword=G\u1ED9p_nh\u00F3m_\u0111\u1ED9ng_c\u00E1c_m\u1EE5c_b\u1EB1ng_c\u00E1ch_t\u00ECm_tr\u01B0\u1EDDng_ho\u1EB7c_t\u1EEB_kh\u00F3a
+
+Each_line_must_be_on_the_following_form=M\u1ED7i_d\u00F2ng_ph\u1EA3i_c\u00F3_d\u1EA1ng_sau
+
+Edit=Ch\u1EC9nh_s\u1EEDa
+
+Edit_custom_export=Ch\u1EC9nh_s\u1EEDa_vi\u1EC7c_xu\u1EA5t_t\u00F9y_ch\u1ECDn
+Edit_entry=Ch\u1EC9nh_s\u1EEDa_m\u1EE5c
+Edit_file_link=Ch\u1EC9nh_s\u1EEDa_li\u00EAn_k\u1EBFt_t\u1EADp_tin
+Edit_file_type=Ch\u1EC9nh_s\u1EEDa_ki\u1EC3u_t\u1EADp_tin
+
+Edit_group=Ch\u1EC9nh_s\u1EEDa_nh\u00F3m
+
+Edit_journal=Ch\u1EC9nh_s\u1EEDa_t\u1EA1p_ch\u00ED
+
+Edit_preamble=Ch\u1EC9nh_s\u1EEDa_ph\u1EA7n_m\u1EDF_\u0111\u1EA7u
+Edit_strings=Ch\u1EC9nh_s\u1EEDa_c\u00E1c_chu\u1ED7i
+Editor_options=C\u00E1c_t\u00F9y_ch\u1ECDn_tr\u00ECnh_ch\u1EC9nh_s\u1EEDa
+
+empty_BibTeX_key=kh\u00F3a_BibTeX_r\u1ED7ng
+
+Empty_BibTeX_key.=Kh\u00F3a_BibTeX_r\u1ED7ng
+
+Empty_BibTeX_key._Grouping_may_not_work_for_this_entry.=Kh\u00F3a_BibTeX_r\u1ED7ng._Vi\u1EC7c_g\u1ED9p_nh\u00F3m_c\u00F3_th\u1EC3_kh\u00F4ng_l\u00E0m_\u0111\u01B0\u1EE3c_v\u1EDBi_m\u1EE5c_n\u00E0y.
+
+empty_database=CSDL_r\u1ED7ng
+
+Enable_source_editing=B\u1EADt_ch\u1EC9nh_s\u1EEDa_ngu\u1ED3n
+Enable_word/name_autocompletion=B\u1EADt_ch\u1EE9c_n\u0103ng_t\u1EF1_ho\u00E0n_t\u1EA5t_t\u1EEB/t\u00EAn
+
+Endnote=Endnote
+Enforce_legal_characters_in_BibTeX_keys=Bu\u1ED9c_ph\u1EA3i_d\u00F9ng_nh\u1EEFng_k\u00FD_t\u1EF1_h\u1EE3p_l\u1EC7_trong_kh\u00F3a_BibTeX
+Enter_download_URL=Nh\u1EADp_URL_t\u1EA3i_v\u1EC1
+
+Enter_URL=Nh\u1EADp_URL
+
+Enter_URL_to_download=Nh\u1EADp_URL_\u0111\u1EC3_t\u1EA3i_v\u1EC1
+
+entries=c\u00E1c_m\u1EE5c
+
+Entries_cannot_be_manually_assigned_to_or_removed_from_this_group.=Kh\u00F4ng_th\u1EC3_g\u00E1n_th\u1EE7_c\u00F4ng_hay_lo\u1EA1i_b\u1ECF_c\u00E1c_m\u1EE5c_kh\u1ECFi_nh\u00F3m_n\u00E0y.
+
+Entries_exported_to_clipboard=C\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_xu\u1EA5t_ra_b\u1ED9_nh\u1EDB_t\u1EA1m
+
+entries_have_undefined_BibTeX_key=c\u00E1c_m\u1EE5c_c\u00F3_kh\u00F3a_BibTeX_kh\u00F4ng_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a
+
+entries_into_new_database=c\u00E1c_m\u1EE5c_v\u00E0o_CSDL_m\u1EDBi
+
+entry=m\u1EE5c
+
+Entry_editor=Tr\u00ECnh_ch\u1EC9nh_s\u1EEDa_m\u1EE5c
+
+Entry_in_current_database=M\u1EE5c_trong_CSDL_hi\u1EC7n_t\u1EA1i
+
+Entry_in_import=M\u1EE5c_trong_ph\u1EA7n_nh\u1EADp
+
+Entry_preview=Xem_tr\u01B0\u1EDBc_m\u1EE5c
+
+Entry_table=B\u1EA3ng_nh\u1EADp_v\u00E0o
+
+Entry_table_columns=C\u00E1c_c\u1ED9t_c\u1EE7a_b\u1EA3ng_nh\u1EADp_v\u00E0o
+
+Entry_type=Ki\u1EC3u_c\u1EE7a_m\u1EE5c
+
+Entry_type_names_are_not_allowed_to_contain_white_space_or_the_following_characters=Ki\u1EC3u_c\u1EE7a_m\u1EE5c_kh\u00F4ng_\u0111\u01B0\u1EE3c_ph\u00E9p_ch\u1EE9a_kho\u1EA3ng_tr\u1EAFng_ho\u1EB7c_c\u00E1c_k\u00FD_t\u1EF1_sau
+
+Entry_types=C\u00E1c_ki\u1EC3u_c\u1EE7a_m\u1EE5c
+
+Error=L\u1ED7i
+Error\:_=L\u1ED7i:_
+Error_converting_Bibtex_to_XMP:_%0=L\u1ED7i_chuy\u1EC3n_\u0111\u1ED5i_Bibtex_th\u00E0nh_XMP:_%0
+Error_converting_Bibtex_to_XMP\:_%0=L\u1ED7i_chuy\u1EC3n_\u0111\u1ED5i_Bibtex_th\u00E0nh_XMP:_%0
+Error_converting_XMP_to_'%0'...=L\u1ED7i_chuy\u1EC3n_\u0111\u1ED5i_XMP_th\u00E0nh_'%0'...
+Error_exporting_to_clipboard=L\u1ED7i_xu\u1EA5t_ra_b\u1ED9_nh\u1EDB_t\u1EA1m
+Error_fetching_from_Citeseer\:\\n=L\u1ED7i_l\u1EA5y_v\u1EC1_t\u1EEB_Citeseer\:\\n
+Error_fetching_from_Citeseer\:\n=L\u1ED7i_khi_\u0111ang_l\u1EA5y_v\u1EC1_t\u1EEB_Citeseer:\n
+
+##Error:_check_your_External_viewer_settings_in_Preferences=Error:_check_your_External_viewer_settings_in_Preferences
+Error_in_field=L\u1ED7i_trong_tr\u01B0\u1EDDng
+Error_in_starting_plug-in_system._Starting_without,_but_some_functionality_may_be_missing.=L\u1ED7i_kh\u1EDFi_\u0111\u1ED9ng_ph\u1EA7n_m\u1EDF_r\u1ED9ng_c\u1EE7a_h\u1EC7_th\u1ED1ng._Kh\u1EDFi_\u0111\u1ED9ng_kh\u00F4ng_c\u00F3_n\u00F3,_m\u1ED9t_s\u1ED1_ch\u1EE9c_n\u0103ng_c\u00F3_th\u1EC3_b\u1ECB_thi\u1EBFu.
+
+Error_initializing_custom_export_format_from_string_'%0'=L\u1ED7i_khi_kh\u1EDFi_t\u1EA1o_\u0111\u1ECBnh_d\u1EA1ng_xu\u1EA5t_t\u00F9y_ch\u1ECDn_t\u1EEB_chu\u1ED7i_'%0'
+Error_occured_when_parsing_entry=L\u1ED7i_x\u1EA3y_ra_khi_\u0111ang_ph\u00E2n_t\u00E1ch_m\u1EE5c
+Error_opening_autosave_of_'%0'._Trying_to_load_'%0'_instead.=L\u1ED7i_khi_m\u1EDF_t\u1EADp_tin_l\u01B0u_t\u1EF1_\u0111\u1ED9ng_'%0'._C\u1ED1_g\u1EAFng_n\u1EA1p_'%0'_\u0111\u1EC3_thay_th\u1EBF.
+
+Error_opening_file=L\u1ED7i_khi_\u0111ang_m\u1EDF_t\u1EADp_tin
+Error_opening_file_'%0'.=L\u1ED7i_m\u1EDF_t\u1EADp_tin_'%0'.
+
+Error_setting_field=L\u1ED7i_thi\u1EBFt_l\u1EADp_tr\u01B0\u1EDDng
+Error_while_converting_BibtexEntry_to_XMP_%0=L\u1ED7i_khi_chuy\u1EC3n_\u0111\u1ED5i_m\u1EE5c_Bibtex_th\u00E0nh_XMP_%0
+Error_while_downloading_file\:=L\u1ED7i_khi_\u0111ang_t\u1EA3i_t\u1EADp_tin:
+Error_while_fetching_from_JSTOR=L\u1ED7i_khi_l\u1EA5y_v\u1EC1_t\u1EEB_JSTOR
+Error_while_fetching_from_OIA2=L\u1ED7i_khi_\u0111ang_l\u1EA5y_v\u1EC1_t\u1EEB_OIA2
+Error_while_fetching_from_ScienceDirect=L\u1ED7i_khi_\u0111ang_l\u1EA5y_v\u1EC1_d\u1EEF_li\u1EC7u_t\u1EEB_ScienceDirect
+Error_while_fetching_from_Spires\:_=L\u1ED7i_khi_\u0111ang_l\u1EA5y_v\u1EC1_t\u1EEB_Spires\:_
+Error_while_writing=L\u1ED7i_khi_\u0111ang_ghi
+Error_writing_to_%0_file(s).=L\u1ED7i_khi_\u0111ang_ghi_v\u00E0o_t\u1EADp_tin_%0.
+Error_writing_XMP_to_file\:_%0=L\u1ED7i_khi_\u0111ang_ghi_XMP_v\u00E0o_t\u1EADp_tin:_%0
+
+
+Establishing_SQL_connection...=\u0110ang_thi\u1EBFt_l\u1EADp_k\u1EBFt_n\u1ED1i_SQL...
+Exceptions=C\u00E1c_ngo\u1EA1i_l\u1EC7
+
+Existing_file=T\u1EADp_tin_hi\u1EC7n_c\u00F3
+exists._Overwrite?=\u0111\u00E3_c\u00F3._Ghi_\u0111\u00E8_kh\u00F4ng?
+
+exists._Overwrite_file?=\u0111\u00E3_c\u00F3._Ghi_\u0111\u00E8_t\u1EADp_tin_kh\u00F4ng?
+
+Expand_subtree=M\u1ED5_r\u1ED9ng_s\u01A1_\u0111\u1ED3_c\u00E2y_ph\u1EE5
+
+#previousentrynottranslated.Toviewit,openGroupinterfaceandclickonthe"newgroup"button
+Export=Xu\u1EA5t
+Export_entries_in_their_original_order=Xu\u1EA5t_ra_c\u00E1c_m\u1EE5c_theo_th\u1EE9_t\u1EF1_g\u1ED1c_c\u1EE7a_ch\u00FAng
+
+Export_entry_types=Xu\u1EA5t_c\u00E1c_ki\u1EC3u_m\u1EE5c
+Export_in_current_table_sort_order=Xu\u1EA5t_ra_theo_tr\u00ECnh_t\u1EF1_x\u1EBFp_th\u1EE9_t\u1EF1_c\u1EE7a_b\u1EA3ng_hi\u1EC7n_t\u1EA1i
+
+Export_name=Xu\u1EA5t_t\u00EAn
+Export_ordered_by_author/editor/year=Xu\u1EA5t_ra_theo_th\u1EE9_t\u1EF1_t\u00E1c_gi\u1EA3/bi\u00EAn_t\u1EADp/n\u0103m
+
+Export_preferences=Xu\u1EA5t_c\u00E1c_t\u00F9y_th\u00EDch
+
+Export_preferences_to_file=Xu\u1EA5t_c\u00E1c_t\u00F9y_th\u00EDch_ra_t\u1EADp_tin
+
+Export_properties=C\u00E1c_t\u00EDnh_ch\u1EA5t_xu\u1EA5t
+
+Export_to_clipboard=Xu\u1EA5t_ra_b\u1ED9_nh\u1EDB_t\u1EA1m
+Export_to_external_SQL_database=Xu\u1EA5t_ra_CSDL_SQL_ngo\u00E0i
+Export_to_SQL_database=Xu\u1EA5t_ra_CSDL_SQL
+
+Exporting=\u0110ang_xu\u1EA5t
+Extension=\u0110u\u00F4i_m\u1EDF_r\u1ED9ng
+
+External_changes=C\u00E1c_thay_\u0111\u1ED5i_ngo\u00E0i
+
+External_file_links=C\u00E1c_li\u00EAn_k\u1EBFt_t\u1EADp_tin_ngo\u00E0i
+
+External_files=C\u00E1c_t\u1EADp_tin_ngo\u00E0i
+
+External_programs=C\u00E1c_ch\u01B0\u01A1ng_tr\u00ECnh_ngo\u00E0i
+
+External_viewer_called=Tr\u00ECnh_xem_ngo\u00E0i_\u0111\u01B0\u1EE3c_g\u1ECDi
+
+Failed_to_read_groups_data_(unsupported_version:_%0)=Th\u1EA5t_b\u1EA1i_khi_\u0111\u1ECDc_d\u1EEF_li\u1EC7u_nh\u00F3m_(phi\u00EAn_b\u1EA3n_kh\u00F4ng_\u0111\u01B0\u1EE3c_h\u1ED7_tr\u1EE3:_%0)
+
+Fetch=L\u1EA5y_v\u1EC1
+
+Fetch_Articles_Citing_your_Database=L\u1EA5y_v\u1EC1_c\u00E1c_b\u00E0i_b\u00E1o_tr\u00EDch_d\u1EABn_CSDL_c\u1EE7a_b\u1EA1n
+
+Fetch_CiteSeer=L\u1EA5y_v\u1EC1_CiteSeer
+Fetch_Citeseer=L\u1EA5y_v\u1EC1_t\u1EEB_Citeseer
+
+Fetched_all_citations_from_target_database.=L\u1EA5y_v\u1EC1_t\u1EA5t_c\u1EA3_c\u00E1c_tr\u00EDch_d\u1EABn_t\u1EEB_CSDL_\u0111\u00EDch.
+
+Fetching_Citations=\u0110ang_l\u1EA5y_v\u1EC1_c\u00E1c_tr\u00EDch_d\u1EABn
+
+Fetching_Identifiers=\u0110ang_l\u1EA5y_v\u1EC1_c\u00E1c_k\u00FD_hi\u1EC7u_nh\u1EADn_di\u1EC7n
+
+Fetching_Medline_by_id...=L\u1EA5y_v\u1EC1_t\u1EEB_Medline_theo_id...
+
+Fetching_Medline_by_term...=L\u1EA5y_v\u1EC1_t\u1EEB_Medline_theo_thu\u1EADt_ng\u1EEF...
+
+Field=Tr\u01B0\u1EDDng
+
+field=tr\u01B0\u1EDDng
+
+#Integritycheckisaprocessthatchecksforindicationsofwronglyfilledoutbibtexfields."Scan"isthebuttonthatstartsthecheck.
+Field_content=N\u1ED9i_dung_tr\u01B0\u1EDDng
+
+Field_name=T\u00EAn_tr\u01B0\u1EDDng
+Field_names_are_not_allowed_to_contain_white_space_or_the_following_characters=T\u00EAn_tr\u01B0\u1EDDng_kh\u00F4ng_\u0111\u01B0\u1EE3c_ph\u00E9p_ch\u1EE9a_kho\u1EA3ng_tr\u1EAFng_ho\u1EB7c_c\u00E1c_k\u00FD_t\u1EF1_sau
+
+Field_sizes=C\u00E1c_k\u00EDch_th\u01B0\u1EDBc_tr\u01B0\u1EDDng
+Field_to_filter=Tr\u01B0\u1EDDng_c\u1EA7n_l\u1ECDc
+
+Field_to_group_by=Tr\u01B0\u1EDDng_g\u1ED9p_nh\u00F3m_theo
+
+Fields=C\u00E1c_tr\u01B0\u1EDDng
+
+File=T\u1EADp_tin
+
+file=t\u1EADp_tin
+
+File_'%0'_is_already_open.=T\u1EADp_tin_'%0'_\u0111\u00E3_m\u1EDF.
+
+File_'%0'_not_found=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u1EADp_tin_'%0'
+
+File_changed=T\u1EADp_tin_b\u1ECB_thay_\u0111\u1ED5i
+File_dialog=H\u1ED9p_tho\u1EA1i_T\u1EADp_tin
+File_directory=Th\u01B0_m\u1EE5c_t\u1EADp_tin
+File_directory_is_'%0'\:=Th\u01B0_m\u1EE5c_t\u1EADp_tin_l\u00E0_'%0':
+
+File_directory_is_not_set_or_does_not_exist!=Th\u01B0_m\u1EE5c_t\u1EADp_tin_kh\u00F4ng_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp_ho\u1EB7c_kh\u00F4ng_t\u1ED3n_t\u1EA1i!
+
+File_directory_is_not_set_or_does_not_exist.=Th\u01B0_m\u1EE5c_t\u1EADp_tin_kh\u00F4ng_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp_ho\u1EB7c_kh\u00F4ng_t\u1ED3n_t\u1EA1i.
+File_download=T\u1EA3i_v\u1EC1_t\u1EADp_tin
+File_exists=T\u1EADp_tin_\u0111\u00E3_c\u00F3
+
+File_extension=\u0110u\u00F4i_m\u1EDF_r\u1ED9ng_t\u1EADp_tin
+File_has_been_updated_externally._What_do_you_want_to_do?=T\u1EADp_tin_\u0111\u00E3_\u0111\u01B0\u1EE3c_c\u1EADp_nh\u1EADt_\u1EDF_ngo\u00E0i_ch\u01B0\u01A1ng_tr\u00ECnh._B\u1EA1n_mu\u1ED1n_l\u00E0m_g\u00EC?
+File_is_locked_by_another_JabRef_instance.=T\u1EADp_tin_b\u1ECB_kh\u00F3a_b\u1EDFi_m\u1ED9t_phi\u00EAn_l\u00E0m_vi\u1EC7c_kh\u00E1c_c\u1EE7a_JabRef.
+File_locked=T\u1EADp_tin_b\u1ECB_kh\u00F3a
+File_moved=T\u1EADp_tin_b\u1ECB_di_chuy\u1EC3n
+
+File_not_found=Kh\u00F4ng_th\u1EA5y_t\u1EADp_tin
+File_type=Ki\u1EC3u_t\u1EADp_tin
+
+File_updated_externally=T\u1EADp_tin_\u0111\u01B0\u1EE3c_c\u1EADp_nh\u1EADt_ngo\u00E0i_ch\u01B0\u01A1ng_tr\u00ECnh
+
+filename=t\u00EAn_t\u1EADp_tin
+
+Files_opened=C\u00E1c_t\u1EADp_tin_\u0111\u00E3_m\u1EDF
+
+Filter=L\u1ECDc
+
+Finished_autosetting_external_links.=Thi\u1EBFt_l\u1EADp_t\u1EF1_\u0111\u1ED9ng_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i_ho\u00E0n_t\u1EA5t.
+Finished_downloading_full_text_document=T\u1EA3i_v\u1EC1_t\u00E0i_li\u1EC7u_\u0111\u1EA7y_\u0111\u1EE7_ho\u00E0n_t\u1EA5t
+
+Finished_synchronizing_%0_links._Entries_changed%c_%1.=\u0110\u1ED3ng_b\u1ED9_h\u00F3a_%0_li\u00EAn_k\u1EBFt_ho\u00E0n_t\u1EA5t._C\u00E1c_m\u1EE5c_thay_\u0111\u1ED5i%c_%1.
+Finished_writing_XMP-metadata._Wrote_to_%0_file(s).=Ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_ho\u00E0n_t\u1EA5t._\u0110\u00E3_ghi_v\u00E0o_%0_t\u1EADp_tin.
+Finished_writing_XMP_for_%0_file_(%1_skipped,_%2_errors).=K\u1EBFt_th\u00FAc_ghi_XMP_cho_%0_t\u1EADp_tin_(b\u1ECF_qua_%1,_%2_l\u1ED7i).
+
+First_select_the_entries_you_want_keys_to_be_generated_for.=Tr\u01B0\u1EDBc_ti\u00EAn_h\u00E3y_ch\u1ECDn_c\u00E1c_m\u1EE5c_m\u00E0_b\u1EA1n_mu\u1ED1n_t\u1EA1o_kh\u00F3a.
+
+Fit_table_horizontally_on_screen=L\u00E0m_cho_b\u1EA3ng_kh\u00EDt_chi\u1EC1u_ngang_m\u00E0n_h\u00ECnh
+
+Float=Float
+Float_marked_entries=C\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_\u0111\u00E1nh_d\u1EA5u_l\u00E0_Float
+Follow_DOI_or_URL_link_and_try_to_locate_PDF_full_text_document=Theo_li\u00EAn_k\u1EBFt_URL_ho\u1EB7c_DOI_v\u00E0_c\u1ED1_g\u1EAFng_\u0111\u1ECBnh_v\u1ECB_t\u00E0i_li\u1EC7u_PDF_\u0111\u1EA7y_\u0111\u1EE7
+
+Font_Family=H\u1ECD_ph\u00F4ng_ch\u1EEF
+
+Font_Preview=Xem_tr\u01B0\u1EDBc_ph\u00F4ng_ch\u1EEF
+
+Font_Size=C\u1EE1_ph\u00F4ng_ch\u1EEF
+
+Font_Style=Ki\u1EC3u_ph\u00F4ng_ch\u1EEF
+
+FontSelector=Tr\u00ECnh_ch\u1ECDn_ph\u00F4ng_ch\u1EEF
+
+for=d\u00F9ng_cho
+
+Format_of_author_and_editor_names=\u0110\u1ECBnh_d\u1EA1ng_t\u00EAn_t\u00E1c_gi\u1EA3_v\u00E0_ng\u01B0\u1EDDi_bi\u00EAn_t\u1EADp
+Format_String=\u0110\u1ECBnh_d\u1EA1ng_chu\u1ED7i
+
+Format_used=\u0110\u1ECBnh_d\u1EA1ng_\u0111\u01B0\u1EE3c_d\u00F9ng
+Formatter_Name=T\u00EAn_tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng
+
+Formatter_not_found=Kh\u00F4ng_th\u1EA5y_tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng
+Formatter_not_found\:_%0=Kh\u00F4ng_t\u00ECm_th\u1EA5y_tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng\:_%0
+
+Forward=T\u1EDBi
+
+found=t\u00ECm_th\u1EA5y
+Found_%0_plugin(s)=T\u00ECm_th\u1EA5y_%0_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+
+found_in_aux_file=t\u00ECm_th\u1EA5y_trong_t\u1EADp_tin_aux
+Found_pdf_link,_but_received_the_wrong_MIME_type._This_could_indicate_that_you_don't_have_access_to_the_fulltext_article.=T\u00ECm_th\u1EA5y_li\u00EAn_k\u1EBFt_pdf,_nh\u01B0ng_l\u1EA1i_nh\u1EADn_\u0111\u01B0\u1EE3c_ki\u1EC3u_MIME_sai._\u0110i\u1EC1u_c\u00F3_th\u1EC3_ch\u1EC9_ra_r\u1EB1ng_b\u1EA1n_kh\u00F4ng_c\u00F3_quy\u1EC1n_truy_c\u1EADp_v\u00E0o_b\u00E0i_vi\u1EBFt_\u0111\u1EA7y_\u0111\u1EE7.
+
+Full_name=T\u00EAn_\u0111\u1EA7y_\u0111\u1EE7
+Full_text_article_download_failed=Vi\u1EC7c_t\u1EA3i_v\u1EC1_b\u00E0i_vi\u1EBFt_\u0111\u1EA7y_\u0111\u1EE7_th\u1EA5t_b\u1EA1i
+
+General=T\u1ED5ng_qu\u00E1t
+
+General_fields=C\u00E1c_tr\u01B0\u1EDDng_t\u1ED5ng_qu\u00E1t
+
+Generate=T\u1EA1o
+
+Generate_BibTeX_key=T\u1EA1o_kh\u00F3a_BibTeX
+
+Generate_groups_for_author_last_names=T\u1EA1o_c\u00E1c_nh\u00F3m_cho_h\u1ECD_c\u1EE7a_t\u00E1c_gi\u1EA3
+Generate_groups_for_editor_last_names=T\u1EA1o_c\u00E1c_nh\u00F3m_cho_t\u00EAn_h\u1ECD_c\u1EE7a_ng\u01B0\u1EDDi_bi\u00EAn_t\u1EADp
+Generate_groups_from_keywords_in_a_BibTeX_field=T\u1EA1o_c\u00E1c_nh\u00F3m_theo_t\u1EEB_kh\u00F3a_trong_m\u1ED9t_tr\u01B0\u1EDDng_BibTex
+
+Generate_keys=T\u1EA1o_c\u00E1c_kh\u00F3a
+
+Generate_keys_before_saving_(for_entries_without_a_key)=T\u1EA1o_c\u00E1c_kh\u00F3a_tr\u01B0\u1EDBc_khi_l\u01B0u_(cho_c\u00E1c_m\u1EE5c_kh\u00F4ng_c\u00F3_kh\u00F3a)
+Generate_keys_for_imported_entries=T\u1EA1o_kh\u00F3a_cho_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o
+
+Generate_now=T\u1EA1o_b\u00E2y_gi\u1EDD
+
+Generated_BibTeX_key_for=Kh\u00F3a_BibTeX_\u0111\u01B0\u1EE3c_t\u1EA1o_ra_cho
+
+Generating_BibTeX_key_for=\u0110ang_t\u1EA1o_kh\u00F3a_BibTeX_cho
+Global_search=T\u00ECm_to\u00E0n_c\u1EE5c
+
+Grab=L\u1EA5y
+
+Gray_out_entries_not_in_group_selection=T\u00F4_x\u00E1m_c\u00E1c_m\u1EE5c_kh\u00F4ng_thu\u1ED9c_ph\u00E9p_ch\u1ECDn_nh\u00F3m
+
+Gray_out_non-hits=T\u00F4_x\u00E1m_c\u00E1c_m\u1EE5c_kh\u00F4ng_g\u1EB7p
+
+Gray_out_non-matching_entries=T\u00F4_x\u00E1m_c\u00E1c_m\u1EE5c_kh\u00F4ng_kh\u1EDBp
+
+Group_properties=Thu\u1ED9c_t\u00EDnh_c\u1EE7a_nh\u00F3m
+
+grouping_may_not_work_for_this_entry=Vi\u1EC7c_g\u1ED9p_nh\u00F3m_c\u00F3_th\u1EC3_kh\u00F4ng_ch\u1EA1y_\u0111\u01B0\u1EE3c_v\u1EDBi_m\u1EE5c_n\u00E0y
+
+Groups=C\u00E1c_nh\u00F3m
+
+Harvard_RTF=Harvard_RTF
+
+Have_you_chosen_the_correct_package_path?=B\u1EA1n_\u0111\u00E3_ch\u1ECDn_\u0111\u01B0\u1EDDng_d\u1EABn_g\u00F3i_\u0111\u00FAng_ch\u01B0a?
+
+Help=Tr\u1EE3_gi\u00FAp
+
+Help_contents=N\u1ED9i_dung_tr\u1EE3_gi\u00FAp
+
+Help_on_groups=Tr\u1EE3_gi\u00FAp_v\u1EC1_nh\u00F3m
+
+Help_on_key_patterns=Tr\u1EE3_gi\u00FAp_v\u1EC1_c\u00E1c_ki\u1EC3u_kh\u00F3a
+Help_on_Preview_Settings=Tr\u1EE3_gi\u00FAp_v\u1EC1_c\u00E1c_thi\u1EBFt_l\u1EADp_xem_tr\u01B0\u1EDBc
+Help_on_Regular_Expression_Search=Tr\u1EE3_gi\u00FAp_v\u1EC1_t\u00ECm_ki\u1EBFm_b\u1EB1ng_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc
+
+Hide_non-hits=\u1EA8n_c\u00E1c_m\u1EE5c_kh\u00F4ng_g\u1EB7p
+
+Hide_non-matching_entries=\u1EA8n_c\u00E1c_m\u1EE5c_kh\u00F4ng_kh\u1EDBp
+
+Hierarchical_context=Ng\u1EEF_c\u1EA3nh_c\u00F3_c\u1EA5p_b\u1EADc
+
+Highlight=T\u00F4_s\u00E1ng
+Highlight_groups_matching_all_selected_entries=T\u00F4_s\u00E1ng_nh\u1EEFng_nh\u00F3m_kh\u1EDBp_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+Highlight_groups_matching_any_selected_entry=T\u00F4_s\u00E1ng_c\u00E1c_nh\u00F3m_kh\u1EDBp_b\u1EA5t_k\u1EF3_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn_n\u00E0o
+
+Highlight_overlapping_groups=T\u00F4_s\u00E1ng_c\u00E1c_nh\u00F3m_g\u1ED1i_nhau
+
+Hint%c_To_search_specific_fields_only,_enter_for_example%c<p><tt>author%esmith_and_title%eelectrical</tt>=G\u1EE3i_\u00FD%c_\u0110\u1EC3_ch\u1EC9_t\u00ECm_ki\u1EBFm_c\u00E1c_tr\u01B0\u1EDDng_\u0111\u1EB7c_th\u00F9,_nh\u1EADp,_v\u00ED_d\u1EE5_nh\u01B0%c<p><tt>author%esmith_and_title%eelectrical</tt>
+
+HTML=HTML
+HTML_parser=Tr\u00ECnh_ph\u00E2n_t\u00E1ch_HTML
+HTML_table=B\u1EA3ng_HTML
+HTML_table_(with_Abstract_&_BibTeX)=B\u1EA3ng_HTML_(v\u1EDBi_T\u00F3m_t\u1EAFt_&_BibTeX)
+Icon=Bi\u1EC3u_t\u01B0\u1EE3ng
+
+Ignore=B\u1ECF_qua
+
+Illegal_type_name=T\u00EAn_ki\u1EC3u_kh\u00F4ng_h\u1EE3p_l\u1EC7
+
+Immediate_subgroups=C\u00E1c_nh\u00F3m_con_s\u00E1t_nhau
+
+Import=Nh\u1EADp
+
+Import_and_keep_old_entry=Nh\u1EADp_v\u00E0_gi\u1EEF_m\u1EE5c_c\u0169
+
+Import_and_remove_old_entry=Nh\u1EADp_v\u00E0_lo\u1EA1i_b\u1ECF_m\u1EE5c_c\u0169
+Import_canceled_by_user=Vi\u1EC7c_nh\u1EADp_b\u1ECB_ng\u01B0\u1EDDi_d\u00F9ng_h\u1EE7y
+
+Import_Data_from_CiteSeer_Database=Nh\u1EADp_d\u1EEF_li\u1EC7u_t\u1EEB_CSDL_CiteSeer
+
+Import_entries=Nh\u1EADp_c\u00E1c_m\u1EE5c
+
+Import_entry_types=Nh\u1EADp_c\u00E1c_ki\u1EC3u_m\u1EE5c
+
+Import_failed=Vi\u1EC7c_nh\u1EADp_th\u1EA5t_b\u1EA1i
+
+Import_Fields_from_CiteSeer_Database=Nh\u1EADp_c\u00E1c_tr\u01B0\u1EDDng_t\u1EEB_CSDL_CiteSeer
+
+Import_file=Nh\u1EADp_t\u1EADp_tin
+
+Import_group_definitions=Nh\u1EADp_c\u00E1c_\u0111\u1ECBnh_ngh\u0129a_nh\u00F3m
+
+Import_name=Nh\u1EADp_t\u00EAn
+
+Import_preferences=Nh\u1EADp_c\u00E1c_t\u00F9y_th\u00EDch
+
+Import_preferences_from_file=Nh\u1EADp_c\u00E1c_t\u00F9y_th\u00EDch_t\u1EEB_t\u1EADp_tin
+
+Import_strings=Nh\u1EADp_c\u00E1c_chu\u1ED7i
+
+Import_to_open_tab=Nh\u1EADp_v\u00E0o_th\u1EBB_\u0111ang_m\u1EDF
+
+Import_word_selector_definitions=Nh\u1EADp_c\u00E1c_\u0111\u1ECBnh_ngh\u0129a_tr\u00ECnh_ch\u1ECDn_t\u1EEB
+
+Imported_database=CSDL_\u0111\u01B0\u1EE3c_nh\u1EADp
+
+Imported_entries=C\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp
+
+Imported_entry_types=C\u00E1c_ki\u1EC3u_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp
+
+Imported_from_database=\u0111\u01B0\u1EE3c_nh\u1EADp_t\u1EEB_CSDL
+
+ImportFormat_class=L\u1EDBp_\u0110\u1ECBnhd\u1EA1ngNh\u1EADp
+
+Importing=\u0110ang_nh\u1EADp
+
+Importing_in_unknown_format=Nh\u1EADp_v\u00E0o_th\u00E0nh_\u0111\u1ECBnh_d\u1EA1ng_kh\u00F4ng_r\u00F5
+
+In_JabRef,_use_pairs_of_#_characters_to_indicate_a_string.=Trong_JabRef,_d\u00F9ng_c\u00E1c_c\u1EB7p_k\u00FD_t\u1EF1_#_\u0111\u1EC3_ch\u1EC9_r\u1EB1ng_\u0111\u00F3_l\u00E0_m\u1ED9t_chu\u1ED7i.
+
+Include_abstracts=\u0110\u01B0a_v\u00E0o_c\u1EA3_ph\u1EA7n_t\u00F3m_t\u1EAFt
+Include_entries=\u0110\u01B0a_v\u00E0o_c\u00E1c_m\u1EE5c
+
+Include_subgroups\:_When_selected,_view_entries_contained_in_this_group_or_its_subgroups=\u0110\u01B0a_v\u00E0o_c\u00E1c_nh\u00F3m_con\:_Khi_\u0111\u01B0\u1EE3c_ch\u1ECDn,_xem_c\u00E1c_m\u1EE5c_ch\u1EE9a_trong_nh\u00F3m_n\u00E0y_ho\u1EB7c_c\u00E1c_nh\u00F3m_ph\u1EE5_c\u1EE7a_n\u00F3
+
+Incremental=T\u0103ng_d\u1EA7n
+
+Incremental_search=T\u00ECm_t\u0103ng_d\u1EA7n
+
+Incremental_search_failed._Repeat_to_search_from_top.=Ph\u00E9p_t\u00ECm_t\u0103ng_d\u1EA7n_th\u1EA5t_b\u1EA1i._L\u1EB7p_l\u1EA1i_\u0111\u1EC3_t\u00ECm_ki\u1EBFm_t\u1EEB_\u0111\u1EA7u.
+
+Independent_group\:_When_selected,_view_only_this_group's_entries=Nh\u00F3m_\u0111\u1ED9c_l\u1EADp\:_Khi_\u0111\u01B0\u1EE3c_ch\u1ECDn,_ch\u1EC9_xem_c\u00E1c_m\u1EE5c_c\u1EE7a_nh\u00F3m_n\u00E0y
+
+Initially_show_groups_tree_expanded=Ban_\u0111\u1EA7u_hi\u1EC3n_th\u1ECB_c\u00E2y_s\u01A1_\u0111\u1ED3_nh\u00F3m_d\u1EA1ng_m\u1EDF_r\u1ED9ng
+
+Input=C\u00E1c_t\u00F9y_ch\u1ECDn_l\u00E0m_vi\u1EC7c
+
+Input_error=L\u1ED7i_\u0111\u1EA7u_v\u00E0o
+
+Insert=Ch\u00E8n
+
+Insert_rows=Ch\u00E8n_h\u00E0ng
+
+Insert_selected_citations_into_LyX/Kile=Ch\u00E8n_c\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_LyX/Kile
+Insert_selected_citations_into_Vim=Ch\u00E8n_c\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_Vim
+
+Insert_selected_citations_into_WinEdt=Ch\u00E8n_c\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_WinEdt
+
+insert_string_=ch\u00E8n_chu\u1ED7i_
+
+Insert_URL=Ch\u00E8n_URL
+Install_anyway?=C\u1EE9_c\u00E0i_\u0111\u1EB7t?
+
+
+Install_plugin=C\u00E0i_\u0111\u1EB7t_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+
+integrity=t\u00EDnh_to\u00E0n_v\u1EB9n
+
+#Integritycheckisaprocessthatchecksforindicationsofwronglyfilledoutbibtexfields."Scan"isthebuttonthatstartsthecheck.
+Integrity_check=ki\u1EC3m_tra_t\u00EDnh_to\u00E0n_v\u1EB9n
+
+Intersection=Giao_nhau
+
+Invalid_BibTeX_key=Kh\u00F3a_BibTeX_kh\u00F4ng_h\u1EE3p_l\u1EC7
+
+Invalid_date_format=\u0110\u1ECBnh_d\u1EA1ng_ng\u00E0y_kh\u00F4ng_h\u1EE3p_l\u1EC7
+
+Invalid_URL=URL_kh\u00F4ng_h\u1EE3p_l\u1EC7
+
+Inverted=\u0110\u1EA3o_ng\u01B0\u1EE3c
+
+is_a_standard_type.=l\u00E0_m\u1ED9t_ki\u1EC3u_chu\u1EA9n.
+
+ISO_abbreviation=Vi\u1EBFt_t\u1EAFt_ki\u1EC3u_ISO
+
+Item_list_for_field=Danh_s\u00E1ch_h\u1EA1ng_m\u1EE5c_d\u00F9ng_cho_tr\u01B0\u1EDDng
+jabref=jabref
+
+JabRef_help=Tr\u1EE3_gi\u00FAp_JabRef
+
+JabRef_preferences=C\u00E1c_t\u00F9y_th\u00EDch_JabRef
+
+Journal_abbreviations=C\u00E1c_vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_ch\u00ED
+
+Journal_list_preview=Xem_tr\u01B0\u1EDBc_danh_s\u00E1ch_t\u1EA1p_ch\u00ED
+
+Journal_name=T\u00EAn_t\u1EA1p_ch\u00ED
+
+Keep=Gi\u1EEF
+
+Keep_both=Gi\u1EEF_c\u1EA3
+
+Keep_lower=Gi\u1EEF_m\u1EE5c_d\u01B0\u1EDBi
+
+Keep_upper=Gi\u1EEF_m\u1EE5c_tr\u00EAn
+
+Key_bindings=C\u00E1c_t\u1ED5_h\u1EE3p_ph\u00EDm
+
+Key_bindings_changed=C\u00E1c_t\u1ED5_h\u1EE3p_ph\u00EDm_thay_\u0111\u1ED5i
+
+Key_generator_settings=C\u00E1c_thi\u1EBFt_l\u1EADp_tr\u00ECnh_t\u1EA1o_kh\u00F3a
+
+Key_pattern=Ki\u1EC3u_m\u1EABu_kh\u00F3a
+
+keys_in_database=c\u00E1c_kh\u00F3a_trong_CSDL
+
+#nottranslated.Toviewit,usemenu"Tools|NewBibTeXfilefromAUxfile",andlaunchtheactiononanon-existantauxfile.
+Keyword=T\u1EEB_kh\u00F3a
+
+CiteSeer_Import_Error=L\u1ED7i_nh\u1EADp_CiteSeer
+
+Label=Nh\u00E3n
+
+Language=Ng\u00F4n_ng\u1EEF
+
+Last_modified=Thay_\u0111\u1ED5i_l\u1EA7n_sau_c\u00F9ng
+
+LaTeX_AUX_file=T\u1EADp_tin_LaTeX_AUX
+Leave_file_in_its_current_directory.=Gi\u1EEF_t\u1EADp_tin_trong_th\u01B0_m\u1EE5c_hi\u1EC7n_t\u1EA1i_c\u1EE7a_n\u00F3.
+Leave_files_in_their_current_directory.=Gi\u1EEF_c\u00E1c_t\u1EADp_tin_trong_th\u01B0_m\u1EE5c_hi\u1EC7n_t\u1EA1i_c\u1EE7a_ch\u00FAng.
+
+Left=Tr\u00E1i
+Legacy_file_fields=C\u00E1c_tr\u01B0\u1EDDng_t\u1EADp_tin_c\u0169_c\u00F2n_\u0111\u1EC3_l\u1EA1i
+
+License=Gi\u1EA5y_ph\u00E9p
+
+Limit_to_fields=Gi\u1EDBi_h\u1EA1n_theo_c\u00E1c_tr\u01B0\u1EDDng
+
+Limit_to_selected_entries=Gi\u1EDBi_h\u1EA1n_theo_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+Line_%0\:_Found_corrupted_BibTeX-key.=D\u00F2ng_%0\:_T\u00ECm_th\u1EA5y_kh\u00F3a-BibTeX_b\u1ECB_l\u1ED7i.
+Line_%0\:_Found_corrupted_BibTeX-key_(comma_missing).=D\u00F2ng_%0\:_T\u00ECm_th\u1EA5y_kh\u00F3a-BibTeX_b\u1ECB_l\u1ED7i_(thi\u1EBFu_d\u1EA5u_ph\u1EA9y).
+Line_%0\:_Found_corrupted_BibTeX-key_(contains_whitespaces).=D\u00F2ng_%0\:_T\u00ECm_th\u1EA5y_kh\u00F3a-BibTeX_b\u1ECB_l\u1ED7i_(ch\u1EE9a_kho\u1EA3ng_tr\u1EAFng).
+
+Link=Li\u00EAn_k\u1EBFt
+Link_local_file=Li\u00EAn_k\u1EBFt_t\u1EADp_tin_c\u1EE5c_b\u1ED9
+Link_to_file_%0=Li\u00EAn_k\u1EBFt_\u0111\u1EBFn_t\u1EADp_tin_%0
+
+Listen_for_remote_operation_on_port=L\u1EAFng_nghe_l\u1EC7nh_ch\u1EA1y_t\u1EEB_xa_t\u1EA1i_c\u1ED5ng
+Load_and_Save_preferences_from/to_jabref.xml_on_start-up_(memory_stick_mode)=N\u1EA1p_v\u00E0_l\u01B0u_c\u00E1c_t\u00F9y_th\u00EDch_t\u1EEB/\u0111\u1EBFn_t\u1EADp_tin_jabref.xml_khi_kh\u1EDFi_\u0111\u1ED9ng_(ch\u1EBF_\u0111\u1ED9_th\u1EBB_nh\u1EDB)
+
+Load_session=N\u1EA1p_phi\u00EAn_l\u00E0m_vi\u1EC7c
+Loaded=\u0110\u00E3_\u0111\u01B0\u1EE3c_n\u1EA1p
+
+Loading_session...=\u0110ang_n\u1EA1p_phi\u00EAn_l\u00E0m_vi\u1EC7c...
+localhost=localhost
+
+Look_and_feel=H\u00ECnh_th\u1EE9c
+
+Looking_for_full_text_document...=\u0110ang_t\u00ECm_t\u00E0i_li\u1EC7u_\u0111\u1EA7y_\u0111\u1EE7...
+Looking_for_pdf...=\u0110ang_t\u00ECm_pdf...
+lower=c\u1EADn_d\u01B0\u1EDBi
+Main_file_directory=Th\u01B0_m\u1EE5c_t\u1EADp_tin_ch\u00EDnh
+
+Main_layout_file=T\u1EADp_tin_tr\u00ECnh_b\u00E0y_ch\u00EDnh
+
+Main_PDF_directory=Th\u01B0_m\u1EE5c_PDF_ch\u00EDnh
+
+Main_PS_directory=Th\u01B0_m\u1EE5c_PS_ch\u00EDnh
+
+Manage=Qu\u1EA3n_l\u00FD
+
+Manage_custom_exports=Qu\u1EA3n_l\u00FD_c\u00E1c_ph\u00E9p_xu\u1EA5t_t\u00F9y_ch\u1ECDn
+
+Manage_custom_imports=Qu\u1EA3n_l\u00FD_c\u00E1c_ph\u00E9p_nh\u1EADp_t\u00F9y_ch\u1ECDn
+Manage_external_file_types=Qu\u1EA3n_l\u00FD_c\u00E1c_ki\u1EC3u_t\u1EADp_tin_ngo\u00E0i
+
+Manage_journal_abbreviations=Qu\u1EA3n_l\u00FD_c\u00E1c_vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_ch\u00ED
+
+Mark_entries=\u0110\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c
+
+Mark_entries_imported_into_an_existing_database=\u0110\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o_CSDL_hi\u1EC7n_c\u00F3
+
+Mark_entry=\u0110\u00E1nh_d\u1EA5u_m\u1EE5c
+
+Mark_new_entries_with_addition_date=\u0110\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c_m\u1EDBi_v\u1EDBi_ng\u00E0y_\u0111\u01B0\u1EE3c_th\u00EAm_v\u00E0o
+
+Mark_new_entries_with_owner_name=\u0110\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c_m\u1EDBi_c\u00F9ng_v\u1EDBi_t\u00EAn_ng\u01B0\u1EDDi_s\u1EDF_h\u1EEFu
+
+Marked_selected=Ph\u1EA7n_\u0111\u00E1nh_d\u1EA5u_\u0111\u01B0\u1EE3c_ch\u1ECDn
+Medline_import_canceled=Vi\u1EC7c_nh\u1EADp_t\u1EEB_Medline_b\u1ECB_h\u1EE7y
+Memory_Stick_Mode=Ch\u1EBF_\u0111\u1ED9_th\u1EBB_nh\u1EDB
+
+Menu_and_label_font_size=C\u1EE1_ph\u00F4ng_ch\u1EEF_tr\u00ECnh_\u0111\u01A1n_v\u00E0_nh\u00E3n
+
+Merged_external_changes=C\u00E1c_thay_\u0111\u1ED5i_ngo\u00E0i_\u0111\u01B0\u1EE3c_g\u1ED9p_l\u1EA1i
+
+Messages=C\u00E1c_th\u00F4ng_b\u00E1o
+
+Messages_and_Hints=C\u00E1c_th\u00F4ng_b\u00E1o_v\u00E0_g\u1EE3i_\u00FD
+Metadata_change=Thay_\u0111\u1ED5i_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u
+MIME_type=Ki\u1EC3u_MIME
+
+Modification_of_field=S\u1EF1_\u0111i\u1EC1u_ch\u1EC9nh_c\u1EE7a_tr\u01B0\u1EDDng
+
+Modified_group_"%0".=Nh\u00F3m_"%0"_\u0111\u01B0\u1EE3c_\u0111i\u1EC1u_ch\u1EC9nh.
+
+Modified_groups=C\u00E1c_nh\u00F3m_\u0111\u01B0\u1EE3c_\u0111i\u1EC1u_ch\u1EC9nh
+
+Modified_string=Chu\u1ED7i_\u0111\u01B0\u1EE3c_\u0111i\u1EC1u_ch\u1EC9nh
+
+Modify=\u0110i\u1EC1u_ch\u1EC9nh
+
+modify_group=\u0111i\u1EC1u_ch\u1EC9nh_nh\u00F3m
+
+MODS=MODS
+
+Move=Chuy\u1EC3n
+Move/Rename_file=Chuy\u1EC3n/\u0110\u1EB7t_l\u1EA1i_t\u00EAn_t\u1EADp_tin
+Move/rename_file=Chuy\u1EC3n/\u0111\u1EB7t_l\u1EA1i_t\u00EAn_t\u1EADp_tin
+Move_contents_of_a_field_into_a_field_with_a_different_name=Di_chuy\u1EC3n_n\u1ED9i_dung_c\u1EE7a_m\u1ED9t_tr\u01B0\u1EDDng_sang_m\u1ED9t_tr\u01B0\u1EDDng_c\u00F3_t\u00EAn_kh\u00E1c
+
+Move_down=Chuy\u1EC3n_xu\u1ED1ng
+
+Move_entries_in_group_selection_to_the_top=Chuy\u1EC3n_c\u00E1c_m\u1EE5c_trong_nh\u00F3m_\u0111\u01B0\u1EE3c_ch\u1ECDn_l\u00EAn_tr\u00EAn_c\u00F9ng
+Move_external_links_to_'file'_field=Chuy\u1EC3n_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i_v\u00E0o_tr\u01B0\u1EDDng_'file'
+Move_file_failed=Vi\u1EC7c_chuy\u1EC3n_t\u1EADp_tin_th\u1EA5t_b\u1EA1i
+Move_file_to_file_directory.=Di_chuy\u1EC3n_t\u1EADp_tin_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin.
+Move_file_to_file_directory?=Di_chuy\u1EC3n_t\u1EADp_tin_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin?
+Move_files_to_file_directory.=Chuy\u1EC3n_c\u00E1c_t\u1EADp_tin_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin
+
+move_group=chuy\u1EC3n_nh\u00F3m
+
+Move_string_down=Chuy\u1EC3n_chu\u1ED7i_xu\u1ED1ng
+
+Move_string_up=Chuy\u1EC3n_chu\u1ED7i_l\u00EAn
+
+Move_the_keyboard_focus_to_the_entry_table=Chuy\u1EC3n_tr\u1ECDng_t\u00E2m_b\u00E0n_ph\u00EDm_sang_b\u1EA3ng_ch\u1EE9a_m\u1EE5c
+Move_to_file_directory=Di_chuy\u1EC3n_v\u00E0o_th\u01B0_m\u1EE5c_t\u1EADp_tin
+
+Move_up=Chuy\u1EC3n_l\u00EAn
+
+Moved_group_"%0".=\u0110\u00E3_chuy\u1EC3n_nh\u00F3m_"%0".
+MS_Office_2007=MS_Office_2007
+MySQL=MySQL
+MySQL_database=CSDL_MySQL
+
+Name=T\u00EAn
+Name_formatter=Tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng_t\u00EAn
+
+Natbib_style=Ki\u1EC3u_Natbib
+
+nested_aux_files=c\u00E1c_t\u1EADp_tin_aux_l\u1ED3ng_nhau
+
+New=M\u1EDBi
+
+new=m\u1EDBi
+
+New_BibTeX_database=CSDL_BibTeX_m\u1EDBi
+
+New_BibTeX_entry=M\u1EE5c_BibTeX_m\u1EDBi
+
+New_BibTeX_subdatabase=CSDL_con_BibTeX_m\u1EDBi
+
+New_content=N\u1ED9i_dung_m\u1EDBi
+
+New_database_created.=CSDL_m\u1EDBi_\u0111\u01B0\u1EE3c_tao_ra.
+New_field_value=Gi\u00E1_tr\u1ECB_tr\u01B0\u1EDDng_m\u1EDBi
+
+New_file=T\u1EADp_tin_m\u1EDBi
+New_file_link_(INSERT)=Li\u00EAn_k\u1EBFt_t\u1EADp_tin_m\u1EDBi_(INSERT)
+
+New_group=Nh\u00F3m_m\u1EDBi
+
+New_string=Chu\u1ED7i_m\u1EDBi
+
+Next_entry=M\u1EE5c_ti\u1EBFp
+
+No_%0_found=Kh\u00F4ng_t\u00ECm_th\u1EA5y_%0
+
+No_actual_changes_found.=Kh\u00F4ng_th\u1EA5y_thay_\u0111\u1ED5i_th\u1EF1c_s\u1EF1_n\u00E0o.
+
+no_base-bibtex-file_specified=t\u1EADp_tin_ki\u1EC3u-bibtex_kh\u00F4ng_\u0111\u01B0\u1EE3c_ch\u1EC9_\u0111\u1ECBnh!
+
+no_database_generated=Kh\u00F4ng_c\u00F3_CSDL_n\u00E0o_\u0111\u01B0\u1EE3c_t\u1EA1o_ra
+
+No_duplicates_found=Kh\u00F4ng_t\u00ECm_th\u1EA5y_c\u00E1c_m\u1EE5c_tr\u00F9ng
+No_entries_found._It_looks_like_you_do_not_have_access_to_search_JStor.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_m\u1EE5c_n\u00E0o._C\u00F3_v\u1EBB_nh\u01B0_b\u1EA1n_kh\u00F4ng_c\u00F3_quy\u1EC1n_truy_c\u1EADp_\u0111\u1EC3_t\u00ECm_ki\u1EBFm_trong_JStor.
+
+No_entries_found._Please_make_sure_you_are_using_the_correct_import_filter.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_m\u1EE5c_n\u00E0o._H\u00E3y_\u0111\u1EA3m_b\u1EA3o_r\u1EB1ng_b\u1EA1n_\u0111ang_d\u00F9ng_b\u1ED9_l\u1ECDc_nh\u1EADp_\u0111\u00FAng.
+
+
+No_entries_found_for_the_search_string_'%0'=Kh\u00F4ng_t\u00ECm_th\u1EA5y_m\u1EE5c_n\u00E0o_v\u1EDBi_chu\u1ED7i_t\u00ECm_ki\u1EBFm_'%0'
+
+No_entries_imported.=Kh\u00F4ng_m\u1EE5c_n\u00E0o_\u0111\u01B0\u1EE3c_nh\u1EADp.
+
+No_entries_or_multiple_entries_selected.=Kh\u00F4ng_c\u00F3_m\u1EE5c_ho\u1EB7c_c\u00E1c_m\u1EE5c_n\u00E0o_\u0111\u01B0\u1EE3c_nh\u1EADp.
+
+No_entries_selected=Kh\u00F4ng_c\u00F3_m\u1EE5c_n\u00E0o_\u0111\u01B0\u1EE3c_ch\u1ECDn
+No_entries_selected.=Kh\u00F4ng_c\u00F3_m\u1EE5c_n\u00E0o_\u0111\u01B0\u1EE3c_ch\u1ECDn.
+
+No_exceptions_have_ocurred.=Kh\u00F4ng_x\u1EA3y_ra_ngo\u1EA1i_l\u1EC7_n\u00E0o.
+No_files_found.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u1EADp_tin_n\u00E0o.
+
+No_GUI._Only_process_command_line_options.=Kh\u00F4ng_c\u00F3_GD\u0110H._Ch\u1EC9_x\u1EED_l\u00FD_c\u00E1c_t\u00F9y_ch\u1ECDn_d\u00F2ng_l\u1EC7nh.
+
+No_journal_names_could_be_abbreviated.=Kh\u00F4ng_c\u00F3_t\u00EAn_t\u1EA1p_ch\u00ED_n\u00E0o_c\u00F3_th\u1EC3_vi\u1EBFt_t\u1EAFt.
+
+No_journal_names_could_be_unabbreviated.=Kh\u00F4ng_c\u00F3_t\u00EAn_t\u1EA1p_ch\u00ED_n\u00E0o_c\u00F3_th\u1EC3_vi\u1EBFt_\u0111\u1EA7y_\u0111\u1EE7.
+No_PDF_linked=Kh\u00F4ng_c\u00F3_t\u1EADp_tin_PDF_n\u00E0o_\u0111\u01B0\u1EE3c_li\u00EAn_k\u1EBFt
+
+No_pdf_or_ps_defined,_and_no_file_matching_Bibtex_key_found=Kh\u00F4ng_c\u00F3_t\u1EADp_tin_PDF_ho\u1EB7c_PS_n\u00E0o_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a,_v\u00E0_kh\u00F4ng_t\u00ECm_th\u1EA5y_kh\u00F3a_Bibtex_n\u00E0o_kh\u1EDBp
+No_plugins_were_found_in_the_following_folders\:=Kh\u00F4ng_t\u00ECm_th\u1EA5y_ph\u1EA7n_m\u1EDF_r\u1ED9ng_n\u00E0o_trong_th\u01B0_m\u1EE5c_sau:
+
+No_references_found=Kh\u00F4ng_t\u00ECm_th\u1EA5y_t\u00E0i_li\u1EC7u_tham_kh\u1EA3o_n\u00E0o
+
+No_saved_session_found.=Kh\u00F4ng_t\u00ECm_th\u1EA5y_phi\u00EAn_l\u00E0m_vi\u1EC7c_\u0111\u01B0\u1EE3c_l\u01B0u_n\u00E0o.
+
+No_url_defined=Kh\u00F4ng_c\u00F3_url_n\u00E0o_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a
+No_XMP_metadata_found_in_=Kh\u00F4ng_t\u00ECm_th\u1EA5y_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_n\u00E0o_trong_
+
+not=kh\u00F4ng
+
+not_found=kh\u00F4ng_t\u00ECm_th\u1EA5y
+Not_loaded=Kh\u00F4ng_\u0111\u01B0\u1EE3c_n\u1EA1p
+
+Not_saved_(empty_session)=Kh\u00F4ng_\u0111\u01B0\u1EE3c_l\u01B0u_(phi\u00EAn_l\u00E0m_vi\u1EC7c_r\u1ED7ng)
+
+Note_that_the_entry_causing_the_problem_has_been_selected.=L\u01B0u_\u00FD_r\u1EB1ng_m\u1EE5c_g\u00E2y_ra_tr\u1EE5c_tr\u1EB7c_\u0111\u00E3_\u0111\u01B0\u1EE3c_ch\u1ECDn.
+Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields_only.<br>For_most_users,_setting_the_<b>Main_file_directory</b>_above_should_be_sufficient.=L\u01B0u_\u00FD_r\u1EB1ng_nh\u1EEFng_thi\u1EBFt_l\u1EADp_n\u00E0y_ch\u1EC9_\u0111\u01B0\u1EE3c_d\u00F9ng_cho_c\u00E1c_tr\u01B0\u1EDDng_<b>pdf</b>_v\u00E0_<b>ps</b>_c\u0169_c\u00F2n_gi\u1EEF_l\u1EA1i.<br>\u0110\u1ED1i_v\u1EDBi_h\u1EA7u_h\u1EBFt_ng\u01B0\u1EDDi_d\u00F9ng,_thi\u1EBFt_l\u1EADp_<b>Th\u01B0_m\u1EE5c_t\u1EAD [...]
+
+Note_that_you_must_specify_the_fully_qualified_class_name_for_the_look_and_feel,=L\u01B0u_\u00FD_r\u1EB1ng_b\u1EA1n_ph\u1EA3i_ch\u1EC9_\u0111\u1ECBnh_t\u00EAn_l\u1EDBp_\u0111\u1EE7_\u0111i\u1EC1u_ki\u1EC7n_d\u00F9ng_cho_di\u1EC7n_m\u1EA1o,
+
+Nothing_to_redo=Kh\u00F4ng_c\u00F3_l\u1EC7nh_n\u00E0o_\u0111\u1EC3_l\u1EB7p_l\u1EA1i
+
+Nothing_to_undo=Kh\u00F4ng_c\u00F3_l\u1EC7nh_n\u00E0o_\u0111\u1EC3_quay_ng\u01B0\u1EE3c_l\u1EA1i
+Number_of_entries_successfully_imported=S\u1ED1_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o_th\u00E0nh_c\u00F4ng
+
+#Thenextisusedlikein"Referencesfound:1Numberofreferencestofetch?"
+Number_of_references_to_fetch?=S\u1ED1_l\u01B0\u1EE3ng_t\u00E0i_li\u1EC7u_tham_kh\u1EA3o_c\u1EA7n_l\u1EA5y_v\u1EC1?
+
+occurences=c\u00E1c_l\u1EA7n_xu\u1EA5t_hi\u1EC7n
+
+OK=\u0110\u1ED3ng_\u00FD
+
+Ok=\u0110\u1ED3ng_\u00FD
+Old_plugin_versions_will_be_deleted_next_time_JabRef_starts_up.=Phi\u00EAn_b\u1EA3n_c\u00E1c_ph\u1EA7n_m\u1EDF_r\u1ED9ng_c\u0169_s\u1EBD_b\u1ECB_x\u00F3a_\u1EDF_l\u1EA7n_kh\u1EDFi_\u0111\u1ED9ng_sau_c\u1EE7a_JabRef.
+Old_versions_deleted_successfully.=C\u00E1c_phi\u00EAn_b\u1EA3n_c\u0169_\u0111\u01B0\u1EE3c_x\u00F3a_th\u00E0nh_c\u00F4ng.
+One_or_more_file_links_are_of_the_type_'%0',_which_is_undefined._What_do_you_want_to_do?=M\u1ED9t_ho\u1EB7c_nhi\u1EC1u_li\u00EAn_k\u1EBFt_thu\u1ED9c_ki\u1EC3u_'%0',_t\u1EE9c_l\u00E0_lo\u1EA1i_kh\u00F4ng_x\u00E1c_\u0111\u1ECBnh._B\u1EA1n_mu\u1ED1n_l\u00E0m_g\u00EC?
+
+One_or_more_keys_will_be_overwritten._Continue?=M\u1ED9t_ho\u1EB7c_nhi\u1EC1u_kh\u00F3a_s\u1EBD_b\u1ECB_ghi_\u0111\u00E8._C\u00F3_ti\u1EBFp_t\u1EE5c_kh\u00F4ng?
+One_or_more_older_versions_of_this_plugin_is_installed._Delete_old_versions?=M\u1ED9t_ho\u1EB7c_nhi\u1EC1u_phi\u00EAn_b\u1EA3n_c\u0169_h\u01A1n_c\u1EE7a_ph\u1EA7n_m\u1EDF_r\u1ED9ng_n\u00E0y_\u0111\u00E3_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t._C\u00F3_x\u00F3a_c\u00E1c_phi\u00EAn_b\u1EA3n_c\u0169_kh\u00F4ng?
+Only_one_item_is_supported=Ch\u1EC9_c\u00F3_m\u1ED9t_h\u1EA1ng_m\u1EE5c_\u0111\u01B0\u1EE3c_h\u1ED7_tr\u1EE3
+
+Open=M\u1EDF
+
+Open_BibTeX_database=M\u1EDF_CSDL_BibTeX
+
+Open_database=M\u1EDF_CSDL
+
+Open_editor_when_a_new_entry_is_created=M\u1EDF_tr\u00ECnh_bi\u00EAn_t\u1EADp_khi_m\u1ED9t_m\u1EE5c_m\u1EDBi_\u0111\u01B0\u1EE3c_tao
+
+Open_file=M\u1EDF_t\u1EADp_tin
+
+Open_last_edited_databases_at_startup=M\u1EDF_CSDL_ch\u1EC9nh_s\u1EEDa_l\u1EA7n_cu\u1ED1i_khi_kh\u1EDFi_\u0111\u1ED9ng
+
+Open_PDF_or_PS=M\u1EDF_PDF_ho\u1EB7c_PS
+
+Open_right-click_menu_with_Ctrl+left_button=M\u1EDF_tr\u00ECnh_\u0111\u01A1n_nh\u1EAFp_chu\u1ED9t_ph\u1EA3i_b\u1EB1ng_t\u1ED5_h\u1EE3p_ph\u00EDm_Ctrl+left
+Open_SPIRES_entry=M\u1EDF_m\u1EE5c_SPIRES
+
+Open_URL_or_DOI=M\u1EDF_URL_ho\u1EB7c_DOI
+OpenDocument_Spreadsheet=T\u00E0i.li\u1EC7u.v\u0103n.b\u1EA3n.m\u1EDF_B\u1EA3ng.t\u00EDnh
+
+Opened_database=CSDL_\u0111\u01B0\u1EE3c_m\u1EDF
+
+Opening=\u0110ang_m\u1ECF
+
+Opening_preferences...=\u0110ang_m\u1EDF_c\u00E1c_t\u00F9y_th\u00EDch...
+
+OpenOffice_Calc=OpenOffice_Calc
+OpenOffice_CSV=OpenOffice_CSV
+Operation_canceled.\n=L\u1EC7nh_b\u1ECB_h\u1EE7y.\n
+Operation_not_supported=L\u1EC7nh_kh\u00F4ng_\u0111\u01B0\u1EE3c_h\u1ED7_tr\u1EE3
+
+Optional_fields=C\u00E1c_tr\u01B0\u1EDDng_t\u00F9y_ch\u1ECDn
+
+Options=T\u00F9y_ch\u1ECDn
+
+or=ho\u1EB7c
+
+out_of=ngo\u00E0i
+Output=\u0110\u1EA7u_ra
+
+Output_or_export_file=\u0110\u1EA7u_ra_ho\u1EB7c_t\u1EADp_tin_xu\u1EA5t
+
+Override=Ghi_\u0111\u00E8
+
+Override_default_file_directories=Ghi_\u0111\u00E8_c\u00E1c_th\u01B0_m\u1EE5c_t\u1EADp_tin_m\u1EB7c_\u0111\u1ECBnh
+
+Override_default_font_settings=Ghi_\u0111\u00E8_c\u00E1c_thi\u1EBFt_l\u1EADp_ph\u00F4ng_ch\u1EEF_m\u1EB7c_\u0111\u1ECBnh
+Override_legacy_file_fields=Ghi_\u0111\u00E8_c\u00E1c_tr\u01B0\u1EDDng_t\u1EADp_tin_(c\u0169)_c\u00F2n_s\u00F3t_l\u1EA1i
+
+override_the_bibtex_key_by_the_selected_text=ghi_\u0111\u00E8_kh\u00F3a_bibtex_b\u1EB1ng_ch\u1EEF_\u0111\u01B0\u1EE3c_ch\u1ECDn
+
+
+Overwrite=Ghi_\u0111\u00E8
+Overwrite_existing_field_values=Ghi_\u0111\u00E8_c\u00E1c_gi\u00E1_tr\u1ECB_tr\u01B0\u1EDDng_hi\u1EC7n_c\u00F3
+
+Overwrite_keys=Ghi_\u0111\u00E8_c\u00E1c_kh\u00F3a
+
+pairs_processed=c\u00E1c_c\u1EB7p_\u0111\u01B0\u1EE3c_x\u1EED_l\u00FD
+Password_\:=M\u1EADt_m\u00E3:
+
+Paste=D\u00E1n
+
+paste_entries=d\u00E1n_c\u00E1c_m\u1EE5c
+
+paste_entry=d\u00E1n_m\u1EE5c
+Paste_from_clipboard=D\u00E1n_t\u1EEB_b\u1ED9_nh\u1EDB_t\u1EA1m
+
+Pasted=\u0110\u01B0\u1EE3c_d\u00E1n
+
+Path_to_%0_not_defined=\u0110\u01B0\u1EDDng_d\u1EABn_\u0111\u1EBFn_%0_kh\u00F4ng_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a
+
+Path_to_LatexEditor_(LEd.exe)=\u0110\u01B0\u1EDDng_d\u1EABn_\u0111\u1EBFn_tr\u00ECnh_bi\u00EAn_t\u1EADp_Latex_(LEd.exe)
+
+Path_to_LyX_pipe=\u0110\u01B0\u1EDDng_d\u1EABn_\u0111\u1EBFn_\u1ED1ng_d\u1EABn_LyX
+
+Path_to_Vim=\u0110\u01B0\u1EDDng_d\u1EABn_\u0111\u1EBFn_Vim
+
+Path_to_WinEdt.exe=\u0110\u01B0\u1EDDng_d\u1EABn_\u0111\u1EBFn_WinEdt.exe
+
+PDF_directory=Th\u01B0_m\u1EE5c_PDF
+PDF_does_not_exist=PDF_kh\u00F4ng_t\u1ED3n_t\u1EA1i
+
+Personal_journal_list=Danh_s\u00E1ch_t\u1EA1p_ch\u00ED_ri\u00EAng
+
+Plain_text_import=Nh\u1EADp_v\u0103n_b\u1EA3n_tr\u01A1n
+
+Please_check_your_network_connection_to_this_machine.=Vui_l\u00F2ng_ki\u1EC3m_tra_k\u1EBFt_n\u1ED1i_m\u1EA1ng_\u0111\u1EBFn_m\u00E1y_n\u00E0y.
+Please_enter_a_comma_separated_list_of_Medline_IDs_(numbers)_or_search_terms.=Vui_l\u00F2ng_nh\u1EADp_m\u1ED9t_danh_s\u00E1ch_c\u00E1c_id_Medline_(con_s\u1ED1),_c\u00E1ch_nhau_b\u1EDFi_d\u1EA5u_ph\u1EA9y,_ho\u1EB7c_nh\u1EADp_thu\u1EADt_ng\u1EEF_c\u1EA7n_t\u00ECm.
+
+Please_enter_a_name_for_the_group.=Vui_l\u00F2ng_nh\u1EADp_t\u00EAn_cho_nh\u00F3m.
+
+Please_enter_a_search_term._For_example,_to_search_all_fields_for_<b>Smith</b>,_enter%c<p><tt>smith</tt><p>To_search_the_field_<b>Author</b>_for_<b>Smith</b>_and_the_field_<b>Title</b>_for_<b>electrical</b>,_enter%c<p><tt>author%esmith_and_title%eelectrical</tt>=Vui_l\u00F2ng_nh\u1EADp_m\u1ED9t_thu\u1EADt_ng\u1EEF_t\u00ECm_ki\u1EBFm._V\u00ED_d\u1EE5,_\u0111\u1EC3_t\u00ECm_t\u1EEB_<b>Smith</b>_trong_t\u1EA5t_c\u1EA3_c\u00E1c_tr\u01B0\u1EDDng,_nh\u1EADp%c<p><tt>smith</tt><p>._\u0110\u1EC3_ [...]
+Please_enter_a_valid_number=Vui_l\u00F2ng_nh\u1EADp_m\u1ED9t_con_s\u1ED1_h\u1EE3p_l\u1EC7
+
+Please_enter_the_field_to_search_(e.g._<b>keywords</b>)_and_the_keyword_to_search_it_for_(e.g._<b>electrical</b>).=Vui_l\u00F2ng_nh\u1EADp_tr\u01B0\u1EDDng_c\u1EA7n_t\u00ECm_(v\u00ED_d\u1EE5:_<b>t\u1EEB_kho\u00E1</b>)_v\u00E0_t\u1EEB_kh\u00F3a_c\u1EA7n_t\u00ECm_ki\u1EBFm_trong_tr\u01B0\u1EDDng_\u0111\u00F3_(v\u00ED_d\u1EE5:_<b>electrical</b>).
+
+Please_enter_the_string's_label=Vui_l\u00F2ng_nh\u1EADp_nh\u00E3n_c\u1EE7a_chu\u1ED7i
+Please_refer_to_the_JabRef_help_manual_on_using_the_CiteSeer_tools=Vui_l\u00F2ng_xem_h\u01B0\u1EDBng_d\u1EABn_s\u1EED_d\u1EE5ng_JabRef_v\u1EC1_ph\u1EA7n_s\u1EED_d\u1EE5ng_c\u00E1c_c\u00F4ng_c\u1EE5_CiteSeer
+
+Please_refer_to_the_JabRef_help_manual_on_using_the_CiteSeer_tools.=Vui_l\u00F2ng_xem_h\u01B0\u1EDBng_d\u1EABn_s\u1EED_d\u1EE5ng_JabRef_v\u1EC1_ph\u1EA7n_s\u1EED_d\u1EE5ng_c\u00E1c_c\u00F4ng_c\u1EE5_CiteSeer.
+
+Please_select_an_importer=Vui_l\u00F2ng_ch\u1ECDn_m\u1ED9t_tr\u00ECnh_nh\u1EADp
+
+Please_select_an_importer.=Vui_l\u00F2ng_ch\u1ECDn_m\u1ED9t_tr\u00ECnh_nh\u1EADp.
+
+Please_select_exactly_one_group_to_move.=Vui_l\u00F2ng_ch\u1ECDn_ch\u00EDnh_x\u00E1c_m\u1ED9t_nh\u00F3m_c\u1EA7n_di_chuy\u1EC3n
+Please_specify_the_=Vui_l\u00F2ng_ch\u1EC9_\u0111\u1ECBnh_
+Please_wait!=Vui_l\u00F2ng_ch\u1EDD!
+
+Please_wait_until_it_has_finished.=Vui_l\u00F2ng_ch\u1EDD_\u0111\u1EBFn_khi_l\u1EC7nh_k\u1EBFt_th\u00FAc.
+Plugin_installation_failed.=C\u00E0i_\u0111\u1EB7t_ph\u1EA7n_m\u1EDF_r\u1ED9ng_th\u1EA5t_b\u1EA1i.
+Plugin_installed_successfully._You_must_restart_JabRef_to_load_the_new_plugin.=Ph\u1EA7n_m\u1EDF_r\u1ED9ng_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t_th\u00E0nh_c\u00F4ng._B\u1EA1n_ph\u1EA3i_kh\u1EDFi_\u0111\u1ED9ng_l\u1EA1i_JabRef_\u0111\u1EC3_n\u1EA1p_ph\u1EA7n_m\u1EDF_r\u1ED9ng_m\u1EDBi.
+
+Plugin_installer=Tr\u00ECnh_c\u00E0i_\u0111\u1EB7t_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Plugin_manager=Tr\u00ECnh_qu\u1EA3n_l\u00FD_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Plugin_name=T\u00EAn_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Plugin_will_be_deleted_next_time_JabRef_starts_up.=Ph\u1EA7n_m\u1EDF_r\u1ED9ng_s\u1EBD_\u0111\u01B0\u1EE3c_x\u00F3a_trong_l\u1EA7n_kh\u1EDFi_\u0111\u1ED9ng_sau_c\u1EE7a_JabRef.
+Plugins_installed_in_other_locations\:=C\u00E1c_ph\u1EA7n_m\u1EDF_r\u1ED9ng_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t_\u1EDF_v\u1ECB_tr\u00ED_kh\u00E1c:
+
+
+Plugins_installed_in_your_user_plugin_directory_(%0)\:=C\u00E1c_ph\u1EA7n_m\u1EDF_r\u1ED9ng_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t_trong_th\u01B0_m\u1EE5c_ph\u1EA7n_m\u1EDF_r\u1ED9ng_thu\u1ED9c_ng\u01B0\u1EDDi_d\u00F9ng_c\u1EE7a_b\u1EA1n_(%0):
+Plugins_will_be_deleted_next_time_JabRef_starts_up.=Ph\u1EA7n_m\u1EDF_r\u1ED9ng_s\u1EBD_\u0111\u01B0\u1EE3c_x\u00F3a_trong_l\u1EA7n_kh\u1EDFi_\u0111\u1ED9ng_sau_c\u1EE7a_JabRef.
+
+Possible_duplicate_entries=C\u00E1c_m\u1EE5c_c\u00F3_th\u1EC3_b\u1ECB_tr\u00F9ng
+
+Possible_duplicate_of_existing_entry._Click_to_resolve.=C\u00F3_th\u1EC3_m\u1EE5c_hi\u1EC7n_c\u00F3_b\u1ECB_tr\u00F9ng._Nh\u1EAFp_chu\u1ED9t_\u0111\u1EC3_gi\u1EA3i.
+
+Preamble=Ph\u1EA7n_m\u1EDF_\u0111\u1EA7u
+
+Preferences=C\u00E1c_t\u00F9y_th\u00EDch
+
+Preferences_recorded.=C\u00E1c_t\u00F9y_th\u00EDch_\u0111\u01B0\u1EE3c_ghi_l\u1EA1i.
+
+Preview=Xem_tr\u01B0\u1EDBc
+
+Previous_entry=M\u1EE5c_tr\u01B0\u1EDBc_\u0111\u00F3
+
+Primary_sort_criterion=Ti\u00EAu_chu\u1EA9n_x\u1EBFp_th\u1EE9_t\u1EF1_ch\u00EDnh
+Print_Preview=Xem_tr\u01B0\u1EDBc_khi_in
+Printing_Entry_Preview=Xem_tr\u01B0\u1EDBc_ph\u1EA7n_in_m\u1ED9t_m\u1EE5c
+
+Problem_with_parsing_entry=Tr\u1EE5c_tr\u1EB7c_khi_ph\u00E2n_t\u00E1ch_m\u1EE5c
+Processing_=\u0110ang_x\u1EED_l\u00FD_
+Program_output=\u0110\u1EA7u_ra_c\u1EE7a_ch\u01B0\u01A1ng_tr\u00ECnh
+Progress:_%0_of_%1=Ti\u1EBFn_tr\u00ECnh:_%0_of_%1
+Prompt_before_recovering_a_database_from_an_autosave_file=Nh\u1EAFc_tr\u01B0\u1EDBc_khi_ph\u1EE5c_h\u1ED3i_l\u1EA1i_m\u1ED9t_CSDL_t\u1EEB_m\u1ED9t_t\u1EADp_tin_l\u01B0u_t\u1EF1_\u0111\u1ED9ng
+Protected_database=CSDL_\u0111\u01B0\u1EE3c_b\u1EA3o_v\u1EC7
+
+PS_directory=Th\u01B0_m\u1EE5c_PS
+Push_entries_to_external_application_(%0)=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_\u1EE9ng_d\u1EE5ng_ngo\u00E0i_(%0)
+
+Push_selection_to_Emacs=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_Emacs
+
+Push_selection_to_LyX/Kile=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_LyX/Kile
+Push_selection_to_Vim=\u0110\u01B0a_ra_m\u1EE5c_ra_Vim
+
+Push_selection_to_WinEdt=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_WinEdt
+
+Push_to_LatexEditor=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_tr\u00ECnh_bi\u00EAn_t\u1EADp_Latex
+Pushed_citations_to_%0=C\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u00E3_\u0111\u01B0\u1EE3c_\u0111\u01B0a_qua_%0
+
+Pushed_citations_to_Emacs=C\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u00E3_\u0111\u01B0\u1EE3c_\u0111\u01B0a_qua_Emacs
+Pushed_citations_to_Vim=C\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u00E3_\u0111\u01B0\u1EE3c_\u0111\u01B0a_qua_Vim
+
+Pushed_citations_to_WinEdt=C\u00E1c_tr\u00EDch_d\u1EABn_\u0111\u00E3_\u0111\u01B0\u1EE3c_\u0111\u01B0a_qua_WinEdt
+
+Pushed_the_citations_for_the_following_rows_to=\u0110\u00E3_\u0111\u01B0a_c\u00E1c_tr\u00EDch_d\u1EABn_c\u1EE7a_nh\u1EEFng_h\u00E0ng_sau_qua
+Query_'%0'_with_fetcher_'%1'_did_not_return_any_results.=Ph\u00E9p_truy_v\u1EA5n_'%0'_b\u1EB1ng_tr\u00ECnh_l\u1EA5y_v\u1EC1_'%1'_kh\u00F4ng_tr\u1EA3_l\u1EA1i_k\u1EBFt_qu\u1EA3_n\u00E0o.
+
+Quit_JabRef=Tho\u00E1t_JabRef
+
+Quit_synchronization=Th\u00F4i_\u0111\u1ED3ng_b\u1ED9_h\u00F3a
+
+Raw_source=Ngu\u1ED3n_th\u00F4
+
+Really_delete_the_selected=Th\u1EF1c_s\u1EF1_x\u00F3a_ph\u1EA7n_ch\u1ECDn
+
+Rearrange_tabs_alphabetically_by_title=X\u1EBFp_l\u1EA1i_c\u00E1c_th\u1EBB_theo_th\u1EE9_t\u1EF1_ABC_theo_ti\u00EAu_\u0111\u1EC1
+Recover_from_autosave=Ph\u1EE5c_h\u1ED3i_t\u1EF1_l\u1EC7nh_l\u01B0u_t\u1EF1_\u0111\u1ED9ng
+
+Redo=L\u1EB7p_l\u1EA1i_l\u1EC7nh
+
+Reference_database=CSDL_tham_kh\u1EA3o
+
+#Thenexttwolinesareusedlikein"Referencesfound:1Numberofreferencestofetch?"
+References_found=C\u00E1c_t\u00E0i_li\u1EC7u_tham_kh\u1EA3o_\u0111\u01B0\u1EE3c_t\u00ECm_th\u1EA5y
+
+Refine_supergroup\:_When_selected,_view_entries_contained_in_both_this_group_and_its_supergroup=Tinh_ch\u1EC9nh_nh\u00F3m_l\u1EDBn:_Khi_\u0111\u01B0\u1EE3c_ch\u1ECDn,_xem_c\u00E1c_m\u1EE5c_ch\u1EE9a_c\u00E1c_trong_nh\u00F3m_n\u00E0y_v\u00E0_nh\u00F3m_l\u1EDBn_c\u1EE7a_n\u00F3
+
+Refresh_view=L\u00E0m_t\u01B0\u01A1i_l\u1EA1i_ph\u1EA7n_xem
+Refuse_to_save_the_database_before_external_changes_have_been_reviewed.=T\u1EEB_ch\u1ED1i_l\u01B0u_CSDL_tr\u01B0\u1EDBc_khi_nh\u1EEFng_thay_\u0111\u1ED5i_ngo\u00E0i_\u0111\u01B0\u1EE3c_xem_x\u00E9t.
+
+Regular_Expression=Bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc
+
+Remember_these_entry_types?=Nh\u1EDB_c\u00E1c_ki\u1EC3u_m\u1EE5c_n\u00E0y?
+
+Remote_operation=L\u1EC7nh_t\u1EEB_xa
+
+Remote_server_port=C\u1ED5ng_m\u00E1y_ch\u1EE7_t\u1EEB_xa
+
+Remove=Lo\u1EA1i_b\u1ECF
+
+Remove_all?=Lo\u1EA1i_b\u1ECF_t\u1EA5t_c\u1EA3?
+
+Remove_all_broken_links=Lo\u1EA1i_b\u1ECF_t\u1EA5t_c\u1EA3_c\u00E1c_li\u00EAn_k\u1EBFt_b\u1ECB_\u0111\u1EE9t
+
+Remove_all_subgroups=Lo\u1EA1i_b\u1ECF_t\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m_con
+
+Remove_all_subgroups_of_"%0"?=Lo\u1EA1i_b\u1ECF_t\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m_con_c\u1EE7a_"%0"?
+
+Remove_double_braces_around_BibTeX_fields_when_loading.=Lo\u1EA1i_b\u1ECF_c\u00E1c_d\u1EA5u_ngo\u1EB7c_m\u00F3c_\u0111\u00F4i_quanh_c\u00E1c_tr\u01B0\u1EDDng_BibTeX_khi_n\u1EA1p.
+
+Remove_duplicates=Lo\u1EA1i_b\u1ECF_c\u00E1c_m\u1EE5c_b\u1ECB_tr\u00F9ng
+
+Remove_entry_from_import=Lo\u1EA1i_b\u1ECF_m\u1EE5c_kh\u1ECFi_l\u1EC7nh_nh\u1EADp
+
+Remove_entry_selection_from_this_group=Lo\u1EA1i_b\u1ECF_ph\u00E9p_ch\u1ECDn_m\u1EE5c_kh\u1ECFi_nh\u00F3m_n\u00E0y
+
+Remove_entry_type=Lo\u1EA1i_b\u1ECF_ki\u1EC3u_m\u1EE5c
+Remove_file_link_(DELETE)=Lo\u1EA1i_b\u1ECF_li\u00EAn_k\u1EBFt_t\u1EADp_tin_(X\u00D3A)
+
+remove_from_group=lo\u1EA1i_b\u1ECF_kh\u1ECFi_nh\u00F3m
+
+Remove_from_group=Lo\u1EA1i_b\u1ECF_kh\u1ECFi_nh\u00F3m
+
+Remove_group=Lo\u1EA1i_b\u1ECF_nh\u00F3m
+
+Remove_group,_keep_subgroups=Lo\u1EA1i_b\u1ECF_nh\u00F3m,_gi\u1EEF_l\u1EA1i_c\u00E1c_nh\u00F3m_con
+
+Remove_group_"%0"?=Lo\u1EA1i_b\u1ECF_nh\u00F3m_"%0"?
+
+Remove_group_"%0"_and_its_subgroups?=Lo\u1EA1i_b\u1ECF_nh\u00F3m_"%0"_v\u00E0_c\u00E1c_nh\u00F3m_con_c\u1EE7a_n\u00F3?
+
+remove_group_(keep_subgroups)=lo\u1EA1i_b\u1ECF_nh\u00F3m_(gi\u1EEF_c\u00E1c_nh\u00F3m_con)
+
+remove_group_and_subgroups=lo\u1EA1i_b\u1ECF_nh\u00F3m_v\u00E0_c\u00E1c_nh\u00F3m_con
+
+Remove_group_and_subgroups=Lo\u1EA1i_b\u1ECF_nh\u00F3m_v\u00E0_c\u00E1c_nh\u00F3m_con
+
+Remove_link=Lo\u1EA1i_b\u1ECF_li\u00EAn_k\u1EBFt
+
+Remove_old_entry=Lo\u1EA1i_b\u1ECF_m\u1EE5c_c\u0169
+
+Remove_selected_strings=Lo\u1EA1i_b\u1ECF_c\u00E1c_chu\u1ED7i_\u0111\u01B0\u1EE3c_ch\u1ECDn
+
+remove_string_=lo\u1EA1i_b\u1ECF_chu\u1ED7i_
+
+Removed_entry_type.=Ki\u1EC3u_m\u1EE5c_b\u1ECB_lo\u1EA1i_b\u1ECF.
+
+Removed_group_"%0".=\u0110\u00E3_lo\u1EA1i_b\u1ECF_nh\u00F3m_"%0".
+
+Removed_group_"%0"_and_its_subgroups.=\u0110\u00E3_lo\u1EA1i_b\u1ECF_nh\u00F3m_"%0"_v\u00E0_c\u00E1c_nh\u00F3m_con_c\u1EE7a_n\u00F3.
+
+Removed_string=\u0110\u00E3_lo\u1EA1i_b\u1ECF_chu\u1ED7i
+
+Rename_field=\u0110\u1ED5i_t\u00EAn_tr\u01B0\u1EDDng
+Rename_field_to\:=\u0110\u1ED5i_t\u00EAn_tr\u01B0\u1EDDng_th\u00E0nh_\:
+Rename_file_to=\u0110\u1ED5i_t\u00EAn_t\u1EADp_tin_th\u00E0nh
+Rename_to_'%0'=\u0110\u1ED5i_t\u00EAn_th\u00E0nh_'%0'
+
+Renamed_string=Chu\u1ED7i_\u0111\u01B0\u1EE3c_\u0111\u1EB7t_t\u00EAn_l\u1EA1i
+
+Replace=Thay_th\u1EBF
+
+Replace_(regular_expression)=Thay_th\u1EBF_(bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc)
+Replace_comma_by_and_where_appropriate=Thay_th\u1EBF_d\u1EA5u_ph\u1EA9y_b\u1EB1ng_v\u00E0_\u1EDF_ch\u1ED7_th\u00EDch_h\u1EE3p
+
+Replace_string=Thay_th\u1EBF_chu\u1ED7i
+
+Replace_with=Thay_th\u1EBF_b\u1EDFi
+
+Replaced=B\u1ECB_thay_th\u1EBF
+
+Required_fields=C\u00E1c_tr\u01B0\u1EDDng_c\u1EA7n_c\u00F3
+Reset=Thi\u1EBFt_l\u1EADp_l\u1EA1i
+
+Reset_all=Thi\u1EBFt_l\u1EADp_l\u1EA1i_t\u1EA5t_c\u1EA3
+Reset_file_type_definitons=Thi\u1EBFt_l\u1EADp_l\u1EA1i_c\u00E1c_\u0111\u1ECBnh_ngh\u0129a_ki\u1EC3u_t\u1EADp_tin
+
+Resolve_strings_for_all_fields_except=Gi\u1EA3i_c\u00E1c_chu\u1ED7i_cho_t\u1EA5t_c\u1EA3_c\u00E1c_tr\u01B0\u1EDDng_ngo\u1EA1i_tr\u1EEB
+Resolve_strings_for_standard_BibTeX_fields_only=Ch\u1EC9_gi\u1EA3i_c\u00E1c_chu\u1ED7i_cho_c\u00E1c_tr\u01B0\u1EDDng_BibTeX
+
+resolved=\u0111\u01B0\u1EE3c_gi\u1EA3i
+
+Results=C\u00E1c_k\u1EBFt_qu\u1EA3
+
+Revert_to_original_source=Tr\u1EA3_ng\u01B0\u1EE3c_l\u1EA1i_ngu\u1ED3n_ban_\u0111\u1EA7u
+
+Review=Xem_x\u00E9t_l\u1EA1i
+
+Review_changes=Xem_x\u00E9t_l\u1EA1i_c\u00E1c_thay_\u0111\u1ED5i
+
+Right=Ph\u1EA3i
+RIS=RIS
+root=root
+Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=Run_Fetcher,_e.g._"--fetch=Medline\:cancer"
+Running_Query_'%0'_with_fetcher_'%1'.=\u0110ang_ch\u1EA1y_truy_v\u1EA5n_'%0'_v\u1EDBi_tr\u00ECnh_l\u1EA5y_v\u1EC1_'%1'.
+
+Save=L\u01B0u
+Save_all_finished.=L\u01B0u_t\u1EA5t_c\u1EA3_\u0111\u00E3_ho\u00E0n_t\u1EA5t.
+
+Save_all_open_databases=L\u01B0u_t\u1EA5t_c\u1EA3_c\u00E1c_CSDL_\u0111ang_m\u1EDF
+
+Save_before_closing=L\u01B0u_tr\u01B0\u1EDBc_khi_\u0111\u00F3ng
+
+Save_database=L\u01B0u_CSDL
+Save_database_as_...=L\u01B0u_CSDL_th\u00E0nh_...
+
+Save_entries_in_their_original_order=L\u01B0u_c\u00E1c_m\u1EE5c_theo_th\u1EE9_t\u1EF1_g\u1ED1c_c\u1EE7a_ch\u00FAng
+
+Save_failed=Vi\u1EC7c_l\u01B0u_th\u1EA5t_b\u1EA1i
+
+Save_failed_during_backup_creation=Vi\u1EC7c_l\u01B0u_th\u1EA5t_b\u1EA1i_khi_\u0111ang_t\u1EA1o_b\u1EA3n_sao_l\u01B0u
+
+Save_failed_while_committing_changes=Vi\u1EC7c_l\u01B0u_th\u1EA5t_b\u1EA1i_khi_\u0111ang_th\u1EF1c_hi\u1EC7n_nh\u1EEFng_thay_\u0111\u1ED5i
+
+Save_in_current_table_sort_order=L\u01B0u_trong_tr\u00ECnh_t\u1EF1_x\u1EBFp_th\u1EE9_t\u1EF1_c\u1EE7a_b\u1EA3ng_hi\u1EC7n_t\u1EA1i
+
+Save_ordered_by_author/editor/year=L\u01B0u_x\u1EBFp_th\u1EE9_t\u1EF1_theo_t\u00E1c_gi\u1EA3/bi\u00EAn_t\u1EADp/n\u0103m
+Save_selected_as_...=L\u01B0u_ph\u1EA7n_ch\u1ECDn_th\u00E0nh_...
+
+Save_without_backup?=L\u01B0u_kh\u00F4ng_c\u00F3_b\u1EA3n_d\u1EF1_ph\u00F2ng?
+
+Saved_database=\u0110\u00E3_l\u01B0u_CSDL
+
+Saved_selected_to=\u0110\u00E3_l\u01B0u_ph\u1EA7n_ch\u1ECDn_v\u00E0o
+
+Saved_session=\u0110\u00E3_l\u01B0u_phi\u00EAn_l\u00E0m_vi\u1EC7c
+
+Saving=\u0110ang_l\u01B0u
+Saving_all_databases...=\u0110ang_l\u01B0u_t\u1EA5t_c\u1EA3_CSDL...
+
+Saving_database=\u0110ang_l\u01B0u_CSDL
+
+Scan=Qu\u00E9t
+
+Search=T\u00ECm
+Search_ACM_Portal=T\u00ECm_tr\u00EAn_ACM_Portal
+
+Search_All_Fields=T\u00ECm_t\u1EA5t_c\u1EA3_c\u00E1c_tr\u01B0\u1EDDng
+
+Search_all_fields=T\u00ECm_t\u1EA5t_c\u1EA3_c\u00E1c_tr\u01B0\u1EDDng
+
+Search_error=L\u1ED7i_t\u00ECm_ki\u1EBFm
+
+Search_expression=Bi\u1EC3u_th\u1EE9c_t\u00ECm_ki\u1EBFm
+search_expression\:_<b>=bi\u1EC3u_th\u1EE9c_t\u00ECm:_<b>
+
+Search_for=T\u00ECm
+
+Search_general_fields=T\u00ECm_c\u00E1c_tr\u01B0\u1EDDng_t\u1ED5ng_qu\u00E1t
+
+Search_IEEEXplore=T\u00ECm_tr\u00EAn_IEEEXplore
+Search_IEEExplore=T\u00ECm_tr\u00EAn_IEEExplore
+Search_JSTOR=T\u00ECm_tr\u00EAn_JSTOR
+
+Search_optional_fields=T\u00ECm_c\u00E1c_tr\u01B0\u1EDDng_t\u00F9y_ch\u1ECDn
+
+Search_required_fields=T\u00ECm_c\u00E1c_tr\u01B0\u1EDDng_b\u1EAFt_bu\u1ED9c
+Search_results=K\u1EBFt_qu\u1EA3_t\u00ECm_ki\u1EBFm
+
+Search_ScienceDirect=T\u00ECm_tr\u00EAn_ScienceDirect
+
+Search_Specified_Field(s)=T\u00ECm_c\u00E1c_tr\u01B0\u1EDDng_\u0111\u01B0\u1EE3c_ch\u1EC9_\u0111\u1ECBnh
+
+Searched_database._Global_number_of_hits=\u0110\u00E3_t\u00ECm_trong_CSDL._S\u1ED1_l\u1EA7n_g\u1EB7p_to\u00E0n_c\u1EE5c
+
+Searched_database._Number_of_hits=\u0110\u00E3_t\u00ECm_trong_CSDL._S\u1ED1_l\u1EA7n_g\u1EB7p
+
+Searching_for_%0_file=\u0110ang_t\u00ECm_%0_t\u1EADp_tin
+
+Searching_for_duplicates...=\u0110ang_t\u00ECm_c\u00E1c_m\u1EE5c_b\u1ECB_l\u1EB7p...
+
+Searching_for_files=\u0110ang_t\u00ECm_c\u00E1c_t\u1EADp_tin
+
+Secondary_sort_criterion=Ti\u00EAu_chu\u1EA9n_ph\u00E2n_lo\u1EA1i_th\u1EE9_c\u1EA5p
+
+Select=Ch\u1ECDn
+
+Select_a_Zip-archive=Ch\u1ECDn_m\u1ED9t_t\u1EADp_tin_Zip
+
+Select_action=Ch\u1ECDn_h\u00E0nh_\u0111\u1ED9ng
+
+Select_all=Ch\u1ECDn_t\u1EA5t_c\u1EA3
+
+Select_Classpath_of_New_Importer=Ch\u1ECDn_\u0111\u01B0\u1EDDng_d\u1EABn_l\u1EDBp_c\u1EE7a_tr\u00ECnh_nh\u1EADp_m\u1EDBi
+
+Select_encoding=Ch\u1ECDn_b\u1ED9_m\u00E3_h\u00F3a
+
+Select_entries_in_group_selection=Ch\u1ECDn_c\u00E1c_m\u1EE5c_trong_ph\u00E9p_ch\u1ECDn_nh\u00F3m
+
+Select_entry_type=Ch\u1ECDn_ki\u1EC3u_m\u1EE5c
+Select_external_application=Ch\u1ECDn_\u1EE9ng_d\u1EE5ng_ngo\u00E0i
+
+Select_file_from_ZIP-archive=Ch\u1ECDn_t\u1EADp_tin_t\u1EEB_t\u1EADp_tin_Zip
+
+Select_format=Ch\u1ECDn_\u0111\u1ECBnh_d\u1EA1ng
+Select_icon=Ch\u1ECDn_bi\u1EC3u_t\u01B0\u1EE3ng
+
+Select_matches=Ch\u1ECDn_c\u00E1c_m\u1EE5c_kh\u1EDBp
+
+Select_new_ImportFormat_Subclass=Ch\u1ECDn_L\u1EDBp.ph\u1EE5_\u0110\u1ECBnh.d\u1EA1ng.nh\u1EADp_m\u1EDBi
+
+Select_the_tree_nodes_to_view_and_accept_or_reject_changes=Ch\u1ECDn_c\u00E1c_n\u1ED1t_tr\u00EAn_s\u01A1_\u0111\u1ED3_h\u00ECnh_c\u00E2y_\u0111\u1EC3_xem_v\u00E0_ch\u1EA5p_nh\u1EADn_ho\u1EB7c_t\u1EEB_ch\u1ED1i_thay_\u0111\u1ED5i
+Selected_entries=C\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+
+Selector_enabled_fields=C\u00E1c_tr\u01B0\u1EDDng_\u0111\u01B0\u1EE3c_k\u00EDch_ho\u1EA1t_b\u1EDFi_tr\u00ECnh_ch\u1ECDn
+Server_Hostname_\:=T\u00EAn_Server-host:
+Server_Type_\:=Ki\u1EC3u_Server:
+Set/clear/rename_fields=Thi\u1EBFt_l\u1EADp/x\u00F3a/\u0111\u1ED5i_t\u00EAn_tr\u01B0\u1EDDng
+Set_field=Thi\u1EBFt_l\u1EADp_tr\u01B0\u1EDDng
+Set_fields=Thi\u1EBFt_l\u1EADp_c\u00E1c_tr\u01B0\u1EDDng
+
+Set_general_fields=Thi\u1EBFt_l\u1EADp_c\u00E1c_tr\u01B0\u1EDDng_t\u1ED5ng_qu\u00E1t
+Set_main_external_file_directory=Thi\u1EBFt_l\u1EADp_th\u01B0_m\u1EE5c_t\u1EADp_tin_ngo\u00E0i_ch\u00EDnh
+
+Set_table_font=Ch\u1ECDn_b\u1EA3ng_ph\u00F4ng_ch\u1EEF
+
+Settings=C\u00E1c_thi\u1EBFt_l\u1EADp
+Settings_for_%0=C\u00E1c_thi\u1EBFt_l\u1EADp_d\u00F9ng_cho_%0
+
+Setup_selectors=C\u00E0i_\u0111\u1EB7t_c\u00E1c_tr\u00ECnh_ch\u1ECDn
+
+Short_form=Bi\u1EC3u_m\u1EABu_d\u1EA1ng_ng\u1EAFn_g\u1ECDn
+
+Shortcut=Ph\u00EDm_t\u1EAFt
+
+Show/edit_BibTeX_source=Hi\u1EC3n_th\u1ECB/Ch\u1EC9nh_s\u1EEDa_ngu\u1ED3n_BibTeX
+
+Show_'Firstname_Lastname'=Hi\u1EC3n_th\u1ECB_'T\u00EAn.g\u1ECDi_H\u1ECD'
+
+Show_'Lastname,_Firstname'=Hi\u1EC3n_th\u1ECB_T\u00EAn.g\u1ECDi,_H\u1ECD'
+
+Show_BibTeX_source_by_default=Hi\u1EC3n_th\u1ECB_ngu\u1ED3n_BibTeX_theo_m\u1EB7c_\u0111\u1ECBnh
+
+Show_BibTeX_source_panel=Hi\u1EC3n_th\u1ECB_b\u1EA3ng_\u0111i\u1EC1u_khi\u1EC3n_ngu\u1ED3n_BibTeX
+
+Show_CiteSeer_column=Hi\u1EC3n_th\u1ECB_c\u1ED9t_CiteSeer
+
+Show_confirmation_dialog_when_deleting_entries=Hi\u1EC3n_th\u1ECB_h\u1ED9p_tho\u1EA1i_x\u00E1c_nh\u1EADn_khi_x\u00F3a_c\u00E1c_m\u1EE5c
+
+Show_description=Hi\u1EC3n_th\u1ECB_m\u00F4_t\u1EA3
+
+Show_dynamic_groups_in_<i>italics</i>=Hi\u1EC3n_th\u1ECB_c\u00E1c_nh\u00F3m_\u0111\u1ED9ng_\u1EDF_d\u1EA1ng_<i>ch\u1EEF_nghi\u00EAng</i>
+
+Show_entries_*not*_in_group_selection=Hi\u1EC3n_th\u1ECB_c\u00E1c_m\u1EE5c_*kh\u00F4ng*_\u1EDF_trong_ph\u00E9p_ch\u1ECDn_nh\u00F3m
+
+Show_file_column=Hi\u1EC3n_th\u1ECB_c\u1ED9t_t\u1EADp_tin
+
+Show_icons_for_groups=Hi\u1EC3n_th\u1ECB_c\u00E1c_bi\u1EC3u_t\u01B0\u1EE3ng_c\u1EE7a_nh\u00F3m
+Show_last_names_only=Ch\u1EC9_hi\u1EC3n_th\u1ECB_H\u1ECD
+
+Show_names_unchanged=Hi\u1EC3n_th\u1ECB_c\u00E1c_t\u00EAn_kh\u00F4ng_b\u1ECB_thay_\u0111\u1ED5i
+
+Show_one_less_rows=Hi\u1EC3n_th\u1ECB_\u00EDt_h\u01A1n_m\u1ED9t_h\u00E0ng
+
+Show_one_more_row=Hi\u1EC3n_th\u1ECB_th\u00EAm_m\u1ED9t_h\u00E0ng
+
+Show_optional_fields=Hi\u1EC3n_th\u1ECB_c\u00E1c_tr\u01B0\u1EDDng_t\u00F9y_ch\u1ECDn
+
+Show_PDF/PS_column=Hi\u1EC3n_th\u1ECB_c\u1ED9t_PDF/PS
+
+Show_required_fields=Hi\u1EC3n_th\u1ECB_c\u00E1c_tr\u01B0\u1EDDng_c\u1EA7n_c\u00F3
+
+Show_results_in_dialog=Hi\u1EC3n_th\u1ECB_c\u00E1c_k\u1EBFt_qu\u1EA3_trong_h\u1ED9p_tho\u1EA1i
+Show_search_results_in_a_window=Hi\u1EC3n_th\u1ECB_k\u1EBFt_qu\u1EA3_t\u00ECm_trong_m\u1ED9t_c\u1EEDa_s\u1ED5
+
+Show_URL/DOI_column=Hi\u1EC3n_th\u1ECB_c\u1ED9t_URL/DOI
+
+Show_warning_dialog_when_a_duplicate_BibTeX_key_is_entered=Hi\u1EC3n_th\u1ECB_m\u1ED9t_h\u1ED9p_tho\u1EA1i_c\u1EA3nh_b\u00E1o_khi_m\u1ED9t_kh\u00F3a_BibTeX_b\u1ECB_tr\u00F9ng_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o
+
+Show_warning_dialog_when_an_empty_BibTeX_key_is_entered=Hi\u1EC3n_th\u1ECB_m\u1ED9t_h\u1ED9p_tho\u1EA1i_c\u1EA3nh_b\u00E1o_khi_m\u1ED9t_kh\u00F3a_BibTeX_r\u1ED7ng_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o
+
+Simple_HTML=HTML_d\u1EA1ng_\u0111\u01A1n_gi\u1EA3n
+
+Size=K\u00EDch_th\u01B0\u1EDBc
+
+Skip=B\u1ECF_qua
+Skipped_-_No_PDF_linked=B\u1ECB_b\u1ECF_qua_-_Kh\u00F4ng_c\u00F3_t\u1EADp_tin_PDF_\u0111\u01B0\u1EE3c_li\u00EAn_k\u1EBFt
+Skipped_-_PDF_does_not_exist=B\u1ECF_qua_-_t\u1EADp_tin_PDF_kh\u00F4ng_t\u1ED3n_t\u1EA1i
+
+Skipped_entry.=M\u1EE5c_b\u1ECB_b\u1ECF_qua.
+
+Sort_alphabetically=X\u1EBFp_theo_th\u1EE9_t\u1EF1_ABC
+
+Sort_Automatically=X\u1EBFp_th\u1EE9_t\u1EF1_t\u1EF1_\u0111\u1ED9ng
+
+Sort_order=Tr\u1EADt_t\u1EF1_x\u1EBFp_th\u1EE9_t\u1EF1
+
+sort_subgroups=X\u1EBFp_th\u1EE9_t\u1EF1_c\u00E1c_nh\u00F3m_con
+Sort_the_following_fields_as_numeric_fields=X\u1EBFp_th\u1EE9_t\u1EF1_c\u00E1c_tr\u01B0\u1EDDng_sau_nh\u01B0_th\u1EC3_ch\u00FAng_l\u00E0_c\u00E1c_tr\u01B0\u1EDDng_ki\u1EC3u_s\u1ED1
+
+Sorted_all_subgroups_recursively.=X\u1EBFp_th\u1EE9_t\u1EF1_t\u1EA5t_c\u1EA3_c\u00E1c_nh\u00F3m_con_theo_c\u00E1ch_\u0111\u1EC7_quy.
+
+Sorted_immediate_subgroups.=C\u00E1c_nh\u00F3m_con_c\u1EA1nh_nhau_\u0111\u01B0\u1EE3c_x\u1EBFp_th\u1EE9_t\u1EF1.
+
+source_edit=ch\u1EC9nh_s\u1EEDa_ngu\u1ED3n
+Special_Name_Formatters=C\u00E1c_tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng_t\u00EAn_\u0111\u1EB7c_bi\u1EC7t
+
+Special_table_columns=C\u00E1c_c\u1ED9t_b\u1EA3ng_\u0111\u1EB7c_bi\u1EC7t
+SQL_connection_established.=K\u1EBFt_n\u1ED1i_SQL_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp
+
+Start_incremental_search=B\u1EAFt_\u0111\u1EA7u_t\u00ECm_ki\u1EBFm_t\u0103ng_d\u1EA7n
+
+Start_search=B\u1EAFt_\u0111\u1EA7u_t\u00ECm_ki\u1EBFm
+Starting_import=\u0110ang_b\u1EAFt_\u0111\u1EA7u_nh\u1EADp
+
+Statically_group_entries_by_manual_assignment=G\u1ED9p_nh\u00F3m_c\u00E1c_m\u1EE5c_theo_c\u00E1ch_t\u0129nh_b\u1EB1ng_ph\u00E9p_g\u00E1n_th\u1EE7_c\u00F4ng
+
+Status=Tr\u1EA1ng_th\u00E1i
+
+Stop=D\u1EEBng
+
+Store=L\u01B0u_tr\u1EEF
+
+Store_journal_abbreviations=L\u01B0u_tr\u1EEF_vi\u1EBFt_t\u1EAFt_c\u00E1c_t\u1EA1p_ch\u00ED
+
+Store_string=L\u01B0u_tr\u1EEF_chu\u1ED7i
+
+Store_the_following_fields_with_braces_around_capital_letters=L\u01B0u_tr\u1EEF_c\u00E1c_tr\u01B0\u1EDDng_sau_v\u1EDBi_ngo\u1EB7c_m\u00F3c_quanh_c\u00E1c_ch\u1EEF_hoa
+
+Stored_definition_for_type=\u0110\u1ECBnh_ngh\u0129a_ki\u1EC3u_\u0111\u01B0\u1EE3c_l\u01B0u_tr\u1EEF
+
+Stored_entry=M\u1EE5c_\u0111\u01B0\u1EE3c_l\u01B0u_tr\u1EEF
+
+Strings=C\u00E1c_chu\u1ED7i
+
+Strings_for_database=C\u00E1c_chu\u1ED7i_d\u00F9ng_cho_CSDL
+
+Subdatabase_from_aux=CSDL_con_t\u1EEB_aux
+
+Suggest=\u0110\u1EC1_ngh\u1ECB
+
+Switches_between_full_and_abbreviated_journal_name_if_the_journal_name_is_known.=Chuy\u1EC3n_\u0111\u1ED5i_gi\u1EEFa_t\u00EAn_\u0111\u1EA7y_\u0111\u1EE7_v\u00E0_t\u00EAn_vi\u1EBFt_t\u1EAFt_t\u1EA1p_ch\u00ED_n\u1EBFu_bi\u1EBFt_t\u00EAn_t\u1EA1p_ch\u00ED_\u0111\u00F3.
+
+Synchronize_%0_links=\u0110\u1ED3ng_b\u1ED9_h\u00F3a_%0_li\u00EAn_k\u1EBFt
+Synchronize_file_links=\u0110\u1ED3ng_b\u1ED9_h\u00F3a_c\u00E1c_li\u00EAn_k\u1EBFt_t\u1EADp_tin
+
+Synchronizing_%0_links...=\u0110ang_\u0111\u1ED3ng_b\u1ED9_h\u00F3a_%0_li\u00EAn_k\u1EBFt...
+
+Table_appearance=Di\u1EC7n_m\u1EA1o_c\u1EE7a_b\u1EA3ng
+
+Table_background_color=M\u00E0u_n\u1EC1n_c\u1EE7a_b\u1EA3ng
+
+Table_grid_color=M\u00E0u_l\u01B0\u1EDBi_c\u1EE7a_b\u1EA3ng
+
+Table_text_color=M\u00E0u_ch\u1EEF_c\u1EE7a_b\u1EA3ng
+
+Tabname=T\u00EAn_b\u1EA3ng
+Target_file_cannot_be_a_directory.=T\u1EADp_tin_\u0111\u00EDch_kh\u00F4ng_\u0111\u01B0\u1EE3c_ph\u00E9p_l\u00E0_m\u1ED9t_th\u01B0_m\u1EE5c.
+
+Tertiary_sort_criterion=Ti\u00EAu_chu\u1EA9n_ph\u00E2n_lo\u1EA1i_c\u1EA5p_ba
+
+Test=Ki\u1EC3m_tra
+
+Text_Input_Area=V\u00F9ng_nh\u1EADp_ch\u1EEF
+
+The_#_character_is_not_allowed_in_BibTeX_fields=K\u00FD_t\u1EF1_#_kh\u00F4ng_\u0111\u01B0\u1EE3c_ph\u00E9p_d\u00F9ng_trong_c\u00E1c_tr\u01B0\u1EDDng_BibTeX
+The_#_character_is_not_allowed_in_BibTeX_strings_unless_escaped_as_in_'\\#'.=K\u00FD_t\u1EF1_#_kh\u00F4ng_\u0111\u01B0\u1EE3c_ph\u00E9p_d\u00F9ng_trong_c\u00E1c_chu\u1ED7i_BibTeX,_tr\u1EEB_khi_c\u00F3_d\u1EA5u_tho\u00E1t,_v\u00ED_d\u1EE5_nh\u01B0_'\\#'.
+
+The_ACM_Digital_Library=Th\u01B0_vi\u1EC7n_s\u1ED1_ACM
+
+The_chosen_date_format_for_new_entries_is_not_valid=\u0110\u1ECBnh_d\u1EA1ng_ng\u00E0y_\u0111\u01B0\u1EE3c_ch\u1ECDn_cho_c\u00E1c_m\u1EE5c_m\u1EDBi_kh\u00F4ng_h\u1EE3p_l\u1EC7
+
+The_chosen_encoding_'%0'_could_not_encode_the_following_characters\:_=M\u00E3_h\u00F3a_\u0111\u00E3_ch\u1ECDn_'%0'_kh\u00F4ng_th\u1EC3_m\u00E3_h\u00F3a_\u0111\u01B0\u1EE3c_c\u00E1c_k\u00FD_t\u1EF1_sau:_
+
+The_CiteSeer_fetch_operation_returned_zero_results.=L\u1EC7nh_l\u1EA5y_v\u1EC1_t\u1EEB_CiteSeer_tr\u1EA3_v\u1EC1_0_k\u1EBFt_qu\u1EA3.
+
+
+The_current_version_features_a_new_way_of_handling_links_to_external_files.<br>To_take_advantage_of_this,_your_links_must_be_changed_into_the_new_format,_and<br>JabRef_must_be_configured_to_show_the_new_links.=Phi\u00EAn_b\u1EA3n_hi\u1EC7n_t\u1EA1i_c\u00F3_m\u1ED9t_c\u00E1ch_m\u1EDBi_\u0111\u1EC3_qu\u1EA3n_l\u00FD_c\u00E1c_li\u00EAn_k\u1EBFt_\u0111\u1EBFn_t\u1EADp_tin_ngo\u00E0i.<br>\u0110\u1EC3_s\u1EED_d\u1EE5ng_\u0111\u01B0\u1EE3c_\u0111\u1EB7c_\u0111i\u1EC3m_n\u00E0y,_li\u00EAn_k\u1EB [...]
+
+the_field_<b>%0</b>=tr\u01B0\u1EDDng_<b>%0</b>
+
+The_file<BR>'%0'<BR>has_been_modified<BR>externally!=T\u1EADp_tin<BR>'%0'<BR>\u0111\u00E3_b\u1ECB_thay_\u0111\u1ED5i<BR>ngo\u00E0i_ch\u01B0\u01A1ng_tr\u00ECnh!
+
+
+The_following_fetchers_are_available\:=C\u00E1c_tr\u00ECnh_l\u1EA5y_v\u1EC1_sau_c\u00F3_th\u1EC3_d\u00F9ng_\u0111\u01B0\u1EE3c:
+The_following_formatters_could_not_be_found=Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_c\u00E1c_tr\u00ECnh_\u0111\u1ECBnh_d\u1EA1ng_sau
+
+The_group_"%0"_already_contains_the_selection.=Nh\u00F3m_"%0"_\u0111\u00E3_ch\u1EE9a_ph\u00E9p_ch\u1ECDn.
+The_Guide_to_Computing_Literature=H\u01B0\u1EDBng_d\u1EABn_v\u1EC1_t\u00E0i_li\u1EC7u_m\u00E1y_t\u00EDnh
+
+The_label_of_the_string_can_not_be_a_number.=Nh\u00E3n_c\u1EE7a_chu\u1ED7i_kh\u00F4ng_\u0111\u01B0\u1EE3c_l\u00E0_m\u1ED9t_con_s\u1ED1.
+
+The_label_of_the_string_can_not_contain_spaces.=Nh\u00E3n_c\u1EE7a_chu\u1ED7i_kh\u00F4ng_\u0111\u01B0\u1EE3c_ch\u1EE9a_kho\u1EA3ng_tr\u1EAFng.
+
+The_label_of_the_string_can_not_contain_the_'#'_character.=Nh\u00E3n_c\u1EE7a_chu\u1ED7i_kh\u00F4ng_\u0111\u01B0\u1EE3c_ch\u1EE9a_k\u00FD_t\u1EF1_'#'.
+
+The_output_option_depends_on_a_valid_import_option.=T\u00F9y_ch\u1ECDn_\u0111\u1EA7u_ra_ph\u1EE5_thu\u1ED9c_v\u00E0o_m\u1ED9t_t\u00F9y_ch\u1ECDn_nh\u1EADp_h\u1EE3p_l\u1EC7.
+The_PDF_contains_one_or_several_bibtex-records.\nDo_you_want_to_import_these_as_new_entries_into_the_current_database?=T\u1EADp_tin_PDF_ch\u1EE9a_m\u1ED9t_ho\u1EB7c_nhi\u1EC1u_b\u1EA3n_ghi_bibtex.\nB\u1EA1n_c\u00F3_mu\u1ED1n_nh\u1EADp_ch\u00FAng_v\u00E0o_th\u00E0nh_c\u00E1c_m\u1EE5c_m\u1EDBi_trong_CSDL_hi\u1EC7n_t\u1EA1i?
+
+The_regular_expression_<b>%0</b>_is_invalid%c=Bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%0</b>_kh\u00F4ng_h\u1EE3p_l\u1EC7%c
+The_same_version_of_this_plugin_is_already_installed.=C\u00F9ng_phi\u00EAn_b\u1EA3n_ph\u1EA7n_m\u1EDF_r\u1ED9ng_n\u00E0y_\u0111\u00E3_\u0111\u01B0\u1EE3c_c\u00E0i_\u0111\u1EB7t.
+
+The_search_is_case_insensitive.=Ph\u00E9p_t\u00ECm_kh\u00F4ng_ph\u00E2n_bi\u1EC7t_ch\u1EEF_hoa/th\u01B0\u1EDDng
+
+The_search_is_case_sensitive.=Ph\u00E9p_t\u00ECm_c\u00F3_ph\u00E2n_bi\u1EC7t_ch\u1EEF_hoa/th\u01B0\u1EDDng.
+
+The_string_has_been_removed_locally=Chu\u1ED7i_n\u00E0y_\u0111\u00E3_b\u1ECB_lo\u1EA1i_b\u1ECF_c\u1EE5c_b\u1ED9
+
+The_type_name_can_not_contain_spaces.=Ki\u1EC3u_t\u00EAn_kh\u00F4ng_\u0111\u01B0\u1EE3c_ch\u1EE9a_kho\u1EA3ng_tr\u1EAFng.
+
+The_URL_field_appears_to_be_empty_on_entry_number_=Tr\u01B0\u1EDDng_URL_b\u1ECB_r\u1ED7ng_s\u1ED1_hi\u1EC7u_m\u1EE5c_
+
+There_are_possible_duplicates_(marked_with_a_'D'_icon)_that_haven't_been_resolved._Continue?=C\u00F3_th\u1EC3_c\u00F3_c\u00E1c_m\u1EE5c_b\u1ECB_tr\u00F9ng_(\u0111\u01B0\u1EE3c_\u0111\u00E1nh_d\u1EA5u_b\u1EB1ng_bi\u1EC3u_t\u01B0\u1EE3ng_'D')_ch\u01B0a_\u0111\u01B0\u1EE3c_gi\u1EA3i_quy\u1EBFt._C\u00F3_ti\u1EBFp_t\u1EE5c_kh\u00F4ng?
+
+There_is_no_entry_type=Kh\u00F4ng_c\u00F3_ki\u1EC3u_m\u1EE5c
+
+this_button_will_update=n\u00FAt_l\u1EC7nh_n\u00E0y_s\u1EBD_c\u1EADp_nh\u1EADt
+This_database_was_written_using_an_older_version_of_JabRef.=CSDL_n\u00E0y_\u0111\u01B0\u1EE3c_ghi_b\u1EB1ng_c\u00E1ch_d\u00F9ng_phi\u00EAn_b\u1EA3n_JabRef_c\u0169_h\u01A1n.
+
+This_entry_has_no_BibTeX_key._Generate_key_now?=M\u1EE5c_n\u00E0y_kh\u00F4ng_c\u00F3_kh\u00F3a_BibTeX._T\u1EA1o_kh\u00F3a_b\u00E2y_gi\u1EDD?
+
+This_entry_is_incomplete=M\u1EE5c_n\u00E0y_ch\u01B0a_\u0111\u1EA7y_\u0111\u1EE7
+This_entry_provides_no_URL_or_DOI_links.=M\u1EE5c_n\u00E0y_kh\u00F4ng_cung_c\u1EA5p_li\u00EAn_k\u1EBFt_URL_ho\u1EB7c_DOI.
+
+This_entry_type_cannot_be_removed.=Kh\u00F4ng_th\u1EC3_lo\u1EA1i_b\u1ECF_ki\u1EC3u_m\u1EE5c_n\u00E0y.
+
+This_external_link_is_of_the_type_'%0',_which_is_undefined._What_do_you_want_to_do?=Li\u00EAn_k\u1EBFt_ngo\u00E0i_c\u00F3_ki\u1EC3u_'%0',_thu\u1ED9c_lo\u1EA1i_kh\u00F4ng_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a._B\u1EA1n_mu\u1ED1n_l\u00E0m_g\u00EC?
+
+This_feature_lets_new_files_be_opened_or_imported_into_an_already_running_instance_of_JabRef<BR>instead_of_opening_a_new_instance._For_instance,_this_is_useful_when_you_open_a_file_in_JabRef<br>from_your_web_browser.<BR>Note_that_this_will_prevent_you_from_running_more_than_one_instance_of_JabRef_at_a_time.=T\u00EDnh_ch\u1EA5t_n\u00E0y_cho_ph\u00E9p_c\u00E1c_t\u1EADp_tin_m\u1EDBi_c\u00F3_th\u1EC3_\u0111\u01B0\u1EE3c_m\u1EDF_ho\u1EB7c_nh\u1EADp_v\u00E0o_m\u1ED9t_phi\u00EAn_JabRef_\u0111an [...]
+
+This_group_contains_entries_based_on_manual_assignment._Entries_can_be_assigned_to_this_group_by_selecting_them_then_using_either_drag_and_drop_or_the_context_menu._Entries_can_be_removed_from_this_group_by_selecting_them_then_using_the_context_menu._Every_entry_assigned_to_this_group_must_have_a_unique_key._The_key_may_be_changed_at_any_time_as_long_as_it_remains_unique.=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_c\u0103n_c\u1EE9_tr\u00EAn_ph\u00E9p_g\u00E1n_th\u1EE7_c\u00F4ng._C\u0 [...]
+
+This_group_contains_entries_in_which=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_m\u00E0
+
+This_group_contains_entries_in_which_any_field_contains_the_regular_expression_<b>%0</b>=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_m\u00E0_b\u1EA5t_k\u1EF3_tr\u01B0\u1EDDng_n\u00E0o_c\u0169ng_c\u00F3_Bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%0</b>
+
+This_group_contains_entries_in_which_any_field_contains_the_term_<b>%0</b>=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_m\u00E0_b\u1EA5t_k\u1EF3_tr\u01B0\u1EDDng_n\u00E0o_c\u0169ng_ch\u1EE9a_thu\u1EADt_ng\u1EEF_<b>%0</b>
+
+This_group_contains_entries_whose_<b>%0</b>_field_contains_the_keyword_<b>%1</b>=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_c\u00F3_tr\u01B0\u1EDDng_<b>%0</b>_ch\u1EE9a_t\u1EEB_kh\u00F3a_<b>%1</b>
+
+This_group_contains_entries_whose_<b>%0</b>_field_contains_the_regular_expression_<b>%1</b>=Nh\u00F3m_n\u00E0y_ch\u1EE9a_c\u00E1c_m\u1EE5c_c\u00F3_tr\u01B0\u1EDDng_<b>%0</b>_ch\u1EE9a_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc_<b>%1</b>
+
+This_is_a_simple_copy_and_paste_dialog_for_import_some_fields_from_normal_text.=\u0110\u00E2y_l\u00E0_m\u1ED9t_h\u1ED9p_tho\u1EA1i_sao_ch\u00E9p_v\u00E0_d\u00E1n_\u0111\u01A1n_gi\u1EA3n_\u0111\u1EC3_nh\u1EADp_m\u1ED9t_s\u1ED1_tr\u01B0\u1EDDng_t\u1EEB_d\u1EA1ng_ch\u1EEF_\u0111\u01A1n_gi\u1EA3n.
+
+This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=\u0110i\u1EC1u_n\u00E0y_khi\u1EBFn_JabRef_t\u00ECm_m\u1ED7i_ph\u1EA7n_m\u1EDF_r\u1ED9ng_trong_t\u1ED5ng_s\u1ED1_%0_v\u00E0_ki\u1EC3m_tra_xem_t\u1EADp_tin_c\u00F3_t\u1ED3n_t\u1EA1i_kh\u00F4ng._N\u1EBFu_kh\u00F4ng,_b\u1EA1n_s\u1EBD_\u0111\u01B0\u1EE3c_cung_c\u1EA5p_c\u00E1c_t\u00F9y_ch\u1ECDn<BR>\u0111\u1EC3_gi\u1EA3i_quy\u1EBFt_v\u1EA5n_\u0111\u1EC1_n\u00E0y.
+This_makes_JabRef_look_up_each_%0_link_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=\u0110i\u1EC1u_n\u00E0y_khi\u1EBFn_cho_JabRef_t\u00ECm_t\u1EEBng_li\u00EAn_k\u1EBFt_trong_t\u1ED5ng_s\u1ED1_%0_v\u00E0_ki\u1EC3m_tra_xem_t\u1EADp_tin_c\u00F3_t\u1ED3n_t\u1EA1i_kh\u00F4ng._N\u1EBFu_kh\u00F4ng_b\u1EA1n_s\u1EBD_\u0111\u01B0\u1EE3c_cung_c\u1EA5p_c\u00E1c_t\u00F9y_ch\u1ECDn<BR>\u0111\u1EC3_gi\u1EA3i_quy\u1EBFt_tr\u1EE5c_tr\u1EB7c.
+
+This_operation_requires_all_selected_entries_to_have_BibTex_keys_defined.=L\u1EC7nh_n\u00E0y_y\u00EAu_c\u1EA7u_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn_ph\u1EA3i_c\u00F3_kh\u00F3a_BibTex.
+This_operation_requires_at_least_one_entry.=L\u1EC7nh_n\u00E0y_y\u00EAu_c\u1EA7u_ph\u1EA3i_c\u00F3_\u00EDt_nh\u1EA5t_m\u1ED9t_m\u1EE5c.
+
+This_operation_requires_one_or_more_entries_to_be_selected.=L\u1EC7nh_n\u00E0y_y\u00EAu_c\u1EA7u_ph\u1EA3i_ch\u1ECDn_tr\u01B0\u1EDBc_m\u1ED9t_ho\u1EB7c_nhi\u1EC1u_m\u1EE5c.
+
+This_will_move_all_external_links_from_the_'pdf'_and_'ps'_fields_into_the_'%0'_field._Proceed?=L\u1EC7nh_n\u00E0y_s\u1EBD_di_chuy\u1EC3n_t\u1EA5t_c\u1EA3_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i_t\u1EEB_c\u00E1c_tr\u01B0\u1EDDng_'pdf'_v\u00E0_'ps'_v\u00E0o_tr\u01B0\u1EDDng_'%0'._C\u00F3_ti\u1EBFn_h\u00E0nh_kh\u00F4ng?
+
+To_set_up,_go_to_<B>Tools_->_Manage_journal_abbreviations</B>=\u0110\u1EC3_c\u00E0i_\u0111\u1EB7t,_ch\u1ECDn_<B>T\u00F9y_ch\u1ECDn_->_Qu\u1EA3n_l\u00FD_t\u00EAn_vi\u1EBFt_t\u1EAFt_c\u00E1c_t\u1EA1p_ch\u00ED</B>
+
+Toggle_abbreviation=B\u1EADt/t\u1EAFt_vi\u1EBFt_t\u1EAFt
+Toggle_entry_preview=B\u1EADt/t\u1EAFt_xem_tr\u01B0\u1EDBc_m\u1EE5c
+Toggle_groups_interface=B\u1EADt/t\u1EAFt_giao_di\u1EC7n_nh\u00F3m
+Toggle_search_panel=B\u1EADt/t\u1EAFt_b\u1EA3ng_\u0111i\u1EC1u_khi\u1EC3n_t\u00ECm_ki\u1EBFm
+
+Try_different_encoding=Th\u1EED_m\u00E3_h\u00F3a_kh\u00E1c
+
+Type=Ki\u1EC3u
+
+Type_set_to_'other'=Ki\u1EC3u_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp_th\u00E0nh_'kh\u00E1c'
+Unabbreviate_journal_names_of_the_selected_entries=B\u1ECF_vi\u1EBFt_t\u1EAFt_t\u00EAn_c\u00E1c_t\u1EA1p_ch\u00ED_c\u1EE7a_nh\u1EEFng_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+Unabbreviated_%0_journal_names.=%0_t\u00EAn_t\u1EA1p_ch\u00ED_\u0111\u01B0\u1EE3c_b\u1ECF_vi\u1EBFt_t\u1EAFt.
+
+unable_to_access_LyX-pipe=kh\u00F4ng_th\u1EC3_truy_c\u1EADp_\u1ED1ng-d\u1EABn-LyX
+Unable_to_copy_file=Kh\u00F4ng_th\u1EC3_ch\u00E9p_t\u1EADp_tin
+Unable_to_create_backup=Kh\u00F4ng_th\u1EC3_t\u1EA1o_b\u1EA3n_d\u1EF1_ph\u00F2ng
+
+Unable_to_create_graphical_interface=Kh\u00F4ng_th\u1EC3_t\u1EA1o_giao_di\u1EC7n_\u0111\u1ED3_h\u1ECDa
+Unable_to_create_plugin_directory=Kh\u00F4ng_th\u1EC3_t\u1EA1o_th\u01B0_m\u1EE5c_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Unable_to_create_user_plugin_directory=Kh\u00F4ng_th\u1EC3_t\u1EA1o_th\u01B0_m\u1EE5c_ph\u1EA7n_m\u1EDF_r\u1ED9ng_c\u1EE7a_ng\u01B0\u1EDDi_d\u00F9ng
+Unable_to_find_full_text_article._No_search_algorithm_defined_for_the_'%0'_web_site.=Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_b\u00E0i_vi\u1EBFt_\u0111\u1EA7y_\u0111\u1EE7._Kh\u00F4ng_c\u00F3_thu\u1EADt_to\u00E1n_t\u00ECm_ki\u1EBFm_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a_tr\u00EAn_trang_web_'%0'.
+Unable_to_find_full_text_document_in_the_linked_web_page.=Kh\u00F4ng_th\u1EC3_t\u00ECm_th\u1EA5y_t\u00E0i_li\u1EC7u_\u0111\u1EA7y_\u0111\u1EE7_trong_trang_web_\u0111\u01B0\u1EE3c_li\u00EAn_k\u1EBFt.
+
+Unable_to_open_file.=Kh\u00F4ng_th\u1EC3_m\u1EDF_t\u1EADp_tin.
+Unable_to_open_link.=Kh\u00F4ng_th\u1EC3_m\u1EDF_li\u00EAn_k\u1EBFt.
+Unable_to_open_link._The_application_'%0'_associated_with_the_file_type_'%1'_could_not_be_called.=Kh\u00F4ng_th\u1EC3_m\u1EDF_li\u00EAn_k\u1EBFt._Kh\u00F4ng_th\u1EC3_g\u1ECDi_\u1EE9ng_d\u1EE5ng_'%0'_li\u00EAn_quan_\u0111\u1EBFn_ki\u1EC3u_t\u1EADp_tin_'%1'.
+Unable_to_parse_the_following_URL=Kh\u00F4ng_th\u1EC3_ph\u00E2n_t\u00E1ch_URL_sau
+Unable_to_read_default_icon_theme.=Kh\u00F4ng_th\u1EC3_\u0111\u1ECDc_s\u1EAFc_th\u00E1i_bi\u1EC3u_t\u01B0\u1EE3ng_m\u1EB7c_\u0111\u1ECBnh
+Unable_to_read_icon_theme_file=Kh\u00F4ng_th\u1EC3_\u0111\u1ECDc_t\u1EADp_tin_s\u1EAFc_th\u00E1i_bi\u1EC3u_t\u01B0\u1EE3ng
+Unable_to_save_database=Kh\u00F4ng_th\u1EC3_l\u01B0u_CSDL
+
+unable_to_write_to=Kh\u00F4ng_th\u1EC3_ghi_v\u00E0o
+Undefined_file_type=Ki\u1EC3u_t\u1EADp_tin_kh\u00F4ng_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a
+
+Undo=Quay_ng\u01B0\u1EE3c_l\u1EC7nh
+
+Union=H\u1EE3p_nh\u1EA5t
+Unknown=Kh\u00F4ng_r\u00F5
+
+Unknown_bibtex_entries=C\u00E1c_m\u1EE5c_bibtex_c\u00F3_ki\u1EC3u_kh\u00F4ng_r\u00F5
+
+unknown_edit=ki\u1EC3u_ch\u1EC9nh_s\u1EEDa_kh\u00F4ng_bi\u1EBFt
+
+unknown_entry_type=ki\u1EC3u_m\u1EE5c_kh\u00F4ng_bi\u1EBFt
+
+Unknown_export_format=\u0110\u1ECBnh_d\u1EA1ng_xu\u1EA5t_kh\u00F4ng_bi\u1EBFt
+
+Unmark_all=Kh\u1EED_\u0111\u00E1nh_d\u1EA5u_t\u1EA5t_c\u1EA3
+Unmark_all_entries_before_importing_new_entries_into_an_existing_database=Kh\u1EED_\u0111\u00E1nh_d\u1EA5u_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_tr\u01B0\u1EDBc_khi_nh\u1EADp_c\u00E1c_m\u1EE5c_m\u1EDBi_v\u00E0o_CSDL_hi\u1EC7n_c\u00F3
+
+Unmark_entries=Kh\u1EED_\u0111\u00E1nh_d\u1EA5u_c\u00E1c_m\u1EE5c
+
+Unmark_entry=Kh\u1EED_\u0111\u00E1nh_d\u1EA5u_m\u1EE5c
+
+Unmarked_selected=Ph\u1EA7n_\u0111\u00E3_ch\u1ECDn_\u0111\u01B0\u1EE3c_kh\u1EED_\u0111\u00E1nh_d\u1EA5u
+
+Unpack_EndNote_filter_set=G\u1EE1_\u0111\u00F3ng_g\u00F3i_b\u1ED9_l\u1ECDc_EndNote
+
+Unpacked_file.=T\u1EADp_tin_\u0111\u00E3_\u0111\u01B0\u1EE3c_g\u1EE1_\u0111\u00F3ng_g\u00F3i.
+
+Unsupported_version_of_class_%0:_%1=Phi\u00EAn_b\u1EA3n_c\u1EE7a_l\u1EDBp_%0_kh\u00F4ng_\u0111\u01B0\u1EE3c_h\u1ED7_tr\u1EE3:_%1
+
+untitled=kh\u00F4ng_ti\u00EAu_\u0111\u1EC1
+
+Up=L\u00EAn
+Update_to_current_column_order=C\u1EADp_nh\u1EADt_theo_th\u1EE9_t\u1EF1_c\u1ED9t_hi\u1EC7n_t\u1EA1i
+
+Update_to_current_column_widths=C\u1EADp_nh\u1EADt_chi\u1EC1u_r\u1ED9ng_c\u1ED9t_hi\u1EC7n_t\u1EA1i
+
+Updated_group_selection=Ph\u00E9p_ch\u1ECDn_nh\u00F3m_\u0111\u00E3_\u0111\u01B0\u1EE3c_c\u1EADp_nh\u1EADt
+
+Updating_entries...=\u0110ang_c\u1EADp_nh\u1EADt_c\u00E1c_m\u1EE5c...
+Upgrade_external_links=N\u00E2ng_c\u1EA5p_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i
+Upgrade_external_PDF/PS_links_to_use_the_'%0'_field.=N\u00E2ng_c\u1EA5p_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i_PDF/PS_\u0111\u1EC3_s\u1EED_d\u1EE5ng_tr\u01B0\u1EDDng_'%0'.
+Upgrade_file=N\u00E2ng_c\u1EA5p_t\u1EADp_tin
+Upgrade_old_external_file_links_to_use_the_new_feature=N\u00E2ng_c\u1EA5p_c\u00E1c_li\u00EAn_k\u1EBFt_t\u1EADp_tin_ngo\u00E0i_\u0111\u1EC3_s\u1EED_d\u1EE5ng_t\u00EDnh_ch\u1EA5t_m\u1EDBi
+Upgraded_links.=C\u00E1c_li\u00EAn_k\u1EBFt_\u0111\u01B0\u1EE3c_n\u00E2ng_c\u1EA5p.
+UPPER=TR\u00CAN
+Upper_Each_First=Ph\u00EDa_tr\u00EAn_m\u1ED7i_m\u1EE5c_\u0111\u1EA7u_ti\u00EAn
+Upper_first=Ph\u00EDa_tr\u00EAn_\u0111\u1EA7u_ti\u00EAn
+
+usage=c\u00E1ch_d\u00F9ng
+
+Use_antialiasing_font=D\u00F9ng_ph\u00F4ng_ch\u1EEF_ch\u1ED1ng_r\u0103ng_c\u01B0a
+Use_autocompletion_for_the_following_fields=D\u00F9ng_t\u00EDnh_ch\u1EA5t_t\u1EF1_\u0111i\u1EC1n_\u0111\u1EA7y_\u0111\u1EE7_cho_c\u00E1c_tr\u01B0\u1EDDng_sau
+Use_custom_icon_theme=D\u00F9ng_s\u1EAFc_th\u00E1i_bi\u1EC3u_t\u01B0\u1EE3ng_t\u00F9y_ch\u1ECDn
+Use_default_viewer=D\u00F9ng_tr\u00ECnh_xem_m\u1EB7c_\u0111\u1ECBnh
+
+Use_IEEE_LaTeX_abbreviations=D\u00F9ng_c\u00E1c_ch\u1EEF_vi\u1EBFt_t\u1EAFt_ki\u1EC3u_IEEE_LaTeX
+
+Use_inspection_window_also_when_a_single_entry_is_imported.=D\u00F9ng_c\u1EEDa_s\u1ED5_ki\u1EC3m_tra_ngay_c\u1EA3_khi_ch\u1EC9_c\u00F3_m\u1ED9t_m\u1EE5c_\u0111\u01B0\u1EE3c_nh\u1EADp_v\u00E0o.
+Use_native_file_dialog=D\u00F9ng_h\u1ED9p_tho\u1EA1i_t\u1EADp_tin_ki\u1EC3u_nguy\u00EAn_th\u1EE7y
+
+Use_other_look_and_feel=D\u00F9ng_di\u1EC7n_m\u1EA1o_kh\u00E1c
+Use_Regular_Expression_Search=D\u00F9ng_ph\u00E9p_t\u00ECm_b\u1EB1ng_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc
+
+Use_regular_expressions=D\u00F9ng_c\u00E1c_bi\u1EC3u_th\u1EE9c_ch\u00EDnh_t\u1EAFc
+
+Use_the_following_delimiter_character(s)=D\u00F9ng_(c\u00E1c)_k\u00FD_t\u1EF1_ph\u00E2n_t\u00E1ch_c\u1ED9t_sau
+User_does_not_have_sufficient_privileges.\n=Ng\u01B0\u1EDDi_d\u00F9ng_kh\u00F4ng_c\u00F3_\u0111\u1EE7_quy\u1EC1n_\u01B0u_ti\u00EAn.\n
+Username_\:=T\u00EAn_ng\u01B0\u1EDDi_d\u00F9ng:
+
+Value_cleared_externally=Gi\u00E1_tr\u1ECB_b\u1ECB_x\u00F3a_ngo\u00E0i_ch\u01B0\u01A1ng_tr\u00ECnh
+
+Value_set_externally=Gi\u00E1_tr\u1ECB_\u0111\u01B0\u1EE3c_thi\u1EBFt_l\u1EADp_ngo\u00E0i_ch\u01B0\u01A1ng_tr\u00ECnh
+
+verify_that_LyX_is_running_and_that_the_lyxpipe_is_valid=ki\u1EC3m_tra_xem_LyX_c\u00F3_ch\u1EA1y_v\u00E0_lyxpipe_c\u00F3_h\u1EE3p_l\u1EC7_kh\u00F4ng
+Version=Phi\u00EAn_b\u1EA3n
+
+View=Xem
+Vim_Server_Name=T\u00EAn_Server_Vim
+
+Waiting_for_ArXiv...=\u0110ang_ch\u1EDD_ArXiv...
+
+Warn_about_unresolved_duplicates_when_closing_inspection_window=C\u1EA3nh_b\u00E1o_v\u1EC1_c\u00E1c_m\u1EE5c_tr\u00F9ng_ch\u01B0a_\u0111\u01B0\u1EE3c_gi\u1EA3i_quy\u1EBFt_khi_\u0111\u00F3ng_c\u1EEDa_s\u1ED5_ki\u1EC3m_tra
+
+Warn_before_overwriting_existing_keys=C\u1EA3nh_b\u00E1o_tr\u01B0\u1EDBc_khi_ghi_\u0111\u00E8_c\u00E1c_kh\u00F3a_hi\u1EC7n_c\u00F3
+
+Warning=C\u1EA3nh_b\u00E1o
+Warning\:_could_not_complete_file_repair;_your_file_may_have_been_corrupted._Error_message=C\u1EA3nh_b\u00E1o:_Kh\u00F4ng_th\u1EC3_ho\u00E0n_t\u1EA5t_s\u1EEDa_ch\u1EEFa_t\u1EADp_tin;_t\u1EADp_tin_c\u1EE7a_b\u1EA1n_c\u00F3_th\u1EC3_b\u1ECB_h\u1ECFng._Th\u00F4ng_b\u00E1o_l\u1ED7i
+
+Warning_there_is_a_duplicate_key=C\u1EA3nh_b\u00E1o_c\u00F3_m\u1ED9t_kh\u00F3a_b\u1ECB_tr\u00F9ng
+
+Warnings=C\u00E1c_c\u1EA3nh_b\u00E1o
+
+web_link=li\u00EAn_k\u1EBFt_web
+
+What_do_you_want_to_do?=B\u1EA1n_mu\u1ED1n_l\u00E0m_g\u00EC?
+
+When_adding/removing_keywords,_separate_them_by=Khi_th\u00EAm/lo\u1EA1i_b\u1ECF_c\u00E1c_t\u1EEB_kh\u00F3a,_c\u00E1ch_bi\u1EC7t_ch\u00FAng_ra_b\u1EB1ng
+
+When_opening_file_link,_search_for_matching_file_if_no_link_is_defined=Khi_m\u1EDF_li\u00EAn_k\u1EBFt_t\u1EADp_tin,_t\u00ECm_t\u1EADp_tin_kh\u1EDBp_n\u1EBFu_li\u00EAn_k\u1EBFt_kh\u00F4ng_\u0111\u01B0\u1EE3c_\u0111\u1ECBnh_ngh\u0129a
+Will_write_XMP-metadata_to_the_PDFs_linked_from_selected_entries.=S\u1EBD_ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_v\u00E0o_c\u00E1c_PDF_\u0111\u01B0\u1EE3c_li\u00EAn_k\u1EBFt_t\u1EEB_c\u00E1c_m\u1EE5c_\u0111\u00E3_ch\u1ECDn.
+
+with=v\u1EDBi
+
+Word=T\u1EEB
+Write_BibtexEntry_as_XMP-metadata_to_PDF.=Ghi_m\u1EE5c_Bibtex_d\u01B0\u1EDBi_d\u1EA1ng_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_v\u00E0o_PDF.
+
+Write_XMP=Ghi_XMP
+Write_XMP-metadata=Ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP
+Write_XMP-metadata_for_all_PDFs_in_current_database?=Ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_cho_t\u1EA5t_c\u1EA3_c\u00E1c_PDF_trong_CSDL_hi\u1EC7n_t\u1EA1i?
+Writing_XMP=\u0110ang_ghi_XMP
+Writing_XMP_metadata...=\u0110ang_ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP...
+Writing_XMP_metadata_for_selected_entries...=\u0110ang_ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_cho_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn...
+Writing_XMP_to_'%0'...=\u0110ang_ghi_XMP_v\u00E0o_'%0'...
+
+Wrong_file_format=\u0110\u1ECBnh_d\u1EA1ng_t\u1EADp_tin_b\u1ECB_sai
+
+Wrote_XMP-metadata=\u0110\u00E3_ghi_\u0111\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP
+Wrote_XMP_to_'%0'.=\u0110\u00E3_ghi_XMP_v\u00E0o_'%0'.
+
+XMP-annotated_PDF=PDF_c\u00F3_ch\u00FA_gi\u1EA3i_XMP
+XMP_Export_Privacy_Settings=C\u00E1c_thi\u1EBFt_l\u1EADp_ri\u00EAng_v\u1EC1_Xu\u1EA5t_XMP
+XMP_metadata=\u0110\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP
+XMP_metadata_found_in_PDF\:_%0=\u0110\u1EB7c_t\u1EA3_d\u1EEF_li\u1EC7u_XMP_c\u00F3_trong_PDF:_%0
+You_can_only_rename_one_field_at_a_time=B\u1EA1n_ch\u1EC9_c\u00F3_th\u1EC3_\u0111\u1ED5i_t\u00EAn_m\u1ED9t_tr\u01B0\u1EDDng_m\u1ED9t_l\u1EA7n
+
+You_have_changed_the_language_setting._You_must_restart_JabRef_for_this_to_come_into_effect.=B\u1EA1n_\u0111\u00E3_thay_\u0111\u1ED5i_thi\u1EBFt_l\u1EADp_ng\u00F4n_ng\u1EEF._B\u1EA1n_ph\u1EA3i_kh\u1EDFi_.\u0111\u1ED9ng_l\u1EA1i_JabRef_\u0111\u1EC3_l\u1EC7nh_c\u00F3_t\u00E1c_d\u1EE5ng.
+You_have_changed_the_look_and_feel_setting._You_must_restart_JabRef_for_this_to_come_into_effect.=B\u1EA1n_\u0111\u00E3_thay_\u0111\u1ED5i_thi\u1EBFt_l\u1EADp_di\u1EC7n_m\u1EA1o._B\u1EA1n_ph\u1EA3i_kh\u1EDFi_.\u0111\u1ED9ng_l\u1EA1i_JabRef_\u0111\u1EC3_l\u1EC7nh_c\u00F3_t\u00E1c_d\u1EE5ng.
+
+You_have_changed_the_menu_and_label_font_size._You_must_restart_JabRef_for_this_to_come_into_effect.=B\u1EA1n_\u0111\u00E3_thay_\u0111\u1ED5i_k\u00EDch_th\u01B0\u1EDBc_ph\u00F4ng_ch\u1EEF_c\u1EE7a_tr\u00ECnh_\u0111\u01A1n_v\u00E0_nh\u00E3n._B\u1EA1n_ph\u1EA3i_kh\u1EDFi_\u0111\u1ED9ng_l\u1EA1i_JabRef_\u0111\u1EC3_l\u1EC7nh_c\u00F3_hi\u1EC7u_l\u1EF1c.
+
+You_have_cleared_this_field._Original_value=B\u1EA1n_\u0111\u00E3_x\u00F3a_tr\u01B0\u1EDDng_n\u00E0y._Gi\u00E1_tr\u1ECB_ban_\u0111\u1EA7u
+
+You_have_entered_an_invalid_search_'%0'.=B\u1EA1n_\u0111\u00E3_nh\u1EADp_m\u1ED9t_ph\u00E9p_t\u00ECm_kh\u00F4ng_h\u1EE3p_l\u1EC7_'%0'.
+
+You_must_choose_a_file_name_to_store_journal_abbreviations=B\u1EA1n_ph\u1EA3i_ch\u1ECDn_m\u1ED9t_t\u00EAn_t\u1EADp_tin_\u0111\u1EC3_l\u01B0u_tr\u1EEF_c\u00E1c_vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_ch\u00ED
+
+You_must_enter_an_integer_value_in_the_text_field_for=B\u1EA1n_ph\u1EA3i_nh\u1EADp_gi\u00E1_tr\u1ECB_s\u1ED1_nguy\u00EAn_trong_tr\u01B0\u1EDDng_ch\u1EEF_cho
+
+You_must_fill_in_a_name_for_the_entry_type.=B\u1EA1n_ph\u1EA3i_nh\u1EADp_m\u1ED9t_t\u00EAn_cho_ki\u1EC3u_m\u1EE5c.
+
+You_must_restart_JabRef_for_the_new_key_bindings_to_work_properly.=B\u1EA1n_ph\u1EA3i_kh\u1EDFi_\u0111\u1ED9ng_l\u1EA1i_JabRef_\u0111\u1EC3_c\u00E1c_t\u1ED5_h\u1EE3p_ph\u00EDm_m\u1EDBi_ho\u1EA1t_\u0111\u1ED9ng_\u0111\u01B0\u1EE3c.
+
+You_must_select_at_least_one_row_to_perform_this_operation.=B\u1EA1n_ph\u1EA3i_ch\u1ECDn_\u00EDt_nh\u1EA5t_m\u1ED9t_h\u00E0ng_\u0111\u1EC3_th\u1EF1c_hi\u1EC7n_l\u1EC7nh_n\u00E0y.
+
+You_must_set_both_BibTeX_key_and_%0_directory=B\u1EA1n_ph\u1EA3i_thi\u1EBFt_l\u1EADp_c\u1EA3_kh\u00F3a_BibTeX_l\u1EABn_th\u01B0_m\u1EE5c_%0
+
+Your_new_key_bindings_have_been_stored.=T\u1ED5_h\u1EE3p_ph\u00EDm_t\u1EAFt_m\u1EDBi_c\u1EE7a_b\u1EA1n_\u0111\u00E3_\u0111\u01B0\u1EE3c_l\u01B0u_tr\u1EEF.
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
+
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
+BibLaTeX_mode=
+Do_you_want_to_resolve_duplicate_keys_now?=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Find_and_remove_duplicate_BibTeX_keys=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+Generate_key=
+Import_marking_color=
+Legacy_file_directory_setting_found_-_clear_setting?=
+Optional_fields_2=
+Please_wait=
+Resolving_duplicate_BibTeX_keys...=
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=
+Set_user_specific_file_directory=
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Waiting_for_save_operation_to_finish=
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/JabRef_zh.properties b/src/resource/JabRef_zh.properties
index 714af3d..6919d34 100644
--- a/src/resource/JabRef_zh.properties
+++ b/src/resource/JabRef_zh.properties
@@ -25,8 +25,6 @@
<field_name>=<\u57DF\u540D\u79F0>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>\u65E0\u6CD5\u627E\u5230\u8BB0\u5F55'%1'\u94FE\u63A5\u7684\u6587\u4EF6'%0'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>\u6253\u5F00\u89E3\u538B\u5305\u542B_Endnote_\u5BFC\u5165/\u5BFC\u51FA\u8FC7\u6EE4\u5668\u7684_zip_\u6587\u4EF6<BR>\uFF08\u4EE5\u6700\u5927\u7684\u4E0E_JabRef_\u7684\u517C\u5BB9\u6027\uFF09</HTML>
-
<no_field>=<\u6CA1\u6709\u57DF>
<select>=<\u9009\u62E9>
@@ -142,7 +140,7 @@ Attach_%0_file=\u9644\u52A0\u201C%0\u201D\u6587\u4EF6
Attach_URL=\u9644\u52A0_URL
-Attempt_to_autoset_%0_links_for_your_entries._Autoset_works_if_a_%0_file_in_your_%0_directory_or_a_subdirectory<BR>is_named_identically_to_an_entry's_BibTeX_key,_plus_extension.=\u5C1D\u8BD5\u4E3A\u60A8\u7684\u8BB0\u5F55\u81EA\u52A8\u8BBE\u7F6E_%0_\u94FE\u63A5\uFF0C\u8BE5\u64CD\u4F5C\u8981\u6C42\u548C\u8BB0\u5F55_BibTeX_\u952E\u540C\u540D\u7684_%0_\u6587\u4EF6\u5b58\u5728\u4E8E\u60A8\u7684_%0_\u76EE\u5F55\u6216\u8005\u5B50\u76EE\u5F55\u4E2D\u3002
+Attempt_to_autoset_%0_links_for_your_entries._Autoset_works_if_a_%0_file_in_your_%0_directory_or_a_subdirectory<BR>is_named_identically_to_an_entry's_BibTeX_key,_plus_extension.=\u5C1D\u8BD5\u4E3A\u60A8\u7684\u8BB0\u5F55\u81EA\u52A8\u8BBE\u7F6E_%0_\u94FE\u63A5\uFF0C\u8BE5\u64CD\u4F5C\u8981\u6C42\u548C\u8BB0\u5F55_BibTeX_\u952E\u540C\u540D\u7684_%0_\u6587\u4EF6\u5B58\u5728\u4E8E\u60A8\u7684_%0_\u76EE\u5F55\u6216\u8005\u5B50\u76EE\u5F55\u4E2D\u3002
Attempting_SQL_export...=\u5C1D\u8BD5_SQL_\u5BFC\u51FA...
Auto=\u81EA\u52A8
@@ -189,8 +187,6 @@ Available_fields=\u53EF\u7528\u7684_BibTeX_\u57DF
Available_import_formats=\u53EF\u7528\u7684\u5BFC\u5165\u683C\u5F0F
-Background_color_for_marked_entries=\u9AD8\u4EAE\u8BB0\u5F55\u7684\u80CC\u666F\u989C\u8272
-
Background_color_for_optional_fields=\u53EF\u9009\u57DF\u7684\u80CC\u666F\u989C\u8272
Background_color_for_required_fields=\u5FC5\u9009\u57DF\u7684\u80CC\u666F\u989C\u8272
@@ -354,7 +350,7 @@ Copy_to_clipboard=\u590D\u5236\u5230\u526A\u8D34\u677F
Could_not_call_executable=\u65E0\u6CD5\u8C03\u7528\u53EF\u6267\u884C\u6587\u4EF6
-Could_not_connect_to_a_running_gnuserv_process._Make_sure_that_Emacs_or_XEmacs_is_running,<BR>and_that_the_server_has_been_started_(by_running_the_command_'gnuserv-start').=\u65E0\u6CD5\u8FDE\u63A5\u5230\u6B63\u5728\u8FD0\u884C\u7684_gnuserv_\u8FDB\u7A0B\uFF0C\u68C0\u67E5_Emacs_\u6216_XEmacs_\u662f\u5426\u6B63\u5728\u8FD0\u884C\uFF0C\u4EE5\u53CA<BR>\u670D\u52A1\u5668\u662F\u5426\u5DF2\u7ECF\u542F\u52A8(\u7528_'gnuserv-start'_\u547D\u4EE4)\u3002
+Could_not_connect_to_a_running_gnuserv_process._Make_sure_that_Emacs_or_XEmacs_is_running,<BR>and_that_the_server_has_been_started_(by_running_the_command_'gnuserv-start').=\u65E0\u6CD5\u8FDE\u63A5\u5230\u6B63\u5728\u8FD0\u884C\u7684_gnuserv_\u8FDB\u7A0B\uFF0C\u68C0\u67E5_Emacs_\u6216_XEmacs_\u662F\u5426\u6B63\u5728\u8FD0\u884C\uFF0C\u4EE5\u53CA<BR>\u670D\u52A1\u5668\u662F\u5426\u5DF2\u7ECF\u542F\u52A8(\u7528_'gnuserv-start'_\u547D\u4EE4)\u3002
Could_not_connect_to_host=\u65E0\u6CD5\u8FDE\u63A5\u5230\u4E3B\u673A
@@ -1999,7 +1995,7 @@ Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields
Legacy_file_fields=\u65E7\u5F0F\u6587\u4EF6\u57DF
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=\u8FD9\u5C06\u4F7F_JabRef_\u4F9D\u636E%0\u6269\u5C55\u540D\u67E5\u627E\u6587\u4EF6\u662F\u5426\u5B58\u5728\uFF0C\u5982\u679C\u627E\u4E0D\u5230\uFF0CJabRef_\u5C06\u63D0\u4F9B\u7ED9\u60A8\u9009\u9879\u6765\u89E3\u51B3\u8FD9\u4E2A\u95EE\u9898\u3002
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=\u8FD0\u884C\u6293\u53D6\u5668\uFF0C\u4F8B\u5982_"--fetch=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"=\u8FD0\u884C\u6293\u53D6\u5668\uFF0C\u4F8B\u5982_"--fetch\=Medline\:cancer"
Override_legacy_file_fields=\u8DF3\u8FC7\u65E7\u5F0F\u6587\u4EF6\u57DF
The_ACM_Digital_Library=ACM_\u6570\u5B57\u56FE\u4E66\u9986
@@ -2033,7 +2029,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=\u5728\u7ED9\u5B9A\u76
Connection_error_when_trying_to_find_full_text_document.=\u5C1D\u8BD5\u4E0B\u8F7D\u5168\u6587\u65F6\u7F51\u7EDC\u8FDE\u63A5\u5931\u8D25\u3002
This_entry_provides_no_URL_or_DOI_links.=\u6B64\u8BB0\u5F55\u672A\u63D0\u4F9B_URL_\u6216_DOI_\u94FE\u63A5\u3002
Full_text_article_download_failed=\u4E0B\u8F7D\u5168\u6587\u5931\u8D25
-Down_up=\u4E0B\u79FB
Update_to_current_column_order=\u4F7F\u7528\u5F53\u524D\u89C6\u56FE\u4E2D\u7684\u5217\u987A\u5E8F
Rename_field=\u91CD\u547D\u540D\u57DF
@@ -2070,7 +2065,6 @@ Not_loaded=\u6CA1\u6709\u88AB\u52A0\u8F7D
Loaded=\u5DF2\u52A0\u8F7D
Could_not_determine_version_of_=\u65E0\u6CD5\u53D6\u5F97\u7248\u672C\u4FE1\u606F\u2014\u2014
Install_anyway?=\u4ECD\u7136\u7EE7\u7EED\u5B89\u88C5\uFF1F
-Highlight_groups_that_contain_entries_contained_in_any_currently_selected_group=\u9AD8\u4EAE\u663E\u793A\u4E0E\u5F53\u524D\u9009\u4E2D\u5206\u7EC4\u6709\u91CD\u53E0\u8BB0\u5F55\u7684\u5206\u7EC4
Looking_for_full_text_document...=
Follow_DOI_or_URL_link_and_try_to_locate_PDF_full_text_document=
@@ -2145,3 +2139,36 @@ Error_initializing_custom_export_format_from_string_'%0'=
%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
BibTeX_importer=
+
+BibLaTeX_mode=
+Optional_fields_2=
+Please_wait=
+Waiting_for_save_operation_to_finish=
+Resolving_duplicate_BibTeX_keys...=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Do_you_want_to_resolve_duplicate_keys_now?=
+
+Find_and_remove_duplicate_BibTeX_keys=
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Generate_key=
+Import_marking_color=
+Set_user_specific_file_directory=
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=
+Legacy_file_directory_setting_found_-_clear_setting?=
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
+
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/JabRef_zh.properties.UTF8 b/src/resource/JabRef_zh.properties.UTF8
index 4e12bba..f7faf3c 100644
--- a/src/resource/JabRef_zh.properties.UTF8
+++ b/src/resource/JabRef_zh.properties.UTF8
@@ -25,8 +25,6 @@
<field_name>=<域名称>
<HTML>Could_not_find_file_'%0'<BR>linked_from_entry_'%1'</HTML>=<HTML>无法找到记录'%1'链接的文件'%0'</HTML>
-<HTML>Unpack_the_zip_file_containing_import/export_filters_for_Endnote,<BR>for_optimal_interoperability_with_JabRef</HTML>=<HTML>打开解压包含_Endnote_导入/导出过滤器的_zip_文件<BR>(以最大的与_JabRef_的兼容性)</HTML>
-
<no_field>=<没有域>
<select>=<选择>
@@ -189,8 +187,6 @@ Available_fields=可用的_BibTeX_域
Available_import_formats=可用的导入格式
-Background_color_for_marked_entries=高亮记录的背景颜色
-
Background_color_for_optional_fields=可选域的背景颜色
Background_color_for_required_fields=必选域的背景颜色
@@ -2002,7 +1998,7 @@ Note_that_these_settings_are_used_for_the_legacy_<b>pdf</b>_and_<b>ps</b>_fields
Legacy_file_fields=旧式文件域
This_makes_JabRef_look_up_each_%0_extension_and_check_if_the_file_exists._If_not,_you_will_be_given_options<BR>to_resolve_the_problem.=这将使_JabRef_依据%0扩展名查找文件是否存在,如果找不到,JabRef_将提供给您选项来解决这个问题。
-Run_Fetcher,_e.g._"--fetch=Medline\:cancer"=运行抓取器,例如_"--fetch=Medline\:cancer"
+Run_Fetcher,_e.g._"--fetch\=Medline\:cancer"=运行抓取器,例如_"--fetch\=Medline\:cancer"
Override_legacy_file_fields=覆盖旧式文件域
The_ACM_Digital_Library=ACM_数字图书馆
@@ -2036,7 +2032,6 @@ Unable_to_find_full_text_document_in_the_linked_web_page.=在给定的链接页
Connection_error_when_trying_to_find_full_text_document.=尝试下载全文时网络连接失败。
This_entry_provides_no_URL_or_DOI_links.=此记录未提供_URL_或_DOI_链接。
Full_text_article_download_failed=下载全文失败
-Down_up=下移
Update_to_current_column_order=使用当前视图中的列顺序
Rename_field=重命名域
@@ -2149,3 +2144,37 @@ Error_initializing_custom_export_format_from_string_'%0'=
%0_entries_found._To_reduce_server_load,_only_%1_will_be_downloaded._It_will_be_very_slow,_in_order_to_make_ACM_happy.=
BibTeX_importer=
+
+BibLaTeX_mode=
+Optional_fields_2=
+Please_wait=
+Waiting_for_save_operation_to_finish=
+
+Resolving_duplicate_BibTeX_keys...=
+Finished_resolving_duplicate_BibTeX_keys._%0_entries_modified.=
+This_database_contains_one_or_more_duplicated_BibTeX_keys.=
+Do_you_want_to_resolve_duplicate_keys_now?=
+
+Find_and_remove_duplicate_BibTeX_keys=
+Expected_syntax_for_--fetch\='<name_of_fetcher>\:<query>'=
+Duplicate_BibTeX_key=
+Duplicate_key=
+Generate_key=
+Import_marking_color=
+Set_user_specific_file_directory=
+Retain_legacy_file_directory_setting_(for_older_versions_of_JabRef)=
+The_current_version_features_a_new_way_of_storing_the_file_directory_setting_of<br>a_database._This_enables_multiple_users_of_the_same_database_file_to_keep_their<br>own_personal_setting_for_the_path_to_the_file_directory.<br>To_take_advantage_of_this,_your_file_directory_setting_must_be_changed_into_the<br>new_format.=
+Legacy_file_directory_setting_found_-_clear_setting?=
+
+Ensure_unique_keys_using_letters_(a,_b,_...)=
+Ensure_unique_keys_using_letters_(b,_c,_...)=
+Always_add_letter_(a,_b,_...)_to_generated_keys=
+
+Table_and_entry_editor_colors=
+Entry_editor_font_color=
+Entry_editor_background_color=
+Entry_editor_active_background_color=
+Entry_editor_invalid_field_color=
+
+An_autosave_file_was_found_for_this_database._This_could_indicate_=
+that_JabRef_didn't_shut_down_cleanly_last_time_the_file_was_used.=
\ No newline at end of file
diff --git a/src/resource/Menu_da.properties b/src/resource/Menu_da.properties
index 651bdcc..8f50343 100644
--- a/src/resource/Menu_da.properties
+++ b/src/resource/Menu_da.properties
@@ -86,7 +86,6 @@ Unabbreviate_journal_names=Ekspander_tidsskriftsnavn
Undo=&Fortryd
Unmark_all=Fjern_m\u00E6rkning_fra_&alle
Unmark_entries=F&jern_m\u00E6rkning
-Unpack_EndNote_filter_set=Udpak_EndNote-&filters\u00E6t
View=&Vis
Web_search=&Webs\u00F8gning
Import_into_new_database=Importer_til_ny_database
@@ -122,4 +121,6 @@ Manage_plugins=&Administrer_plugins
Look_up_full_text_document=&Hent_tekstdokument
Set/clear/rename_fields=Udfyld/ryd/omd\u00F8b_felter
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=S\u00F8g_i_ScienceDirect
+Mark_specific_color=M&\u00E6rk_med_specifik_farve
+Resolve_duplicate_BibTeX_keys=Udred_dublerede_BibTeX-n\u00f8gler
diff --git a/src/resource/Menu_de.properties b/src/resource/Menu_de.properties
index 202aa48..b470903 100644
--- a/src/resource/Menu_de.properties
+++ b/src/resource/Menu_de.properties
@@ -178,12 +178,10 @@ Unabbreviate_journal_names=&Abk\u00FCrzung_der_Zeitschriften_aufheben
# Edit
Undo=&R\u00FCckg\u00E4ngig
-Unmark_all=S\u00E4mtliche_Markierungen_au&fheben
+Unmark_all=S\u00E4m&tliche_Markierungen_aufheben
Unmark_entries=Markierung_a&ufheben
-Unpack_EndNote_filter_set=EndNote_Filter-Set_entpa&cken
-
View=&Ansicht
Web_search=&Internet
Import_into_new_database=&Importieren_in_neue_Datenbank
@@ -227,3 +225,5 @@ Look_up_full_text_document=Volltext-Dokument_suchen
Set/clear/rename_fields=Felder_setzen/l\u00F6schen/umbenennen
Search_ScienceDirect=ScienceDirect
+Mark_specific_color=Mit_bestimmter_&Farbe_markieren
+Resolve_duplicate_BibTeX_keys=Doppelte_BibTeX-Keys_beseitigen
diff --git a/src/resource/Menu_en.properties b/src/resource/Menu_en.properties
index 284200b..69db286 100644
--- a/src/resource/Menu_en.properties
+++ b/src/resource/Menu_en.properties
@@ -98,9 +98,9 @@ Tools=&Tools
Unabbreviate_journal_names=Unabbreviate_journal_names
# Edit
Undo=&Undo
+Mark_specific_color=M&ark_specific_color
Unmark_all=Unmark_a&ll
Unmark_entries=U&nmark_entries
-Unpack_EndNote_filter_set=Unpack_&EndNote_filter_set
View=&View
Web_search=Web_search
Import_into_new_database=Import_into_new_database
@@ -143,4 +143,5 @@ Manage_plugins=Manage_plugins
Look_up_full_text_document=Look_up_full_text_document
Set/clear/rename_fields=Set/clear/rename_fields
-Search_ScienceDirect=Search_ScienceDirect
\ No newline at end of file
+Search_ScienceDirect=Search_ScienceDirect
+Resolve_duplicate_BibTeX_keys=Resolve_duplicate_BibTeX_keys
\ No newline at end of file
diff --git a/src/resource/Menu_es.properties b/src/resource/Menu_es.properties
index 5b858f5..aced4d7 100644
--- a/src/resource/Menu_es.properties
+++ b/src/resource/Menu_es.properties
@@ -101,7 +101,6 @@ Unabbreviate_journal_names=Quitar_abreviatción_de_nombres_de_journal
Undo=&Deshacer
Unmark_all=Anular_selección_de_todos_los_registros
Unmark_entries=Anular_selecció&n__de_registros
-Unpack_EndNote_filter_set=Desempaquetar_conjunto_de_filtros_de_&EndNote
View=&Ver
Web_search=Búsqueda_Web
Import_into_new_database=Importar_a_una_nueva_base_de_datos
@@ -146,4 +145,6 @@ Manage_plugins=
Look_up_full_text_document=
Set/clear/rename_fields=
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_fr.properties b/src/resource/Menu_fr.properties
index f02e55b..81b2ada 100644
--- a/src/resource/Menu_fr.properties
+++ b/src/resource/Menu_fr.properties
@@ -87,7 +87,6 @@ Unabbreviate_journal_names=D\u00E9&velopper_les_noms_de_journaux
Undo=&Annuler
Unmark_all=To&ut_d\u00E9s\u00E9tiqueter
Unmark_entries=&D\u00E9s\u00E9tiqueter_des_entr\u00E9es
-Unpack_EndNote_filter_set=D\u00E9compacter_la_s\u00E9rie_de_filtres_&EndNote
View=&Affichage
Web_search=&Recherche_internet
Import_into_new_database=Importer_dans_une_nouvelle_base
@@ -131,4 +130,6 @@ Manage_plugins=G\u00E9rer_les_greffons
Look_up_full_text_document=T\u00E9l\u00E9charger_le_document_cit\u00E9
Set/clear/rename_fields=Configurer/vider/renommer_des_champs
-Search_ScienceDirect=ScienceDirect
\ No newline at end of file
+Search_ScienceDirect=ScienceDirect
+Mark_specific_color=Marquer_d'une_couleur_sp\u00E9cifique
+Resolve_duplicate_BibTeX_keys= Traitement_des_clefs_BibTeX_dupliqu\u00E9es
\ No newline at end of file
diff --git a/src/resource/Menu_in.properties b/src/resource/Menu_in.properties
new file mode 100644
index 0000000..3657046
--- /dev/null
+++ b/src/resource/Menu_in.properties
@@ -0,0 +1,123 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+Abbreviate_journal_names_(ISO)=Singkatan_nama_jurnal_(ISO)
+Abbreviate_journal_names_(MEDLINE)=Singkatan_nama_jurnal_(MEDLINE)
+About_JabRef=Tentang_JabRef
+Append_database=Tambah_basisdata
+Autogenerate_BibTeX_keys=Otomatis_kunci_BibTeX
+Back=Mundur
+BibTeX=BibTe&X
+Close_database=Tutup_database
+Connect_to_external_SQL_database=Hubung_ke_basisdata_SQL_eksternal
+Copy=Salin
+Copy_\\cite{BibTeX_key}=Salin_\\cite{kunci_BibTeX}
+Copy_BibTeX_key=Salin_kunci_BibTeX
+Custom_export=Ekspor_aturan_sendiri
+Custom_importers=Pengimpor_aturan_sendiri
+Customize_entry_types=Tipe_entri_atursendiri
+Cut=Potong
+Database_properties=Properti_basisdata
+Decrease_table_font_size=Kecilkan_ukuran_huruf_tabel
+Delete=Hapus
+Edit=&Sunting
+Edit_entry=Sunting_entri
+Edit_preamble=Sunting_preamble
+Edit_strings=Sunting_string
+Export=Ekspor
+Export_selected_entries=Ekspor_entri_pilihan
+Export_selected_entries_to_clipboard=Ekspor_entri_pilihan_ke_papanklip
+Export_to_external_SQL_database=Ekspor_ke_basisdata_SQL_eksternal
+Fetch_ArXiv.org=Ambil_data_ArXiv.org
+Fetch_citations_from_CiteSeer=Ambil_data_acuan_dari_CiteSeer
+Fetch_CiteSeer=Ambil_data_CiteSeer
+Fetch_CiteSeer_by_ID=Ambil_data_CiteSee_dari_ID
+Fetch_Medline=Ambil_data_Medline
+Fetch_SPIRES=Ambil_data_SPIRES
+File=&Berkas
+Find_And_Fix=Temukan_dan_Tetapkan
+Find_and_remove_exact_duplicates=Temiukan_dan_hapus_data_yang_sama
+Find_duplicates=Temukan_data_yg_sama
+Focus_entry_table=Fokus_tabel_entri
+Forward=Maju
+Help=Bant&uan
+Help_contents=Daftar_Isi_Bantuan
+Highlight_groups_matching_all_selected_entries=Tandai_semua_entri_grup_yang_sesuai
+Highlight_groups_matching_any_selected_entry=Tandai_entri_grup_yang_sesuai
+Import_Fields_from_CiteSeer=Impor_Bidang_dari_CiteSeer
+Import_from_external_SQL_database=Impor_dari_basisdata_SQL_eksternal
+Import_into_current_database=Impor_ke_basisdata_sekarang
+Import_into_new_database=Impor_ke_basisdata_baru
+Increase_table_font_size=Besarkan_ukuran_huruf_tabel
+Incremental_search=Pencarian_bertahap
+Insert_selected_citations_into_Emacs=Sisipkan_acuan_pilihan_ke_Emacs
+Insert_selected_citations_into_LatexEditor=Sisipkan_acuan_pilihan_ke_LatexEditor
+Insert_selected_citations_into_LyX/Kile=Sisipkan_acuan_pilihan_ke_LyX/Kile
+Insert_selected_citations_into_WinEdt=Sisipkan_acuan_pilihan_ke_WinEdt
+Integrity_check=Periksa_Integritas
+JabRef_help=Bantuan_JabRef
+Load_session=Muat_Sesi
+Look_up_full_text_document=Lihat_dokumen_teks_lengkap
+Manage_content_selectors=Pengaturan_pengisian_kata
+Manage_custom_exports=Pengaturan_ekspor_aturan_sendiri
+Manage_custom_imports=Pengaturan_impor_aturan_sendiri
+Manage_external_file_types=Pengaturan_tipe_berkas_eksternal
+Manage_journal_abbreviations=Pengaturan_singkatan_jurnal
+Manage_plugins=Pengaturan_plugin
+Mark_entries=Tandai_entri
+Mark_specific_color=Tandai_dengan_warna
+New_database=Basisdata_baru
+New_entry=Entri_baru
+New_entry...=Entri_baru...
+New_entry_from_plain_text=Entri_baru_dari_teks_biasa
+New_subdatabase_based_on_AUX_file=Anak_basisdata_baru_dari_berkas_AUX
+Next_tab=Tab_berikutnya
+Open_database=Buka_basisdata
+Open_file=Buka_berkas
+Open_PDF_or_PS=Buka_PDF_atau_PS
+Open_URL_or_DOI=Buka_URL_atau_DOI
+Options=Pen&gaturan
+Paste=Tempelkan
+Plugins=&Plugin
+Preferences=Preferensi
+Previous_tab=Tab_sebelumnya
+Push_entries_to_external_application_(%0)=Kirim_entri_ke_program_eksternal_(%0)
+Quit=Keluar
+Recent_files=Berkas_terkini
+Redo=Jadi_lagi
+Replace_string=Ganti_string
+Save_all=Simpan_semua
+Save_database=Simpan_basisdata
+Save_database_as_...=Simpan_basis_data_sebagai...
+Save_selected_as_...=Simpan_pilihan_sebagai...
+Save_session=Simpan_sesi
+Scan_database...=Pindai_basisdata...
+Search=Cari
+Search_ACM_Portal=Pencarian_Portal_ACM
+Search_IEEEXplore=Pencarian_IEEEXplore
+Search_JSTOR=Pencarian_JSTOR
+Search_Medline=Pencarian_Medline
+Search_ScienceDirect=Pencarian_ScienceDirect
+Select_all=Pilih_semua
+Sessions=Sesi
+Set/clear/rename_fields=Tetapkan/bersihkan/namai_bidang
+Set/clear_fields=Tetapkan/bersihkan_bidang
+Set_up_general_fields=Penetapan_bidang_umum
+Show_error_console=Tampilkan_pesan_kesalahan
+Sort_tabs=Urutkan_tab
+Switch_preview_layout=Ubah_tataletak_tampilan
+Synchronize_PDF_links=Sesuaikan_tautan_PDF
+Synchronize_PS_links=Sesuaiakan_tautan_PS
+Tab-separated_file=Berkas_berpemisah_tab
+Toggle_entry_preview=Tampilkan_entri
+Toggle_groups_interface=Aktifkan_antarmuka_grup
+Tools=&AlatBantuan
+Unabbreviate_journal_names=Nama_jurnal_tidak_disingkat
+Undo=Tidak_jadi
+Unmark_all=Lepas_tanda_semua
+Unmark_entries=Lepas_tanda_entri
+Upgrade_external_links=Perbarui_tautan_eksternal
+View=&Tampilan
+Web_search=Pencarian_&Web
+Write_XMP-metadata_to_PDFs=Tulis_metadata_XMP_ke_PSF
+Resolve_duplicate_BibTeX_keys=Menyelesaikan_kesamaan_kunci_BibTeX
diff --git a/src/resource/Menu_it.properties b/src/resource/Menu_it.properties
index 8218663..a9a7498 100644
--- a/src/resource/Menu_it.properties
+++ b/src/resource/Menu_it.properties
@@ -98,7 +98,6 @@ Unabbreviate_journal_names=Espandi_nomi_delle_riviste_(MEDLINE)
Undo=&Annulla
Unmark_all=Rim&uovi_tutte_le_evidenziazioni
Unmark_entries=&Rimuovi_evidenziazione
-Unpack_EndNote_filter_set=Estrai_i_filtri_&EndNote
View=&Visualizza
Web_search=&Internet
Import_into_new_database=Importa_in_un_nuo&vo_database
@@ -131,13 +130,15 @@ Import_from_external_SQL_database=Importa_da_un_database_SQL_esterno
Focus_entry_table=Cursore_nella_tavola_delle_voci
Search_ACM_Portal=Ricerca_in_ACM_Portal
-Increase_table_font_size=
-Decrease_table_font_size=
-Forward=
-Back=
+Increase_table_font_size=&Aumenta_la_dimensione_dei_caratteri_della_tabella
+Decrease_table_font_size=&Diminuisci_la_dimensione_dei_caratteri_della_tabella
+Forward=Seguente
+Back=Precedente
-Manage_plugins=
-Look_up_full_text_document=
-Set/clear/rename_fields=
+Manage_plugins=Gestione_dei_plugin
+Look_up_full_text_document=Scarica_il_documento_citato
+Set/clear/rename_fields=Imposta_/_svuota_/_rinomina_i_campi
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=Ricerca_in_ScienceDirect
+Mark_specific_color=E&videnzia_con_un_colore_specifico
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_nl.properties b/src/resource/Menu_nl.properties
index c47f242..e652ff0 100644
--- a/src/resource/Menu_nl.properties
+++ b/src/resource/Menu_nl.properties
@@ -182,8 +182,6 @@ Unmark_all=Maak_alle_markeringen_ongedaan
Unmark_entries=Maak_markeringen_van_entries_ongedaan
-Unpack_EndNote_filter_set=EndNote_filter_set_uitpakken
-
View=Beeld
Web_search=Zoeken_op_het_web
@@ -233,4 +231,6 @@ Manage_plugins=
Look_up_full_text_document=
Set/clear/rename_fields=
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_no.properties b/src/resource/Menu_no.properties
index 894dde2..70d886e 100644
--- a/src/resource/Menu_no.properties
+++ b/src/resource/Menu_no.properties
@@ -98,7 +98,6 @@ Unabbreviate_journal_names=Ekspander_journalnavn
Undo=&Angre
Unmark_all=F&jern_merking_fra_alle
Unmark_entries=&Fjern_merking
-Unpack_EndNote_filter_set=Pakk_ut_&EndNote-filtersett
View=&Vis
Web_search=Webs\u00F8k
Import_into_new_database=Importer_til_ny_database
@@ -140,4 +139,6 @@ Manage_plugins=Pluginh\u00F8ndtering
Look_up_full_text_document=Finn_fulltekstdokument
Set/clear/rename_fields=Sett/slett/endre_navn_p\u00F8_felter
-Search_ScienceDirect=S\u00F8k_ScienceDirect
\ No newline at end of file
+Search_ScienceDirect=S\u00F8k_ScienceDirect
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_tr.properties b/src/resource/Menu_tr.properties
index b393ba5..d1b8ebe 100644
--- a/src/resource/Menu_tr.properties
+++ b/src/resource/Menu_tr.properties
@@ -86,7 +86,6 @@ Unabbreviate_journal_names=K\u0131saltma_dergi_adlar\u0131n\u0131_a\u00E7
Undo=&Geri_al
Unmark_all=T\u00FCm\u00FCn\u00FCn_i\u015Faretini_ka&ld\u0131r
Unmark_entries=Girdilerin_i\u015Fareti&ni_kald\u0131r
-Unpack_EndNote_filter_set=&EndNote_s\u00FCzge\u00E7_k\u00FCmesinin_paketini_a\u00E7
View=&G\u00F6r\u00FCnt\u00FCle
Web_search=Sanaldoku_arama
Import_into_new_database=Yeni_veritaban\u0131na_aktar
@@ -122,3 +121,5 @@ Look_up_full_text_document=Tam_metin_belge_bul
Set/clear/rename_fields=Alanlar\u0131_ata/sil/yeniden_adland\u0131r
Search_ScienceDirect=ScienceDirect'te_Ara
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_vi.properties b/src/resource/Menu_vi.properties
new file mode 100755
index 0000000..e9832d4
--- /dev/null
+++ b/src/resource/Menu_vi.properties
@@ -0,0 +1,149 @@
+#!
+#! created/edited by Popeye version 0.54 (popeye.sourceforge.net)
+#! encoding:ISO-8859-1
+Abbreviate_journal_names_(ISO)=Vi\u1EBFt_t\u1EAFt_t\u00EAn_c\u00E1c_t\u1EA1p_ch\u00ED_(ISO)
+Abbreviate_journal_names_(MEDLINE)=Vi\u1EBFt_t\u1EAFt_t\u00EAn_c\u00E1c_t\u1EA1p_ch\u00ED_(MEDLINE)
+About_JabRef=N\u00F3i_&v\u1EC1_JabRef
+Append_database=&N\u1ED1i_CSDL
+Autogenerate_BibTeX_keys=&T\u1EF1_\u0111\u1ED9ng_t\u1EA1o_kh\u00F3a_BibTeX
+Back=Lui
+BibTeX=&BibTeX
+Close_database=&\u0110\u00F3ng_CSDL
+Connect_to_external_SQL_database=K\u1EBFt_n\u1ED1i_\u0111\u1EBFn_CSDL_SQL_ngo\u00E0i
+Copy=C&h\u00E9p
+Copy_\\cite{BibTeX_key}=Ch\u00E9p\\&tr\u00EDch_d\u1EABn{kh\u00F3a_BibTeX}
+Copy_BibTeX_key=Ch\u00E9p_kh\u00F3a_&BibTeX
+Custom_export=&Xu\u1EA5t_t\u00F9y_ch\u1ECDn
+Custom_importers=Nh\u1EADp_t\u00F9y_ch\u1ECDn
+Customize_entry_types=&T\u00F9y_bi\u1EBFn_ki\u1EC3u_c\u00E1c_m\u1EE5c
+Cut=C\u1EAF&t
+Database_properties=Thu\u1ED9c_t\u00EDnh_C&SDL
+Decrease_table_font_size=&Gi\u1EA3m_k\u00EDch_th\u01B0\u1EDBc_ph\u00F4ng_c\u1EE7a_b\u1EA3ng
+Delete=X\u00F3&a
+Edit=Ch\u1EC9nh_&s\u1EEDa
+# Bibtex
+Edit_entry=Ch\u1EC9nh_s\u1EEDa_&m\u1EE5c
+Edit_preamble=Ch\u1EC9nh_s\u1EEDa_&ph\u1EA7n m\u1EDF \u0111\u1EA7u
+Edit_strings=Ch\u1EC9nh_s\u1EEDa_&chu\u1ED7i
+Export=X&u\u1EA5t
+
+Export_selected_entries=Xu\u1EA5t_c\u00E1c_m\u1EE5c_\u0111\u01B0\u1EE3c_ch\u1ECDn
+Export_selected_entries_to_clipboard=Xu\u1EA5t_c\u00E1c_m\u1EE5c_\u0111\u00E3_ch\u1ECDn_ra_&b\u1ED9_nh\u1EDB_t\u1EA1m
+Export_to_external_SQL_database=Xu\u1EA5t_ra_CSDL_SQL_ngo\u00E0i
+Fetch_ArXiv.org=L\u1EA5y_v\u1EC1_t\u1EEB_ArXiv.org
+Fetch_citations_from_CiteSeer=L\u1EA5y_v\u1EC1_tr\u00EDch_d\u1EABn_t\u1EEB_CiteSeer
+Fetch_CiteSeer=L\u1EA5y_v\u1EC1_t\u1EEB_CiteSeer
+Fetch_CiteSeer_by_ID=L\u1EA5y_v\u1EC1_t\u1EEB_CiteSeer_theo_ID
+Fetch_Medline=L\u1EA5y_v\u1EC1_t\u1EEB_&Medline
+Fetch_SPIRES=L\u1EA5y_v\u1EC1_t\u1EEB_SPIRES
+
+# Menu names
+File=T\u1EADp_t&in
+Find_And_Fix=T\u00ECm_v\u00E0_S\u1EEDa_ch\u1EEFa
+Find_and_remove_exact_duplicates=T\u00ECm_v\u00E0_lo\u1EA1i_b\u1ECF_c\u00E1c_m\u1EE5c_tr\u00F9ng_&ho\u00E0n_to\u00E0n
+Find_duplicates=T\u00ECm_c\u00E1c_m\u1EE5c_t&r\u00F9ng
+Focus_entry_table=T\u1EADp_trung_v\u00E0o_b\u1EA3ng_ch\u1EE9a_m\u1EE5c
+Forward=T\u1EDBi
+Help=Tr\u1EE3_&gi\u00FAp
+Help_contents=&N\u1ED9i_dung_tr\u1EE3_gi\u00FAp
+Highlight_groups_matching_all_selected_entries=T\u00F4_s\u00E1ng_c\u00E1c_nh\u00F3m_kh\u1EDBp_t\u1EA5t_c\u1EA3_c\u00E1c_m\u1EE5c_ch\u1ECDn
+Highlight_groups_matching_any_selected_entry=T\u00F4_s\u00E1ng_c\u00E1c_nh\u00F3m_kh\u1EDBp_b\u1EA5t_k\u1EF3_m\u1EE5c_ch\u1ECDn_n\u00E0o
+Import_Fields_from_CiteSeer=Nh\u1EADp_c\u00E1c_tr\u01B0\u1EDDng_t\u1EEB_&CiteSeer
+Import_from_external_SQL_database=Nh\u1EADp_v\u00E0o_t\u1EEB_CSDL_SQL_ngo\u00E0i
+Import_into_current_database=Nh\u1EADp_v\u00E0o_CSDL_hi\u1EC7n_t\u1EA1i
+Import_into_new_database=Nh\u1EADp_v\u00E0o_th\u00E0nh_CSDL_m\u1EDBi
+
+Increase_table_font_size=&T\u0103ng_k\u00EDch_th\u01B0\u1EDBc_ph\u00F4ng_c\u1EE7a_b\u1EA3ng
+Incremental_search=&T\u00ECm_ki\u1EBFm_t\u0103ng_d\u1EA7n
+
+Insert_selected_citations_into_Emacs=Ch\u00E8n_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_&Emacs
+Insert_selected_citations_into_LatexEditor=Ch\u00E8n_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_LatexEditor
+Insert_selected_citations_into_LyX/Kile=Ch\u00E8n_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_&LyX/Kile
+Insert_selected_citations_into_WinEdt=Ch\u00E8n_tr\u00EDch_d\u1EABn_\u0111\u01B0\u1EE3c_ch\u1ECDn_v\u00E0o_&WinEdt
+Integrity_check=Ki\u1EC3m_tra_t\u00EDnh_nguy\u00EAn_v\u1EB9n
+# Help
+JabRef_help=Tr\u1EE3_&gi\u00FAp_JabRef
+Load_session=N\u1EA1p_&phi\u00EAn_l\u00E0m_vi\u1EC7c
+Look_up_full_text_document=T\u00ECm_t\u00E0i_li\u1EC7u_\u0111\u1EA7y_\u0111\u1EE7
+Manage_content_selectors=&Qu\u1EA3n_l\u00FD_c\u00E1c_tr\u00ECnh_ch\u1ECDn_n\u1ED9i_dung
+Manage_custom_exports=Qu\u1EA3n_l\u00FD_&xu\u1EA5t_theo_t\u00F9y_ch\u1ECDn
+Manage_custom_imports=Qu\u1EA3n_l\u00FD_&nh\u1EADp_theo_t\u00F9y_ch\u1ECDn
+Manage_external_file_types=Qu\u1EA3n_l\u00FD_c\u00E1c_ki\u1EC3u_t\u1EADp_tin_ngo\u00E0i
+Manage_journal_abbreviations=Qu\u1EA3n_l\u00FD_vi\u1EBFt_t\u1EAFt_t\u00EAn_t\u1EA1p_&ch\u00ED
+
+Manage_plugins=Qu\u1EA3n_l\u00FD_ph\u1EA7n_m\u1EDF_r\u1ED9ng
+Mark_entries=\u0110\u00E1nh_&d\u1EA5u_c\u00E1c_m\u1EE5c
+# File menu
+New_database=&CSDL_m\u1EDBi
+# Menu BibTeX (BibTeX)
+New_entry=&M\u1EE5c_m\u1EDBi
+New_entry...=&M\u1EE5c_m\u1EDBi_...
+New_entry_from_plain_text=M\u1EE5c_m\u1EDBi_t\u1EEB_&v\u0103n_b\u1EA3n_tr\u01A1n
+New_subdatabase_based_on_AUX_file=C\u01A1_s\u1EDF_d\u1EEF_li\u1EC7u_con_m\u1EDBi_d\u1EF1a_tr\u00EAn_t\u1EADp_tin_AU&X
+# View
+Next_tab=&Th\u1EBB_ti\u1EBFp_theo
+Open_database=&M\u1EDF_CSDL
+
+Open_file=M\u1EDF_t\u1EADp_tin
+Open_PDF_or_PS=M\u1EDF_&PDF_ho\u1EB7c_PS
+Open_URL_or_DOI=M\u1EDF_&URL_ho\u1EB7c_DOI
+Options=&T\u00F9y_ch\u1ECDn
+Paste=&D\u00E1n
+
+Plugins=Ph\u1EA7n_m\u1EDF_&r\u1ED9ng
+# Options
+Preferences=T\u00F9y_&th\u00EDch
+Previous_tab=Th\u1EBB_t&r\u01B0\u1EDBc
+
+Push_entries_to_external_application_(%0)=\u0110\u01B0a_c\u00E1c_m\u1EE5c_ra_\u1EE9ng_d\u1EE5ng_ngo\u00E0i_(%0)
+Quit=Th&o\u00E1t
+Recent_files=&C\u00E1c_t\u1EADp_tin_g\u1EA7n_\u0111\u00E2y
+Redo=&L\u00E0m_l\u1EA1i
+Replace_string=&Thay_chu\u1ED7i
+
+Save_all=L\u01B0u_t\u1EA5t_c\u1EA3
+Save_database=&L\u01B0u_CSDL
+Save_database_as_...=L\u01B0&u_CSDL_th\u00E0nh_...
+Save_selected_as_...=L\u01B0u_&ph\u1EA7n_ch\u1ECDn_th\u00E0nh_...
+Save_session=L\u01B0u_phi\u00EAn_l\u00E0m_vi\u1EC7c
+
+Scan_database...=&Qu\u00E9t_CSDL...
+# Tools
+Search=T\u00EC&m
+Search_ACM_Portal=T\u00ECm_tr\u00EAn_ACM_Portal
+Search_IEEEXplore=T\u00ECm_tr\u00EAn__IEEEXplore
+Search_JSTOR=T\u00ECm_tr\u00EAn_JSTOR
+Search_Medline=T\u00ECm_tr\u00EAn_Medline
+
+Search_ScienceDirect=T\u00ECm_tr\u00EAn_ScienceDirect
+Select_all=Ch\u1ECDn_t\u1EA5t_&c\u1EA3
+Sessions=C\u00E1c_phi\u00EAn_l\u00E0m_vi\u1EC7c
+Set/clear/rename_fields=Thi\u1EBFt_l\u1EADp/X\u00F3a/\u0110\u1ED5i_t\u00EAn_tr\u01B0\u1EDDng
+
+Set/clear_fields=Thi\u1EBFt_l\u1EADp/x\u00F3a_tr\u01B0\u1EDDng
+Set_up_general_fields=Thi\u1EBFt_l\u1EADp_c\u00E1c_tr\u01B0\u1EDDng_t\u1ED5ng_&qu\u00E1t
+Show_error_console=Hi\u1EC3n_th\u1ECB_c\u1EEDa_&s\u1ED5_b\u00E1o_l\u1ED7i
+
+Sort_tabs=Ph\u00E2n_lo\u1EA1i_t&h\u1EBB
+Switch_preview_layout=&B\u1EADt_tr\u00ECnh_b\u00E0y_xem_tr\u01B0\u1EDBc
+Synchronize_PDF_links=\u0110\u1ED3ng_b\u1ED9_h\u00F3a_c\u00E1c_li\u00EAn_k\u1EBFt_PDF
+Synchronize_PS_links=\u0110\u1ED3ng_b\u1ED9_h\u00F3a_c\u00E1c_li\u00EAn_k\u1EBFt_PS
+# Export menu
+Tab-separated_file=&T\u1EADp_tin_ph\u00E2n_c\u00E1ch_b\u1EDFi_c\u1EEF d\u1EEBng
+Toggle_entry_preview=&B\u1EADt/t\u1EAFt_xem_tr\u01B0\u1EDBc_m\u1EE5c
+Toggle_groups_interface=B\u1EADt/t\u1EAFt_&giao_di\u1EC7n_nh\u00F3m
+Tools=&C\u00F4ng_c\u1EE5
+Unabbreviate_journal_names=Kh\u00F4ng vi\u1EBFt t\u1EAFt t\u00EAn_c\u00E1c_t\u1EA1p_ch\u00ED
+# Edit
+Undo=&Quay_ng\u01B0\u1EE3c_l\u1EC7nh
+Unmark_all=&Kh\u1EED_\u0111\u00E1nh_d\u1EA5u_t\u1EA5t_c\u1EA3
+Unmark_entries=Kh\u1EED_\u0111\u00E1nh_&d\u1EA5u_c\u00E1c_m\u1EE5c
+
+Upgrade_external_links=N\u00E2ng_c\u1EA5p_c\u00E1c_li\u00EAn_k\u1EBFt_ngo\u00E0i
+View=&Xem
+Web_search=T\u00ECm_tr\u00EAn_m\u1EA1ng
+Write_XMP-metadata_to_PDFs=Ghi_XMP-metadata_th\u00E0nh_c\u00E1c_PDF
+
+
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_zh.properties b/src/resource/Menu_zh.properties
index 7bc06e9..f433c76 100644
--- a/src/resource/Menu_zh.properties
+++ b/src/resource/Menu_zh.properties
@@ -99,7 +99,6 @@ Unabbreviate_journal_names=\u5C55\u5F00\u671F\u520A\u540D\u79F0
Undo=\u64A4\u9500_(&U)
Unmark_all=\u64A4\u9500\u6240\u6709\u9AD8\u4EAE\u6807\u8BB0_(&L)
Unmark_entries=\u64A4\u9500\u9009\u4E2D\u9AD8\u4EAE\u6807\u8BB0_(&N)
-Unpack_EndNote_filter_set=\u89E3\u5F00_&EndNote_filter_set
View=\u89C6\u56FE_(&V)
Web_search=Web_\u641C\u7D22
Import_into_new_database=\u5BFC\u5165\u5230\u65B0\u6570\u636E\u5E93
@@ -143,4 +142,6 @@ Set/clear/rename_fields=\u8BBE\u7F6E/\u6E05\u9664/\u91CD\u547D\u540D_\u57DF
Manage_plugins=\u7BA1\u7406\u63D2\u4EF6
Look_up_full_text_document=\u67E5\u627E\u5B8C\u6574\u6587\u6863
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/Menu_zh.properties.UTF8 b/src/resource/Menu_zh.properties.UTF8
index 7ec7e68..adb3018 100644
--- a/src/resource/Menu_zh.properties.UTF8
+++ b/src/resource/Menu_zh.properties.UTF8
@@ -100,7 +100,6 @@ Unabbreviate_journal_names=展开期刊名称
Undo=撤销_(&U)
Unmark_all=撤销所有高亮标记_(&L)
Unmark_entries=撤销选中高亮标记_(&N)
-Unpack_EndNote_filter_set=解开_&EndNote_filter_set
View=视图_(&V)
Web_search=Web_搜索
Import_into_new_database=导入到新数据库
@@ -143,4 +142,6 @@ Manage_plugins=管理插件
Look_up_full_text_document=查找完整文档
Set/clear_fields=
-Search_ScienceDirect=
\ No newline at end of file
+Search_ScienceDirect=
+Mark_specific_color=
+Resolve_duplicate_BibTeX_keys=
\ No newline at end of file
diff --git a/src/resource/build.properties b/src/resource/build.properties
index 6c65deb..839b8e7 100644
--- a/src/resource/build.properties
+++ b/src/resource/build.properties
@@ -1,3 +1,3 @@
-builddate=April 13 2010
-build=309
-version=2.6
\ No newline at end of file
+builddate=January 13 2011
+build=288
+version=2.7b
\ No newline at end of file
diff --git a/src/resource/ods/mimetype b/src/resource/ods/mimetype
deleted file mode 100644
index 78a49cc..0000000
--- a/src/resource/ods/mimetype
+++ /dev/null
@@ -1 +0,0 @@
-application/vnd.oasis.opendocument.spreadsheet
\ No newline at end of file
diff --git a/src/txt/CHANGELOG b/src/txt/CHANGELOG
index 2aa4977..839339a 100644
--- a/src/txt/CHANGELOG
+++ b/src/txt/CHANGELOG
@@ -1,3 +1,31 @@
+2.7 beta
+ - Some improvements to MS Office export filter.
+ - Introduced three choices for ensuring unique generated keys. The default one (marking
+ with a, b, etc.), a modified one (marking with b, c, etc.) and always adding a letter
+ (a, b, etc.).
+ - Font and background colors are now customizable in the entry editor (Options ->
+ Preferences -> Appearance).
+ - Window title now includes the full path to the current file.
+ - Entries can now be marked in a series of different colors. Automarking of imported
+ entries is now done in separate color without affecting other marked entries.
+ - Added new feature (Tools -> Scan database... -> Resolve duplicate BibTeX keys) to
+ search for duplicate keys and offer to generate new keys to resolve the duplicates.
+ Instead of being listed in a warning dialog after opening a bib file, duplicate keys
+ now trigger a dialog asking whether the user wants to resolve the duplicates.
+ - Added check that ensures that application doesn't quit while a large save operation
+ is still in progress. Shows wait message with cancel button.
+ - Added apostrophe (') as illegal character in BibTeX keys.
+ - BibTeX strings that refer each other are now sorted correctly when saving bib file.
+ - Fixed bug in merging external changes - file would still be reported as modified
+ externally after merging changes.
+ - Fixed bug in Move/rename file link feature that could cause the wrong link to be
+ stored for certain directory structures.
+ - Fixed bug: curly braces can now be used in arguments to formatters.
+ - Fixed lockup bug when generating key for entries with crossref fields.
+ - BibTeX strings are now resolved before attempting to (un)abbreviate journal names.
+ - Modified [shorttitle] and [veryshorttitle] key generator markers so they consider
+ a hyphen a word boundary, and remove punctuation characters (keep only numbers and
+ letters).
2.6
- Fixed IEEExplorer and ACM fetchers to adapt to web site changes.
- Active preview (1 or 2) is now remembered.
diff --git a/src/txt/README b/src/txt/README
index a790c85..1f7aa35 100644
--- a/src/txt/README
+++ b/src/txt/README
@@ -1,6 +1,6 @@
-JabRef 2.6
-----------
+JabRef 2.7 beta
+---------------
Introduction:
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/jabref.git
More information about the pkg-java-commits
mailing list