From d4ef478d4802c84a22bf009a240ac2935386ef52 Mon Sep 17 00:00:00 2001 From: marhali Date: Sat, 28 May 2022 14:35:44 +0200 Subject: [PATCH] fix duplicate filter --- src/main/java/de/marhali/easyi18n/FilteredDataBus.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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;