summaryrefslogtreecommitdiff
path: root/test/java/net
diff options
context:
space:
mode:
authorMichael Peter Christen <mc@yacy.net>2026-07-07 21:36:59 +0200
committerMichael Peter Christen <mc@yacy.net>2026-07-07 21:36:59 +0200
commit57d188e69a17788ff78fd1b9ad1afa2b232f6536 (patch)
treeace1676fa45c488f126893a6d15feaee49535a51 /test/java/net
parent2ca403a1fc80cb9e1d65764cbb42c5dbc7c030ea (diff)
Major fix for localization: finalizing German, French, Spanish, Italian,
Greek, Slovak, Ukrainian, Turkish and Russian. Also added full support for Polish language. All servlets are now fully supported by those languages.
Diffstat (limited to 'test/java/net')
-rw-r--r--test/java/net/yacy/data/TranslatorTest.java17
-rw-r--r--test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java45
2 files changed, 62 insertions, 0 deletions
diff --git a/test/java/net/yacy/data/TranslatorTest.java b/test/java/net/yacy/data/TranslatorTest.java
index df5380d59..cc447f3a0 100644
--- a/test/java/net/yacy/data/TranslatorTest.java
+++ b/test/java/net/yacy/data/TranslatorTest.java
@@ -60,4 +60,21 @@ public class TranslatorTest {
}
}
+ @Test
+ public void testTranslateSkipsTechnicalTargets() {
+ final Translator translator = new Translator();
+ final Map<String, String> translationTable = new HashMap<String, String>();
+ translationTable.put("Network", "Réseau");
+ translationTable.put("share", "partager");
+ translationTable.put("localhost", "hôte-local");
+
+ assertEquals("Réseau", translator.translate(new StringBuilder("Network"), translationTable));
+ assertEquals("<a href=\"Network.html\">Réseau</a>",
+ translator.translate(new StringBuilder("<a href=\"Network.html\">Network</a>"), translationTable));
+ assertEquals("servlet share.json",
+ translator.translate(new StringBuilder("servlet share.json"), translationTable));
+ assertEquals("http://localhost:8090/Network.html",
+ translator.translate(new StringBuilder("http://localhost:8090/Network.html"), translationTable));
+ }
+
}
diff --git a/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java b/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java
new file mode 100644
index 000000000..4aafd98e3
--- /dev/null
+++ b/test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java
@@ -0,0 +1,45 @@
+package net.yacy.utils.translation;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.nio.charset.StandardCharsets;
+import java.nio.file.Files;
+import java.util.Map;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
+
+public class GenerateSourceMasterXliffTest {
+
+ @Rule
+ public TemporaryFolder temporaryFolder = new TemporaryFolder();
+
+ @Test
+ public void testMainExtractsSourceVisibleTextAndVerifiesOutput() throws Exception {
+ final File sourceRoot = this.temporaryFolder.newFolder("htroot");
+ final File sourceFile = new File(sourceRoot, "Network.html");
+ Files.write(sourceFile.toPath(), (
+ "<html><body>\n"
+ + "<a href=\"Network.html\" title=\"Network link\">Network</a>\n"
+ + "<input type=\"submit\" value=\"Save\">\n"
+ + "<input type=\"hidden\" value=\"Internal secret\">\n"
+ + "<script>Ignored script text</script>\n"
+ + "</body></html>\n").getBytes(StandardCharsets.UTF_8));
+
+ final File outputFile = this.temporaryFolder.newFile("source-master.lng.xlf");
+ GenerateSourceMasterXliff.main(new String[] { sourceRoot.getAbsolutePath(), outputFile.getAbsolutePath() });
+
+ final Map<String, Map<String, String>> master = new TranslatorXliff().loadTranslationsListsFromXliff(outputFile);
+ assertTrue(master.containsKey("Network.html"));
+
+ final Map<String, String> entries = master.get("Network.html");
+ assertTrue(entries.containsKey("Network"));
+ assertTrue(entries.containsKey("\"Network link\""));
+ assertTrue(entries.containsKey("\"Save\""));
+ assertFalse(entries.containsKey("\"Internal secret\""));
+ assertFalse(entries.containsKey("Ignored script text"));
+ }
+}