diff --git a/.gitignore b/.gitignore index 86a25aeb..ff9a3bc5 100644 --- a/.gitignore +++ b/.gitignore @@ -19,7 +19,7 @@ pipeline/ #### Stirling-PDF Files ### customFiles/ -config/ +configs/ watchedFolders/ diff --git a/src/main/java/stirling/software/SPDF/SPdfApplication.java b/src/main/java/stirling/software/SPDF/SPdfApplication.java index 68cf60fe..de53a0a9 100644 --- a/src/main/java/stirling/software/SPDF/SPdfApplication.java +++ b/src/main/java/stirling/software/SPDF/SPdfApplication.java @@ -15,6 +15,7 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe import jakarta.annotation.PostConstruct; import stirling.software.SPDF.utils.GeneralUtils; +import stirling.software.SPDF.config.ConfigInitializer; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; @SpringBootApplication @EnableWebSecurity() @@ -53,6 +54,7 @@ public class SPdfApplication { public static void main(String[] args) { SpringApplication app = new SpringApplication(SPdfApplication.class); + app.addInitializers(new ConfigInitializer()); if (Files.exists(Paths.get("configs/application.yml"))) { app.setDefaultProperties(Collections.singletonMap("spring.config.location", "file:configs/application.yml")); } else { diff --git a/src/main/java/stirling/software/SPDF/config/AppConfig.java b/src/main/java/stirling/software/SPDF/config/AppConfig.java index 4ae4b86d..42b3f49b 100644 --- a/src/main/java/stirling/software/SPDF/config/AppConfig.java +++ b/src/main/java/stirling/software/SPDF/config/AppConfig.java @@ -1,34 +1,30 @@ package stirling.software.SPDF.config; +import java.util.Arrays; + import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.env.Environment; +import stirling.software.SPDF.utils.PropertyConfigs; +import stirling.software.SPDF.model.ApplicationProperties; @Configuration public class AppConfig { - - @Value("${login.enabled:false}") - private boolean defaultLoginEnabled; - - @Value("${ui.homeName:Stirling PDF}") - private String defaultAppName; - - @Value("${ui.homeDescription:null}") - private String defaultHomeText; - - @Value("${ui.navbarName:Stirling PDF}") - private String defaultNavBarText; + @Autowired + ApplicationProperties applicationProperties; + @Bean(name = "loginEnabled") public boolean loginEnabled() { - return getBooleanValue("login.enabled", defaultLoginEnabled); + System.out.println(applicationProperties.toString()); + return applicationProperties.getSecurity().getEnableLogin(); } @Bean(name = "appName") public String appName() { - return getStringValue("APP_HOME_NAME", defaultAppName); + return applicationProperties.getUi().getHomeName(); } @Bean(name = "appVersion") @@ -39,30 +35,14 @@ public class AppConfig { @Bean(name = "homeText") public String homeText() { - return getStringValue("APP_HOME_DESCRIPTION", defaultHomeText); + return applicationProperties.getUi().getHomeDescription(); } + @Bean(name = "navBarText") public String navBarText() { - String navBarText = getStringValue("APP_NAVBAR_NAME", null); - if (navBarText == null) { - navBarText = getStringValue("APP_HOME_NAME", defaultNavBarText); - } - return navBarText; - } - - private boolean getBooleanValue(String key, boolean defaultValue) { - String value = System.getProperty(key); - if (value == null) - value = System.getenv(key); - return (value != null) ? Boolean.valueOf(value) : defaultValue; - } - - private String getStringValue(String key, String defaultValue) { - String value = System.getProperty(key); - if (value == null) - value = System.getenv(key); - return (value != null) ? value : defaultValue; + String defaultNavBar = applicationProperties.getUi().getNavbarName() != null ? applicationProperties.getUi().getNavbarName() : applicationProperties.getUi().getHomeName(); + return defaultNavBar; } @Bean(name = "rateLimit") diff --git a/src/main/java/stirling/software/SPDF/config/Beans.java b/src/main/java/stirling/software/SPDF/config/Beans.java index c22c42fe..43e6cb43 100644 --- a/src/main/java/stirling/software/SPDF/config/Beans.java +++ b/src/main/java/stirling/software/SPDF/config/Beans.java @@ -3,6 +3,7 @@ package stirling.software.SPDF.config; import java.time.Duration; import java.util.Locale; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.LocaleResolver; @@ -15,10 +16,14 @@ import io.github.bucket4j.Bandwidth; import io.github.bucket4j.Bucket; import io.github.bucket4j.Bucket4j; import io.github.bucket4j.Refill; +import stirling.software.SPDF.model.ApplicationProperties; @Configuration public class Beans implements WebMvcConfigurer { + @Autowired + ApplicationProperties applicationProperties; + @Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(localeChangeInterceptor()); @@ -35,10 +40,9 @@ public class Beans implements WebMvcConfigurer { @Bean public LocaleResolver localeResolver() { SessionLocaleResolver slr = new SessionLocaleResolver(); - - String appLocaleEnv = System.getProperty("APP_LOCALE"); - if (appLocaleEnv == null) - appLocaleEnv = System.getenv("APP_LOCALE"); + + + String appLocaleEnv = applicationProperties.getSystem().getDefaultLocale(); Locale defaultLocale = Locale.UK; // Fallback to UK locale if environment variable is not set if (appLocaleEnv != null && !appLocaleEnv.isEmpty()) { diff --git a/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java new file mode 100644 index 00000000..e86fd637 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/config/ConfigInitializer.java @@ -0,0 +1,43 @@ +package stirling.software.SPDF.config; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.springframework.context.ApplicationContextInitializer; +import org.springframework.context.ConfigurableApplicationContext; + +public class ConfigInitializer implements ApplicationContextInitializer { + + @Override + public void initialize(ConfigurableApplicationContext applicationContext) { + try { + ensureConfigExists(); + } catch (IOException e) { + throw new RuntimeException("Failed to initialize application configuration", e); + } + } + + public void ensureConfigExists() throws IOException { + // Define the path to the external config directory + Path destPath = Paths.get("configs", "application.yml"); + + // Check if the file already exists + if (Files.notExists(destPath)) { + // Ensure the destination directory exists + Files.createDirectories(destPath.getParent()); + + // Copy the resource from classpath to the external directory + try (InputStream in = getClass().getClassLoader().getResourceAsStream("application.yml.template")) { + if (in != null) { + Files.copy(in, destPath); + } else { + throw new FileNotFoundException("Resource file not found: application.yml.template"); + } + } + } + } + +} diff --git a/src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java b/src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java new file mode 100644 index 00000000..aabdf8c2 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/config/YamlPropertySourceFactory.java @@ -0,0 +1,23 @@ +package stirling.software.SPDF.config; + +import java.io.IOException; +import java.util.Properties; + +import org.springframework.core.env.PropertySource; +import org.springframework.core.io.support.EncodedResource; +import org.springframework.core.io.support.PropertySourceFactory; +import org.springframework.beans.factory.config.YamlPropertiesFactoryBean; +import org.springframework.core.env.PropertiesPropertySource; +public class YamlPropertySourceFactory implements PropertySourceFactory { + + @Override + public PropertySource createPropertySource(String name, EncodedResource encodedResource) + throws IOException { + YamlPropertiesFactoryBean factory = new YamlPropertiesFactoryBean(); + factory.setResources(encodedResource.getResource()); + + Properties properties = factory.getObject(); + + return new PropertiesPropertySource(encodedResource.getResource().getFilename(), properties); + } +} \ No newline at end of file diff --git a/src/main/java/stirling/software/SPDF/config/security/InitialSetup.java b/src/main/java/stirling/software/SPDF/config/security/InitialSetup.java index e4510167..2d7cdf54 100644 --- a/src/main/java/stirling/software/SPDF/config/security/InitialSetup.java +++ b/src/main/java/stirling/software/SPDF/config/security/InitialSetup.java @@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; import jakarta.annotation.PostConstruct; +import stirling.software.SPDF.model.ApplicationProperties; import stirling.software.SPDF.model.Role; import java.io.FileNotFoundException; @@ -20,95 +21,60 @@ import org.springframework.core.io.ClassPathResource; @Component public class InitialSetup { - @Autowired - private UserService userService; + @Autowired + private UserService userService; - @PostConstruct - public void init() { - if(!userService.hasUsers()) { - String initialUsername = System.getenv("INITIAL_USERNAME"); - String initialPassword = System.getenv("INITIAL_PASSWORD"); - if(initialUsername != null && initialPassword != null) { - userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId()); - } - - } - } - - - + @PostConstruct + public void init() { + if (!userService.hasUsers()) { + String initialUsername = System.getenv("INITIAL_USERNAME"); + String initialPassword = System.getenv("INITIAL_PASSWORD"); + if (initialUsername != null && initialPassword != null) { + userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId()); + } - @Value("${AutomaticallyGeneratedDoNotEdit.key:}") - private String secretKey; + } + } - @Autowired - private Environment environment; - - - public void ensureConfigExists() throws IOException { - // Define the path to the external config directory - Path destPath = Paths.get("configs", "application.yml"); + @Autowired + ApplicationProperties applicationProperties; - // Check if the file already exists - if (Files.notExists(destPath)) { - // Ensure the destination directory exists - Files.createDirectories(destPath.getParent()); + @PostConstruct + public void initSecretKey() throws IOException { + String secretKey = applicationProperties.getAutomaticallyGenerated().getKey(); + if (secretKey == null || secretKey.isEmpty()) { + secretKey = UUID.randomUUID().toString(); // Generating a random UUID as the secret key + saveKeyToConfig(secretKey); + } + } - // Copy the resource from classpath to the external directory - try (InputStream in = getClass().getClassLoader().getResourceAsStream("application.yml.template")) { - if (in != null) { - Files.copy(in, destPath); - } else { - throw new FileNotFoundException("Resource file not found: application.yml.template"); - } - } - } - } + private void saveKeyToConfig(String key) throws IOException { + Path path = Paths.get("configs", "application.yml"); // Target the configs/application.yml + List lines = Files.readAllLines(path); + boolean keyFound = false; - @PostConstruct - public void initSecretKey() throws IOException { - ensureConfigExists(); - if (secretKey == null || secretKey.isEmpty() || "placeholder".equals(secretKey)) { - secretKey = UUID.randomUUID().toString(); // Generating a random UUID as the secret key - saveKeyToConfig(secretKey); - } - } + // Search for the existing key to replace it or place to add it + for (int i = 0; i < lines.size(); i++) { + if (lines.get(i).startsWith("AutomaticallyGenerated:")) { + keyFound = true; + if (i + 1 < lines.size() && lines.get(i + 1).trim().startsWith("key:")) { + lines.set(i + 1, " key: " + key); + break; + } else { + lines.add(i + 1, " key: " + key); + break; + } + } + } - private void saveKeyToConfig(String key) throws IOException { - Path path = Paths.get("configs", "application.yml"); // Target the configs/application.yml - List lines = Files.readAllLines(path); - boolean keyFound = false; + // If the section doesn't exist, append it + if (!keyFound) { + lines.add("# Automatically Generated Settings (Do Not Edit Directly)"); + lines.add("AutomaticallyGenerated:"); + lines.add(" key: " + key); + } - // Search for the existing key to replace it or place to add it - for (int i = 0; i < lines.size(); i++) { - if (lines.get(i).startsWith("AutomaticallyGeneratedDoNotEdit:")) { - keyFound = true; - if (i + 1 < lines.size() && lines.get(i + 1).trim().startsWith("key:")) { - lines.set(i + 1, " key: " + key); - break; - } else { - lines.add(i + 1, " key: " + key); - break; - } - } - } - - // If the section doesn't exist, append it - if (!keyFound) { - lines.add("AutomaticallyGeneratedDoNotEdit:"); - lines.add(" key: " + key); - } - - // Add a comment (if not already added) - if (!lines.get(0).startsWith("# Automatically Generated Settings (Do Not Edit Directly)")) { - lines.add(0, "# Automatically Generated Settings (Do Not Edit Directly)"); - } - - // Write back to the file - Files.write(path, lines); - } - - - - -} + // Write back to the file + Files.write(path, lines); + } +} \ No newline at end of file diff --git a/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java b/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java new file mode 100644 index 00000000..b81dbbe1 --- /dev/null +++ b/src/main/java/stirling/software/SPDF/model/ApplicationProperties.java @@ -0,0 +1,307 @@ +package stirling.software.SPDF.model; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.PropertySource; + +import java.util.List; +import java.util.Optional; + +import stirling.software.SPDF.config.YamlPropertySourceFactory; + +@Configuration +@ConfigurationProperties(prefix = "") +@PropertySource(value = "file:./configs/application.yml", factory = YamlPropertySourceFactory.class) +public class ApplicationProperties { + private Security security; + private System system; + private Ui ui; + private Endpoints endpoints; + private Metrics metrics; + private AutomaticallyGenerated automaticallyGenerated; + + public Security getSecurity() { + return security != null ? security : new Security(); + } + + public void setSecurity(Security security) { + this.security = security; + } + + public System getSystem() { + return system != null ? system : new System(); + } + + public void setSystem(System system) { + this.system = system; + } + + public Ui getUi() { + return ui != null ? ui : new Ui(); + } + + public void setUi(Ui ui) { + this.ui = ui; + } + + public Endpoints getEndpoints() { + return endpoints != null ? endpoints : new Endpoints(); + } + + public void setEndpoints(Endpoints endpoints) { + this.endpoints = endpoints; + } + + public Metrics getMetrics() { + return metrics != null ? metrics : new Metrics(); + } + + public void setMetrics(Metrics metrics) { + this.metrics = metrics; + } + + public AutomaticallyGenerated getAutomaticallyGenerated() { + return automaticallyGenerated != null ? automaticallyGenerated : new AutomaticallyGenerated(); + } + + public void setAutomaticallyGenerated(AutomaticallyGenerated automaticallyGenerated) { + this.automaticallyGenerated = automaticallyGenerated; + } + + + @Override + public String toString() { + return "ApplicationProperties [security=" + security + ", system=" + system + ", ui=" + ui + ", endpoints=" + + endpoints + ", metrics=" + metrics + ", automaticallyGenerated=" + + automaticallyGenerated + "]"; + } + + + public static class Security { + private Boolean enableLogin; + private InitialLogin initialLogin; + private Boolean csrfDisabled; + + public Boolean getEnableLogin() { + return enableLogin; + } + + public void setEnableLogin(Boolean enableLogin) { + this.enableLogin = enableLogin; + } + + public InitialLogin getInitialLogin() { + return initialLogin != null ? initialLogin : new InitialLogin(); + } + + public void setInitialLogin(InitialLogin initialLogin) { + this.initialLogin = initialLogin; + } + + public Boolean getCsrfDisabled() { + return csrfDisabled; + } + + public void setCsrfDisabled(Boolean csrfDisabled) { + this.csrfDisabled = csrfDisabled; + } + + + @Override + public String toString() { + return "Security [enableLogin=" + enableLogin + ", initialLogin=" + initialLogin + ", csrfDisabled=" + + csrfDisabled + "]"; + } + + + public static class InitialLogin { + + private String username; + private String password; + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getPassword() { + return password; + } + + public void setPassword(String password) { + this.password = password; + } + + @Override + public String toString() { + return "InitialLogin [username=" + username + ", password=" + (password != null && !password.isEmpty() ? "MASKED" : "NULL") + "]"; + } + + + + } + } + + public static class System { + private String defaultLocale; + private Boolean googlevisibility; + private String rootPath; + private String customstaticFilePath; + private Integer maxFileSize; + + public String getDefaultLocale() { + return defaultLocale; + } + + public void setDefaultLocale(String defaultLocale) { + this.defaultLocale = defaultLocale; + } + + public Boolean getGooglevisibility() { + return googlevisibility; + } + + public void setGooglevisibility(Boolean googlevisibility) { + this.googlevisibility = googlevisibility; + } + + public String getRootPath() { + return rootPath; + } + + public void setRootPath(String rootPath) { + this.rootPath = rootPath; + } + + public String getCustomstaticFilePath() { + return customstaticFilePath; + } + + public void setCustomstaticFilePath(String customstaticFilePath) { + this.customstaticFilePath = customstaticFilePath; + } + + public Integer getMaxFileSize() { + return maxFileSize; + } + + public void setMaxFileSize(Integer maxFileSize) { + this.maxFileSize = maxFileSize; + } + + @Override + public String toString() { + return "System [defaultLocale=" + defaultLocale + ", googlevisibility=" + googlevisibility + ", rootPath=" + + rootPath + ", customstaticFilePath=" + customstaticFilePath + ", maxFileSize=" + maxFileSize + + "]"; + } + + + } + + public static class Ui { + private String homeName; + private String homeDescription; + private String navbarName; + + public String getHomeName() { + return homeName; + } + + public void setHomeName(String homeName) { + this.homeName = homeName; + } + + public String getHomeDescription() { + return homeDescription; + } + + public void setHomeDescription(String homeDescription) { + this.homeDescription = homeDescription; + } + + public String getNavbarName() { + return navbarName; + } + + public void setNavbarName(String navbarName) { + this.navbarName = navbarName; + } + + @Override + public String toString() { + return "Ui [homeName=" + homeName + ", homeDescription=" + homeDescription + ", navbarName=" + navbarName + + "]"; + } + + + } + + public static class Endpoints { + private List toRemove; + private List groupsToRemove; + + public List getToRemove() { + return toRemove; + } + + public void setToRemove(List toRemove) { + this.toRemove = toRemove; + } + + public List getGroupsToRemove() { + return groupsToRemove; + } + + public void setGroupsToRemove(List groupsToRemove) { + this.groupsToRemove = groupsToRemove; + } + + @Override + public String toString() { + return "Endpoints [toRemove=" + toRemove + ", groupsToRemove=" + groupsToRemove + "]"; + } + + + } + + public static class Metrics { + private Boolean enabled; + + public Boolean getEnabled() { + return enabled; + } + + public void setEnabled(Boolean enabled) { + this.enabled = enabled; + } + + @Override + public String toString() { + return "Metrics [enabled=" + enabled + "]"; + } + + + } + + public static class AutomaticallyGenerated { + private String key; + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + @Override + public String toString() { + return "AutomaticallyGenerated [key=" + (key != null && !key.isEmpty() ? "MASKED" : "NULL") + "]"; + } + + } +} diff --git a/src/main/java/stirling/software/SPDF/utils/PropertyConfigs.java b/src/main/java/stirling/software/SPDF/utils/PropertyConfigs.java new file mode 100644 index 00000000..8d12267c --- /dev/null +++ b/src/main/java/stirling/software/SPDF/utils/PropertyConfigs.java @@ -0,0 +1,49 @@ +package stirling.software.SPDF.utils; + +import java.util.List; + +public class PropertyConfigs { + + + public static boolean getBooleanValue(List keys, boolean defaultValue) { + for (String key : keys) { + String value = System.getProperty(key); + if (value == null) + value = System.getenv(key); + + if (value != null) + return Boolean.valueOf(value); + } + return defaultValue; + } + + public static String getStringValue(List keys, String defaultValue) { + for (String key : keys) { + String value = System.getProperty(key); + if (value == null) + value = System.getenv(key); + + if (value != null) + return value; + } + return defaultValue; + } + + + + + public static boolean getBooleanValue(String key, boolean defaultValue) { + String value = System.getProperty(key); + if (value == null) + value = System.getenv(key); + return (value != null) ? Boolean.valueOf(value) : defaultValue; + } + + public static String getStringValue(String key, String defaultValue) { + String value = System.getProperty(key); + if (value == null) + value = System.getenv(key); + return (value != null) ? value : defaultValue; + } + +} diff --git a/src/main/resources/application.yml.template b/src/main/resources/application.yml.template index eb2364bc..da5dd8d1 100644 --- a/src/main/resources/application.yml.template +++ b/src/main/resources/application.yml.template @@ -13,9 +13,9 @@ system: maxFileSize: 2000 # Set the maximum file size in MB ui: - #homeName: 'Stirling PDF Application' # Application's visible name - #homeDescription: "The best PDF tool. Short description or tagline." - #navbarName: 'Stirling Navbar' # Name displayed on the navigation bar + homeName: # Application's visible name + homeDescription: # Short description or tagline. + navbarName: # Name displayed on the navigation bar endpoints: toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages']) @@ -24,4 +24,3 @@ endpoints: metrics: enabled: true # 'true' to enable metric API endpoints, 'false' to disable - diff --git a/src/main/resources/messages_ar_AR.properties b/src/main/resources/messages_ar_AR.properties index 24129d2d..9d6a0a71 100644 --- a/src/main/resources/messages_ar_AR.properties +++ b/src/main/resources/messages_ar_AR.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_ca_CA.properties b/src/main/resources/messages_ca_CA.properties index 6319e5a0..99725d38 100644 --- a/src/main/resources/messages_ca_CA.properties +++ b/src/main/resources/messages_ca_CA.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_de_DE.properties b/src/main/resources/messages_de_DE.properties index 11cf141d..e1e31632 100644 --- a/src/main/resources/messages_de_DE.properties +++ b/src/main/resources/messages_de_DE.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_en_GB.properties b/src/main/resources/messages_en_GB.properties index bd81fad2..d1abe2d4 100644 --- a/src/main/resources/messages_en_GB.properties +++ b/src/main/resources/messages_en_GB.properties @@ -316,7 +316,7 @@ autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret autoRedact.useRegexLabel=Use Regex autoRedact.wholeWordSearchLabel=Whole Word Search autoRedact.customPaddingLabel=Custom Extra Padding -autoRedact.convertPDFToImageLabel=Convert PDF to Image +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) autoRedact.submitButton=Submit diff --git a/src/main/resources/messages_en_US.properties b/src/main/resources/messages_en_US.properties index cf228aad..96f082ff 100644 --- a/src/main/resources/messages_en_US.properties +++ b/src/main/resources/messages_en_US.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_es_ES.properties b/src/main/resources/messages_es_ES.properties index 35065a1a..73e2c53e 100644 --- a/src/main/resources/messages_es_ES.properties +++ b/src/main/resources/messages_es_ES.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Posición addPageNumbers.selectText.4=Número de inicio addPageNumbers.selectText.5=Páginas a numerar addPageNumbers.selectText.6=Texto personalizado -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_eu_ES.properties b/src/main/resources/messages_eu_ES.properties index 22703f65..554bfad2 100644 --- a/src/main/resources/messages_eu_ES.properties +++ b/src/main/resources/messages_eu_ES.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_fr_FR.properties b/src/main/resources/messages_fr_FR.properties index 521bd784..1f3bcc2c 100644 --- a/src/main/resources/messages_fr_FR.properties +++ b/src/main/resources/messages_fr_FR.properties @@ -299,11 +299,33 @@ home.showJS.title=Afficher le JavaScript home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF. showJS.tags=afficher,javascript,js +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=afficher,javascript,js + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Afficher le JavaScript showJS.header=Afficher le JavaScript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Numéro de départ addPageNumbers.selectText.5=Pages à numéroter addPageNumbers.selectText.6=Texte personnalisé -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_it_IT.properties b/src/main/resources/messages_it_IT.properties index 17f06989..aed51bb0 100644 --- a/src/main/resources/messages_it_IT.properties +++ b/src/main/resources/messages_it_IT.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_ja_JP.properties b/src/main/resources/messages_ja_JP.properties index 534523c8..b9e2506a 100644 --- a/src/main/resources/messages_ja_JP.properties +++ b/src/main/resources/messages_ja_JP.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_ko_KR.properties b/src/main/resources/messages_ko_KR.properties index 2ca0e8e1..5b5fbd48 100644 --- a/src/main/resources/messages_ko_KR.properties +++ b/src/main/resources/messages_ko_KR.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_nl_NL.properties b/src/main/resources/messages_nl_NL.properties index fae05b89..e3953ed3 100644 --- a/src/main/resources/messages_nl_NL.properties +++ b/src/main/resources/messages_nl_NL.properties @@ -299,11 +299,33 @@ home.showJS.title=Toon Javascript home.showJS.desc=Zoekt en toont ieder script dat in een PDF is geïnjecteerd showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Toon Javascript showJS.header=Toon Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Positie addPageNumbers.selectText.4=Startnummer addPageNumbers.selectText.5=Pagina''s om te nummeren addPageNumbers.selectText.6=Aangepaste tekst -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_pl_PL.properties b/src/main/resources/messages_pl_PL.properties index d327b9e7..7cd0d36c 100644 --- a/src/main/resources/messages_pl_PL.properties +++ b/src/main/resources/messages_pl_PL.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_pt_BR.properties b/src/main/resources/messages_pt_BR.properties index 79f9dc18..c9b1807d 100644 --- a/src/main/resources/messages_pt_BR.properties +++ b/src/main/resources/messages_pt_BR.properties @@ -299,11 +299,33 @@ home.showJS.title=Mostrar Javascript home.showJS.desc=Procura e exibe qualquer JavaScript injetado em um PDF showJS.tags=JavaScript +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JavaScript + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Exibir JavaScript showJS.header=Exibir JavaScript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Posição addPageNumbers.selectText.4=Número Inicial addPageNumbers.selectText.5=Páginas a Numerar addPageNumbers.selectText.6=Texto Personalizado -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_ro_RO.properties b/src/main/resources/messages_ro_RO.properties index 11c66c75..9a49a2ff 100644 --- a/src/main/resources/messages_ro_RO.properties +++ b/src/main/resources/messages_ro_RO.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_ru_RU.properties b/src/main/resources/messages_ru_RU.properties index af466cad..869a74b8 100644 --- a/src/main/resources/messages_ru_RU.properties +++ b/src/main/resources/messages_ru_RU.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_sv_SE.properties b/src/main/resources/messages_sv_SE.properties index 49a57919..769c3d9b 100644 --- a/src/main/resources/messages_sv_SE.properties +++ b/src/main/resources/messages_sv_SE.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n} diff --git a/src/main/resources/messages_zh_CN.properties b/src/main/resources/messages_zh_CN.properties index 5d1d1c1d..6cb2ef35 100644 --- a/src/main/resources/messages_zh_CN.properties +++ b/src/main/resources/messages_zh_CN.properties @@ -299,11 +299,33 @@ home.showJS.title=Show Javascript home.showJS.desc=Searches and displays any JS injected into a PDF showJS.tags=JS +########################## +### TODO: Translate ### +########################## +home.autoRedact.title=Auto Redact +home.autoRedact.desc=Auto Redacts(Blacks out) text in a PDF based on input text +showJS.tags=JS + ########################### # # # WEB PAGES # # # ########################### +#auto-redact +########################## +### TODO: Translate ### +########################## +autoRedact.title=Auto Redact +autoRedact.header=Auto Redact +autoRedact.textsToRedactLabel=Text to Redact (line-separated) +autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret +autoRedact.useRegexLabel=Use Regex +autoRedact.wholeWordSearchLabel=Whole Word Search +autoRedact.customPaddingLabel=Custom Extra Padding +autoRedact.convertPDFToImageLabel=Convert PDF to PDF-Image (Used to remove text behind the box) +autoRedact.submitButton=Submit + + #showJS showJS.title=Show Javascript showJS.header=Show Javascript @@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position addPageNumbers.selectText.4=Starting Number addPageNumbers.selectText.5=Pages to Number addPageNumbers.selectText.6=Custom Text -########################## -### TODO: Translate ### -########################## addPageNumbers.customTextDesc=Custom Text addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}