From 32c2eb20b42bbe2bf584e2fba69d1641766e3443 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Ha=C3=9Flinger?= Date: Mon, 15 Mar 2021 15:42:37 +0100 Subject: [PATCH] Do not override existing nodes --- .../easyi18n/io/implementation/JsonTranslatorIO.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/marhali/easyi18n/io/implementation/JsonTranslatorIO.java b/src/main/java/de/marhali/easyi18n/io/implementation/JsonTranslatorIO.java index d5edaed..6282502 100644 --- a/src/main/java/de/marhali/easyi18n/io/implementation/JsonTranslatorIO.java +++ b/src/main/java/de/marhali/easyi18n/io/implementation/JsonTranslatorIO.java @@ -113,8 +113,13 @@ public class JsonTranslatorIO implements TranslatorIO { // Try to go one level deeper JsonObject childObject = entry.getValue().getAsJsonObject(); - LocalizedNode childrenNode = new LocalizedNode(key, new ArrayList<>()); - data.addChildren(childrenNode); + LocalizedNode childrenNode = data.getChildren(key); + + if(childrenNode == null) { + childrenNode = new LocalizedNode(key, new ArrayList<>()); + data.addChildren(childrenNode); + } + readTree(locale, childObject, childrenNode); } catch(IllegalStateException e) { // Reached end for this node @@ -128,6 +133,8 @@ public class JsonTranslatorIO implements TranslatorIO { Map messages = leafNode.getValue(); messages.put(locale, entry.getValue().getAsString()); leafNode.setValue(messages); + + System.out.println("updated key + " + key + "de locale: " + messages.get("locale-de")); } } }