diff --git a/src/main/java/de/marhali/easyi18n/FilteredDataBus.java b/src/main/java/de/marhali/easyi18n/FilteredDataBus.java index 8b928f3..1607cb1 100644 --- a/src/main/java/de/marhali/easyi18n/FilteredDataBus.java +++ b/src/main/java/de/marhali/easyi18n/FilteredDataBus.java @@ -116,7 +116,7 @@ public class FilteredDataBus implements BusListener { // filter duplicate values if(filterDuplicate) { - if(!isDuplicate(value)) { + if(!isDuplicate(key, value)) { shadow.setTranslation(key, null); } } @@ -155,13 +155,17 @@ public class FilteredDataBus implements BusListener { /** * Filter duplicate translation values */ - private boolean isDuplicate(@NotNull TranslationValue value) { + private boolean isDuplicate(@NotNull KeyPath key, @NotNull TranslationValue value) { Collection contents = value.getLocaleContents(); for (KeyPath currentKey : this.data.getFullKeys()) { TranslationValue currentValue = this.data.getTranslation(currentKey); assert currentValue != null; + if(currentKey.equals(key)) { // Only consider other translations + continue; + } + for (String currentContent : currentValue.getLocaleContents()) { if(contents.contains(currentContent)) { return true;