diff --git a/CHANGELOG.md b/CHANGELOG.md index 04b790270e1..c76cf1c3912 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ Note that this project **does not** adhere to [Semantic Versioning](https://semv - We added "IEEE" as another option for parsing plain text citations. [#14233](github.com/JabRef/jabref/pull/14233) - We added automatic date-based groups that create year/month/day subgroups from an entry’s date fields. [#10822](https://github.com/JabRef/jabref/issues/10822) - We added `doi-to-bibtex` to `JabKit`. [#14244](https://github.com/JabRef/jabref/pull/14244) +- We added support for transliteration of fields to English and automatic transliteration of generated citation key. [#11377](https://github.com/JabRef/jabref/issues/11377) ### Changed diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java b/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java index 288ddd4f28d..5e58d7297c2 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.java @@ -16,6 +16,7 @@ public class CitationKeyPatternTab extends AbstractPreferenceTabView implements PreferencesTab { + @FXML private CheckBox transliterateFieldsForCitationKey; @FXML private CheckBox overwriteAllow; @FXML private CheckBox overwriteWarning; @FXML private CheckBox generateOnSave; @@ -42,6 +43,7 @@ public String getTabName() { public void initialize() { this.viewModel = new CitationKeyPatternTabViewModel(preferences.getCitationKeyPatternPreferences(), preferences.getImporterPreferences()); + transliterateFieldsForCitationKey.selectedProperty().bindBidirectional(viewModel.transliterateFieldsForCitationKeyProperty()); overwriteAllow.selectedProperty().bindBidirectional(viewModel.overwriteAllowProperty()); overwriteWarning.selectedProperty().bindBidirectional(viewModel.overwriteWarningProperty()); generateOnSave.selectedProperty().bindBidirectional(viewModel.generateOnSaveProperty()); diff --git a/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java b/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java index 2ccfdf85897..387495d4571 100644 --- a/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java +++ b/jabgui/src/main/java/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTabViewModel.java @@ -19,6 +19,7 @@ public class CitationKeyPatternTabViewModel implements PreferenceTabViewModel { + private final BooleanProperty transliterateFieldsForCitationKeyProperty = new SimpleBooleanProperty(); private final BooleanProperty overwriteAllowProperty = new SimpleBooleanProperty(); private final BooleanProperty overwriteWarningProperty = new SimpleBooleanProperty(); private final BooleanProperty generateOnSaveProperty = new SimpleBooleanProperty(); @@ -53,6 +54,7 @@ public CitationKeyPatternTabViewModel(CitationKeyPatternPreferences keyPatternPr @Override public void setValues() { + transliterateFieldsForCitationKeyProperty.setValue(keyPatternPreferences.shouldTransliterateFieldsForCitationKey()); overwriteAllowProperty.setValue(!keyPatternPreferences.shouldAvoidOverwriteCiteKey()); overwriteWarningProperty.setValue(keyPatternPreferences.shouldWarnBeforeOverwriteCiteKey()); generateOnSaveProperty.setValue(keyPatternPreferences.shouldGenerateCiteKeysBeforeSaving()); @@ -106,6 +108,7 @@ public void storeSettings() { keySuffix = CitationKeyPatternPreferences.KeySuffix.SECOND_WITH_B; } + keyPatternPreferences.setShouldTransliterateFieldsForCitationKey(transliterateFieldsForCitationKeyProperty.getValue()); keyPatternPreferences.setAvoidOverwriteCiteKey(!overwriteAllowProperty.getValue()); keyPatternPreferences.setWarnBeforeOverwriteCiteKey(overwriteWarningProperty.getValue()); keyPatternPreferences.setGenerateCiteKeysBeforeSaving(generateOnSaveProperty.getValue()); @@ -117,6 +120,10 @@ public void storeSettings() { keyPatternPreferences.setKeyPatterns(newKeyPattern); } + public BooleanProperty transliterateFieldsForCitationKeyProperty() { + return transliterateFieldsForCitationKeyProperty; + } + public BooleanProperty overwriteAllowProperty() { return overwriteAllowProperty; } diff --git a/jabgui/src/main/resources/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.fxml b/jabgui/src/main/resources/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.fxml index f280eca3167..c7db3f4f516 100644 --- a/jabgui/src/main/resources/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.fxml +++ b/jabgui/src/main/resources/org/jabref/gui/preferences/citationkeypattern/CitationKeyPatternTab.fxml @@ -74,6 +74,9 @@ GridPane.columnIndex="0" GridPane.rowIndex="8"/> + + @@ -90,4 +93,4 @@