diff options
| author | Michael Peter Christen <mc@yacy.net> | 2026-07-07 21:36:59 +0200 |
|---|---|---|
| committer | Michael Peter Christen <mc@yacy.net> | 2026-07-07 21:36:59 +0200 |
| commit | 57d188e69a17788ff78fd1b9ad1afa2b232f6536 (patch) | |
| tree | ace1676fa45c488f126893a6d15feaee49535a51 /test | |
| parent | 2ca403a1fc80cb9e1d65764cbb42c5dbc7c030ea (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')
| -rw-r--r-- | test/java/net/yacy/data/TranslatorTest.java | 17 | ||||
| -rw-r--r-- | test/java/net/yacy/utils/translation/GenerateSourceMasterXliffTest.java | 45 |
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")); + } +} |
