提交 209a5ad1 编写于 作者: J Jesse Glick

Merge commit 'c2aca606' into security-master

......@@ -5,7 +5,7 @@
<parent>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>pom</artifactId>
<version>2.87-SNAPSHOT</version>
<version>2.88-SNAPSHOT</version>
</parent>
<artifactId>cli</artifactId>
......@@ -31,7 +31,6 @@
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.4</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
......
CLI.NoSuchFileExists=File non esistente: {0}
CLI.NoURL=Non sono stati specificati né -s né la variabile d''ambiente JENKINS_URL.
CLI.VersionMismatch=Le versioni non corrispondono. Quest''interfaccia della riga di comando non può funzionare con questo server Jenkins.
CLI.Usage=Interfaccia della riga di comando di Jenkins\n\
Uso: java -jar jenkins-cli.jar [-s URL] comando [opzioni...] argomenti...\n\
Opzioni:\n\
-s URL : l''URL del server (impostazione predefinita: la variabile d''ambiente JENKINS_URL)\n\
-http : utilizza un protocollo interfaccia della riga di comando in testo semplice su HTTP(S) (impostazione predefinita; mutualmente esclusiva con -ssh e -remoting)\n\
-ssh : utilizza il protocollo SSH (richiede -user; la porta SSH deve essere aperta sul server e l''utente deve aver registrato una chiave pubblica)\n\
-remoting : utilizza il protocollo deprecato Remoting channel (se abilitato sul server; solo per compatibilità con comandi o modalità comandi legacy)\n\
-i KEY : file chiave privata SSH utilizzato per l''autenticazione (per l''utilizzo con -ssh o -remoting)\n\
-p HOST:PORTA : host proxy HTTP e porta per il tunneling proxy HTTPS. Vedi https://jenkins.io/redirect/cli-https-proxy-tunnel\n\
-noCertificateCheck : ometti completamente il controllo dei certificati HTTPS. Utilizzare con cautela\n\
-noKeyAuth : non tentare di caricare la chiave privata per l''autenticazione SSH. In conflitto con -i\n\
-user : specifica l''utente (per l''utilizzo con -ssh)\n\
-strictHostKey : richiedi la modalità strict per il controllo delle chiavi host (per l''utilizzo con -ssh)\n\
-logger FINE : abilita la registrazione dettagliata da parte del client\n\
-auth [ UTENTE:SEGRETO | @FILE ] : specifica il nome utente e la password o il token API (o caricali entrambi da un file);\n\
per l''utilizzo con -http, o -remoting ma solo quando la porta agente JNLP è disabilitata\n\
\n\
I comandi disponibili dipendono dal server. Eseguire il comando ''help'' per\n\
visualizzarne l''elenco.
......@@ -29,7 +29,7 @@ THE SOFTWARE.
<parent>
<groupId>org.jenkins-ci.main</groupId>
<artifactId>pom</artifactId>
<version>2.87-SNAPSHOT</version>
<version>2.88-SNAPSHOT</version>
</parent>
<artifactId>jenkins-core</artifactId>
......@@ -39,7 +39,7 @@ THE SOFTWARE.
<properties>
<staplerFork>true</staplerFork>
<stapler.version>1.252</stapler.version>
<stapler.version>1.253</stapler.version>
<spring.version>2.5.6.SEC03</spring.version>
<groovy.version>2.4.11</groovy.version>
<!-- TODO: Actually many issues are being filtered by src/findbugs/findbugs-excludes.xml -->
......@@ -472,9 +472,9 @@ THE SOFTWARE.
<scope>test</scope>
</dependency>
<dependency><!-- needed by Jelly -->
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.0</version>
<groupId>javax.servlet.jsp.jstl</groupId>
<artifactId>javax.servlet.jsp.jstl-api</artifactId>
<version>1.2.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
......@@ -572,10 +572,9 @@ THE SOFTWARE.
<version>1.1</version>
</dependency>
<dependency><!-- Jenkins doesn't depend on it but some plugin wants the latest version. Bundling 1.6 until we figure out a mechanism to let plugins load its own -->
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<version>1.8</version>
</dependency>
<dependency>
......
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi, Giulio D'Ambrosi
#
# 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.
NewVersionAvailable=C''\u00E8 una nuova versione di Jenkins ({0}) disponibile per il <a href="{1}">download</a> (<a href="${changelog.url}">changelog</a>).
Or\ Upgrade\ Automatically=Oppure aggiorna automaticamente
UpgradeComplete=Aggiornamento a Jenkins {0} completato, in attesa di <a href="{1}/safeRestart">riavvio</a>.
UpgradeCompleteRestartNotSupported=Aggiornamento a Jenkins {0} completato, in attesa di riavvio.
UpgradeProgress=Aggiornamento a Jenkins {0} <a href="{1}">in corso oppure fallito</a>.
NewVersionAvailable=Una nuova versione di Jenkins ({0}) disponibile per il <a href="{1}">download</a> \
(<a href="${changelog.url}">log delle modifiche</a>).
UpgradeComplete=Aggiornamento a Jenkins {0} completato, in attesa del <a href="{1}/safeRestart">riavvio</a>.
UpgradeCompleteRestartNotSupported=Aggiornamento a Jenkins {0} completato, in attesa del riavvio.
UpgradeProgress=Aggiornamento a Jenkins {0} <a href="{1}">in corso</a>.
UpgradeFailed=Aggiornamento a Jenkins {0} non riuscito: <a href="{2}">{1}</a>.
......@@ -23,6 +23,8 @@
*/
package hudson;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.InvalidPathException;
......@@ -58,25 +60,24 @@ import org.apache.tools.zip.ZipOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.lang.reflect.Field;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.Vector;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import org.jenkinsci.bytecode.Transformer;
import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
......@@ -268,7 +269,7 @@ public class ClassicPluginStrategy implements PluginStrategy {
if (detached.shortName.equals(pluginName)) {
continue;
}
if (BREAK_CYCLES.contains(pluginName + '/' + detached.shortName)) {
if (BREAK_CYCLES.contains(pluginName + ' ' + detached.shortName)) {
LOGGER.log(Level.FINE, "skipping implicit dependency {0} → {1}", new Object[] {pluginName, detached.shortName});
continue;
}
......@@ -408,38 +409,37 @@ public class ClassicPluginStrategy implements PluginStrategy {
public VersionNumber getRequiredVersion() {
return new VersionNumber(requiredVersion);
}
@Override
public String toString() {
return shortName + " " + splitWhen.toString().replace(".*", "") + " " + requiredVersion;
}
}
private static final List<DetachedPlugin> DETACHED_LIST = Collections.unmodifiableList(Arrays.asList(
new DetachedPlugin("maven-plugin", "1.296", "1.296"),
new DetachedPlugin("subversion", "1.310", "1.0"),
new DetachedPlugin("cvs", "1.340", "0.1"),
new DetachedPlugin("ant", "1.430.*", "1.0"),
new DetachedPlugin("javadoc", "1.430.*", "1.0"),
new DetachedPlugin("external-monitor-job", "1.467.*", "1.0"),
new DetachedPlugin("ldap", "1.467.*", "1.0"),
new DetachedPlugin("pam-auth", "1.467.*", "1.0"),
new DetachedPlugin("mailer", "1.493.*", "1.2"),
new DetachedPlugin("matrix-auth", "1.535.*", "1.0.2"),
new DetachedPlugin("windows-slaves", "1.547.*", "1.0"),
new DetachedPlugin("antisamy-markup-formatter", "1.553.*", "1.0"),
new DetachedPlugin("matrix-project", "1.561.*", "1.0"),
new DetachedPlugin("junit", "1.577.*", "1.0"),
new DetachedPlugin("bouncycastle-api", "2.16.*", "2.16.0"),
new DetachedPlugin("command-launcher", "2.86.*", "1.0")
));
/** Record of which plugins which removed from core and when. */
private static final List<DetachedPlugin> DETACHED_LIST;
/** Implicit dependencies that are known to be unnecessary and which must be cut out to prevent a dependency cycle among bundled plugins. */
private static final Set<String> BREAK_CYCLES = new HashSet<String>(Arrays.asList(
"script-security/matrix-auth",
"script-security/windows-slaves",
"script-security/antisamy-markup-formatter",
"script-security/matrix-project",
"script-security/bouncycastle-api",
"script-security/command-launcher",
"credentials/matrix-auth",
"credentials/windows-slaves"
));
private static final Set<String> BREAK_CYCLES;
static {
try (InputStream is = ClassicPluginStrategy.class.getResourceAsStream("/jenkins/split-plugins.txt")) {
DETACHED_LIST = ImmutableList.copyOf(configLines(is).map(line -> {
String[] pieces = line.split(" ");
return new DetachedPlugin(pieces[0], pieces[1] + ".*", pieces[2]);
}).collect(Collectors.toList()));
} catch (IOException x) {
throw new ExceptionInInitializerError(x);
}
try (InputStream is = ClassicPluginStrategy.class.getResourceAsStream("/jenkins/split-plugin-cycles.txt")) {
BREAK_CYCLES = ImmutableSet.copyOf(configLines(is).collect(Collectors.toSet()));
} catch (IOException x) {
throw new ExceptionInInitializerError(x);
}
}
private static Stream<String> configLines(InputStream is) throws IOException {
return org.apache.commons.io.IOUtils.readLines(is, StandardCharsets.UTF_8).stream().filter(line -> !line.matches("#.*|\\s*"));
}
/**
* Computes the classloader that takes the class masking into account.
......
......@@ -419,6 +419,25 @@ public class ExtensionList<T> extends AbstractList<T> implements OnMaster {
return j == null ? create((Jenkins) null, type) : j.getExtensionList(type);
}
/**
* Convenience method allowing lookup of the only instance of a given type.
* Equivalent to {@code ExtensionList.lookup(Class).get(Class)} if there is one instance,
* and throws an {@code IllegalStateException} otherwise.
*
* @param type The type to look up.
* @return the singleton instance of the given type in its list.
* @throws IllegalStateException if there are no instances, or more than one
*
* @since TODO
*/
public static @Nonnull <U> U lookupSingleton(Class<U> type) {
ExtensionList<U> all = lookup(type);
if (all.size() != 1) {
throw new IllegalStateException("Expected 1 instance of " + type.getName() + " but got " + all.size());
}
return all.get(0);
}
/**
* Places to store static-scope legacy instances.
*/
......
......@@ -2024,7 +2024,7 @@ public class Functions {
rsp.setHeader("X-Jenkins-Session", Jenkins.SESSION_HASH);
TcpSlaveAgentListener tal = j.tcpSlaveAgentListener;
if (tal !=null) {
if (tal != null) { // headers used only by deprecated Remoting-based CLI
int p = tal.getAdvertisedPort();
rsp.setIntHeader("X-Hudson-CLI-Port", p);
rsp.setIntHeader("X-Jenkins-CLI-Port", p);
......
......@@ -254,7 +254,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
/**
* All discovered plugins.
*/
protected final List<PluginWrapper> plugins = new ArrayList<PluginWrapper>();
protected final List<PluginWrapper> plugins = new CopyOnWriteArrayList<>();
/**
* All active plugins, topologically sorted so that when X depends on Y, Y appears in the list before X does.
......@@ -463,10 +463,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
cgd.run(getPlugins());
// obtain topologically sorted list and overwrite the list
ListIterator<PluginWrapper> litr = getPlugins().listIterator();
for (PluginWrapper p : cgd.getSorted()) {
litr.next();
litr.set(p);
if(p.isActive())
activePlugins.add(p);
}
......@@ -1132,9 +1129,7 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
*/
@Exported
public List<PluginWrapper> getPlugins() {
List<PluginWrapper> out = new ArrayList<PluginWrapper>(plugins.size());
out.addAll(plugins);
return out;
return Collections.unmodifiableList(plugins);
}
public List<FailedPlugin> getFailedPlugins() {
......@@ -2000,8 +1995,8 @@ public abstract class PluginManager extends AbstractModelObject implements OnMas
* Convenience method to ease access to this monitor, this allows other plugins to register required updates.
* @return this monitor.
*/
public static final PluginUpdateMonitor getInstance() {
return ExtensionList.lookup(PluginUpdateMonitor.class).get(0);
public static PluginUpdateMonitor getInstance() {
return ExtensionList.lookupSingleton(PluginUpdateMonitor.class);
}
/**
......
......@@ -66,7 +66,7 @@ import org.kohsuke.accmod.Restricted;
import org.kohsuke.accmod.restrictions.NoExternalUse;
/**
* Listens to incoming TCP connections from JNLP agents and Remoting CLI.
* Listens to incoming TCP connections from JNLP agents and deprecated Remoting-based CLI.
*
* <p>
* Aside from the HTTP endpoint, Jenkins runs {@link TcpSlaveAgentListener} that listens on a TCP socket.
......@@ -514,10 +514,10 @@ public final class TcpSlaveAgentListener extends Thread {
private static final Logger LOGGER = Logger.getLogger(TcpSlaveAgentListener.class.getName());
/**
* Host name that we advertise the CLI client to connect to.
* Host name that we advertise protocol clients to connect to.
* This is primarily for those who have reverse proxies in place such that the HTTP host name
* and the CLI TCP/IP connection host names are different.
*
* and the TCP/IP connection host names are different.
* (Note: despite the name, this is used for any client, not only deprecated Remoting-based CLI.)
* TODO: think about how to expose this (including whether this needs to be exposed at all.)
*/
@SuppressFBWarnings(value = "MS_SHOULD_BE_FINAL", justification = "Accessible via System Groovy Scripts")
......@@ -525,11 +525,11 @@ public final class TcpSlaveAgentListener extends Thread {
public static String CLI_HOST_NAME = SystemProperties.getString(TcpSlaveAgentListener.class.getName()+".hostName");
/**
* Port number that we advertise the CLI client to connect to.
* Port number that we advertise protocol clients to connect to.
* This is primarily for the case where the port that Jenkins runs is different from the port
* that external world should connect to, because of the presence of NAT / port-forwarding / TCP reverse
* proxy.
*
* (Note: despite the name, this is used for any client, not only deprecated Remoting-based CLI.)
* If left to null, fall back to {@link #getPort()}
*
* @since 1.611
......
......@@ -38,7 +38,7 @@ public class ClientAuthenticationCache implements Serializable {
private static final HMACConfidentialKey MAC = new HMACConfidentialKey(ClientAuthenticationCache.class, "MAC");
private static final Logger LOGGER = Logger.getLogger(ClientAuthenticationCache.class.getName());
/**
* Where the store should be placed.
*/
......@@ -110,9 +110,12 @@ public class ClientAuthenticationCache implements Serializable {
*/
@VisibleForTesting
String getPropertyKey() {
String url = Jenkins.getActiveInstance().getRootUrl();
Jenkins j = Jenkins.getActiveInstance();
String url = j.getRootUrl();
if (url!=null) return url;
return Secret.fromString("key").getEncryptedValue();
LOGGER.log(Level.WARNING, "The instance is not configured using a rootUrl, the key that represents your instance will not be stable");
return j.getLegacyInstanceId();
}
/**
......
......@@ -519,24 +519,25 @@ public class ListView extends View implements DirectlyModifiableView {
@Override
public void onLocationChanged(final Item item, final String oldFullName, final String newFullName) {
try (ACLContext _ = ACL.as(ACL.SYSTEM)) {
locationChanged(item, oldFullName, newFullName);
locationChanged(oldFullName, newFullName);
}
}
private void locationChanged(Item item, String oldFullName, String newFullName) {
private void locationChanged(String oldFullName, String newFullName) {
final Jenkins jenkins = Jenkins.getInstance();
for (View view: jenkins.getViews()) {
if (view instanceof ListView) {
renameViewItem(oldFullName, newFullName, jenkins, (ListView) view);
}
}
locationChanged(jenkins, oldFullName, newFullName);
for (Item g : jenkins.allItems()) {
if (g instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) g;
for (View v : vg.getViews()) {
if (v instanceof ListView) {
renameViewItem(oldFullName, newFullName, vg, (ListView) v);
}
}
locationChanged((ViewGroup) g, oldFullName, newFullName);
}
}
}
private void locationChanged(ViewGroup vg, String oldFullName, String newFullName) {
for (View v : vg.getViews()) {
if (v instanceof ListView) {
renameViewItem(oldFullName, newFullName, vg, (ListView) v);
}
if (v instanceof ViewGroup) {
locationChanged((ViewGroup) v, oldFullName, newFullName);
}
}
}
......@@ -568,19 +569,20 @@ public class ListView extends View implements DirectlyModifiableView {
}
private void deleted(Item item) {
final Jenkins jenkins = Jenkins.getInstance();
for (View view: jenkins.getViews()) {
if (view instanceof ListView) {
deleteViewItem(item, jenkins, (ListView) view);
}
}
deleted(jenkins, item);
for (Item g : jenkins.allItems()) {
if (g instanceof ViewGroup) {
ViewGroup vg = (ViewGroup) g;
for (View v : vg.getViews()) {
if (v instanceof ListView) {
deleteViewItem(item, vg, (ListView) v);
}
}
deleted((ViewGroup) g, item);
}
}
}
private void deleted(ViewGroup vg, Item item) {
for (View v : vg.getViews()) {
if (v instanceof ListView) {
deleteViewItem(item, vg, (ListView) v);
}
if (v instanceof ViewGroup) {
deleted((ViewGroup) v, item);
}
}
}
......
......@@ -1122,15 +1122,9 @@ public class UpdateSite {
@CheckForNull
@Restricted(NoExternalUse.class)
public Set<Warning> getWarnings() {
ExtensionList<UpdateSiteWarningsConfiguration> list = ExtensionList.lookup(UpdateSiteWarningsConfiguration.class);
if (list.size() == 0) {
return Collections.emptySet();
}
UpdateSiteWarningsConfiguration configuration = ExtensionList.lookupSingleton(UpdateSiteWarningsConfiguration.class);
Set<Warning> warnings = new HashSet<>();
UpdateSiteWarningsConfiguration configuration = list.get(0);
for (Warning warning: configuration.getAllWarnings()) {
if (configuration.isIgnored(warning)) {
// warning is currently being ignored
......
......@@ -1072,11 +1072,7 @@ public class User extends AbstractModelObject implements AccessControlled, Descr
*/
@GuardedBy("User.byNameLock")
static ConcurrentMap<String,User> byName() {
ExtensionList<AllUsers> instances = ExtensionList.lookup(AllUsers.class);
if (instances.size() != 1) {
throw new IllegalStateException();
}
return instances.get(0).byName;
return ExtensionList.lookupSingleton(AllUsers.class).byName;
}
}
......
......@@ -187,7 +187,7 @@ public abstract class ComputerLauncher extends AbstractDescribableImpl<ComputerL
final String versionStr = m.group(1);
logger.println(Messages.ComputerLauncher_JavaVersionResult(javaCommand, versionStr));
try {
if (new DeweyDecimal(versionStr).isLessThan(new DeweyDecimal("1.6"))) {
if (new DeweyDecimal(versionStr).isLessThan(new DeweyDecimal("1.8"))) {
throw new IOException(Messages
.ComputerLauncher_NoJavaFound(line));
}
......
......@@ -3717,9 +3717,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
try {
JSONObject json = req.getSubmittedForm();
MasterBuildConfiguration mbc = MasterBuildConfiguration.all().get(MasterBuildConfiguration.class);
if (mbc!=null)
mbc.configure(req,json);
ExtensionList.lookupSingleton(MasterBuildConfiguration.class).configure(req,json);
getNodeProperties().rebuild(req, json.optJSONObject("nodeProperties"), NodeProperty.all());
} finally {
......@@ -4528,7 +4526,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
@RestrictedSince("2.37")
@Deprecated
public FormValidation doCheckURIEncoding(StaplerRequest request) throws IOException {
return ExtensionList.lookup(URICheckEncodingMonitor.class).get(0).doCheckURIEncoding(request);
return ExtensionList.lookupSingleton(URICheckEncodingMonitor.class).doCheckURIEncoding(request);
}
/**
......@@ -4538,7 +4536,7 @@ public class Jenkins extends AbstractCIBase implements DirectlyModifiableTopLeve
@RestrictedSince("2.37")
@Deprecated
public static boolean isCheckURIEncodingEnabled() {
return ExtensionList.lookup(URICheckEncodingMonitor.class).get(0).isCheckEnabled();
return ExtensionList.lookupSingleton(URICheckEncodingMonitor.class).isCheckEnabled();
}
/**
......
......@@ -121,12 +121,7 @@ public class UpdateSiteWarningsMonitor extends AdministrativeMonitor {
}
private Set<UpdateSite.Warning> getActiveWarnings() {
ExtensionList<UpdateSiteWarningsConfiguration> configurations = ExtensionList.lookup(UpdateSiteWarningsConfiguration.class);
if (configurations.isEmpty()) {
return Collections.emptySet();
}
UpdateSiteWarningsConfiguration configuration = configurations.get(0);
UpdateSiteWarningsConfiguration configuration = ExtensionList.lookupSingleton(UpdateSiteWarningsConfiguration.class);
HashSet<UpdateSite.Warning> activeWarnings = new HashSet<>();
for (UpdateSite.Warning warning : configuration.getApplicableWarnings()) {
......@@ -160,13 +155,7 @@ public class UpdateSiteWarningsMonitor extends AdministrativeMonitor {
* @return true iff there are applicable but ignored (i.e. hidden) warnings.
*/
public boolean hasApplicableHiddenWarnings() {
ExtensionList<UpdateSiteWarningsConfiguration> configurations = ExtensionList.lookup(UpdateSiteWarningsConfiguration.class);
if (configurations.isEmpty()) {
return false;
}
UpdateSiteWarningsConfiguration configuration = configurations.get(0);
UpdateSiteWarningsConfiguration configuration = ExtensionList.lookupSingleton(UpdateSiteWarningsConfiguration.class);
return getActiveWarnings().size() < configuration.getApplicableWarnings().size();
}
......
......@@ -83,7 +83,7 @@ public final class UserDetailsCache {
* @return the cache
*/
public static UserDetailsCache get() {
return ExtensionList.lookup(UserDetailsCache.class).get(UserDetailsCache.class);
return ExtensionList.lookupSingleton(UserDetailsCache.class);
}
/**
......
......@@ -4,12 +4,12 @@ import hudson.security.AccessControlled;
import hudson.security.Permission;
import hudson.slaves.SlaveComputer;
import hudson.util.Secret;
import hudson.Util;
import org.kohsuke.stapler.HttpResponse;
import org.kohsuke.stapler.ResponseImpl;
import org.kohsuke.stapler.StaplerRequest;
import org.kohsuke.stapler.StaplerResponse;
import org.kohsuke.stapler.compression.FilterServletOutputStream;
import javax.crypto.Cipher;
import javax.crypto.SecretKey;
......@@ -18,12 +18,15 @@ import javax.crypto.spec.SecretKeySpec;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.WriteListener;
import javax.servlet.http.HttpServletResponseWrapper;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.security.GeneralSecurityException;
import java.security.SecureRandom;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Serves the JNLP file.
......@@ -35,6 +38,9 @@ import java.security.SecureRandom;
* @since 1.560
*/
public class EncryptedSlaveAgentJnlpFile implements HttpResponse {
private static final Logger LOG = Logger.getLogger(EncryptedSlaveAgentJnlpFile.class.getName());
/**
* The object that owns the Jelly view that renders JNLP file.
* This is typically a {@link SlaveComputer} and if so we'll use {@link SlaveComputer#getJnlpMac()}
......@@ -64,13 +70,13 @@ public class EncryptedSlaveAgentJnlpFile implements HttpResponse {
}
@Override
public void generateResponse(StaplerRequest req, StaplerResponse res, Object node) throws IOException, ServletException {
public void generateResponse(StaplerRequest req, final StaplerResponse res, Object node) throws IOException, ServletException {
RequestDispatcher view = req.getView(it, viewName);
if ("true".equals(req.getParameter("encrypt"))) {
final ByteArrayOutputStream baos = new ByteArrayOutputStream();
final CapturingServletOutputStream csos = new CapturingServletOutputStream();
StaplerResponse temp = new ResponseImpl(req.getStapler(), new HttpServletResponseWrapper(res) {
@Override public ServletOutputStream getOutputStream() throws IOException {
return new FilterServletOutputStream(baos);
return csos;
}
@Override public PrintWriter getWriter() throws IOException {
throw new IllegalStateException();
......@@ -92,7 +98,7 @@ public class EncryptedSlaveAgentJnlpFile implements HttpResponse {
try {
Cipher c = Secret.getCipher("AES/CFB8/NoPadding");
c.init(Cipher.ENCRYPT_MODE, key, new IvParameterSpec(iv));
encrypted = c.doFinal(baos.toByteArray());
encrypted = c.doFinal(csos.getBytes());
} catch (GeneralSecurityException x) {
throw new IOException(x);
}
......@@ -104,4 +110,52 @@ public class EncryptedSlaveAgentJnlpFile implements HttpResponse {
view.forward(req, res);
}
}
/**
* A {@link ServletOutputStream} that captures all the data rather than writing to a client.
*/
private static class CapturingServletOutputStream extends ServletOutputStream {
private ByteArrayOutputStream baos = new ByteArrayOutputStream();
@Override
public boolean isReady() {
return true;
}
@Override
public void setWriteListener(WriteListener writeListener) {
// we are always ready to write so we just call once to say we are ready.
try {
// should we do this on a separate thread to avoid deadlocks?
writeListener.onWritePossible();
} catch (IOException e) {
LOG.log(Level.WARNING, "Failed to notify WriteListener.onWritePossible", e);
}
}
@Override
public void write(int b) throws IOException {
baos.write(b);
}
@Override
public void write(byte[] b) throws IOException {
baos.write(b);
}
@Override
public void write(byte[] b, int off, int len) throws IOException {
baos.write(b, off, len);
}
/**
* Get the data that has been written to this ServletOutputStream.
* @return the data that has been written to this ServletOutputStream.
*/
byte[] getBytes() {
return baos.toByteArray();
}
}
}
# This file is under the MIT License by authors
about=Informazioni su Jenkins {0}
blurb=<a href="https://jenkins.io/">Jenkins</a> \u00E8 un server di "continuous integration" a codice aperto sviluppato da una comunit\u00E0.
dependencies=Jenkins dipende dalle seguenti librerie di terze parti.
blurb=<a href="https://jenkins.io/">Jenkins</a> un server d''automazione open source sviluppato dalla comunit.
dependencies=Jenkins dipende dalle seguenti librerie di terze parti
plugin.dependencies=Informazioni sulla licenza e sulle dipendenze per i plugin
static.dependencies=Risorse statiche
No\ information\ recorded=Nessun''informazione registrata
maven.dependencies=Dipendenze caricate tramite Maven
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc., Kohsuke Kawaguchi, Giulio D'Ambrosi
#
# 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.
FilePath.validateAntFileMask.whitespaceSeprator=\
Lo spazio non pu\u00f2 pi\u00f9 essere usato come separatore. Usare la virgola '','' per separare.
FilePath.did_not_manage_to_validate_may_be_too_sl=Impossibile validare {0} (potrebbe essere troppo lento)
FilePath.validateAntFileMask.whitespaceSeparator=\
Non è più possibile utilizzare spazi bianchi come separatore. Si utilizzi invece "," come separatore.
FilePath.validateAntFileMask.doesntMatchAndSuggest=\
''{0}'' non corrisponde, ma ''{1}'' \u00e8 valido. Forse intendevi questo ?
FilePath.validateAntFileMask.portionMatchAndSuggest=''{0}'' non corrisponde a nulla, anche se ''{1}'' esiste
FilePath.validateAntFileMask.portionMatchButPreviousNotMatchAndSuggest=''{0}'' non corrisponde: ''{1}'' esiste ma non ''{2}''
FilePath.validateAntFileMask.doesntMatchAnything=''{0}'' non corrisponde
FilePath.validateAntFileMask.doesntMatchAnythingAndSuggest=''{0}'' non corrisponde: anche ''{1}'' non esiste
FilePath.validateRelativePath.wildcardNotAllowed=Non sono ammessi caratteri jolly
FilePath.validateRelativePath.notFile=''{0}'' non \u00e8 un file
FilePath.validateRelativePath.notDirectory=''{0}'' non \u00e8 una cartella
FilePath.validateRelativePath.noSuchFile=File non trovato: ''{0}''
FilePath.validateRelativePath.noSuchDirectory=Cartella non trovata: ''{0}''
Util.millisecond={0} ms
Util.second={0} sec
Util.minute={0} min
Util.hour ={0} hr
Util.day ={0} {0,choice,0#days|1#day|1<days}
Util.month ={0} mo
Util.year ={0} yr
# ideally it should be "{0} ago" but this saves more space
# another implication of this is that where we use this,
# we often want to add "ago" there
Util.pastTime={0}
FilePath.TildaDoesntWork=La tilde (''~'') \u00e8 supportata solo nella shell Unix e non altrove.
PluginManager.DisplayName=Gestione Plugin
PluginManager.PortNotANumber=Porta non \u00e8 un numero
PluginManager.PortNotInRange=Il valore deve essere compreso tra {0} e {1}
AboutJenkins.DisplayName=About Jenkins
AboutJenkins.Description=Visualizza le informazioni sulla versione e la licenza
Non vi sono corrispondenze per "{0}", ma per "{1}" sì. Forse era ciò che si intendeva?
FilePath.validateAntFileMask.portionMatchAndSuggest=Non vi sono corrispondenze per "{0}", benché "{1}" esista
FilePath.validateAntFileMask.portionMatchButPreviousNotMatchAndSuggest=Non vi sono corrispondenze per "{0}": "{1}" esiste ma "{2}" no
FilePath.validateAntFileMask.doesntMatchAnything=Non vi sono corrispondenze per "{0}"
FilePath.validateAntFileMask.matchWithCaseInsensitive=Non vi sono corrispondenze per "{0}" perché si fa differenza tra maiuscole e minuscole. È possibile disattivare Maiuscole/minuscole per ottenere delle corrispondenze
FilePath.validateAntFileMask.doesntMatchAnythingAndSuggest=Non vi sono corrispondenze per "{0}": non esiste nemmeno "{1}"
FilePath.validateRelativePath.wildcardNotAllowed=Non sono consentiti caratteri jolly qui
FilePath.validateRelativePath.notFile="{0}" non è un file
FilePath.validateRelativePath.notDirectory="{0}" non è una directory
FilePath.validateRelativePath.noSuchFile=File non esistente: "{0}"
FilePath.validateRelativePath.noSuchDirectory=Directory non esistente: "{0}"
PluginManager.PluginDoesntSupportDynamicLoad.RestartRequired=Il plugin {0} non supporta il caricamento dinamico. Jenkins deve essere riavviato per completare l''aggiornamento
PluginManager.PluginIsAlreadyInstalled.RestartRequired=Il plugin {0} è già installato. Jenkins deve essere riavviato per completare l''aggiornamento
Util.second={0} s
Util.hour ={0} h
Util.day ={0} g
Util.month ={0} m
Util.year ={0} a
FilePath.TildaDoesntWork="~" è supportato solo ed esclusivamente in una shell Unix.
PluginManager.DisplayName=Gestore plugin
PluginManager.PortNotANumber=La porta non è un numero
PluginManager.PortNotInRange=La porta non è compresa nell''intervallo da {0} a {1}
PluginManager.UploadPluginsPermission.Description=\
Il permesso "Carica plugin" consente a un utente di caricare plugin arbitrari.
PluginManager.ConfigureUpdateCenterPermission.Description=\
Il permesso "Configura Centro aggiornamenti" consente a un utente di \
configurare le impostazioni dei siti di aggiornamento e del proxy.
PluginManager.PluginCycleDependenciesMonitor.DisplayName=Rilevatore dipendenze cicliche
PluginManager.PluginUpdateMonitor.DisplayName=Configurazione plugin non valida
AboutJenkins.DisplayName=Informazioni su Jenkins
AboutJenkins.Description=Visualizza le informazioni sulla versione e sulla licenza.
ProxyConfiguration.TestUrlRequired=È richiesto un URL di prova.
ProxyConfiguration.MalformedTestUrl=URL di prova {0} malformato.
ProxyConfiguration.FailedToConnectViaProxy=Impossibile connettersi a {0}.
ProxyConfiguration.FailedToConnect=Impossibile connettersi a {0} (codice {1}).
ProxyConfiguration.Success=Riuscito
Functions.NoExceptionDetails=Nessun dettaglio eccezione
PluginWrapper.missing=Il plugin {0}, versione {1}, è mancante. Per correggere il problema, installare la versione {1} o successiva.
PluginWrapper.failed_to_load_plugin=Il caricamento del plugin {0} versione {1} non è riuscito.
PluginWrapper.failed_to_load_dependency=Il caricamento del plugin {0} versione {1} non è riuscito. Correggere per primo l''errore relativo a questo plugin.
PluginWrapper.disabledAndObsolete=Il plugin {0} versione {1} è disabilitato e la sua versione è minore di quella minima richiesta. Per correggere l''errore, installare la versione {2} o successiva e abilitare il plugin.
PluginWrapper.disabled=Il plugin {0} è disabilitato. Per correggere l''errore, abilitarlo.
PluginWrapper.obsolete=La versione del plugin {0} ({1}) è minore di quella richiesta. Per correggere l''errore, installare la versione {2} o successiva.
PluginWrapper.obsoleteCore=È necessario aggiornare Jenkins dalla versione {0} alla versione {1} o successiva per eseguire questo plugin.
PluginWrapper.PluginWrapperAdministrativeMonitor.DisplayName=Il caricamento di alcuni plugin non è riuscito
TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocollo ping
......@@ -76,3 +76,38 @@ ProxyConfiguration.FailedToConnect=Falha ao conectar em {0} (c\u00f3digo {1}).
ProxyConfiguration.Success=Sucesso
# Did not manage to validate {0} (may be too slow)
FilePath.did_not_manage_to_validate_may_be_too_sl=N\u00e3o conseguiu validar {0} (pode ser muito lento)
# {0} v{1} is missing. To fix, install v{1} or later.
PluginWrapper.missing=N\u00E3o foi poss\u00EDvel encontrar {0} v{1}. Para corrigir, instale v{1} ou superior.
# No Exception details
Functions.NoExceptionDetails=Sem detalhes da exception
# \
# Whitespace can no longer be used as the separator. Please Use \u2018,\u2019 as the separator instead.
FilePath.validateAntFileMask.whitespaceSeparator=Espa\u00E7os em branco n\u00E3o podem mais serem utilizados como separador. Por favor use \u2018, \u2019 como separadores.
# Ping protocol
TcpSlaveAgentListener.PingAgentProtocol.displayName=Protocolo de ping
# Plugins Failed To Load
PluginWrapper.PluginWrapperAdministrativeMonitor.DisplayName=Falha ao carregar o plugin
# Malformed Test URL {0}.
ProxyConfiguration.MalformedTestUrl=URL de teste {0} inv\u00E1lida.
# \u2018~\u2019 is only supported in a Unix shell and nowhere else.
FilePath.TildaDoesntWork=\u2018~\u2019 \u00E9 apenas suportado em um shell Unix e em nenhum outro lugar.
# Invalid Plugin Configuration
PluginManager.PluginUpdateMonitor.DisplayName=Configura\u00E7\u00E3o do plugin inv\u00E1lida
# {0} v{1} failed to load.
PluginWrapper.failed_to_load_plugin={0} v{1} falhou ao carregar.
# Cyclic Dependencies Detector
PluginManager.PluginCycleDependenciesMonitor.DisplayName=Detector de depend\u00EAncias c\u00EDclicas
# {0} v{1} is disabled and older than required. To fix, install v{2} or later and enable it.
PluginWrapper.disabledAndObsolete={0} v{1} est\u00E1 desativado e mais antigo do que o requerido. Para corrigir, instale v{2} ou superior e o habilite.
# {0} v{1} is older than required. To fix, install v{2} or later.
PluginWrapper.obsolete={0} v{1} \u00E9 mais antigo do que o requerido. Para corrigir, instale v{2} ou superior.
# \u2018{0}\u2019 doesn\u2019t match anything because it is treated case sensitively. You can deactivate case sensitivity to get matches
FilePath.validateAntFileMask.matchWithCaseInsensitive=
# You must update Jenkins from v{0} to v{1} or later to run this plugin.
PluginWrapper.obsoleteCore=Voc\u00EA deve atualizar o Jenkins de v{0} para v{1} ou superior para executar este plugin.
# \u2018{0}\u2019 doesn\u2019t match anything: even \u2018{1}\u2019 doesn\u2019t exist
FilePath.validateAntFileMask.doesntMatchAnythingAndSuggest=\u2018{0}\u2019 n\u00E3o retornou nenhum resultado: nem mesmo \u2018{1}\u2019 existe
# {0} v{1} failed to load. Fix this plugin first.
PluginWrapper.failed_to_load_dependency={0} v{1} falhou ao carregar. Corrija o problema com este plugin primeiro.
# {0} is disabled. To fix, enable it.
PluginWrapper.disabled={0} est\u00E1 desativado. Para corrigir o problema, ative-o.
......@@ -40,3 +40,5 @@ Util.year ={0} \u5E74
Util.pastTime={0}
PluginManager.DisplayName=\u63D2\u4EF6\u7BA1\u7406
AboutJenkins.DisplayName=\u5173\u4E8EJenkins
AboutJenkins.Description=\u67E5\u770B\u7248\u672C\u4EE5\u53CA\u8BC1\u4E66\u4FE1\u606F\u3002
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
PluginCycles=I seguenti plugin sono disattivati a causa di dipendenze cicliche, molto probabilmente è possibile risolvere il problema aggiornandoli a una versione più recente.
# The MIT License
#
# Copyright (c) 2017, suren <zxjlwt@126.com>
#
# 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.
PluginCycles=\u4E0B\u9762\u7684\u63D2\u4EF6\u7531\u4E8E\u5FAA\u73AF\u4F9D\u8D56\u5DF2\u7ECF\u88AB\u505C\u7528\uFF0C\
\u66F4\u65B0\u7248\u672C\u53EF\u80FD\u4F1A\u89E3\u51B3\u8BE5\u95EE\u9898\u3002
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
RequiredPluginUpdates=I seguenti plugin richiedono un aggiornamento.
# The MIT License
#
# Copyright (c) 2017, suren <zxjlwt@126.com>
#
# 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.
RequiredPluginUpdates=\u4E0B\u9762\u7684\u63D2\u4EF6\u9700\u8981\u66F4\u65B0\u3002
......@@ -20,13 +20,13 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
HTTP\ Proxy\ Configuration=Configurazione Proxy HTTP
Port=Porta
HTTP\ Proxy\ Configuration=Configurazione proxy HTTP
Submit=Invia
URL=Indirizzo URL
URL=URL
Update\ Site=Aggiorna sito
Upload=Carica
Upload\ Plugin=Carica estensione
User\ name=Nome utente
lastUpdated=Informazioni di aggiornamento ottenute: {0} fa
uploadtext=Puoi fare l''upload di un file .hpi per installare
Upload\ Plugin=Carica plugin
uploadtext=È possibile caricare un file .hpi per installare un plugin da una fonte esterna al repository plugin centrale.
Update\ Center=Centro aggiornamenti
File=File
Other\ Sites=Altri siti
......@@ -33,3 +33,4 @@ Upload\ Plugin=\u4E0A\u4F20\u63D2\u4EF6
User\ name=\u7528\u6237\u540D
lastUpdated=\u66F4\u65B0\u4FE1\u606F\u83B7\u53D6\u4E8E{0}\u524D
uploadtext=\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0A\u4F20\u4E00\u4E2A.hpi\u6587\u4EF6\u6765\u5B89\u88C5\u63D2\u4EF6\u3002
No\ Proxy\ Host=\u4E0D\u901A\u8FC7\u4EE3\u7406\u7684\u4E3B\u673A
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
Checking\ Updates...=Controllo aggiornamenti in corso...
Update\ Center=Centro aggiornamenti
Done=Fatto
Go\ back\ to\ update\ center=Torna al Centro aggiornamenti
......@@ -22,4 +22,5 @@
Checking\ Updates...=\u68C0\u67E5\u66F4\u65B0
Done=\u5B8C\u6210
Go\ back\ to\ update\ center=\u8FD4\u56DE\u5347\u7EA7\u4E2D\u5FC3
Go\ back\ to\ update\ center=\u8FD4\u56DE\u66F4\u65B0\u4E2D\u5FC3
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
......@@ -21,3 +21,4 @@
# THE SOFTWARE.
Check\ now=Controlla ora
lastUpdated=Informazioni sugli aggiornamenti recuperate {0} fa
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc.
# Copyright (c) 2004-2017, Sun Microsystems, Inc. , suren <zxjlwt@126.com>
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
......@@ -21,3 +21,4 @@
# THE SOFTWARE.
Check\ now=\u7ACB\u5373\u83B7\u53D6
lastUpdated={0} \u4E4B\u524D\u83B7\u53D6\u4E86\u66F4\u65B0\u4FE1\u606F
......@@ -24,4 +24,4 @@ All=Tutto
None=Niente
Select=Seleziona
UpdatePageDescription=Questa pagina elenca gli aggiornamenti dei plugin attualmente in uso.
UpdatePageLegend=Le righe disabilitate sono gi\u00E0 aggiornate e in attesa di riavvio. Le righe ombreggiate ma selezionabili sono <a href="{0}">in corso o fallite</a>.
UpdatePageLegend=Le righe disabilitate sono relative a plugin già aggiornati e in attesa del riavvio di Jenkins. Le righe ombreggiate ma selezionabili sono relativi ad aggiornamenti <a href="{0}">in corso o non riusciti</a>.
......@@ -20,12 +20,25 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Changes\ will\ take\ effect\ when\ you\ restart\ Jenkins=Le modifiche avranno effetto quando riavvierai Jenkins
Changes\ will\ take\ effect\ when\ you\ restart\ Jenkins=Le modifiche avranno effetto al riavvio di Jenkins
Enabled=Attivo
Name=Nome
Previously\ installed\ version=Versione precedente
Restart\ Once\ No\ Jobs\ Are\ Running=Riavvia quando non ci sono lavori in esecuzione
Uncheck\ to\ disable\ the\ plugin=Deseleziona per disattivare il plugin
Uninstall=Disintalla
Restart\ Once\ No\ Jobs\ Are\ Running=Riavvia quando non ci sono processi in esecuzione
Uncheck\ to\ disable\ the\ plugin=Deselezionare per disattivare il plugin
Uninstall=Disinstalla
Version=Versione
downgradeTo=Retrocedi a
It\ has\ one\ or\ more\ disabled\ dependencies=Ha una o più dipendenze disabilitate
Update\ Center=Centro aggiornamenti
This\ plugin\ cannot\ be\ uninstalled=Impossibile disinstallare questo plugin
requires.restart=Quest''istanza di Jenkins deve essere riavviata. La modifica dello stato dei plugin in questa condizione è caldamente sconsigliata. Riavviare Jenkins prima di procedere.
No\ plugins\ installed.=Nessun plugin installato.
Filter=Filtro
It\ has\ one\ or\ more\ installed\ dependants=Ha uno o più plugin dipendenti installati
It\ has\ one\ or\ more\ enabled\ dependants=Ha uno o più plugin dipendenti abilitati
This\ plugin\ cannot\ be\ enabled=Questo plugin non può essere abilitato
This\ plugin\ cannot\ be\ disabled=Questo plugin non può essere disabilitato
No\ description\ available.=Nessuna descrizione disponibile.
Uninstallation\ pending=Disinstallazione in sospeso
Warning=Avviso
......@@ -29,3 +29,8 @@ Uncheck\ to\ disable\ the\ plugin=\u53D6\u6D88\u9009\u62E9\u4EE5\u7981\u7528\u63
Uninstall=\u5378\u8F7D
Version=\u7248\u672C
downgradeTo=\u964D\u5230
No\ plugins\ installed.=\u6CA1\u6709\u5B89\u88C5\u4EFB\u52A1\u63D2\u4EF6\u3002
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
Warning=\u8B66\u544A
requires.restart=Jenkins\u9700\u8981\u91CD\u542F\u3002\u8FD9\u65F6\u5019\u4E0D\u5EFA\u8BAE\u4FEE\u6539\u63D2\u4EF6\u7684\u72B6\u6001\u3002\u5728\u64CD\u4F5C\u4E4B\u524D\u5148\u91CD\u542FJenkins\u3002
Filter=\u8FC7\u6EE4
......@@ -20,5 +20,5 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Back\ to\ Dashboard=Torna alla Dashboard
Back\ to\ Dashboard=Torna al cruscotto
Manage\ Jenkins=Configura Jenkins
......@@ -19,6 +19,6 @@
# 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.
Back\ to\ Dashboard=\u8FD4\u56DE
Manage\ Jenkins=\u7cfb\u7edf\u7ba1\u7406
Back\ to\ Dashboard=\u8FD4\u56DE\u5230\u5DE5\u4F5C\u53F0
Manage\ Jenkins=\u7CFB\u7EDF\u7BA1\u7406
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
Update\ Center=Centro aggiornamenti
Remove=Rimuovi
Add...=Aggiungi...
# The MIT License
#
# Copyright (c) 2017, suren <zxjlwt@126.com>
#
# 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.
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
Add...=\u65B0\u589E...
Remove=\u79FB\u9664
......@@ -24,3 +24,4 @@ Advanced=Avanzate
Available=Disponibili
Installed=Installati
Updates=Aggiornamenti
Sites=Siti
......@@ -24,3 +24,4 @@ Advanced=\u9AD8\u7EA7
Available=\u53EF\u9009\u63D2\u4EF6
Installed=\u5DF2\u5B89\u88C5
Updates=\u53EF\u66F4\u65B0
Sites=\u7F51\u7AD9
......@@ -20,14 +20,31 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Check\ to\ install\ the\ plugin=Seleziona per installare l''estensione
Check\ to\ install\ the\ plugin=Seleziona per installare il plugin
Click\ this\ heading\ to\ sort\ by\ category=Clicca questa intestazione per ordinare in base alla categoria
Download\ now\ and\ install\ after\ restart=Scarica ora ed installa dopo il riavvio
Download\ now\ and\ install\ after\ restart=Scarica ora e installa dopo il riavvio
Filter=Filtro
Inactive=Non attiva
Inactive=Non attivo
Install=Installa
Install\ without\ restart=Installa senza riavviare
Installed=Installato
Name=Nome
No\ updates=Nessun aggiornamento
Version=Versione
Update\ Center=Centro aggiornamenti
depCoreWarning=\
Attenzione: questo plugin richiede dei plugin dipendenti che richiedono Jenkins {0} o successivo. \
Jenkins si rifiuterà di caricare i plugin dipendenti che richiedono una versione più recente di Jenkins, \
e il caricamento di questo plugin non riuscirà a sua volta.
compatWarning=\
Attenzione: la nuova versione di questo plugin dichiara di utilizzare un formato delle impostazioni differente da quello utilizzato dalla versione installata. \
È possibile che si debbano riconfigurare i processi che utilizzano questo plugin, e/o non si potrebbe essere in grado di ripristinare integralmente la versione precedente senza ripristinare le vecchie impostazioni manualmente. \
Consultare le note di rilascio del plugin per i dettagli.
securityWarning=\
Attenzione: è possibile che questa versione del plugin non sia sicura da utilizzare. Si esaminino i seguenti avvisi di sicurezza:
depCompatWarning=\
Attenzione: questo plugin richiede che dei plugin dipendenti siano aggiornati e almeno uno di questi plugin dipendente dichiara di utilizzare un formato delle impostazioni differente da quello utilizzato dalla versione installata. \
È possibile che si debbano riconfigurare i processi che utilizzano questo plugin, e/o non si potrebbe essere in grado di ripristinare integralmente la versione precedente senza ripristinare le vecchie impostazioni manualmente. \
Consultare le note di rilascio del plugin per i dettagli.
coreWarning=Attenzione: questo plugin è progettato per Jenkins {0} o una versione successiva. \
Jenkins non si caricherà se questo plugin è installato.
......@@ -32,3 +32,8 @@ Name=\u540D\u79F0
No\ updates=\u6CA1\u6709\u66F4\u65B0
Version=\u7248\u672C
coreWarning=\u8B66\u544A\uFF1A\u8BE5\u63D2\u4EF6\u53EA\u9002\u7528\u4E8EJenkins{0}\u6216\u66F4\u65B0\u7248\u672C\u3002\u5B83\u53EF\u80FD\u4E0D\u80FD\u6B63\u5E38\u8FD0\u884C\u4E8E\u4F60\u7684Jenkins
compatWarning=\
\u8B66\u544A\uFF1A \u65B0\u7248\u672C\u548C\u5DF2\u7ECF\u5B89\u88C5\u7684\u63D2\u4EF6\u4F7F\u7528\u4E86\u4E0D\u540C\u683C\u5F0F\u7684\u8BBE\u7F6E\u3002 \
\u4F7F\u7528\u4E86\u8FD9\u4E2A\u63D2\u4EF6\u7684\u4EFB\u52A1\u53EF\u80FD\u9700\u8981\u91CD\u65B0\u8BBE\u7F6E\uFF0C\u800C\u4E14\u53EF\u80FD\u9700\u8981\u624B\u52A8\u8BBE\u7F6E\u624D\u80FD\u56DE\u9000\u5230\u4E0A\u4E2A\u7248\u672C\u7684\u8BBE\u7F6E\u3002 \
\u60A8\u53EF\u4EE5\u901A\u8FC7\u67E5\u770B\u8BE5\u63D2\u4EF6\u7684\u53D1\u5E03\u4FE1\u606F\u6765\u83B7\u53D6\u8BE6\u7EC6\u4FE1\u606F\u3002
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
......@@ -21,25 +21,24 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Update\ Center=\u66f4\u65b0\u4e2d\u5fc3
Update\ Center=\u66F4\u65B0\u4E2D\u5FC3
Filter=\u904e\u6ffe\u689d\u4ef6
Check\ to\ install\ the\ plugin=\u5c07\u60f3\u8981\u5b89\u88dd\u7684\u5916\u639b\u7a0b\u5f0f\u6838\u53d6\u8d77\u4f86
Click\ this\ heading\ to\ sort\ by\ category=\u5728\u6a19\u984c\u4e0a\u6309\u4e00\u4e0b\u53ef\u4ee5\u4f9d\u985e\u5225\u9032\u884c\u6392\u5e8f
Install=\u5b89\u88dd
Name=\u540d\u7a31
Version=\u7248\u672c
Installed=\u5df2\u5b89\u88dd
Filter=\u904E\u6FFE\u689D\u4EF6
Check\ to\ install\ the\ plugin=\u5C07\u60F3\u8981\u5B89\u88DD\u7684\u5916\u639B\u7A0B\u5F0F\u6838\u53D6\u8D77\u4F86
Click\ this\ heading\ to\ sort\ by\ category=\u5728\u6A19\u984C\u4E0A\u6309\u4E00\u4E0B\u53EF\u4EE5\u4F9D\u985E\u5225\u9032\u884C\u6392\u5E8F
Install=\u5B89\u88DD
Name=\u540D\u7A31
Version=\u7248\u672C
Installed=\u5DF2\u5B89\u88DD
compatWarning=\
\u8b66\u544a: \u65b0\u7248\u672c\u4e0d\u76f8\u5bb9\u65bc\u73fe\u5728\u5b89\u88dd\u7684\u7248\u672c\u3002\
\u4f7f\u7528\u9019\u500b\u5916\u639b\u7a0b\u5f0f\u7684\u4f5c\u696d\u53ef\u80fd\u9700\u8981\u91cd\u65b0\u8a2d\u5b9a\u3002
\u8B66\u544A: \u65B0\u7248\u672C\u4E0D\u76F8\u5BB9\u65BC\u73FE\u5728\u5B89\u88DD\u7684\u7248\u672C\u3002\
\u4F7F\u7528\u9019\u500B\u5916\u639B\u7A0B\u5F0F\u7684\u4F5C\u696D\u53EF\u80FD\u9700\u8981\u91CD\u65B0\u8A2D\u5B9A\u3002
coreWarning=\u8B66\u544A: \u9019\u500B\u5916\u639B\u7A0B\u5F0F\u662F\u70BA Jenkins {0} \u4E4B\u5F8C\u7684\u7248\u672C\u8A2D\u8A08\u3002\u5728\u60A8\u76EE\u524D\u7684 Jenkins \u4E0D\u898B\u5F97\u53EF\u4EE5\u6B63\u5E38\u904B\u4F5C\u3002
Inactive=\u505C\u7528
No\ updates=\u6c92\u6709\u66f4\u65b0
No\ updates=\u6C92\u6709\u66F4\u65B0
Install\ without\ restart=\u76F4\u63A5\u5B89\u88DD
Download\ now\ and\ install\ after\ restart=\u4E0B\u8F09\u4E26\u65BC\u91CD\u65B0\u555F\u52D5\u5F8C\u5B89\u88DD
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
Dependency\ errors=Si sono verificati degli errori relativi alle dipendenze durante il caricamento di alcuni plugin
Correct=Correggi
# The MIT License
#
# Copyright (c) 2004-, Kohsuke Kawaguchi, Sun Microsystems, Inc., 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.
3rd\ Party\ Dependencies=Dipendenze di terze parti
about=Informazioni su {0}
No\ information\ recorded=Nessuna informazione registrata
msg=Si sta per disinstallare il plugin <b>{0}</b>. Ciò rimuoverà il binario del plugin dalla propria directory $JENKINS_HOME, \
ma non altererà i file di configurazione del plugin.
title=Disinstallazione del plugin {0}
# The MIT License
#
# Copyright (c) 2017, suren <zxjlwt@126.com>
#
# 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.
title=\u5378\u8F7D {0} \u63D2\u4EF6
msg=\u4F60\u6B63\u5728\u5378\u8F7D <b>{0}</b> \u63D2\u4EF6\u3002\u8FD9\u5C06\u4F1A\u4ECE$JENKINS_HOME\u4E2D\u5220\u9664\uFF0C\u4F46\u662F\u914D\u7F6E\u6587\u4EF6\u4F1A\u88AB\u4FDD\u7559\u3002
Yes=\u786E\u5B9A
......@@ -20,10 +20,10 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Check\ now=Controlla ora
HTTP\ Proxy\ Configuration=Configurazione Proxy HTTP
Server=Server
Port=Porta
Submit=Invia
User\ name=Nome utente
lastUpdated=Informazioni di aggiornamento ottenute: {0} fa
uploadtext=Puoi fare l''upload di un file .hpi per installare
Password=Password
No\ Proxy\ Host=Eccezioni proxy
Test\ URL=URL di test
Validate\ Proxy=Controlla configurazione proxy
......@@ -34,3 +34,6 @@ Upload\ Plugin=\u4E0A\u4F20\u63D2\u4EF6
User\ name=\u7528\u6237\u540D
lastUpdated=\u66F4\u65B0\u4FE1\u606F\u83B7\u53D6\u4E8E{0}\u524D
uploadtext=\u60A8\u53EF\u4EE5\u901A\u8FC7\u4E0A\u4F20\u4E00\u4E2A.hpi\u6587\u4EF6\u6765\u5B89\u88C5\u63D2\u4EF6\u3002
No\ Proxy\ Host=\u4E0D\u901A\u8FC7\u4EE3\u7406\u7684\u4E3B\u673A
Validate\ Proxy=\u9A8C\u8BC1\u4EE3\u7406
Test\ URL=\u6D4B\u8BD5 URL
<div>
Se il proprio server Jenkins è protetto da un firewall e non ha accesso diretto a Internet,
e se la JVM del proprio server non è configurata in modo appropriato per abilitare la connessione a Internet
(<a href="http://download.oracle.com/javase/7/docs/technotes/guides/net/properties.html">si vedano le proprietà di rete JDK per ulteriori dettagli</a>),
è possibile specificare in questo campo il nome del server proxy HTTP per consentire a Jenkins
di installare plugin per proprio conto. Si noti che Jenkins utilizza HTTPS per comunicare con il Centro aggiornamenti per scaricare i plugin.
<p>
Se si lascia questo campo vuoto, Jenkins proverà a connettersi direttamente a Internet.
<p>
Se non si è sicuri del valore da immettere, controllare la configurazione proxy del browser.
</div>
<div>
Specificare i pattern dei nomi host a cui non si dovrebbe accedere tramite il proxy (un host per riga).
"*" è il carattere jolly per i nomi host (come "*.jenkins.io" o "www*.jenkins-ci.org")
</div>
<div>
Questo campo viene utilizzato insieme a quello del server proxy per specificare la porta del proxy HTTP.
</div>
<div>
Questo campo viene utilizzato insieme a quello del server proxy
per specificare il nome utente da utilizzare per l'autenticazione al proxy.
<p>
Se questo proxy richiede lo schema di autenticazione Microsoft
<a href="http://en.wikipedia.org/wiki/NTLM">NTLM</a>, è possibile codificare
il nome di dominio nel nome utente premettendo il nome di dominio e facendolo
seguire da una barra invertita '\' prima del nome utente, ad esempio
"ACME\Mario Rossi".
</div>
Jenkins\ CLI=Interfaccia a riga di comando di Jenkins
blurb=È possibile accedere a varie funzionalità di Jenkins tramite uno strumento a riga di comando. Si veda \
<a href="https://jenkins.io/redirect/cli">la documentazione</a> per ulteriori dettagli su questa funzionalità.\
Per iniziare, scaricare <a href="{0}/jnlpJars/jenkins-cli.jar">jenkins-cli.jar</a> ed eseguirlo come segue:
Available\ Commands=Comandi disponibili
Jenkins\ CLI=Jenkins CLI
blurb=Puoi accede alle funzionalit\u00e0\u00a0 di Jenkins attraverso un tool da linea di comando. Per maggiori dettagli visita \
<a href="https://jenkins.io/redirect/cli">la Wiki</a>. \
Per iniziare, scarica <a href="{0}/jnlpJars/jenkins-cli.jar">jenkins-cli.jar</a>, e lancia il seguente comando:
message=Questo protocollo è un protocollo obsoleto sostituito da CLI2-connect. \
È anche non criptato.
summary=Accetta connessioni da client con interfaccia da riga di comando. Questo protocollo non è criptato.
message=L''interfaccia da riga di comando basata su remoting è deprecata e non raccomandata per motivi di sicurezza. \
È raccomandato disabilitare questo protocollo sull''istanza. \
Se è richiesto l''utilizzo dell''interfaccia da riga di comando Remoting, questo protocollo deve essere abilitato.
summary=Estende la versione 1 del protocollo aggiungendo la crittografia del trasporto.
DeleteNodeCommand.ShortDescription=Cancella un nodo
DeleteJobCommand.ShortDescription=Cancella un job
ClearQueueCommand.ShortDescription=Pulisce la coda di lavoro
ConnectNodeCommand.ShortDescription=Riconnettersi ad un nodo
WaitNodeOnlineCommand.ShortDescription=Attende che il nodo sia attivo
WaitNodeOfflineCommand.ShortDescription=Attende che un nodo sia disattivo
InstallPluginCommand.DidYouMean=Sembra che {0} sia il nome breve di un plugin. Forse si intendeva "{1}"?
InstallPluginCommand.InstallingFromUpdateCenter=Installazione di {0} dal Centro aggiornamenti in corso
InstallPluginCommand.InstallingPluginFromLocalFile=Installazione di un plugin da un file locale in corso: {0}
InstallPluginCommand.InstallingPluginFromStdin=Installazione di un plugin dallo standard input in corso
InstallPluginCommand.InstallingPluginFromUrl=Installazione di un plugin da {0} in corso
InstallPluginCommand.NoUpdateCenterDefined=Si noti che in quest''istanza di Jenkins non è definito alcun Centro aggiornamenti.
InstallPluginCommand.NoUpdateDataRetrieved=Non sono ancora stati recuperati dati del Centro aggiornamenti da {0}
InstallPluginCommand.NotAValidSourceName={0} non è né un file valido, né un URL, né il nome di un artefatto di un plugin nel Centro aggiornamenti
AddJobToViewCommand.ShortDescription=Aggiunge processi alla vista.
BuildCommand.ShortDescription=Compila una build e attende facoltativamente il suo completamento.
ConsoleCommand.ShortDescription=Recupera l''output su console di una build.
CopyJobCommand.ShortDescription=Copia un processo.
CreateJobCommand.ShortDescription=Crea un nuovo processo leggendo lo standard input e interpretandolo come un file di configurazione XML.
CreateNodeCommand.ShortDescription=Crea un nuovo nodo leggendo lo standard input e interpretandolo come un file di configurazione XML.
CreateViewCommand.ShortDescription=Crea una nuova vista leggendo lo standard input e interpretandolo come un file di configurazione XML.
DeleteBuildsCommand.ShortDescription=Elimina uno o più record relativi alle build.
DeleteViewCommand.ShortDescription=Elimina una o più viste.
DeleteJobCommand.ShortDescription=Elimina uno o più processi.
GroovyCommand.ShortDescription=Esegue lo script Groovy specificato.
GroovyshCommand.ShortDescription=Esegue una shell Groovy interattiva.
HelpCommand.ShortDescription=Elenca tutti i comandi disponibili o visualizza una descrizione dettagliata di un singolo comando.
InstallPluginCommand.ShortDescription=Installa un plugin da un file, un URL o dal Centro aggiornamenti.
InstallToolCommand.ShortDescription=Esegue un''installazione automatica dello strumento e stampa il suo percorso sullo standard output. Può essere invocato solo da una build. [deprecato]
ListChangesCommand.ShortDescription=Esegue il dump del log delle modifiche per la/le build specificata/e.
ListJobsCommand.ShortDescription=Elenca tutti i processi in una specifica vista o in un gruppo di elementi.
ListPluginsCommand.ShortDescription=Visualizza un elenco di plugin installati.
LoginCommand.ShortDescription=Salva le credenziali correnti per consentire ai comandi futuri di essere eseguiti senza specificare esplicitamente le informazioni relative alle credenziali. [deprecato]
LoginCommand.FullDescription=A seconda dell''area di sicurezza sarà necessario fornire argomenti come:\n\
--username UTENTE [ --password PASSWORD | --password-file FILE ]\n\
Può non essere supportato in alcune aree di sicurezza come il single sign on.\n\
Va abbinato al comando logout.\n\
Le medesime opzioni possono essere utilizzate con qualsiasi altro comando, ma,\n\
a differenza delle altre opzioni generiche dell''interfaccia da riga di comando,\n\
queste devono essere specificate *dopo* il nome del comando.\n\
Indipendentemente dal fatto che le credenziali siano salvate o meno, questa\n\
modalità di autenticazione non consentirà di fare riferimento (ad esempio)\n\
ai processi come argomenti se Jenkins nega agli utenti anonimi i permessi\n\
Globale/Lettura e (ad esempio) Processo/Lettura.\n\
*Deprecato* a favore di -auth.
LogoutCommand.ShortDescription=Elimina le credenziali salvate con il comando login. [deprecato]
LogoutCommand.FullDescription=*Deprecato* a favore di -auth.
MailCommand.ShortDescription=Legge lo standard input e lo invia come messaggio di posta elettronica.
SetBuildDescriptionCommand.ShortDescription=Imposta la descrizione di una build.
SetBuildParameterCommand.ShortDescription=Aggiorna/imposta il parametro di build della build attualmente in corso. [deprecato]
SetBuildResultCommand.ShortDescription=Imposta il risultato della build corrente. Funziona solamente se invocato da una build. [deprecato]
RemoveJobFromViewCommand.ShortDescription=Rimuove dei processi dalla vista.
VersionCommand.ShortDescription=Visualizza la versione attuale.
GetJobCommand.ShortDescription=Esegue il dump dell''XML della definizione del processo sullo standard output.
GetNodeCommand.ShortDescription=Esegue il dump dell''XML della definizione del nodo sullo standard output.
GetViewCommand.ShortDescription=Esegue il dump dell''XML della definizione della vista sullo standard output.
SetBuildDisplayNameCommand.ShortDescription=Imposta il nome visualizzato di una build.
WhoAmICommand.ShortDescription=Visualizza i propri credenziali e permessi.
UpdateJobCommand.ShortDescription=Aggiorna l''XML della definizione del processo dallo standard input. È il comando contrario di get-job.
UpdateNodeCommand.ShortDescription=Aggiorna l''XML della definizione del nodo dallo standard input. È il comando contrario di get-node.
SessionIdCommand.ShortDescription=Visualizza l''ID di sessione che cambia a ogni riavvio di Jenkins.
UpdateViewCommand.ShortDescription=Aggiorna l''XML della definizione della vista dallo standard input. È il comando contrario di get-view.
BuildCommand.CLICause.ShortDescription=Avviato dalla riga di comando da {0}
BuildCommand.CLICause.CannotBuildDisabled=Impossibile compilare {0} perché è disabilitato.
BuildCommand.CLICause.CannotBuildConfigNotSaved=Impossibile compilare {0} perché la sua configurazione non è stata salvata.
BuildCommand.CLICause.CannotBuildUnknownReasons=Impossibile compilare {0} per motivi sconosciuti.
DeleteNodeCommand.ShortDescription=Elimina nodo/i
ReloadJobCommand.ShortDescription=Aggiorna processo/i
OnlineNodeCommand.ShortDescription=Riprende ad utilizzare un nodo per eseguire le build, annullando il comando precedente "offline-node".
ClearQueueCommand.ShortDescription=Pulisce la coda di lavoro.
ReloadConfigurationCommand.ShortDescription=Scarta tutti i dati caricati in memoria e ricarica tutto dal file system. Utile quando si sono modificati file di configurazione direttamente su disco.
ConnectNodeCommand.ShortDescription=Esegue una nuova connessione al nodo/i.
DisconnectNodeCommand.ShortDescription=Si disconnette da un nodo/i.
QuietDownCommand.ShortDescription=Ferma le attività di Jenkins in preparazione a un riavvio. Non avvia alcuna build.
CancelQuietDownCommand.ShortDescription=Annulla gli effetti del comando "quiet-down".
OfflineNodeCommand.ShortDescription=Non utilizza più temporaneamente un nodo per eseguire le build fino al successivo comando "online-node".
WaitNodeOnlineCommand.ShortDescription=Attende che un nodo sia in linea.
WaitNodeOfflineCommand.ShortDescription=Attende che un nodo sia non in linea.
CliProtocol.displayName=Protocollo Jenkins da interfaccia da riga di comando/1 (non criptato)
CliProtocol2.displayName=Protocollo Jenkins da interfaccia da riga di comando/1 (trasporto criptato)
blurb=<tt>JENKINS_HOME</tt> quasi piena
description.1=\
<tt>JENKINS_HOME</tt> ({0}) quasi piena. \
Quando questa directory sar completamente piena, ci causer scompiglio perch Jenkins non potr pi memorizzare dati.
description.2=Per prevenire tale problema, si dovrebbe agire ora.
solution.1=Eliminare alcuni file da questa partizione per creare pi spazio.
solution.2=\
Spostare <tt>JENKINS_HOME</tt> su una partizione pi grande. \
Si veda <a href="https://jenkins.io/redirect/migrate-jenkins-home">la nostra documentazione</a> per scoprire come fare.
JENKINS_HOME\ is\ almost\ full=JENKINS_HOME quasi piena
blurb=La directory dati di Jenkins "{0}" (nota anche come <tt>JENKINS_HOME</tt>) è quasi piena. Si dovrebbe agire prima che diventi completamente piena.
Tell\ me\ more=Dimmi di più
Dismiss=Ignora
JVM\ Memory\ Usage=Utilizzo memoria JVM
Timespan=Intervallo temporale
Short=Breve
Medium=Medio
Long=Lungo
MemoryUsageMonitor.USED=Utilizzata
MemoryUsageMonitor.TOTAL=Totale
OldDataMonitor.Description=Ripulisci i file di configurazione per rimuovere residui dovuti a vecchi plugin e vecchie versioni.
OldDataMonitor.DisplayName=Gestisci dati vecchi
HudsonHomeDiskUsageMonitor.DisplayName=Monitor utilizzo spazio su disco
NullIdDescriptorMonitor.DisplayName=ID descrittore mancante
ReverseProxySetupMonitor.DisplayName=Impostazione reverse proxy
TooManyJobsButNoView.DisplayName=Troppi processi non organizzati in viste
blurb=Le seguenti estensioni non hanno un ID e pertanto probabilmente causeranno un problema. Aggiornare questi plugin se non sono all''ultima versione, \
e se sono l''ultima versione, segnalare l''errore in modo che possiamo correggerli.
problem=Descrittore {0} del plugin {2} con nome visualizzato {1}
# This file is under the MIT License by authors
Manage\ Old\ Data=Gestici dati vecchi
Name=Nome
No\ old\ data\ was\ found.=Nessun vecchio dato trovato.
blurb.1=\
Quando vi sono dei cambiamenti nel modo in cui i dati sono salvati su disco, Jenkins \
utilizza la seguente strategia: i dati sono migrati alla loro nuova struttura quando \
vengono caricati, ma il file non è salvato nuovamente nel nuovo formato. Ciò consente \
di effettuare il downgrade di Jenkins se necessario. Tuttavia, ciò può anche lasciare \
dei dati su disco nel vecchio formato indefinitamente. La tabella sottostante elenca \
i file che contengono tali dati e le versioni di Jenkins in cui è stata modificata la \
struttura dati.
blurb.2=\
A volte si verificano errori durante la lettura dei dati (se un plugin aggiunge dei dati \
e tale plugin viene disabilitato in un secondo momento, se non è stato scritto codice per \
gestire la migrazione quando vengono modificate le strutture dati, o se si esegue il \
downgrade di Jenkins dopo che questo ha già scritto dati non leggibili dalla vecchia \
versione). Questi errori sono registrati, ma i dati non leggibili vengono saltati, \
consentendo a Jenkins di avviarsi e funzionare correttamente.
blurb.3=\
Il modulo sottostante può essere utilizzato per salvare nuovamente questi file nel \
formato corrente. Eseguire tale operazione comporterà che un downgrade a una versione di \
Jenkins più vecchie della versione selezionata non sarà in grado di leggere i dati \
memorizzati nel nuovo formato. Si noti che il semplice utilizzo di Jenkins per creare \
e configurare processi ed eseguire build può salvare dati che potrebbero non essere \
leggibili da versioni di Jenkins più vecchie, anche nel caso in cui non si utilizzi \
questo modulo. Inoltre, se vi sono degli errori relativi a dati non leggibili nella \
parte destra della tabella soprastante, si noti che tali dati andranno perduti quando il \
file sarà salvato nuovamente.
blurb.4=\
Prima o poi il codice per il supporto di queste migrazioni dati potrebbe essere rimosso. \
La compatibilità sarà mantenuta per almeno 150 versioni a partire dalla modifica della \
struttura. Le versioni più vecchie di queste sono evidenziate sopra in grassetto, e si \
raccomanda di salvare nuovamente questi file.
blurb.5=\
(potrebbe essere ancora possibile eseguire il downgrade fino alla versione selezionata)
blurb.6=\
È accettabile lasciare dati non leggibili in tali file, in quanto Jenkins li ignorerà \
in modo sicuro. Per evitare i messaggi di log all''avvio di Jenkins si possono eliminare \
definitivamente i dati non leggibili salvando nuovamente questi file utilizzando il \
pulsante sottostante.
Manage\ Old\ Data=Gestisci dati vecchi
Type=Tipo
Name=Nome
Version=Versione
blurb.1=Quando ci sono cambiamenti nel modo in cui i dati sono salvati sul disco, Jenkins usa la seguente strategia: i dati sono migrati nella nuova struttura quando caricati, ma i file non sono salvati nel nuovo formato. Questo consente di fare il downgrade di Jenkins se necessario. Comunque, lascia anche i dati sul disco nel vecchio formato indefinitamente. La tabella sotto mostra la lista dei file contenenti tali dati, e le versioni di Jenkins dove la struttura dei dati \u00E8 stata cambiata.
blurb.2=Qualche volta capitano degli errori durante la lettura dei dati (se un plugin aggiunge alcuni dati e quel plugin viene successivamente disabilitato, se il codice di migrazione non \u00E8 scritto per cambiamenti strutturali o se a Jenkins \u00E8 fatto il downgrade dopo che ha gi\u00E0 scritto dati non leggibili nella vecchia versione). Questi errori sono inseriti nel log, ma i dati non leggibili vengono saltati, permettendo a Jenkins di partire e funzionare correttamente.
Resave\ data\ files\ with\ structure\ changes\ no\ newer\ than\ Jenkins=Salva nuovamente file dati con modifiche strutturali non introdotte in una versione di Jenkins superiore alla
Upgrade=Aggiorna
No\ old\ data\ was\ found.=Nessun dato vecchio trovato.
Unreadable\ Data=Dati illeggibili
Error=Errore
Discard\ Unreadable\ Data=Elimina dati illeggibili
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc.
#
# 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.
Dismiss=Chiudi
Dismiss=Ignora
Manage=Gestisci
You\ have\ data\ stored\ in\ an\ older\ format\ and/or\ unreadable\ data.=Sono presenti dati salvati in un formato precedente o dati illeggibili.
You\ have\ data\ stored\ in\ an\ older\ format\ and/or\ unreadable\ data.=\
Alcuni dati sono salvati in un vecchio formato e/o sono illeggibili.
......@@ -22,4 +22,4 @@
Dismiss=Chiudi
More\ Info=Maggiori informazioni
blurb=Sembra che la tua configurazione di reverse proxy abbia problemi.
blurb=Sembra che la configurazione del reverse proxy presenti dei problemi.
blurb=Sembra che ci sia un numero di processi elevato. Sapevi di poter organizzare i processi in viste differenti? \
È possibile cliccare in qualsiasi momento su '+' in alto nella pagina per creare una nuova vista.
Create\ a\ view\ now=Crea una vista ora
Dismiss=Ignora
WorkspaceSnapshotSCM.NoSuchJob=Non esiste un processo "{0}". Forse si intendeva "{1}"?
WorkspaceSnapshotSCM.IncorrectJobType={0} non è un processo che contiene una soluzione.
WorkspaceSnapshotSCM.NoBuild=Non esiste una compilazione qualifying per il collegamento permanente {0} in {1}
WorkspaceSnapshotSCM.NoSuchPermalink=Non esiste un collegamento permanente "{0}" per {1}
WorkspaceSnapshotSCM.NoWorkspace=\
{0} {1} non ha uno snapshot soluzione collegato, probabilmente perché quando si è\n\
eseguita la compilazione nessun altro processo richiedeva il suo snapshot soluzione.\n\
Eseguire un''altra compilazione in {0} per catturare lo snapshot soluzione.
GroovyInitScript.init=Esecuzione script di inizializzazione definito dall''utente in corso
InitialUserContent.init=Preparazione contenuto utente iniziale in corso
WindowsInstallerLink.DisplayName=Installa come servizio Windows
WindowsInstallerLink.Description=Installa Jenkins come servizio Windows su questo sistema in modo tale che Jenkins parta automaticamente all''avvio della macchina.
WindowsSlaveInstaller.ConfirmInstallation=Quest''azione installerà un agente come servizio Windows in modo tale che un agente Jenkins parta automaticamente all''avvio della macchina.
WindowsSlaveInstaller.DotNetRequired=Per questa funzionalità è richiesto .NET Framework 2.0 o una versione successiva
WindowsSlaveInstaller.InstallationSuccessful=L''installazione è stata completata con successo. Avviare il servizio ora?
WindowsSlaveInstaller.RootFsDoesntExist=La directory radice dell''agente "{0}" non esiste
blurb=Si dovrebbe essere automaticamente reindirizzati alla nuova istanza di Jenkins entro alcuni secondi. \
Se per qualche motivo l''avvio del servizio non riesce, controllare il Registro eventi di Windows per eventuali errori \
e consultare la pagina wiki nel <a href="https://jenkins.io/redirect/troubleshooting/windows-service-fails-to-start">wiki ufficiale</a>.
Please\ wait\ while\ Jenkins\ is\ restarting=Attendere finché Jenkins si sta riavviando
installBlurb=Installare Jenkins come servizio di Windows consente di avviare Jenkins quando viene avviata la macchina, indipendentemente dall''utente che utilizza Jenkins in modalità interattiva.
restartBlurb=Installazione completata con successo. Arrestare quest''istanza di Jenkins e avviare il servizio Windows appena installato?
Install\ as\ Windows\ Service=Installa come servizio Windows
Installation\ Directory=Directory di installazione
Install=Installa
Installation\ Complete=Installazione completata
Yes=
Name=Nome
Loggers=Logger
List\ of\ loggers\ and\ the\ log\ levels\ to\ record=Elenco di logger e dei livelli di log da registrare
Logger=Logger
Log\ level=Priorit
Save=Salva
Are\ you\ sure\ about\ deleting\ this\ log\ recorder?=Eliminare questo registratore di log?
Yes=S
Delete=Elimina
Back\ to\ Loggers=Torna ai logger
Configure=Configura
Log\ records=Voci di registro
# This file is under the MIT License by authors
>\ SEVERE=> ERRORE GRAVE
>\ WARNING=> AVVERTIMENTO
>\ SEVERE=> ERRORE
>\ WARNING=> AVVISO
All=Tutti
......@@ -2,5 +2,6 @@
Add\ new\ log\ recorder=Aggiungi nuovo registro
All\ Jenkins\ Logs=Tutti i registri di Jenkins
Log\ Recorders=Registri
Log\ Recorders=Registratori log
Name=Nome
Log=Registro
# This file is under the MIT License by authors
Adjust\ Levels=Aggiusta livelli
Adjust\ Levels=Regola livelli
Level=Livello
Logger\ Configuration=Configurazione registro
Name=Nome
Submit=Invia
defaultLoggerMsg=Il registro senza nome \u00E8 quello predefinito. Questo livello sar\u00E0 ereditato da tutti i registri senza un livello configurato.
url=https://jenkins.io/redirect/log-levels
defaultLoggerMsg=Il registro senza nome quello predefinito. Questo livello sar ereditato da tutti i registri senza un livello configurato.
......@@ -2,7 +2,7 @@
All\ Logs=Tutti i registri
Back\ to\ Dashboard=Ritorna al cruscotto
Log\ Levels=Livelli di registro
Logger\ List=Lista dei registri
Log\ Levels=Livelli registro
Logger\ List=Elenco registri
Manage\ Jenkins=Configura Jenkins
New\ Log\ Recorder=Nuovo registro
LogRecorderManager.init=Inizializzazione registratori log in corso
LogRecorderManager.DisplayName=registri
blurb=Considera l''intero input come testo semplice. I caratteri non sicuri HTML come < ed & sono sottoposti ad escape e sostituiti dalle rispettive entit carattere.
EscapedMarkupFormatter.DisplayName=Testo semplice
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc.
#
# 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.
Changes=Modifiche
Not\ yet\ determined=Non ancora determinate
Failed\ to\ determine=Impossibile determinare le modifiche
log=registro
......@@ -21,3 +21,6 @@
# THE SOFTWARE.
Changes=Mudan\u00e7as
Not\ yet\ determined=Ainda n\u00E3o definido
Failed\ to\ determine=Falha para definir
log=log
......@@ -20,12 +20,17 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Build=Compila
Build=Compilazione
Build\ Artifacts=Prodotti della compilazione
Build\ number=Numero build
Not\ yet\ determined=Non ancora determinato
Permalinks=Permalink
Not\ yet\ determined=Non ancora determinati
Took=Durata
beingExecuted=La build \u00E8 stata in esecuzione per {0}
beingExecuted=La compilazione è stata in esecuzione per {0}
on=Su
startedAgo=Avviato {0} fa
startedAgo=Avviata {0} fa
Changes\ in\ dependency=Modifiche alle dipendenze
log=registro
Upstream\ Builds=Build upstream
Failed\ to\ determine=Impossibili da determinare
none=nessuno
detail=dettagli
Downstream\ Builds=Build downstream
......@@ -33,3 +33,4 @@ Downstream\ Builds=builds filho
none=nenhum
Took=Demorou
Build=Build
on=em
......@@ -20,5 +20,5 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Next\ Build=Build successiva
Next\ Build=Compilazione successiva
Previous\ Build=Compilazione precedente
......@@ -22,9 +22,6 @@
Back\ to\ Project=Torna al progetto
Changes=Modifiche
Console\ Output=Output console
View\ Build\ Information=Visualizza Informazione della Build
View\ as\ plain\ text=Mostra come testo semplice
Edit\ Build\ Information=Modifica informazioni di compilazione
Status=Stato
raw=grezzo
View\ Build\ Information=Visualizza informazioni di compilazione
# This file is under the MIT License by authors
Yes=Si
blurb=Sei sicuro di voler cancellare il {0} ''''{1}''''?
blurb=Eliminare "{1}"?
Yes=S
<div>
Se impostato, il nome visualizzato (facoltativo) verrà visualizzato nel progetto
nell'interfaccia grafica Web di Jenkins. Dal momento che esso è utilizzato solo
per scopi di visualizzazione, non è necessario che questo sia unico per ogni
progetto.<br />
Se il nome visualizzato non è impostato, l'interfaccia grafica Web di Jenkins
visualizzerà il nome del progetto per impostazione predefinita.
</div>
<div>
Per impostazione predefinita, le compilazioni di questo progetto possono
essere eseguite su un qualsiasi agente di compilazione disponibile e
configurato per accettare nuove compilazioni.
<p>
Quando quest'opzione è selezionata, si ha la possibilità di assicurarsi che
le compilazioni di questo progetto avvengano solo su determinati agenti o
insiemi di agenti.
<p>
Ad esempio, se il progetto deve essere compilato su un determinato sistema
operativo o su macchine su cui sono installati determinati insiemi di
strumenti, o su una singola macchina specifica, è possibile impostare delle
restrizioni su questo progetto in modo che sia compilato solo sugli agenti
che corrispondano a questi criteri.
<p>
Il testo guida per il campo <i>Espressione etichetta</i>, visualizzato
quando quest'opzione è selezionata, fornisce informazioni più dettagliate
relative alle modalità per specificare criteri agente.
</div>
# The MIT License
#
# Copyright (c) 2004-2010, Sun Microsystems, Inc.
#
# 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.
There''s\ no\ workspace\ for\ this\ project.\ Possible\ reasons\ are:=Nessun workspace per questo progetto. Possibili ragioni:
li3=La cartella del workspace ({0}) \u00E8 stata eliminata esternamente a Jenkins.
text=Esegui una build per permettere a Jenkins di creare un workspace.
Error\:\ no\ workspace=Errore: nessun''area di lavoro
A\ project\ won''t\ have\ any\ workspace\ until\ at\ least\ one\ build\ is\ performed.=Un progetto non avrà alcun''area di lavoro fino a che non sarà stata eseguita almeno una compilazione.
The\ project\ was\ renamed\ recently\ and\ no\ build\ was\ done\ under\ the\ new\ name.=Il progetto è stato recentemente ridenominato e non è stata eseguita alcuna compilazione con il nuovo nome.
li3=La directory del progetto ({0}) è stata eliminata al di fuori di Jenkins.
text=Eseguire una compilazione per far sì che Jenkins crei un''area di lavoro.
The\ workspace\ was\ wiped\ out\ and\ no\ build\ has\ been\ done\ since\ then.=L''area di lavoro è stata eliminato e da allora non è stata eseguita alcuna compilazione.
There''s\ no\ workspace\ for\ this\ project.\ Possible\ reasons\ are\:=Non esiste un''area di lavoro per questo progetto. Motivi possibili:
The\ agent\ this\ project\ has\ run\ on\ for\ the\ last\ time\ was\ removed.=L''agente su cui è stato eseguito questo progetto l''ultima volta è stato rimosso.
......@@ -21,3 +21,7 @@
# THE SOFTWARE.
Changes=Modifiche
to.label=fino a {0}
changes.title=Modifiche a {0}
range.label=fra {0} e {1}
from.label=da {0}
......@@ -20,8 +20,6 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
Advanced\ Project\ Options=Opzioni Avanzate del Progetto
Display\ Name=Mostra Nome
Display\ Name=Visualizza nome
JDK\ to\ be\ used\ for\ this\ project=JDK da utilizzare per questo progetto
Label\ Expression=Etichetta espressione
Restrict\ where\ this\ project\ can\ be\ run=Limita dove questo progetto pu\u00F2 essere eseguito
Keep\ the\ build\ logs\ of\ dependencies=Conserva i registri di compilazione delle dipendenze
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册