# Italian translations for R graphics package
# Copyright (C) 2005 The R Foundation for Statistical Computing
# This file is distributed under the same license as the R package.
# Stefano M. Iacus <Stefano.Iacus@R-Project.org>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: R 2.3.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2018-03-29 07:06\n"
"PO-Revision-Date: 2005-02-26 22:56+0100\n"
"Last-Translator: Stefano M. Iacus <Stefano.Iacus@R-project.org>\n"
"Language-Team: Italian\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgid "'a' is overridden by 'reg'"
msgstr ""

msgid "only using the first two of %d regression coefficients"
msgstr ""

msgid "'a' and 'b' are overridden by 'coef'"
msgstr ""

msgid "one of 'x1' and 'y1' must be given"
msgstr ""

msgid ""
"'length', 'angle', or 'code' greater than length 1; values after the first "
"are ignored"
msgstr ""

msgid "'x' must be a 2-d contingency table"
msgstr "'x' deve essere una tabella di contigenza a 2 vie"

msgid "all entries of 'x' must be nonnegative and finite"
msgstr "tutti i termini di 'x' devono essere non negativi e finiti"

msgid "at least one entry of 'x' must be positive"
msgstr "almeno un termine di 'x' deve essere positivo"

msgid "incorrect 'col': must be length 2"
msgstr "'col' non valido: deve essere di lunghezza 2"

msgid "only for 1-D table"
msgstr ""

#, fuzzy
msgid "'side' must be in {1:4}"
msgstr "'side' deve essere in {1:4}"

msgid "invalid 'axp'"
msgstr "'axp' non valido"

msgid "invalid 'log'"
msgstr "'log' non valido"

#, fuzzy
msgid "invalid positive 'axp[3]'"
msgstr "valore positivo 'axp[3]' non valido"

msgid "invalid 'usr'"
msgstr "'usr' non valido"

msgid "'height' must be a vector or a matrix"
msgstr "'height' deve essere un vettore o una matrice"

msgid "Cannot use shading lines in bars when log scale is used"
msgstr ""

msgid "log scale error: at least one 'height + offset' value <= 0"
msgstr ""

msgid "log scale error: 'xlim' <= 0"
msgstr ""

msgid "log scale error: 'ylim' <= 0"
msgstr ""

msgid "incorrect number of names"
msgstr "numero di nomi non corretto"

msgid "invalid first argument"
msgstr "primo argomento non valido"

msgid "'formula' missing or incorrect"
msgstr "'formula' mancante o sbagliata"

#, fuzzy
msgid "'at' must have same length as 'z$n', i.e. %d"
msgstr "'at' deve avere la stessa lunghezza di 'z$n', ovvero"

msgid "invalid boxplot widths"
msgstr "larghezza boxplot non valida"

msgid "some notches went outside hinges ('box'): maybe set notch=FALSE"
msgstr ""

msgid "'formula' should specify exactly two variables"
msgstr ""

msgid "dependent variable should be a factor"
msgstr ""

msgid "y axis is on a cumulative probability scale, 'ylim' must be in [0,1]"
msgstr ""

msgid "no 'z' matrix specified"
msgstr "la matrice 'z' non è stata specificata"

msgid "increasing 'x' and 'y' values expected"
msgstr "i valori di 'x' e 'y' devono essere crescenti"

msgid "no proper 'z' matrix specified"
msgstr "nessuna matrice 'z' opportuna specificata"

msgid "'labels' is length zero.  Use 'drawlabels = FALSE' to suppress labels."
msgstr ""

msgid "invalid conditioning formula"
msgstr "formula di condizionamento non valida"

msgid "incompatible variable lengths"
msgstr "lunghezza delle variabili incompatibile"

msgid "'number' must be integer >= 1"
msgstr "'number' deve essere un intero >= 1"

msgid "'overlap' must be < 1 (and typically >= 0)."
msgstr "'overlap' deve essere < 1 (e solitamente >= 0)."

msgid "invalid 'given.values'"
msgstr "'given.values' non valido"

msgid "rows * columns too small"
msgstr "righe * colonne troppo piccolo"

#, fuzzy
msgid "Missing rows: %s"
msgstr "Righe mancanti"

#, fuzzy
msgid "'expr' must be a function, or a call or an expression containing '%s'"
msgstr "'expr' deve essere una funzione o un'espressione contenent 'x'"

msgid "'add' will be ignored as there is no existing plot"
msgstr ""

msgid "'from' and 'to' must be > 0 with log=\"x\""
msgstr "'from' e 'to' devono esser >0 con log=\"x\""

msgid "'expr' did not evaluate to an object of length 'n'"
msgstr ""

msgid "wrong method"
msgstr "metodo errato"

msgid "Must specify 'breaks' in hist(<POSIXt>)"
msgstr ""

msgid "invalid specification of 'breaks'"
msgstr "specificazine di 'breaks' non valida"

msgid "Must specify 'breaks' in hist(<Date>)"
msgstr ""

#, fuzzy
msgid "'x' must be a numeric vector or matrix"
msgstr "'y' deve essere un vettore numerico"

msgid "'x' is neither a vector nor a matrix: using as.numeric(x)"
msgstr ""

msgid "'x' must be an array"
msgstr "'x' deve essere un array"

msgid "'x' must be 2- or 3-dimensional"
msgstr "'x' deve essere bi o tri-dimensionale"

msgid "table for each stratum must be 2 by 2"
msgstr "la table di ogni strato deve essere 2 per 2"

msgid "'conf.level' must be a single number between 0 and 1"
msgstr "'conf.level' deve essere un singolo numero tra 0 e 1"

msgid "incorrect 'margin' specification"
msgstr "'margin' non correttamente specificate"

msgid "incorrect geometry specification"
msgstr "geometry non specificato correttamente"

msgid "'x' must be numeric"
msgstr "'x' deve essere numeric"

#, fuzzy
msgid "invalid length(x)"
msgstr "'log' non valido"

msgid "'nclass' not used when 'breaks' is specified"
msgstr "'nclass' non viene usata quando viene specificato 'breaks'"

msgid "'include.lowest' ignored as 'breaks' is not a vector"
msgstr "'include.lowest' ignorato poiché 'breaks' non è un vettore"

msgid "unknown 'breaks' algorithm"
msgstr "algoritmo per 'breaks' sconosciuto"

msgid "invalid number of 'breaks'"
msgstr "numero di 'breaks' non valido"

msgid "'breaks = %g' is too large and set to 1e6"
msgstr ""

#, fuzzy
msgid "hist.default: pretty() error, breaks=%s"
msgstr "hist.default: errore in pretty(), breaks="

msgid "Invalid breakpoints produced by 'breaks(x)': %s"
msgstr ""

#, fuzzy
msgid "invalid length(breaks)"
msgstr "lunghezza delle coordinate non valida"

msgid "'breaks' are not strictly increasing"
msgstr "'breaks' non sono strettamente crescenti"

msgid "'probability' is an alias for '!freq', however they differ."
msgstr "'probability' è un alisa per '!freq', comunque sono differenti."

msgid "some 'x' not counted; maybe 'breaks' do not span range of 'x'"
msgstr ""
"alcuni valori di 'x' non considerati; forse 'breaks' non copre tutto il "
"range di 'x'"

#, fuzzy
msgid "the AREAS in the plot are wrong -- rather use 'freq = FALSE'"
msgstr "le AREE nel grafico sono sbagliate -- usare piuttosto freq=FALSE"

msgid "'x' is wrongly structured"
msgstr "'x' è strutturata in modo errato"

msgid "argument must be matrix-like"
msgstr "l'argomento deve essere una matrice o simile"

msgid "'x' and 'y' values must be finite and non-missing"
msgstr ""

msgid "'z' must be a matrix"
msgstr "'z' deve essere una matrice"

#, fuzzy
msgid "'z' must be numeric or logical"
msgstr "'x' deve essere numeric"

msgid "invalid z limits"
msgstr "limits di z non validi"

msgid "must have one more break than colour"
msgstr "deve avere un break in più di colour"

#, fuzzy
msgid "'breaks' must all be finite"
msgstr "i breaks devono essere tutti finiti"

msgid "unsorted 'breaks' will be sorted before use"
msgstr ""

#, fuzzy
msgid "dimensions of z are not length(x)(-1) times length(y)(-1)"
msgstr "le dimensioni di z non sono length(z)(+1) volte length(y)(+1)"

msgid "%s can only be used with a regular grid"
msgstr ""

msgid "integer colors must be non-negative"
msgstr ""

msgid "'respect' must be logical or matrix with same dimension as 'mat'"
msgstr ""
"'respect' deve essere booleano o una matrice delle stesse dimensioni di 'mat'"

#, fuzzy
msgid ""
"layout matrix must contain at least one reference\n"
"to each of the values {1 ... %d}"
msgstr ""
"la matrice di layout deve contenere almeno un riferimento\n"
"a ciascuno dei valori {1..n}; qui n ="

#, fuzzy
msgid "invalid 'title'"
msgstr "'title' non valido"

msgid "'legend' is of length 0"
msgstr ""

msgid "invalid coordinate lengths"
msgstr "lunghezza delle coordinate non valida"

msgid "'text.width' must be numeric, >= 0"
msgstr "'text.width' deve essere numeric, >= 0"

#, fuzzy
msgid "horizontal specification overrides: Number of columns := %d"
msgstr "la specificazione orizzontale eccede: Numero di colonne :="

msgid "'merge = TRUE' has no effect when no line segments are drawn"
msgstr ""

#, fuzzy
msgid "not using pch[2..] since pch[1L] has multiple chars"
msgstr "non uso pch[2..] poiché pch[1] contiene più caratteri"

msgid "must specify at least one of 'x' and 'y'"
msgstr "si deve specificare almeno uno tra 'x' e 'y'"

msgid "'x' and 'y' must have same number of rows"
msgstr "'x' ed 'y' devono avere lo stesso numero di righe"

msgid "'x' and 'y' must have only 1 or the same number of columns"
msgstr "'x' e 'y' devono avere solo 1 o lo stesso numero di colonne"

msgid "default 'pch' is smaller than number of columns and hence recycled"
msgstr ""

msgid "missing values in contingency table"
msgstr "valori mancanti nella tabella di contingenza"

msgid "'x' must not have 0 dimensionality"
msgstr "'x' non deve avere dimensione 0"

msgid "invalid 'shade' specification"
msgstr "specificazione di 'shade' non valida"

msgid "length of 'sort' does not conform to 'dim(x)'"
msgstr "lunghezza di 'sort' non conforme a 'dim(x)'"

msgid "non-numeric argument to 'pairs'"
msgstr "argomento non numerico a 'pairs'"

msgid "only one column in the argument to 'pairs'"
msgstr "solo una colonna come argomento di 'pairs'"

#, fuzzy
msgid "invalid argument 'horInd'"
msgstr "primo argomento non valido"

#, fuzzy
msgid "invalid argument 'verInd'"
msgstr "primo argomento non valido"

msgid "the 'panel' function made a new plot"
msgstr "La funzione 'panel' ha generato un nuovo grafico"

msgid "surface extends beyond the box"
msgstr ""

msgid "'x' values must be positive."
msgstr "i valori di 'x' devono essere positiv"

msgid "invalid table 'x'"
msgstr "table 'x' non valida"

msgid "the formula '%s' is treated as '%s'"
msgstr ""

msgid "cannot handle more than one 'x' coordinate"
msgstr "non possono lavorare con piu' di una coordinata 'x'"

msgid "must have a response variable"
msgstr "deve avere una variabile risposta"

msgid "'plot.data.frame' applied to non data frame"
msgstr "'plot.data.frame' applicato a un non data frame"

msgid "'y' must be a numeric vector"
msgstr "'y' deve essere un vettore numerico"

msgid "'x' must be a data frame"
msgstr "'x' deve essere un data frame"

msgid "all columns/components of 'x' must be factors"
msgstr "tutte le colonne/componenti di 'x' devono essere di tipo factor"

msgid "some levels of the factors are empty"
msgstr "alcuni livelli dei factor sono vuoti"

msgid "'x' must be a dataframe or a formula"
msgstr "'x' deve essere un data frame o una formula"

msgid "a variable in 'y' is not numeric"
msgstr "una variabile in 'y' non è numerica"

msgid "there must be at least one numeric variable!"
msgstr "ci deve essere almeno una variabile numerica!"

msgid "cannot hatch with logarithmic scale active"
msgstr "non posso usare il tratteggio in scala logaritmica"

msgid "Invalid fill rule for graphics path"
msgstr ""

msgid "invalid rectangle specification"
msgstr "specificazione del rettangolo non valida"

msgid "some values will be clipped"
msgstr "alcuni valori saranno tagliati"

msgid "invalid screen number"
msgstr "numero schermo non valido"

msgid "'figs' must be a vector or a matrix with 4 columns"
msgstr "'figs' deve essere un vettore o una matrice con 4 colonne"

msgid "'figs' must specify at least one screen"
msgstr "'figs' deve specificare almeno uno schermo"

msgid "'nrpoints' should be numeric scalar with value >= 0."
msgstr ""

msgid "a 2-way table has to be specified"
msgstr ""

msgid "x axis is on a cumulative probability scale, 'xlim' must be in [0,1]"
msgstr ""

msgid "'x' must be a matrix or a data frame"
msgstr "'x' deve essere una matrice o un data frame"

msgid "data in 'x' must be numeric"
msgstr "i dati in 'x' devoo essere numeric"

#, fuzzy
msgid "'nrow * ncol' is less than the number of observations"
msgstr "nrow * ncol < numero delle osservazioni"

msgid "labels do not make sense for a single location"
msgstr "non ha senso specificare 'labels' per una singola 'location'"

msgid "'locations' must be a 2-column matrix."
msgstr "'locations' deve essere una matrice di 2 colonne"

msgid "number of rows of 'locations' and 'x' must be equal."
msgstr "il numero di righe in 'locations' e 'x' deve essere uguale"

msgid "length of 'angles' must equal 'ncol(x)'"
msgstr "lunghezza di 'angles' deve essere pari a 'ncol(x)'"

#, fuzzy
msgid "no finite and non-missing values"
msgstr "nessun valore non missing"

msgid "'scale' must be positive"
msgstr "'scale' deve essere positivo"

msgid "invalid plotting method"
msgstr "metodo di disegno non valido"

msgid "'at' must have length equal to the number %d of groups"
msgstr "'at' deve avere lunghezza pari al numero di %d gruppi"

#, fuzzy
msgid "formula missing or incorrect"
msgstr "'formula' mancante o sbagliata"

msgid "'number' must have same length as 'x' and 'y'"
msgstr "'number' deve avere la stessa lunghezza di 'x' e 'y'"

msgid "exactly one symbol type must be specified"
msgstr "esattamente un tipo di symbol deve essere specificato"

#, fuzzy
msgid "x log scale:  xinch() is nonsense"
msgstr "x log scale: xinch() è non-sense"

#, fuzzy
msgid "y log scale:  yinch() is nonsense"
msgstr "y log scale: yinch() è non-sense"

#, fuzzy
msgid "log scale:  xyinch() is nonsense"
msgstr "log scale: xyinch() è non-sense"

msgid "Outlier (%s) in boxplot %d is not drawn"
msgid_plural "Outliers (%s) in boxplot %d are not drawn"
msgstr[0] "Dato anomale (%s) nel boxplot %d non disegnato"
msgstr[1] "Dati anomali (%s) nel boxplot %d non disegnati"

msgid "argument %s is not made use of"
msgid_plural "arguments %s are not made use of"
msgstr[0] ""
msgstr[1] ""

#, fuzzy
#~ msgid "extra argument %s will be disregarded"
#~ msgid_plural "extra arguments %s will be disregarded"
#~ msgstr[0] "gli argomenti in eccesso %s verranno ignorati"
#~ msgstr[1] "gli argomenti in eccesso %s verranno ignorati"

#~ msgid "negative 'counts'. Internal Error in C-code for \"bincount\""
#~ msgstr "'counts' negativi. Errore interno nel codice C oer \"bincount\""

#, fuzzy
#~ msgid "explanatory variable should be numeric"
#~ msgstr "una variabile in 'y' non è numerica"
