diff --git a/pom.xml b/pom.xml
index 9f74140..aac1b80 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,16 +3,21 @@
org.jenkins-ci.pluginsplugin
- 1.532.3
+ 4.13
+
+ 2.164.1
+ 8
+
+
persistent-parameterPersistent Parameter PluginString, text, boolean and choice parameters with default values taken from the previous build (if any).http://wiki.jenkins-ci.org/display/JENKINS/Persistent+Parameter+Plugin1.3-SNAPSHOThpi
-
+
MIT License
@@ -62,19 +67,16 @@
org.apache.maven.pluginsmaven-release-plugin
- 2.5
+ 2.5.3
-
- org.apache.maven.scm
- maven-scm-provider-gitexe
- 1.9.1
-
+
+ org.apache.maven.scm
+ maven-scm-provider-gitexe
+ 1.11.2
+
-
-
-
-
+
-
+
diff --git a/src/main/java/com/gem/persistentparameter/CurrentProject.java b/src/main/java/com/gem/persistentparameter/CurrentProject.java
index bcd94d1..7574dad 100644
--- a/src/main/java/com/gem/persistentparameter/CurrentProject.java
+++ b/src/main/java/com/gem/persistentparameter/CurrentProject.java
@@ -40,7 +40,7 @@ public class CurrentProject
}
public static ParameterValue getLastValue(SimpleParameterDefinition parameter, boolean successfulOnly) {
- Job job = CurrentProject.getCurrentProject(parameter);
+ Job,?> job = CurrentProject.getCurrentProject(parameter);
if (job != null)
{
Run ,?> lastBuild = (successfulOnly ? job.getLastSuccessfulBuild() : job.getLastBuild());
diff --git a/src/main/java/com/gem/persistentparameter/PersistentBooleanParameterDefinition.java b/src/main/java/com/gem/persistentparameter/PersistentBooleanParameterDefinition.java
index 6709823..22faeec 100644
--- a/src/main/java/com/gem/persistentparameter/PersistentBooleanParameterDefinition.java
+++ b/src/main/java/com/gem/persistentparameter/PersistentBooleanParameterDefinition.java
@@ -24,21 +24,17 @@
package com.gem.persistentparameter;
import hudson.Extension;
-import hudson.model.ParameterValue;
-import hudson.model.SimpleParameterDefinition;
-import hudson.model.AbstractBuild;
-import hudson.model.AbstractProject;
import hudson.model.BooleanParameterValue;
import hudson.model.ParameterDefinition;
+import hudson.model.ParameterValue;
+import hudson.model.SimpleParameterDefinition;
import net.sf.json.JSONObject;
-
+import org.jenkinsci.Symbol;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
/**
* {@link ParameterDefinition} that is either 'true' or 'false'.
- *
- * @author huybrechts
*/
public class PersistentBooleanParameterDefinition extends SimpleParameterDefinition
{
@@ -70,17 +66,9 @@ public ParameterDefinition copyWithDefaultValue(ParameterValue defaultValue)
public boolean isDefaultValue()
{
- try
- {
- ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
- return ((BooleanParameterValue)lastValue).value;
- }
- catch(Exception ex)
- {
- }
return defaultValue;
}
-
+
public boolean isSuccessfulOnly()
{
return successfulOnly;
@@ -94,18 +82,22 @@ public ParameterValue createValue(StaplerRequest req, JSONObject jo)
return value;
}
+ @Override
public ParameterValue createValue(String value)
{
- return new BooleanParameterValue(getName(), Boolean.valueOf(value), getDescription());
+ return new BooleanParameterValue(getName(), Boolean.parseBoolean(value), getDescription());
}
@Override
public BooleanParameterValue getDefaultParameterValue()
{
- return new BooleanParameterValue(getName(), isDefaultValue(), getDescription());
+ ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
+ boolean value = (lastValue instanceof BooleanParameterValue) ? ((BooleanParameterValue)lastValue).getValue() : defaultValue;
+ return new BooleanParameterValue(getName(), value, getDescription());
}
@Extension
+ @Symbol({"persistentBoolean", "persistentBooleanParam"})
public static class DescriptorImpl extends ParameterDescriptor
{
@Override
@@ -120,5 +112,4 @@ public String getHelpFile()
return "/help/parameter/boolean.html";
}
}
-
}
diff --git a/src/main/java/com/gem/persistentparameter/PersistentChoiceParameterDefinition.java b/src/main/java/com/gem/persistentparameter/PersistentChoiceParameterDefinition.java
index effc329..ceeb8a1 100644
--- a/src/main/java/com/gem/persistentparameter/PersistentChoiceParameterDefinition.java
+++ b/src/main/java/com/gem/persistentparameter/PersistentChoiceParameterDefinition.java
@@ -1,54 +1,51 @@
package com.gem.persistentparameter;
import hudson.Extension;
+import hudson.model.ParameterDefinition;
import hudson.model.ParameterValue;
import hudson.model.SimpleParameterDefinition;
-import hudson.model.AbstractBuild;
-import hudson.model.AbstractProject;
-import hudson.model.ParameterDefinition;
import hudson.model.StringParameterValue;
import hudson.util.FormValidation;
-
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-
+import java.util.Objects;
+import java.util.stream.Collectors;
+import javax.annotation.Nonnull;
import net.sf.json.JSONObject;
-
import org.apache.commons.lang.StringUtils;
+import org.jenkinsci.Symbol;
+import org.kohsuke.accmod.Restricted;
+import org.kohsuke.accmod.restrictions.NoExternalUse;
import org.kohsuke.stapler.DataBoundConstructor;
+import org.kohsuke.stapler.DataBoundSetter;
import org.kohsuke.stapler.QueryParameter;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.export.Exported;
-/**
- * @author huybrechts
- */
public class PersistentChoiceParameterDefinition extends SimpleParameterDefinition
{
private static final long serialVersionUID = -2000203724582104709L;
- public static final String CHOICES_DELIMETER = "\\r?\\n";
+ public static final String CHOICES_DELIMITER = "\\r?\\n";
+ @Deprecated
+ public static final String CHOICES_DELIMETER = CHOICES_DELIMITER;
- private final List choices;
+ private /*semi-final*/ List choices;
private final String defaultValue;
- private final boolean successfulOnly;
+ private /*semi-final*/ boolean successfulOnly;
public static boolean areValidChoices(String choices)
{
String strippedChoices = choices.trim();
- return !StringUtils.isEmpty(strippedChoices) && strippedChoices.split(CHOICES_DELIMETER).length > 0;
+ return !strippedChoices.isEmpty() && strippedChoices.split(CHOICES_DELIMITER).length > 0;
}
- @DataBoundConstructor
- public PersistentChoiceParameterDefinition(String name, String choices, boolean successfulOnly, String description)
+ public PersistentChoiceParameterDefinition(@Nonnull String name, @Nonnull String choices, boolean successfulOnly, String description)
{
- super(name, description);
- this.choices = new ArrayList(Arrays.asList(choices.split(CHOICES_DELIMETER)));
- defaultValue = null;
- this.successfulOnly = successfulOnly;
+ this(name, splitChoices(choices), null, successfulOnly, description);
}
- private PersistentChoiceParameterDefinition(String name, List choices, String defaultValue, boolean successfulOnly, String description)
+ private PersistentChoiceParameterDefinition(@Nonnull String name, @Nonnull List choices, String defaultValue, boolean successfulOnly, String description)
{
super(name, description);
this.choices = choices;
@@ -56,13 +53,62 @@ private PersistentChoiceParameterDefinition(String name, List choices, S
this.successfulOnly = successfulOnly;
}
+ /**
+ * Databound constructor for reflective instantiation.
+ *
+ * @param name parameter name
+ * @param description parameter description
+ */
+ @DataBoundConstructor
+ @Restricted(NoExternalUse.class) // there are specific constructors with String and List arguments for 'choices'
+ public PersistentChoiceParameterDefinition(String name, String description)
+ {
+ super(name, description);
+ this.choices = new ArrayList<>();
+ this.defaultValue = null;
+ this.successfulOnly = false;
+ }
+
+ /**
+ * Set the list of choices. Legal arguments are String (in which case the arguments gets split into lines) and Collection which sets the list of
+ * legal parameters to the String representations of the argument's non-null entries.
+ *
+ * See JENKINS-26143 for background.
+ *
+ * This retains the compatibility with the legacy String 'choices' parameter, while supporting the list type as generated by the snippet generator.
+ *
+ * @param choices String or Collection representing this parameter definition's possible values.
+ */
+ @DataBoundSetter
+ @Restricted(NoExternalUse.class) // this is terrible enough without being used anywhere
+ public void setChoices(Object choices)
+ {
+ if(choices instanceof String)
+ {
+ this.choices = splitChoices((String)choices);
+ }
+ else if(choices instanceof List)
+ {
+ this.choices = ((List>)choices).stream().filter(Objects::nonNull).map(Objects::toString).collect(Collectors.toList());
+ }
+ else
+ {
+ throw new IllegalArgumentException("Expected String or List, but got " + choices.getClass().getName());
+ }
+ }
+
+ private static List splitChoices(String choices)
+ {
+ return Arrays.asList(choices.split(CHOICES_DELIMITER));
+ }
+
@Override
public ParameterDefinition copyWithDefaultValue(ParameterValue defaultValue)
{
if(defaultValue instanceof StringParameterValue)
{
StringParameterValue value = (StringParameterValue)defaultValue;
- return new PersistentChoiceParameterDefinition(getName(), getChoices(), value.value, successfulOnly, getDescription());
+ return new PersistentChoiceParameterDefinition(getName(), getChoices(), (String)value.getValue(), successfulOnly, getDescription());
}
else
{
@@ -73,30 +119,18 @@ public ParameterDefinition copyWithDefaultValue(ParameterValue defaultValue)
@Exported
public List getChoices()
{
- String def = defaultValue;
- try
- {
- ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
- def = ((StringParameterValue)lastValue).value;
- }
- catch(Exception ex)
- {
- }
-
- if(def != null && choices.indexOf(def) != 0)
- {
- List c = new ArrayList(choices);
- c.remove(def);
- c.add(0, def);
- return c;
- }
-
return choices;
}
public String getChoicesText()
{
- return StringUtils.join(getChoices(), "\n");
+ return StringUtils.join(choices, "\n");
+ }
+
+ @DataBoundSetter
+ public void setSuccessfulOnly(boolean successfulOnly)
+ {
+ this.successfulOnly = successfulOnly;
}
public boolean isSuccessfulOnly()
@@ -107,16 +141,38 @@ public boolean isSuccessfulOnly()
@Override
public StringParameterValue getDefaultParameterValue()
{
- return new StringParameterValue(getName(), defaultValue == null ? getChoices().get(0) : defaultValue, getDescription());
+ ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
+ String value = (lastValue != null) ? (String)((StringParameterValue)lastValue).getValue() : defaultValue;
+
+ if(value == null)
+ {
+ if(choices.isEmpty())
+ {
+ return null;
+ }
+ value = choices.get(0);
+ }
+
+ return new StringParameterValue(getName(), value, getDescription());
}
private StringParameterValue checkValue(StringParameterValue value)
{
- if(!choices.contains(value.value))
- throw new IllegalArgumentException("Illegal choice: " + value.value);
+ if(!isValid(value))
+ {
+ throw new IllegalArgumentException("Illegal choice for parameter " + getName() + ": " + value.getValue());
+ }
return value;
}
+ /**
+ * Overrides {@link ParameterValue#isValid} that doesn't exist before Jenkins 2.244.
+ */
+ public boolean isValid(ParameterValue value)
+ {
+ return choices.contains((String)((StringParameterValue)value).getValue());
+ }
+
@Override
public ParameterValue createValue(StaplerRequest req, JSONObject jo)
{
@@ -125,12 +181,14 @@ public ParameterValue createValue(StaplerRequest req, JSONObject jo)
return checkValue(value);
}
+ @Override
public StringParameterValue createValue(String value)
{
return checkValue(new StringParameterValue(getName(), value, getDescription()));
}
@Extension
+ @Symbol({"persistentChoice", "persistentChoiceParam"})
public static class DescriptorImpl extends ParameterDescriptor
{
@Override
@@ -145,19 +203,26 @@ public String getHelpFile()
return "/help/parameter/choice.html";
}
+ /*
+ * We need this for JENKINS-26143 -- reflective creation cannot handle setChoices(Object). See that method for context.
+ */
+ @Override
+ public ParameterDefinition newInstance(StaplerRequest req, JSONObject formData) throws FormException
+ {
+ String name = formData.getString("name");
+ String choicesText = formData.getString("choices");
+ String description = formData.getString("description");
+ boolean successfulOnly = formData.getBoolean("successfulOnly");
+
+ return new PersistentChoiceParameterDefinition(name, choicesText, successfulOnly, description);
+ }
+
/**
* Checks if parameterised build choices are valid.
*/
public FormValidation doCheckChoices(@QueryParameter String value)
{
- if(PersistentChoiceParameterDefinition.areValidChoices(value))
- {
- return FormValidation.ok();
- }
- else
- {
- return FormValidation.error("Invalid value");
- }
+ return PersistentChoiceParameterDefinition.areValidChoices(value) ? FormValidation.ok() : FormValidation.error("Requires Choices.");
}
}
-}
\ No newline at end of file
+}
diff --git a/src/main/java/com/gem/persistentparameter/PersistentStringParameterDefinition.java b/src/main/java/com/gem/persistentparameter/PersistentStringParameterDefinition.java
index 0387618..bd4de2f 100644
--- a/src/main/java/com/gem/persistentparameter/PersistentStringParameterDefinition.java
+++ b/src/main/java/com/gem/persistentparameter/PersistentStringParameterDefinition.java
@@ -1,18 +1,18 @@
/*
* The MIT License
- *
+ *
* Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Luca Domenico Milanesio, Seiji Sogabe, Tom Huybrechts
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
- *
+ *
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -24,14 +24,13 @@
package com.gem.persistentparameter;
import hudson.Extension;
+import hudson.model.ParameterDefinition;
+import hudson.model.ParameterDefinition.ParameterDescriptor;
import hudson.model.ParameterValue;
import hudson.model.SimpleParameterDefinition;
-import hudson.model.AbstractBuild;
-import hudson.model.AbstractProject;
-import hudson.model.ParameterDefinition;
import hudson.model.StringParameterValue;
import net.sf.json.JSONObject;
-
+import org.jenkinsci.Symbol;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
@@ -41,15 +40,22 @@
public class PersistentStringParameterDefinition extends SimpleParameterDefinition
{
private static final long serialVersionUID = -7077702646937544392L;
- private String defaultValue;
+ private final String defaultValue;
private final boolean successfulOnly;
+ private final boolean trim;
@DataBoundConstructor
- public PersistentStringParameterDefinition(String name, String defaultValue, boolean successfulOnly, String description)
+ public PersistentStringParameterDefinition(String name, String defaultValue, boolean successfulOnly, String description, boolean trim)
{
super(name, description);
this.defaultValue = defaultValue;
this.successfulOnly = successfulOnly;
+ this.trim = trim;
+ }
+
+ public PersistentStringParameterDefinition(String name, String defaultValue, boolean successfulOnly, String description)
+ {
+ this(name, defaultValue, successfulOnly, description, false);
}
@Override
@@ -58,7 +64,7 @@ public ParameterDefinition copyWithDefaultValue(ParameterValue defaultValue)
if(defaultValue instanceof StringParameterValue)
{
StringParameterValue value = (StringParameterValue)defaultValue;
- return new PersistentStringParameterDefinition(getName(), value.value, isSuccessfulOnly(), getDescription());
+ return new PersistentStringParameterDefinition(getName(), (String)value.getValue(), successfulOnly, getDescription(), trim);
}
else
{
@@ -68,20 +74,16 @@ public ParameterDefinition copyWithDefaultValue(ParameterValue defaultValue)
public String getDefaultValue()
{
- try
- {
- ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
- return ((StringParameterValue)lastValue).value;
- }
- catch(Exception ex)
- {
- }
return defaultValue;
}
- public void setDefaultValue(String defaultValue)
+ /**
+ * @return trim - {@code true}, if trim options has been selected, else return {@code false}. Trimming will happen when creating
+ * {@link StringParameterValue}s, the value in the config will not be changed.
+ */
+ public boolean isTrim()
{
- this.defaultValue = defaultValue;
+ return trim;
}
public boolean isSuccessfulOnly()
@@ -89,28 +91,47 @@ public boolean isSuccessfulOnly()
return successfulOnly;
}
+ /**
+ * @return original or trimmed defaultValue (depending on trim)
+ */
@Override
public StringParameterValue getDefaultParameterValue()
{
- StringParameterValue v = new StringParameterValue(getName(), getDefaultValue(), getDescription());
- return v;
+ ParameterValue lastValue = CurrentProject.getLastValue(this, successfulOnly);
+ String str = (lastValue instanceof StringParameterValue) ? (String)((StringParameterValue)lastValue).getValue() : defaultValue;
+
+ StringParameterValue value = new StringParameterValue(getName(), str, getDescription());
+ doTrim(value);
+ return value;
}
@Override
public ParameterValue createValue(StaplerRequest req, JSONObject jo)
{
StringParameterValue value = req.bindJSON(StringParameterValue.class, jo);
+ doTrim(value);
value.setDescription(getDescription());
return value;
}
@Override
- public ParameterValue createValue(String value)
+ public ParameterValue createValue(String str)
+ {
+ StringParameterValue value = new StringParameterValue(getName(), str, getDescription());
+ doTrim(value);
+ return value;
+ }
+
+ private void doTrim(StringParameterValue value)
{
- return new StringParameterValue(getName(), value, getDescription());
+ if(trim)
+ {
+ value.doTrim();
+ }
}
@Extension
+ @Symbol({"persistentString", "persistentStringParam"})
public static class DescriptorImpl extends ParameterDescriptor
{
@Override
diff --git a/src/main/java/com/gem/persistentparameter/PersistentTextParameterDefinition.java b/src/main/java/com/gem/persistentparameter/PersistentTextParameterDefinition.java
index 653e7e0..88ed999 100644
--- a/src/main/java/com/gem/persistentparameter/PersistentTextParameterDefinition.java
+++ b/src/main/java/com/gem/persistentparameter/PersistentTextParameterDefinition.java
@@ -1,18 +1,18 @@
/*
* The MIT License
- *
+ *
* Copyright (c) 2004-2009, Sun Microsystems, Inc., Kohsuke Kawaguchi, Luca Domenico Milanesio, Seiji Sogabe, Tom Huybrechts
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
- *
+ *
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -27,13 +27,12 @@
import hudson.model.ParameterValue;
import hudson.model.TextParameterValue;
import net.sf.json.JSONObject;
-
+import org.jenkinsci.Symbol;
import org.kohsuke.stapler.DataBoundConstructor;
import org.kohsuke.stapler.StaplerRequest;
/**
- * {@link PersistentStringParameterDefinition} that uses textarea, instead of
- * text box.
+ * {@link PersistentStringParameterDefinition} that uses textarea, instead of text box.
*/
public class PersistentTextParameterDefinition extends PersistentStringParameterDefinition
{
@@ -46,6 +45,7 @@ public PersistentTextParameterDefinition(String name, String defaultValue, boole
}
@Extension
+ @Symbol({"persistentText", "persistentTextParam"})
public static class DescriptorImpl extends ParameterDescriptor
{
@Override
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config.jelly b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config.jelly
index 7f615c8..dd733f1 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config.jelly
@@ -24,18 +24,18 @@ THE SOFTWARE.
+ xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
+ xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
-
+
-
-
-
-
-
+
+
-
+
+
+
+
-
\ No newline at end of file
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_bg.properties b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_bg.properties
new file mode 100644
index 0000000..92f2cdb
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_bg.properties
@@ -0,0 +1,28 @@
+# The MIT License
+#
+# Bulgarian translation: Copyright (c) 2015, 2016, Alexander Shopov
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Default\ Value=\
+ \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442
+Description=\
+ \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
+Name=\
+ \u0418\u043c\u0435
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_it.properties b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_it.properties
new file mode 100644
index 0000000..26e1c75
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_it.properties
@@ -0,0 +1,26 @@
+# The MIT License
+#
+# Italian localization plugin for Jenkins
+# Copyright 2020 Alessandro Menti
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Default\ Value=Valore predefinito
+Description=Descrizione
+Name=Nome
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_pl.properties b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_pl.properties
new file mode 100644
index 0000000..f825b49
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_pl.properties
@@ -0,0 +1,24 @@
+# The MIT License
+#
+# Copyright (c) 2016, Damian Szczepanik
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+Name=Nazwa
+Default\ Value=Domy\u015Blna warto\u015B\u0107
+Description=Opis
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_sr.properties b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_sr.properties
new file mode 100644
index 0000000..93b8037
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/config_sr.properties
@@ -0,0 +1,5 @@
+# This file is under the MIT License by authors
+
+Name=\u0418\u043C\u0435
+Default\ Value=\u0421\u0442\u0430\u043D\u0434\u0430\u0440\u0434\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442
+Description=\u041E\u043F\u0438\u0441
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default.html
new file mode 100644
index 0000000..d586b51
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default.html
@@ -0,0 +1,3 @@
+
+ Specifies the default value of the field.
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_bg.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_bg.html
new file mode 100644
index 0000000..bc7e127
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_bg.html
@@ -0,0 +1,3 @@
+
+ Указва стандартната стойност на полето.
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_de.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_de.html
new file mode 100644
index 0000000..1685f6a
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_de.html
@@ -0,0 +1,3 @@
+
+ Gibt den Vorgabewert für dieses Feld an.
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_fr.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_fr.html
new file mode 100644
index 0000000..1ab00dd
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_fr.html
@@ -0,0 +1,3 @@
+
+ Spécifie la valeur par défaut de ce champ.
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_it.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_it.html
new file mode 100644
index 0000000..6ca3286
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_it.html
@@ -0,0 +1,3 @@
+
+ Specifica il valore predefinito del campo.
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_ja.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_ja.html
new file mode 100644
index 0000000..fa00110
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_ja.html
@@ -0,0 +1,3 @@
+
+ この項目のデフォルト値を設定します。
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_zh_TW.html b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_zh_TW.html
new file mode 100644
index 0000000..71dde30
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/help-boolean-default_zh_TW.html
@@ -0,0 +1,3 @@
+
+ 指定欄位的預設值。
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/index.jelly b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/index.jelly
index 4a06f79..b6fb332 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/index.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentBooleanParameterDefinition/index.jelly
@@ -24,12 +24,13 @@ THE SOFTWARE.
-
-
-
-
-
-
-
\ No newline at end of file
+ xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
+ xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config.jelly b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config.jelly
index c4d06bd..349a635 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config.jelly
@@ -24,18 +24,18 @@ THE SOFTWARE.
+ xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
+ xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_bg.properties b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_bg.properties
new file mode 100644
index 0000000..0a56a15
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_bg.properties
@@ -0,0 +1,28 @@
+# The MIT License
+#
+# Bulgarian translation: Copyright (c) 2015, 2016, Alexander Shopov
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Choices=\
+ \u0412\u0430\u0440\u0438\u0430\u043d\u0442\u0438
+Description=\
+ \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
+Name=\
+ \u0418\u043c\u0435
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_it.properties b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_it.properties
index 7c4b796..f8dabfe 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_it.properties
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_it.properties
@@ -1,4 +1,26 @@
-# This file is under the MIT License by authors
+# The MIT License
+#
+# Italian localization plugin for Jenkins
+# Copyright 2020 Alessandro Menti
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
Choices=Scelte
Description=Descrizione
+Name=Nome
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_pl.properties b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_pl.properties
new file mode 100644
index 0000000..259ba15
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_pl.properties
@@ -0,0 +1,24 @@
+# The MIT License
+#
+# Copyright (c) 2016, Damian Szczepanik
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+Name=Nazwa
+Choices=Lista wyboru
+Description=Opis
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_sr.properties b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_sr.properties
new file mode 100644
index 0000000..70ec444
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/config_sr.properties
@@ -0,0 +1,5 @@
+# This file is under the MIT License by authors
+
+Name=\u0418\u043C\u0435
+Choices=\u0412\u0430\u0440\u0438\u0430\u043D\u0442\u0438
+Description=\u041E\u043F\u0438\u0441
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/index.jelly b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/index.jelly
index e88ff75..c6a79fd 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/index.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentChoiceParameterDefinition/index.jelly
@@ -24,16 +24,17 @@ THE SOFTWARE.
-
-
+
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config.jelly b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config.jelly
index 7c0d5fd..975c73b 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config.jelly
@@ -24,18 +24,21 @@ THE SOFTWARE.
+ xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
+ xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
-
-
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
-
\ No newline at end of file
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_bg.properties b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_bg.properties
new file mode 100644
index 0000000..6f20bc6
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_bg.properties
@@ -0,0 +1,28 @@
+# The MIT License
+#
+# Bulgarian translation: Copyright (c) 2016, Alexander Shopov
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Description=\
+ \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
+Name=\
+ \u0418\u043c\u0435
+Default\ Value=\
+ \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_it.properties b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_it.properties
index 47c7586..4fd63b9 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_it.properties
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_it.properties
@@ -1,5 +1,27 @@
-# This file is under the MIT License by authors
+# The MIT License
+#
+# Italian localization plugin for Jenkins
+# Copyright 2020 Alessandro Menti
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
-Default\ Value=Valore di default
+Default\ Value=Valore predefinito
Description=Descrizione
Name=Nome
+Trim\ the\ string=Elimina spazi bianchi dalla stringa
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_pl.properties b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_pl.properties
new file mode 100644
index 0000000..f825b49
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_pl.properties
@@ -0,0 +1,24 @@
+# The MIT License
+#
+# Copyright (c) 2016, Damian Szczepanik
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+Name=Nazwa
+Default\ Value=Domy\u015Blna warto\u015B\u0107
+Description=Opis
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_sr.properties b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_sr.properties
new file mode 100644
index 0000000..93ae61c
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/config_sr.properties
@@ -0,0 +1,5 @@
+# This file is under the MIT License by authors
+
+Name=\u0418\u043C\u0435
+Default\ Value=\u041F\u043E\u0434\u0440\u0430\u0437\u0443\u043C\u0435\u0432\u0430\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442
+Description=
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim.html b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim.html
new file mode 100644
index 0000000..3fe1272
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim.html
@@ -0,0 +1,3 @@
+
+ Strip whitespace from the beginning and end of the string.
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim_it.html b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim_it.html
new file mode 100644
index 0000000..bd89b7f
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/help-trim_it.html
@@ -0,0 +1,3 @@
+
+ Elimina gli spazi bianchi all'inizio e alla fine della stringa.
+
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/index.jelly b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/index.jelly
index 2f99f33..e3d292a 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/index.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentStringParameterDefinition/index.jelly
@@ -24,12 +24,13 @@ THE SOFTWARE.
-
-
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config.jelly b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config.jelly
index 4480075..612fb60 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config.jelly
@@ -22,20 +22,20 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
-->
-
+
+ xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form"
+ xmlns:i="jelly:fmt" xmlns:p="/lib/hudson/project">
-
+
-
-
-
-
+
-
+
+
+
+
\ No newline at end of file
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_bg.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_bg.properties
new file mode 100644
index 0000000..a961f4e
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_bg.properties
@@ -0,0 +1,28 @@
+# The MIT License
+#
+# Bulgarian translation: Copyright (c) 2016, Alexander Shopov
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Description=\
+ \u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435
+Default\ Value=\
+ \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0430 \u0441\u0442\u043e\u0439\u043d\u043e\u0441\u0442
+Name=\
+ \u0418\u043c\u0435
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_de.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_de.properties
new file mode 100644
index 0000000..1732648
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_de.properties
@@ -0,0 +1,25 @@
+# The MIT License
+#
+# Copyright (c) 2017 Daniel Beck and a number of other of contributors
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Description=Beschreibung
+Name=Name
+Default\ Value=Standardwert
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_it.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_it.properties
new file mode 100644
index 0000000..26e1c75
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_it.properties
@@ -0,0 +1,26 @@
+# The MIT License
+#
+# Italian localization plugin for Jenkins
+# Copyright 2020 Alessandro Menti
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Default\ Value=Valore predefinito
+Description=Descrizione
+Name=Nome
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_ja.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_ja.properties
index bdfa1ed..daf1fdf 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_ja.properties
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_ja.properties
@@ -22,4 +22,4 @@
Name=\u540d\u524d
Default\ Value=\u30c7\u30d5\u30a9\u30eb\u30c8\u5024
-Description=\u8aac\u660e
\ No newline at end of file
+Description=\u8aac\u660e
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pl.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pl.properties
new file mode 100644
index 0000000..f825b49
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pl.properties
@@ -0,0 +1,24 @@
+# The MIT License
+#
+# Copyright (c) 2016, Damian Szczepanik
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+Name=Nazwa
+Default\ Value=Domy\u015Blna warto\u015B\u0107
+Description=Opis
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pt_BR.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pt_BR.properties
new file mode 100644
index 0000000..785e086
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_pt_BR.properties
@@ -0,0 +1,25 @@
+# The MIT License
+#
+# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., and a number of other of contributers
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+
+Description=Descri\u00e7\u00e3o
+Default\ Value=Valor padr\u00e3o
+Name=Nome
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_sr.properties b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_sr.properties
new file mode 100644
index 0000000..cf61857
--- /dev/null
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/config_sr.properties
@@ -0,0 +1,5 @@
+# This file is under the MIT License by authors
+
+Name=\u0418\u043C\u0435
+Default\ Value=\u041F\u043E\u0434\u0440\u0430\u0437\u0443\u043C\u0435\u0432\u0430\u043D\u0430 \u0432\u0440\u0435\u0434\u043D\u043E\u0441\u0442
+Description=\u041E\u043F\u0438\u0441
diff --git a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/index.jelly b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/index.jelly
index fa19ca2..37ddd88 100644
--- a/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/index.jelly
+++ b/src/main/resources/com/gem/persistentparameter/PersistentTextParameterDefinition/index.jelly
@@ -1,4 +1,3 @@
-
+
-
-
-