From 0592bac5bf734a3239165e2f94f98905cfab33c9 Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Wed, 3 Jan 2024 23:01:33 +0000 Subject: [PATCH 1/7] liceneses without translation or GH action --- build.gradle | 9 + .../controller/web/HomeWebController.java | 28 + .../software/SPDF/model/Dependency.java | 13 + .../resources/static/3rdPartyLicenses.json | 846 ++++++++++++++++++ src/main/resources/static/css/dark-mode.css | 7 + .../resources/templates/fragments/footer.html | 34 +- src/main/resources/templates/licenses.html | 56 ++ .../templates/security/cert-sign.html | 4 +- 8 files changed, 994 insertions(+), 3 deletions(-) create mode 100644 src/main/java/stirling/software/SPDF/model/Dependency.java create mode 100644 src/main/resources/static/3rdPartyLicenses.json create mode 100644 src/main/resources/templates/licenses.html diff --git a/build.gradle b/build.gradle index c9839555..2b769fa7 100644 --- a/build.gradle +++ b/build.gradle @@ -6,8 +6,11 @@ plugins { id "io.swagger.swaggerhub" version "1.3.2" id 'edu.sc.seis.launch4j' version '3.0.5' id 'com.diffplug.spotless' version '6.23.3' + id 'com.github.jk1.dependency-license-report' version '2.5' } +import com.github.jk1.license.render.* + group = 'stirling.software' version = '0.18.1' sourceCompatibility = '17' @@ -16,6 +19,12 @@ repositories { mavenCentral() } + + +licenseReport { + renderers = [new JsonReportRenderer()] +} + sourceSets { main { java { diff --git a/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java b/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java index 23c19f9a..882b1581 100644 --- a/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java +++ b/src/main/java/stirling/software/SPDF/controller/web/HomeWebController.java @@ -10,6 +10,16 @@ import org.springframework.web.bind.annotation.ResponseBody; import io.swagger.v3.oas.annotations.Hidden; import stirling.software.SPDF.model.ApplicationProperties; +import stirling.software.SPDF.model.Dependency; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.core.io.ClassPathResource; +import org.springframework.core.io.Resource; +import java.io.IOException; +import java.nio.file.Files; +import java.util.List; +import java.util.Map; @Controller public class HomeWebController { @@ -20,6 +30,24 @@ public class HomeWebController { model.addAttribute("currentPage", "about"); return "about"; } + + @GetMapping("/licenses") + @Hidden + public String licensesForm(Model model) { + model.addAttribute("currentPage", "licenses"); + Resource resource = new ClassPathResource("static/3rdPartyLicenses.json"); + try { + String json = new String(Files.readAllBytes(resource.getFile().toPath())); + ObjectMapper mapper = new ObjectMapper(); + Map> data = mapper.readValue(json, new TypeReference>>() {}); + model.addAttribute("dependencies", data.get("dependencies")); + } catch (IOException e) { + e.printStackTrace(); + // Handle exceptions, possibly return an error view + } + return "licenses"; + } + @GetMapping("/") public String home(Model model) { diff --git a/src/main/java/stirling/software/SPDF/model/Dependency.java b/src/main/java/stirling/software/SPDF/model/Dependency.java new file mode 100644 index 00000000..bbff3e2a --- /dev/null +++ b/src/main/java/stirling/software/SPDF/model/Dependency.java @@ -0,0 +1,13 @@ +package stirling.software.SPDF.model; + +import lombok.Data; + +@Data +public class Dependency { + private String moduleName; + private String moduleUrl; + private String moduleVersion; + private String moduleLicense; + private String moduleLicenseUrl; + +} diff --git a/src/main/resources/static/3rdPartyLicenses.json b/src/main/resources/static/3rdPartyLicenses.json new file mode 100644 index 00000000..25e8e91b --- /dev/null +++ b/src/main/resources/static/3rdPartyLicenses.json @@ -0,0 +1,846 @@ +{ + "dependencies": [ + { + "moduleName": "ch.qos.logback:logback-classic", + "moduleUrl": "http://www.qos.ch", + "moduleVersion": "1.4.14", + "moduleLicense": "GNU Lesser General Public License", + "moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" + }, + { + "moduleName": "ch.qos.logback:logback-core", + "moduleUrl": "http://www.qos.ch", + "moduleVersion": "1.4.14", + "moduleLicense": "GNU Lesser General Public License", + "moduleLicenseUrl": "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" + }, + { + "moduleName": "com.fasterxml.jackson.core:jackson-annotations", + "moduleUrl": "https://github.com/FasterXML/jackson", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.core:jackson-core", + "moduleUrl": "https://github.com/FasterXML/jackson-core", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.core:jackson-databind", + "moduleUrl": "https://github.com/FasterXML/jackson", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", + "moduleUrl": "https://github.com/FasterXML/jackson-dataformats-text", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jdk8", + "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.datatype:jackson-datatype-jsr310", + "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson.module:jackson-module-parameter-names", + "moduleUrl": "https://github.com/FasterXML/jackson-modules-java8/jackson-module-parameter-names", + "moduleVersion": "2.15.3", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.fasterxml.jackson:jackson-bom", + "moduleVersion": "2.15.3" + }, + { + "moduleName": "com.fasterxml:classmate", + "moduleUrl": "https://github.com/FasterXML/java-classmate", + "moduleVersion": "1.6.0", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.github.vladimir-bukhtoyarov:bucket4j-core", + "moduleUrl": "http://github.com/vladimir-bukhtoyarov/bucket4j/bucket4j-core", + "moduleVersion": "7.6.0", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "com.google.zxing:core", + "moduleUrl": "https://github.com/zxing/zxing/core", + "moduleVersion": "3.5.2", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.h2database:h2", + "moduleUrl": "https://h2database.com", + "moduleVersion": "2.1.214", + "moduleLicense": "MPL 2.0", + "moduleLicenseUrl": "https://www.mozilla.org/en-US/MPL/2.0/" + }, + { + "moduleName": "com.opencsv:opencsv", + "moduleUrl": "http://opencsv.sf.net", + "moduleVersion": "5.9", + "moduleLicense": "Apache 2", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "com.sun.istack:istack-commons-runtime", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "4.1.2", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "com.twelvemonkeys.common:common-image", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.common:common-io", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.common:common-lang", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-batik", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-bmp", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-core", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-jpeg", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-metadata", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-tiff", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.twelvemonkeys.imageio:imageio-webp", + "moduleVersion": "3.10.1", + "moduleLicense": "The BSD License", + "moduleLicenseUrl": "https://github.com/haraldk/TwelveMonkeys#license" + }, + { + "moduleName": "com.zaxxer:HikariCP", + "moduleUrl": "https://github.com/brettwooldridge/HikariCP", + "moduleVersion": "5.0.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "commons-beanutils:commons-beanutils", + "moduleUrl": "https://commons.apache.org/proper/commons-beanutils/", + "moduleVersion": "1.9.4", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "commons-collections:commons-collections", + "moduleUrl": "http://commons.apache.org/collections/", + "moduleVersion": "3.2.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "commons-io:commons-io", + "moduleUrl": "https://commons.apache.org/proper/commons-io/", + "moduleVersion": "2.15.1", + "moduleLicense": "Apache-2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "commons-logging:commons-logging", + "moduleUrl": "http://jakarta.apache.org/commons/logging/", + "moduleVersion": "1.0.4", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "/LICENSE.txt" + }, + { + "moduleName": "io.micrometer:micrometer-commons", + "moduleUrl": "https://github.com/micrometer-metrics/micrometer", + "moduleVersion": "1.12.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "io.micrometer:micrometer-core", + "moduleUrl": "https://github.com/micrometer-metrics/micrometer", + "moduleVersion": "1.12.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "io.micrometer:micrometer-jakarta9", + "moduleUrl": "https://github.com/micrometer-metrics/micrometer", + "moduleVersion": "1.12.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "io.micrometer:micrometer-observation", + "moduleUrl": "https://github.com/micrometer-metrics/micrometer", + "moduleVersion": "1.12.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "io.smallrye:jandex", + "moduleVersion": "3.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "io.swagger.core.v3:swagger-annotations-jakarta", + "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-annotations", + "moduleVersion": "2.2.15", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "io.swagger.core.v3:swagger-core-jakarta", + "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-core", + "moduleVersion": "2.2.15", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "io.swagger.core.v3:swagger-models-jakarta", + "moduleUrl": "https://github.com/swagger-api/swagger-core/modules/swagger-models", + "moduleVersion": "2.2.15", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "jakarta.activation:jakarta.activation-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "2.1.2", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "jakarta.annotation:jakarta.annotation-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "2.1.1", + "moduleLicense": "GPL2 w/ CPE", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "jakarta.inject:jakarta.inject-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "2.0.1", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "jakarta.persistence:jakarta.persistence-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "3.1.0", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "jakarta.transaction:jakarta.transaction-api", + "moduleUrl": "https://projects.eclipse.org/projects/ee4j.jta", + "moduleVersion": "2.0.1", + "moduleLicense": "GPL2 w/ CPE", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "jakarta.validation:jakarta.validation-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "3.0.2", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "jakarta.xml.bind:jakarta.xml.bind-api", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "4.0.1", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "net.bytebuddy:byte-buddy", + "moduleVersion": "1.14.10", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.antlr:antlr4-runtime", + "moduleUrl": "https://www.antlr.org/", + "moduleVersion": "4.13.0", + "moduleLicense": "BSD-3-Clause", + "moduleLicenseUrl": "https://www.antlr.org/license.html" + }, + { + "moduleName": "org.apache.commons:commons-collections4", + "moduleUrl": "https://commons.apache.org/proper/commons-collections/", + "moduleVersion": "4.4", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.commons:commons-lang3", + "moduleUrl": "https://commons.apache.org/proper/commons-lang/", + "moduleVersion": "3.13.0", + "moduleLicense": "Apache-2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.commons:commons-text", + "moduleUrl": "https://commons.apache.org/proper/commons-text", + "moduleVersion": "1.11.0", + "moduleLicense": "Apache-2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.logging.log4j:log4j-api", + "moduleVersion": "2.21.1", + "moduleLicense": "Apache-2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.logging.log4j:log4j-to-slf4j", + "moduleVersion": "2.21.1", + "moduleLicense": "Apache-2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.pdfbox:fontbox", + "moduleUrl": "http://pdfbox.apache.org/", + "moduleVersion": "2.0.29", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.pdfbox:pdfbox", + "moduleUrl": "http://pdfbox.apache.org", + "moduleVersion": "2.0.29", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.pdfbox:xmpbox", + "moduleUrl": "http://pdfbox.apache.org", + "moduleVersion": "2.0.29", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.tomcat.embed:tomcat-embed-core", + "moduleUrl": "https://tomcat.apache.org/", + "moduleVersion": "10.1.17", + "moduleLicense": "Eclipse Public License - v 2.0", + "moduleLicenseUrl": "https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt" + }, + { + "moduleName": "org.apache.tomcat.embed:tomcat-embed-el", + "moduleUrl": "https://tomcat.apache.org/", + "moduleVersion": "10.1.17", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.tomcat.embed:tomcat-embed-websocket", + "moduleUrl": "https://tomcat.apache.org/", + "moduleVersion": "10.1.17", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.xmlgraphics:batik-all", + "moduleVersion": "1.17", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.apache.xmlgraphics:xmlgraphics-commons", + "moduleUrl": "http://xmlgraphics.apache.org/commons/", + "moduleVersion": "2.9", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.aspectj:aspectjweaver", + "moduleUrl": "https://www.eclipse.org/aspectj/", + "moduleVersion": "1.9.21", + "moduleLicense": "Eclipse Public License - v 2.0", + "moduleLicenseUrl": "https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.txt" + }, + { + "moduleName": "org.attoparser:attoparser", + "moduleUrl": "https://www.attoparser.org", + "moduleVersion": "2.0.7.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.bouncycastle:bcpkix-jdk18on", + "moduleUrl": "https://www.bouncycastle.org/java.html", + "moduleVersion": "1.77", + "moduleLicense": "Bouncy Castle Licence", + "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" + }, + { + "moduleName": "org.bouncycastle:bcprov-jdk18on", + "moduleUrl": "https://www.bouncycastle.org/java.html", + "moduleVersion": "1.77", + "moduleLicense": "Bouncy Castle Licence", + "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" + }, + { + "moduleName": "org.bouncycastle:bcutil-jdk18on", + "moduleUrl": "https://www.bouncycastle.org/java.html", + "moduleVersion": "1.77", + "moduleLicense": "Bouncy Castle Licence", + "moduleLicenseUrl": "https://www.bouncycastle.org/licence.html" + }, + { + "moduleName": "org.commonmark:commonmark", + "moduleVersion": "0.21.0", + "moduleLicense": "BSD 2-Clause License", + "moduleLicenseUrl": "https://opensource.org/licenses/BSD-2-Clause" + }, + { + "moduleName": "org.eclipse.angus:angus-activation", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "2.0.1", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "org.glassfish.jaxb:jaxb-core", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "4.0.4", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "org.glassfish.jaxb:jaxb-runtime", + "moduleUrl": "https://www.eclipse.org", + "moduleVersion": "4.0.4", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "org.glassfish.jaxb:txw2", + "moduleUrl": "https://eclipse-ee4j.github.io/jaxb-ri/", + "moduleVersion": "4.0.4", + "moduleLicense": "GNU General Public License, version 2 with the GNU Classpath Exception", + "moduleLicenseUrl": "https://www.gnu.org/software/classpath/license.html" + }, + { + "moduleName": "org.hdrhistogram:HdrHistogram", + "moduleUrl": "http://hdrhistogram.github.io/HdrHistogram/", + "moduleVersion": "2.1.12", + "moduleLicense": "Public Domain, per Creative Commons CC0", + "moduleLicenseUrl": "http://creativecommons.org/publicdomain/zero/1.0/" + }, + { + "moduleName": "org.hibernate.common:hibernate-commons-annotations", + "moduleUrl": "http://hibernate.org", + "moduleVersion": "6.0.6.Final", + "moduleLicense": "GNU Library General Public License v2.1 or later", + "moduleLicenseUrl": "http://www.opensource.org/licenses/LGPL-2.1" + }, + { + "moduleName": "org.hibernate.orm:hibernate-core", + "moduleUrl": "https://www.hibernate.org/orm/6.4", + "moduleVersion": "6.4.1.Final", + "moduleLicense": "GNU Library General Public License v2.1 or later", + "moduleLicenseUrl": "https://www.opensource.org/licenses/LGPL-2.1" + }, + { + "moduleName": "org.jboss.logging:jboss-logging", + "moduleUrl": "http://www.jboss.org", + "moduleVersion": "3.5.3.Final", + "moduleLicense": "Public Domain", + "moduleLicenseUrl": "http://repository.jboss.org/licenses/cc0-1.0.txt" + }, + { + "moduleName": "org.latencyutils:LatencyUtils", + "moduleUrl": "http://latencyutils.github.io/LatencyUtils/", + "moduleVersion": "2.0.3", + "moduleLicense": "Public Domain, per Creative Commons CC0", + "moduleLicenseUrl": "http://creativecommons.org/publicdomain/zero/1.0/" + }, + { + "moduleName": "org.slf4j:jul-to-slf4j", + "moduleUrl": "http://www.slf4j.org", + "moduleVersion": "2.0.9", + "moduleLicense": "MIT License", + "moduleLicenseUrl": "http://www.opensource.org/licenses/mit-license.php" + }, + { + "moduleName": "org.slf4j:slf4j-api", + "moduleUrl": "http://www.slf4j.org", + "moduleVersion": "2.0.9", + "moduleLicense": "MIT License", + "moduleLicenseUrl": "http://www.opensource.org/licenses/mit-license.php" + }, + { + "moduleName": "org.springdoc:springdoc-openapi-starter-common", + "moduleVersion": "2.2.0", + "moduleLicense": "The Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.springdoc:springdoc-openapi-starter-webmvc-api", + "moduleVersion": "2.2.0", + "moduleLicense": "The Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.springdoc:springdoc-openapi-starter-webmvc-ui", + "moduleVersion": "2.2.0", + "moduleLicense": "The Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.springframework.boot:spring-boot", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-actuator", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-actuator-autoconfigure", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-autoconfigure", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-devtools", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-actuator", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-aop", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-data-jpa", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-jdbc", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-json", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-logging", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-security", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-thymeleaf", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-tomcat", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.boot:spring-boot-starter-web", + "moduleUrl": "https://spring.io/projects/spring-boot", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.data:spring-data-commons", + "moduleUrl": "https://spring.io/projects/spring-data", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.data:spring-data-jpa", + "moduleUrl": "https://projects.spring.io/spring-data-jpa", + "moduleVersion": "3.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.security:spring-security-config", + "moduleUrl": "https://spring.io/projects/spring-security", + "moduleVersion": "6.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.security:spring-security-core", + "moduleUrl": "https://spring.io/projects/spring-security", + "moduleVersion": "6.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.security:spring-security-crypto", + "moduleUrl": "https://spring.io/projects/spring-security", + "moduleVersion": "6.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework.security:spring-security-web", + "moduleUrl": "https://spring.io/projects/spring-security", + "moduleVersion": "6.2.1", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-aop", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-aspects", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-beans", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-context", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-core", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-expression", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-jcl", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-jdbc", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-orm", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-tx", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-web", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.springframework:spring-webmvc", + "moduleUrl": "https://github.com/spring-projects/spring-framework", + "moduleVersion": "6.1.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0" + }, + { + "moduleName": "org.thymeleaf.extras:thymeleaf-extras-springsecurity5", + "moduleVersion": "3.1.2.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.thymeleaf:thymeleaf", + "moduleVersion": "3.1.2.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.thymeleaf:thymeleaf-spring5", + "moduleVersion": "3.1.2.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.thymeleaf:thymeleaf-spring6", + "moduleVersion": "3.1.2.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "https://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.unbescape:unbescape", + "moduleUrl": "http://www.unbescape.org", + "moduleVersion": "1.1.6.RELEASE", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "org.webjars:swagger-ui", + "moduleUrl": "http://webjars.org", + "moduleVersion": "5.2.0", + "moduleLicense": "Apache 2.0", + "moduleLicenseUrl": "https://github.com/swagger-api/swagger-ui" + }, + { + "moduleName": "org.yaml:snakeyaml", + "moduleUrl": "https://bitbucket.org/snakeyaml/snakeyaml", + "moduleVersion": "2.2", + "moduleLicense": "Apache License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + }, + { + "moduleName": "xml-apis:xml-apis", + "moduleUrl": "http://xml.apache.org/commons/components/external/", + "moduleVersion": "1.4.01", + "moduleLicense": "The W3C License", + "moduleLicenseUrl": "http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/java-binding.zip" + }, + { + "moduleName": "xml-apis:xml-apis-ext", + "moduleUrl": "http://xml.apache.org/commons/components/external/", + "moduleVersion": "1.3.04", + "moduleLicense": "The Apache Software License, Version 2.0", + "moduleLicenseUrl": "http://www.apache.org/licenses/LICENSE-2.0.txt" + } + ] +} \ No newline at end of file diff --git a/src/main/resources/static/css/dark-mode.css b/src/main/resources/static/css/dark-mode.css index 2f070c9c..722461df 100644 --- a/src/main/resources/static/css/dark-mode.css +++ b/src/main/resources/static/css/dark-mode.css @@ -11,6 +11,13 @@ body, select, textarea { color: rgb(var(--base-font-color)) !important; } + a { + color: #add8e6; + } + a:hover { + color: #87ceeb; /* Slightly brighter blue on hover for accessibility */ +} + .dark-card { background-color: rgb(var(--body-background-color)) !important; color: rgb(var(--base-font-color)) !important; diff --git a/src/main/resources/templates/fragments/footer.html b/src/main/resources/templates/fragments/footer.html index 4fc411fe..8a79aa25 100644 --- a/src/main/resources/templates/fragments/footer.html +++ b/src/main/resources/templates/fragments/footer.html @@ -1,9 +1,41 @@
+ + + + + +
+
diff --git a/src/main/resources/templates/licenses.html b/src/main/resources/templates/licenses.html new file mode 100644 index 00000000..e759f3ef --- /dev/null +++ b/src/main/resources/templates/licenses.html @@ -0,0 +1,56 @@ + + + + + + + + +
+
+
+

+ +
+
+
+

3rd Party licenses

+ + + + + + + + + + + + + + + +
ModuleVersionLicense
+ +
+
+
+
+
+
+ + diff --git a/src/main/resources/templates/security/cert-sign.html b/src/main/resources/templates/security/cert-sign.html index fbbf36d1..85954d21 100644 --- a/src/main/resources/templates/security/cert-sign.html +++ b/src/main/resources/templates/security/cert-sign.html @@ -26,9 +26,9 @@
From 351cf25f86d7e8787c064f6188a3787a58a7452a Mon Sep 17 00:00:00 2001 From: Anthony Stirling <77850077+Frooodle@users.noreply.github.com> Date: Thu, 4 Jan 2024 18:41:33 +0000 Subject: [PATCH 2/7] license lang --- src/main/resources/messages_ar_AR.properties | 10 +++ src/main/resources/messages_bg_BG.properties | 10 +++ src/main/resources/messages_ca_CA.properties | 10 +++ src/main/resources/messages_de_DE.properties | 10 +++ src/main/resources/messages_el_GR.properties | 10 +++ src/main/resources/messages_en_GB.properties | 10 +++ src/main/resources/messages_en_US.properties | 10 +++ src/main/resources/messages_es_ES.properties | 10 +++ src/main/resources/messages_eu_ES.properties | 10 +++ src/main/resources/messages_fr_FR.properties | 10 +++ src/main/resources/messages_hi_IN.properties | 10 +++ src/main/resources/messages_hu_HU.properties | 10 +++ src/main/resources/messages_id_ID.properties | 10 +++ src/main/resources/messages_it_IT.properties | 10 +++ src/main/resources/messages_ja_JP.properties | 10 +++ src/main/resources/messages_ko_KR.properties | 10 +++ src/main/resources/messages_nl_NL.properties | 10 +++ src/main/resources/messages_pl_PL.properties | 10 +++ src/main/resources/messages_pt_BR.properties | 10 +++ src/main/resources/messages_ro_RO.properties | 10 +++ src/main/resources/messages_ru_RU.properties | 10 +++ src/main/resources/messages_sv_SE.properties | 10 +++ src/main/resources/messages_tr_TR.properties | 10 +++ src/main/resources/messages_zh_CN.properties | 10 +++ src/main/resources/messages_zh_TW.properties | 64 ++++++++++++---- .../resources/templates/fragments/footer.html | 74 +++++++++++-------- src/main/resources/templates/licenses.html | 14 ++-- 27 files changed, 341 insertions(+), 51 deletions(-) diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 34199c49..e073c4a3 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_bg_BG.properties b/src/main/resources/messages_bg_BG.properties index 6a37ba61..5e7b9e4d 100644 --- a/src/main/resources/messages_bg_BG.properties +++ b/src/main/resources/messages_bg_BG.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index ff5d060f..290d1025 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 2b1f9246..b2057b41 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_el_GR.properties b/src/main/resources/messages_el_GR.properties index 44c9b53b..b5cb41bc 100644 --- a/src/main/resources/messages_el_GR.properties +++ b/src/main/resources/messages_el_GR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index 6cba440e..326829de 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index 9b7efd3a..d2894897 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 199bbed6..a326cb52 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Divisiones Verticales split-by-sections.horizontal.placeholder=Introduzca el número de divisiones horizontales split-by-sections.vertical.placeholder=Introduzca el número de divisiones verticales split-by-sections.submit=Dividir PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 312ea2aa..ebbafeaa 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 7331b391..1690cda5 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Divisions verticales split-by-sections.horizontal.placeholder=Saisir le nombre de divisions horizontales split-by-sections.vertical.placeholder=Entrer le nombre de divisions verticales split-by-sections.submit=Diviser le PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_hi_IN.properties b/src/main/resources/messages_hi_IN.properties index 6cc830e6..10c3c316 100644 --- a/src/main/resources/messages_hi_IN.properties +++ b/src/main/resources/messages_hi_IN.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=लंबवत विभाजन split-by-sections.horizontal.placeholder=क्षैतिज विभाजन की संख्या दर्ज करें split-by-sections.vertical.placeholder=लंबवत विभाजन की संख्या दर्ज करें split-by-sections.submit=PDF को विभाजित करें + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_hu_HU.properties b/src/main/resources/messages_hu_HU.properties index 8a481fa1..0c7344c9 100644 --- a/src/main/resources/messages_hu_HU.properties +++ b/src/main/resources/messages_hu_HU.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vízszintes szakaszok split-by-sections.horizontal.placeholder=Adja meg a vízszintes szakaszok számát split-by-sections.vertical.placeholder=Adja meg a függőleges szakaszok számát split-by-sections.submit=Felosztás + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_id_ID.properties b/src/main/resources/messages_id_ID.properties index af7bd755..8de17b69 100644 --- a/src/main/resources/messages_id_ID.properties +++ b/src/main/resources/messages_id_ID.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Pembagian Vertikal split-by-sections.horizontal.placeholder=Input angka untuk pembagian horizontal split-by-sections.vertical.placeholder=Input angka untuk pembagian vertikal split-by-sections.submit=Pisahkan PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index a3b215d6..692eade4 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Divisioni verticali split-by-sections.horizontal.placeholder=Inserire il numero di divisioni orizzontali split-by-sections.vertical.placeholder=Inserire il numero di divisioni verticali split-by-sections.submit=Dividi PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index d910d7ff..dba9ef9f 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 7303b058..49095714 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index 19b003b4..dc79ef49 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index eeebf0a5..129d95a4 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 164fd9b7..390e9683 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index d1b867de..468f265a 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index 7266094d..b549ddf0 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index e6d9aa13..0dd845fb 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_tr_TR.properties b/src/main/resources/messages_tr_TR.properties index 3dc5e0d7..8095fbb1 100644 --- a/src/main/resources/messages_tr_TR.properties +++ b/src/main/resources/messages_tr_TR.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=Vertical Divisions split-by-sections.horizontal.placeholder=Enter number of horizontal divisions split-by-sections.vertical.placeholder=Enter number of vertical divisions split-by-sections.submit=Split PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 1fec9ae8..4a9a815b 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -918,3 +918,13 @@ split-by-sections.vertical.label=垂直分割 split-by-sections.horizontal.placeholder=输入水平分割数 split-by-sections.vertical.placeholder=输入垂直分割数 split-by-sections.submit=分割PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/messages_zh_TW.properties b/src/main/resources/messages_zh_TW.properties index 3787f813..1e711201 100644 --- a/src/main/resources/messages_zh_TW.properties +++ b/src/main/resources/messages_zh_TW.properties @@ -1,7 +1,7 @@ -########### +########### # Generic # ########### -# the direction that the language is written (ltr = left to right, rtl = right to left) +# the direction that the language is written (ltr=left to right, rtl = right to left) language.direction=ltr pdfPrompt=選擇 PDF 檔案 @@ -25,7 +25,7 @@ downloadPdf=下載 PDF text=文字 font=字型 selectFillter=-- 選擇 -- -pageNum=頁碼 +pageNum=頁碼 sizes.small=小 sizes.medium=中 sizes.large=大 @@ -42,6 +42,7 @@ red=紅色 green=綠色 blue=藍色 custom=自訂... +WorkInProgess=Work in progress, May not work or be buggy, Please report any ploblems! changedCredsMessage=憑證已變更! notAuthenticatedMessage=使用者未認證。 @@ -50,6 +51,29 @@ incorrectPasswordMessage=目前密碼不正確。 usernameExistsMessage=新使用者名稱已存在。 +############### +# Pipeline # +############### +pipeline.header=Pipeline Menu (Alpha) +pipeline.uploadButton=Upload Custom +pipeline.configureButton=Configure +pipeline.defaultOption=Custom +pipeline.submitButton=Submit + +###################### +# Pipeline Options # +###################### +pipelineOptions.header=Pipeline Configuration +pipelineOptions.pipelineNameLabel=Pipeline Name +pipelineOptions.saveSettings=Save Settings +pipelineOptions.pipelineNamePrompt=Enter pipeline name here +pipelineOptions.addOperationButton=Add operation +pipelineOptions.pipelineHeader=Pipeline: +pipelineOptions.saveButton=Download +pipelineOptions.validateButton=Validate + + + ############# # NAVBAR # @@ -92,7 +116,7 @@ account.title=帳戶設定 account.accountSettings=帳戶設定 account.adminSettings=管理設定 - 檢視和新增使用者 account.userControlSettings=使用者控制設定 -account.changeUsername=新使用者名稱 +account.changeUsername=修改使用者名稱 account.changeUsername=修改使用者名稱 account.password=確認密碼 account.oldPassword=舊密碼 @@ -120,7 +144,7 @@ adminUserSettings.actions=操作 adminUserSettings.apiUser=受限制的 API 使用者 adminUserSettings.webOnlyUser=僅使用網頁的使用者 adminUserSettings.demoUser=示範用途的使用者(無自訂設定) -adminUserSettings.forceChange = 強制使用者在登入時修改使用者名稱/密碼 +adminUserSettings.forceChange=強制使用者在登入時修改使用者名稱/密碼 adminUserSettings.submit=儲存 ############# @@ -144,7 +168,7 @@ merge.tags=合併,頁面操作,後端,伺服器端 home.split.title=分割 home.split.desc=將 PDF 分割為多個文件 -split.tags=頁面操作,劃分,多頁,剪下,伺服器端 +split.tags=頁面操作,劃分,多頁,剪下,伺服器端 home.rotate.title=旋轉 home.rotate.desc=輕鬆旋轉您的 PDF。 @@ -335,7 +359,7 @@ PdfToSinglePage.tags=單一頁面 home.showJS.title=顯示 JavaScript home.showJS.desc=搜尋並顯示嵌入 PDF 中的任何 JS(JavaScript) -showJS.tags=JS +showJS.tags=塗黑,隱藏,塗黑,黑色,標記,隱藏 home.autoRedact.title=自動塗黑 home.autoRedact.desc=根據輸入的文字自動塗黑 PDF 中的文字 @@ -521,16 +545,16 @@ scalePages.submit=送出 #certSign certSign.title=憑證簽章 certSign.header=使用您的憑證簽章(進行中) -certSign.selectPDF=選擇要簽章的 PDF 檔案: -certSign.selectKey=選擇您的私鑰文件(PKCS#8 格式,可能是 .pem 或 .der): -certSign.selectCert=選擇您的憑證文件(X.509 格式,可能是 .pem 或 .der): -certSign.selectP12=選擇您的 PKCS#12 金鑰庫文件(.p12 或 .pfx)(可選,如果提供,它應包含您的私鑰和憑證): +certSign.selectPDF=選擇要簽章的 PDF 檔案: +certSign.selectKey=選擇您的私鑰文件(PKCS#8 格式,可能是 .pem 或 .der): +certSign.selectCert=選擇您的憑證文件(X.509 格式,可能是 .pem 或 .der): +certSign.selectP12=選擇您的 PKCS#12 金鑰庫文件(.p12 或 .pfx)(可選,如果提供,它應包含您的私鑰和憑證): certSign.certType=憑證類型 -certSign.password=輸入您的金鑰庫或私鑰密碼(如果有): +certSign.password=輸入您的金鑰庫或私鑰密碼(如果有): certSign.showSig=顯示簽章 certSign.reason=原因 certSign.location=位置 -certSign.name=名稱 +certSign.name=名稱 certSign.submit=簽章 PDF @@ -636,7 +660,7 @@ compress.selectText.1=手動模式 - 從 1 到 4 compress.selectText.2=最佳化級別: compress.selectText.3=4(對於文字影像非常糟糕) compress.selectText.4=自動模式 - 自動調整品質以使 PDF 達到確定大小 -compress.selectText.5=預期的 PDF 大小(例如 25MB, 10.8MB, 25KB) +compress.selectText.5=預期的 PDF 大小(例如 25MB, 10.8MB, 25KB) compress.submit=壓縮 @@ -790,7 +814,7 @@ removePassword.submit=移除 #changeMetadata -changeMetadata.title=變更中繼資料 +changeMetadata.title=標題: changeMetadata.header=變更中繼資料 changeMetadata.selectText.1=請編輯您希望變更的變數 changeMetadata.selectText.2=刪除所有中繼資料 @@ -894,3 +918,13 @@ split-by-sections.vertical.label=垂直劃分 split-by-sections.horizontal.placeholder=輸入水平劃分的數量 split-by-sections.vertical.placeholder=輸入垂直劃分的數量 split-by-sections.submit=分割 PDF + + +#licenses +licenses.title=3rd Party Licenses +licenses.header=3rd Party Licenses +licenses.module=Module +licenses.version=Version +licenses.license=License + + diff --git a/src/main/resources/templates/fragments/footer.html b/src/main/resources/templates/fragments/footer.html index 8a79aa25..675cd7da 100644 --- a/src/main/resources/templates/fragments/footer.html +++ b/src/main/resources/templates/fragments/footer.html @@ -1,41 +1,57 @@ -
+
-
+
diff --git a/src/main/resources/templates/licenses.html b/src/main/resources/templates/licenses.html index e759f3ef..fc28ad1a 100644 --- a/src/main/resources/templates/licenses.html +++ b/src/main/resources/templates/licenses.html @@ -4,15 +4,15 @@ xmlns:th="http://www.thymeleaf.org"> + th:insert="~{fragments/common :: head(title=#{licenses.title}, header=#{licenses.title})}">