configs and app setup stuff
This commit is contained in:
parent
2053a6950d
commit
d749b63549
28 changed files with 875 additions and 179 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -19,7 +19,7 @@ pipeline/
|
||||||
|
|
||||||
#### Stirling-PDF Files ###
|
#### Stirling-PDF Files ###
|
||||||
customFiles/
|
customFiles/
|
||||||
config/
|
configs/
|
||||||
watchedFolders/
|
watchedFolders/
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ import org.springframework.security.config.annotation.web.configuration.EnableWe
|
||||||
|
|
||||||
import jakarta.annotation.PostConstruct;
|
import jakarta.annotation.PostConstruct;
|
||||||
import stirling.software.SPDF.utils.GeneralUtils;
|
import stirling.software.SPDF.utils.GeneralUtils;
|
||||||
|
import stirling.software.SPDF.config.ConfigInitializer;
|
||||||
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableWebSecurity()
|
@EnableWebSecurity()
|
||||||
|
@ -53,6 +54,7 @@ public class SPdfApplication {
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
SpringApplication app = new SpringApplication(SPdfApplication.class);
|
SpringApplication app = new SpringApplication(SPdfApplication.class);
|
||||||
|
app.addInitializers(new ConfigInitializer());
|
||||||
if (Files.exists(Paths.get("configs/application.yml"))) {
|
if (Files.exists(Paths.get("configs/application.yml"))) {
|
||||||
app.setDefaultProperties(Collections.singletonMap("spring.config.location", "file:configs/application.yml"));
|
app.setDefaultProperties(Collections.singletonMap("spring.config.location", "file:configs/application.yml"));
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1,34 +1,30 @@
|
||||||
package stirling.software.SPDF.config;
|
package stirling.software.SPDF.config;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
|
||||||
|
import stirling.software.SPDF.utils.PropertyConfigs;
|
||||||
|
import stirling.software.SPDF.model.ApplicationProperties;
|
||||||
@Configuration
|
@Configuration
|
||||||
public class AppConfig {
|
public class AppConfig {
|
||||||
|
|
||||||
@Value("${login.enabled:false}")
|
@Autowired
|
||||||
private boolean defaultLoginEnabled;
|
ApplicationProperties applicationProperties;
|
||||||
|
|
||||||
@Value("${ui.homeName:Stirling PDF}")
|
|
||||||
private String defaultAppName;
|
|
||||||
|
|
||||||
@Value("${ui.homeDescription:null}")
|
|
||||||
private String defaultHomeText;
|
|
||||||
|
|
||||||
@Value("${ui.navbarName:Stirling PDF}")
|
|
||||||
private String defaultNavBarText;
|
|
||||||
|
|
||||||
@Bean(name = "loginEnabled")
|
@Bean(name = "loginEnabled")
|
||||||
public boolean loginEnabled() {
|
public boolean loginEnabled() {
|
||||||
return getBooleanValue("login.enabled", defaultLoginEnabled);
|
System.out.println(applicationProperties.toString());
|
||||||
|
return applicationProperties.getSecurity().getEnableLogin();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(name = "appName")
|
@Bean(name = "appName")
|
||||||
public String appName() {
|
public String appName() {
|
||||||
return getStringValue("APP_HOME_NAME", defaultAppName);
|
return applicationProperties.getUi().getHomeName();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(name = "appVersion")
|
@Bean(name = "appVersion")
|
||||||
|
@ -39,30 +35,14 @@ public class AppConfig {
|
||||||
|
|
||||||
@Bean(name = "homeText")
|
@Bean(name = "homeText")
|
||||||
public String homeText() {
|
public String homeText() {
|
||||||
return getStringValue("APP_HOME_DESCRIPTION", defaultHomeText);
|
return applicationProperties.getUi().getHomeDescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@Bean(name = "navBarText")
|
@Bean(name = "navBarText")
|
||||||
public String navBarText() {
|
public String navBarText() {
|
||||||
String navBarText = getStringValue("APP_NAVBAR_NAME", null);
|
String defaultNavBar = applicationProperties.getUi().getNavbarName() != null ? applicationProperties.getUi().getNavbarName() : applicationProperties.getUi().getHomeName();
|
||||||
if (navBarText == null) {
|
return defaultNavBar;
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Bean(name = "rateLimit")
|
@Bean(name = "rateLimit")
|
||||||
|
|
|
@ -3,6 +3,7 @@ package stirling.software.SPDF.config;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.web.servlet.LocaleResolver;
|
import org.springframework.web.servlet.LocaleResolver;
|
||||||
|
@ -15,10 +16,14 @@ import io.github.bucket4j.Bandwidth;
|
||||||
import io.github.bucket4j.Bucket;
|
import io.github.bucket4j.Bucket;
|
||||||
import io.github.bucket4j.Bucket4j;
|
import io.github.bucket4j.Bucket4j;
|
||||||
import io.github.bucket4j.Refill;
|
import io.github.bucket4j.Refill;
|
||||||
|
import stirling.software.SPDF.model.ApplicationProperties;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
public class Beans implements WebMvcConfigurer {
|
public class Beans implements WebMvcConfigurer {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
ApplicationProperties applicationProperties;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addInterceptors(InterceptorRegistry registry) {
|
public void addInterceptors(InterceptorRegistry registry) {
|
||||||
registry.addInterceptor(localeChangeInterceptor());
|
registry.addInterceptor(localeChangeInterceptor());
|
||||||
|
@ -36,9 +41,8 @@ public class Beans implements WebMvcConfigurer {
|
||||||
public LocaleResolver localeResolver() {
|
public LocaleResolver localeResolver() {
|
||||||
SessionLocaleResolver slr = new SessionLocaleResolver();
|
SessionLocaleResolver slr = new SessionLocaleResolver();
|
||||||
|
|
||||||
String appLocaleEnv = System.getProperty("APP_LOCALE");
|
|
||||||
if (appLocaleEnv == null)
|
String appLocaleEnv = applicationProperties.getSystem().getDefaultLocale();
|
||||||
appLocaleEnv = System.getenv("APP_LOCALE");
|
|
||||||
Locale defaultLocale = Locale.UK; // Fallback to UK locale if environment variable is not set
|
Locale defaultLocale = Locale.UK; // Fallback to UK locale if environment variable is not set
|
||||||
|
|
||||||
if (appLocaleEnv != null && !appLocaleEnv.isEmpty()) {
|
if (appLocaleEnv != null && !appLocaleEnv.isEmpty()) {
|
||||||
|
|
|
@ -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<ConfigurableApplicationContext> {
|
||||||
|
|
||||||
|
@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");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -6,6 +6,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import jakarta.annotation.PostConstruct;
|
import jakarta.annotation.PostConstruct;
|
||||||
|
import stirling.software.SPDF.model.ApplicationProperties;
|
||||||
import stirling.software.SPDF.model.Role;
|
import stirling.software.SPDF.model.Role;
|
||||||
|
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
|
@ -25,50 +26,23 @@ public class InitialSetup {
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void init() {
|
public void init() {
|
||||||
if(!userService.hasUsers()) {
|
if (!userService.hasUsers()) {
|
||||||
String initialUsername = System.getenv("INITIAL_USERNAME");
|
String initialUsername = System.getenv("INITIAL_USERNAME");
|
||||||
String initialPassword = System.getenv("INITIAL_PASSWORD");
|
String initialPassword = System.getenv("INITIAL_PASSWORD");
|
||||||
if(initialUsername != null && initialPassword != null) {
|
if (initialUsername != null && initialPassword != null) {
|
||||||
userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId());
|
userService.saveUser(initialUsername, initialPassword, Role.ADMIN.getRoleId());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Value("${AutomaticallyGeneratedDoNotEdit.key:}")
|
|
||||||
private String secretKey;
|
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private Environment environment;
|
ApplicationProperties applicationProperties;
|
||||||
|
|
||||||
|
|
||||||
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");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
public void initSecretKey() throws IOException {
|
public void initSecretKey() throws IOException {
|
||||||
ensureConfigExists();
|
String secretKey = applicationProperties.getAutomaticallyGenerated().getKey();
|
||||||
if (secretKey == null || secretKey.isEmpty() || "placeholder".equals(secretKey)) {
|
if (secretKey == null || secretKey.isEmpty()) {
|
||||||
secretKey = UUID.randomUUID().toString(); // Generating a random UUID as the secret key
|
secretKey = UUID.randomUUID().toString(); // Generating a random UUID as the secret key
|
||||||
saveKeyToConfig(secretKey);
|
saveKeyToConfig(secretKey);
|
||||||
}
|
}
|
||||||
|
@ -81,7 +55,7 @@ public class InitialSetup {
|
||||||
|
|
||||||
// Search for the existing key to replace it or place to add it
|
// Search for the existing key to replace it or place to add it
|
||||||
for (int i = 0; i < lines.size(); i++) {
|
for (int i = 0; i < lines.size(); i++) {
|
||||||
if (lines.get(i).startsWith("AutomaticallyGeneratedDoNotEdit:")) {
|
if (lines.get(i).startsWith("AutomaticallyGenerated:")) {
|
||||||
keyFound = true;
|
keyFound = true;
|
||||||
if (i + 1 < lines.size() && lines.get(i + 1).trim().startsWith("key:")) {
|
if (i + 1 < lines.size() && lines.get(i + 1).trim().startsWith("key:")) {
|
||||||
lines.set(i + 1, " key: " + key);
|
lines.set(i + 1, " key: " + key);
|
||||||
|
@ -95,20 +69,12 @@ public class InitialSetup {
|
||||||
|
|
||||||
// If the section doesn't exist, append it
|
// If the section doesn't exist, append it
|
||||||
if (!keyFound) {
|
if (!keyFound) {
|
||||||
lines.add("AutomaticallyGeneratedDoNotEdit:");
|
lines.add("# Automatically Generated Settings (Do Not Edit Directly)");
|
||||||
|
lines.add("AutomaticallyGenerated:");
|
||||||
lines.add(" key: " + key);
|
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
|
// Write back to the file
|
||||||
Files.write(path, lines);
|
Files.write(path, lines);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -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<String> toRemove;
|
||||||
|
private List<String> groupsToRemove;
|
||||||
|
|
||||||
|
public List<String> getToRemove() {
|
||||||
|
return toRemove;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToRemove(List<String> toRemove) {
|
||||||
|
this.toRemove = toRemove;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getGroupsToRemove() {
|
||||||
|
return groupsToRemove;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGroupsToRemove(List<String> 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") + "]";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
package stirling.software.SPDF.utils;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class PropertyConfigs {
|
||||||
|
|
||||||
|
|
||||||
|
public static boolean getBooleanValue(List<String> 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<String> 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -13,9 +13,9 @@ system:
|
||||||
maxFileSize: 2000 # Set the maximum file size in MB
|
maxFileSize: 2000 # Set the maximum file size in MB
|
||||||
|
|
||||||
ui:
|
ui:
|
||||||
#homeName: 'Stirling PDF Application' # Application's visible name
|
homeName: # Application's visible name
|
||||||
#homeDescription: "The best PDF tool. Short description or tagline."
|
homeDescription: # Short description or tagline.
|
||||||
#navbarName: 'Stirling Navbar' # Name displayed on the navigation bar
|
navbarName: # Name displayed on the navigation bar
|
||||||
|
|
||||||
endpoints:
|
endpoints:
|
||||||
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
toRemove: [] # List endpoints to disable (e.g. ['img-to-pdf', 'remove-pages'])
|
||||||
|
@ -24,4 +24,3 @@ endpoints:
|
||||||
metrics:
|
metrics:
|
||||||
enabled: true # 'true' to enable metric API endpoints, 'false' to disable
|
enabled: true # 'true' to enable metric API endpoints, 'false' to disable
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -316,7 +316,7 @@ autoRedact.textsToRedactPlaceholder=e.g. \nConfidential \nTop-Secret
|
||||||
autoRedact.useRegexLabel=Use Regex
|
autoRedact.useRegexLabel=Use Regex
|
||||||
autoRedact.wholeWordSearchLabel=Whole Word Search
|
autoRedact.wholeWordSearchLabel=Whole Word Search
|
||||||
autoRedact.customPaddingLabel=Custom Extra Padding
|
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
|
autoRedact.submitButton=Submit
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Posición
|
||||||
addPageNumbers.selectText.4=Número de inicio
|
addPageNumbers.selectText.4=Número de inicio
|
||||||
addPageNumbers.selectText.5=Páginas a numerar
|
addPageNumbers.selectText.5=Páginas a numerar
|
||||||
addPageNumbers.selectText.6=Texto personalizado
|
addPageNumbers.selectText.6=Texto personalizado
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Afficher le JavaScript
|
||||||
home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF.
|
home.showJS.desc=Recherche et affiche tout JavaScript injecté dans un PDF.
|
||||||
showJS.tags=afficher,javascript,js
|
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 #
|
# 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
|
||||||
showJS.title=Afficher le JavaScript
|
showJS.title=Afficher le JavaScript
|
||||||
showJS.header=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.4=Numéro de départ
|
||||||
addPageNumbers.selectText.5=Pages à numéroter
|
addPageNumbers.selectText.5=Pages à numéroter
|
||||||
addPageNumbers.selectText.6=Texte personnalisé
|
addPageNumbers.selectText.6=Texte personnalisé
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Toon Javascript
|
||||||
home.showJS.desc=Zoekt en toont ieder script dat in een PDF is geïnjecteerd
|
home.showJS.desc=Zoekt en toont ieder script dat in een PDF is geïnjecteerd
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Toon Javascript
|
showJS.title=Toon Javascript
|
||||||
showJS.header=Toon Javascript
|
showJS.header=Toon Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Positie
|
||||||
addPageNumbers.selectText.4=Startnummer
|
addPageNumbers.selectText.4=Startnummer
|
||||||
addPageNumbers.selectText.5=Pagina''s om te nummeren
|
addPageNumbers.selectText.5=Pagina''s om te nummeren
|
||||||
addPageNumbers.selectText.6=Aangepaste tekst
|
addPageNumbers.selectText.6=Aangepaste tekst
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Mostrar Javascript
|
||||||
home.showJS.desc=Procura e exibe qualquer JavaScript injetado em um PDF
|
home.showJS.desc=Procura e exibe qualquer JavaScript injetado em um PDF
|
||||||
showJS.tags=JavaScript
|
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 #
|
# 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
|
||||||
showJS.title=Exibir JavaScript
|
showJS.title=Exibir JavaScript
|
||||||
showJS.header=Exibir JavaScript
|
showJS.header=Exibir JavaScript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Posição
|
||||||
addPageNumbers.selectText.4=Número Inicial
|
addPageNumbers.selectText.4=Número Inicial
|
||||||
addPageNumbers.selectText.5=Páginas a Numerar
|
addPageNumbers.selectText.5=Páginas a Numerar
|
||||||
addPageNumbers.selectText.6=Texto Personalizado
|
addPageNumbers.selectText.6=Texto Personalizado
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
|
@ -299,11 +299,33 @@ home.showJS.title=Show Javascript
|
||||||
home.showJS.desc=Searches and displays any JS injected into a PDF
|
home.showJS.desc=Searches and displays any JS injected into a PDF
|
||||||
showJS.tags=JS
|
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 #
|
# 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
|
||||||
showJS.title=Show Javascript
|
showJS.title=Show Javascript
|
||||||
showJS.header=Show Javascript
|
showJS.header=Show Javascript
|
||||||
|
@ -374,9 +396,6 @@ addPageNumbers.selectText.3=Position
|
||||||
addPageNumbers.selectText.4=Starting Number
|
addPageNumbers.selectText.4=Starting Number
|
||||||
addPageNumbers.selectText.5=Pages to Number
|
addPageNumbers.selectText.5=Pages to Number
|
||||||
addPageNumbers.selectText.6=Custom Text
|
addPageNumbers.selectText.6=Custom Text
|
||||||
##########################
|
|
||||||
### TODO: Translate ###
|
|
||||||
##########################
|
|
||||||
addPageNumbers.customTextDesc=Custom Text
|
addPageNumbers.customTextDesc=Custom Text
|
||||||
addPageNumbers.numberPagesDesc=Which pages to number, default 'all', also accepts 1-5 or 2,5,9 etc
|
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}
|
addPageNumbers.customNumberDesc=Defaults to {n}, also accepts 'Page {n} of {total}', 'Text-{n}', '{filename}-{n}
|
||||||
|
|
Loading…
Reference in a new issue