# R Italian translation
# Copyright (C) The R Foundation
# This file is distributed under the same license as the R package.
# Daniele Medri <dmedri@gmail.com>, 2005-2021.
#
msgid ""
msgstr ""
"Project-Id-Version: stats 4.1.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2021-11-06 17:18+0100\n"
"PO-Revision-Date: \n"
"Last-Translator: Daniele Medri <dmedri@gmail.com>\n"
"Language-Team: Italian https://github.com/dmedri/R-italian-lang\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"
"X-Generator: Poedit 2.2.1\n"

#: Srunmed.c:63
msgid "bandwidth/span of running medians is larger than n"
msgstr "ampiezza/copertura mediane più grande di n"

#: Srunmed.c:262
#, c-format
msgid "runmed(x, .., na.action=\"na.fail\"): have NAs starting at x[%ld]"
msgstr "runmed(x, .., na.action=\"na.fail\"): ha NA iniziando da x[%ld]"

#: Srunmed.c:265
msgid "runmed(): invalid 'na.action'"
msgstr "runmed(): 'na.action' non valido"

#: Srunmed.c:315
#, c-format
msgid "na_action logic error (%d), please report!"
msgstr "errore logico na_action (%d), per piacere riportatelo!"

#: ansari.c:118
msgid "probabilities outside [0,1] in qansari()"
msgstr "probabilità esterne a [0,1] in qansari()"

#: approx.c:114
msgid "approx(): invalid f value"
msgstr "approx(): valore f non valido"

#: approx.c:117
msgid "approx(): invalid interpolation method"
msgstr "approx(): metodo di interpolazione non valido"

#: approx.c:124
msgid "approx(): attempted to interpolate NA values"
msgstr "approx(): tentata interpolazione di valori NA"

#: approx.c:128
msgid "approx(x,y, .., na.rm=FALSE): NA values in x are not allowed"
msgstr "approx(x,y, .., na.rm=FALSE): i valori NA in x non sono ammessi"

#: arima.c:81 arima.c:192 arima.c:377 arima.c:608 optim.c:39
msgid "invalid argument type"
msgstr "tipo argomento non valido"

#: arima.c:444 arima.c:530 pacf.c:324 pacf.c:363
msgid "can only transform 100 pars in arima0"
msgstr "posso trasformare al più 100 parametri in arima0"

#: arima.c:1016
msgid "maximum supported lag is 350"
msgstr "il lag massimo supportato è 350"

#: bandwidths.c:126
#, c-format
msgid "non-finite x[%d] in bandwidth calculation"
msgstr "x[%d] non-finito nel calcolo della larghezza di banda"

#: complete_cases.c:26
#, c-format
msgid "invalid 'type' (%s) of argument"
msgstr "argomento 'type' (%s) non valido"

#: complete_cases.c:120
msgid "no input has determined the number of cases"
msgstr "nessun input ha determinato il numero di casi"

#: complete_cases.c:223
msgid "not all arguments have the same length"
msgstr "non tutti gli argomenti hanno la stessa lunghezza"

#: cov.c:569
msgid "missing observations in cov/cor"
msgstr "osservazioni assenti in cov/cor"

#: cov.c:650
msgid "'x' is NULL"
msgstr "'x' è NULL"

#: cov.c:682 cov.c:688
msgid "incompatible dimensions"
msgstr "dimensioni incompatibili"

#: cov.c:707 cov.c:748 cov.c:781
msgid "no complete element pairs"
msgstr "nessuna coppia di elementi completa"

#: cov.c:720
msgid "invalid 'use' (computational method)"
msgstr "'use' non valido (metodo computazionale)"

#: cov.c:723
msgid "'x' is empty"
msgstr "'x' è vuoto"

#: cov.c:817
msgid "the standard deviation is zero"
msgstr "la deviazione standard è zero"

#: deriv.c:158
msgid "invalid form in unary minus check"
msgstr "modulo non valido nel controllo unario meno"

#: deriv.c:682
#, c-format
msgid "Function '%s' is not in the derivatives table"
msgstr "Funzione '%s' non presente nelle tavole delle derivate"

#: deriv.c:789
#, c-format
msgid "expression must not be type '%s'"
msgstr "l'espressione non dev'essere di tipo '%s'"

#: deriv.c:792
msgid "variable must be a character string"
msgstr "la variabile dev'essere una stringa di caratteri"

#: deriv.c:794
msgid "only the first element is used as variable name"
msgstr "solo il primo elemento è utilizzato come nome di variabile"

#: deriv.c:807
#, c-format
msgid "invalid expression in '%s'"
msgstr "espressione non valida in '%s'"

#: deriv.c:1085 model.c:99
msgid "invalid variable names"
msgstr "nomi variabili non validi"

#: deriv.c:1094
msgid "invalid tag"
msgstr "'tag' non valido"

#: distance.c:152
msgid "treating non-finite values as NA"
msgstr "trattando valori non-finiti come NA"

#: distance.c:225
msgid "distance(): invalid p"
msgstr "distance(): p non valido"

#: distance.c:229
msgid "distance(): invalid distance"
msgstr "distance(): distanza non valida"

#: distn.c:44
msgid "NaNs produced"
msgstr "Si è prodotto un NaN"

#: distn.c:45
msgid "Non-numeric argument to mathematical function"
msgstr "Argomento non numerico in una funzione matematica"

#: family.c:45
#, c-format
msgid "Value %g out of range (0, 1)"
msgstr "Valore %g al di fuori del campo di variazione (0, 1)"

#: family.c:66 family.c:80 family.c:98
#, c-format
msgid "Argument %s must be a nonempty numeric vector"
msgstr "L'argomento %s dev'essere un vettore numerico non vuoto"

#: family.c:131 family.c:134
#, c-format
msgid "argument %s must be a numeric vector of length 1 or length %d"
msgstr "l'argomento %s dev'essere un vettore numerico di lunghezza 1 o lunghezza %d"

#: fexact.c:273
#, c-format
msgid "integer overflow would happen in 'mult * ldkey' = %g"
msgstr "un integer overflow potrebbe accadere in 'mult * ldkey' = %g"

#: fexact.c:653
#, c-format
msgid ""
"FEXACT error 6.  LDKEY=%d is too small for this problem,\n"
"  (ii := key2[itp=%d] = %d, ldstp=%d)\n"
"Try increasing the size of the workspace and possibly 'mult'"
msgstr ""
"FEXACT errore 6.  LDKEY=%d è troppo piccolo per questo problema,\n"
"  (ii := key2[itp=%d] = %d, ldstp=%d)\n"
"Prova ad incrementare la dimensione dell'area di lavoro e possibilmente 'mult'"

#: fexact.c:1037
#, c-format
msgid "Bug in fexact3, it[i=%d]=%d: negative key %d (kyy=%d)\n"
msgstr "Bug in fexact3, it[i=%d]=%d: chiave negativa %d (kyy=%d)\n"

#: fexact.c:1069
#, c-format
msgid ""
"FEXACT error 30.  Stack length exceeded in f3xact,\n"
"  (ldst=%d, key=%d, ipn=%d, itp=%d, ist[ii=%d]=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""
"FEXACT errore 30.  La lunghezza dello stack eccede in f3xact,\n"
"  (ldst=%d, key=%d, ipn=%d, itp=%d, ist[ii=%d]=%d).\n"
"Si incrementi l'area di lavoro o si consideri l'utilizzo di 'simulate.p.value=TRUE'"

#: fexact.c:1404
#, c-format
msgid ""
"FEXACT error 6 (f5xact).  LDKEY=%d is too small for this problem: kval=%d.\n"
"Try increasing the size of the workspace."
msgstr ""
"FEXACT errore 6 (f5xact).  LDKEY=%d è troppo piccolo per questo problema: kval=%d.\n"
"Prova ad incrementare la dimensione dell'area di lavoro."

#: fexact.c:1417
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (kval=%d, itop-ldstp=%d).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'."
msgstr ""
"FEXACT errore 7(%s). LDSTP=%d è troppo piccolo per questo problema,\n"
"  (kval=%d, itop-ldstp=%d).\n"
"Si incrementi l'area di lavoro o si consideri l'utilizzo di 'simulate.p.value=TRUE'."

#: fexact.c:1454
#, c-format
msgid ""
"FEXACT error 7(%s). LDSTP=%d is too small for this problem,\n"
"  (pastp=%g, ipn_0:=ipoin[itp=%d]=%d, stp[ipn_0]=%g).\n"
"Increase workspace or consider using 'simulate.p.value=TRUE'"
msgstr ""
"FEXACT errore 7(%s). LDSTP=%d è troppo piccolo per questo problema,\n"
"  (pastp=%g, ipn_0:=ipoin[itp=%d]=%d, stp[ipn_0]=%g).\n"
"Si incrementi l'area di lavoro o si consideri l'utilizzo di 'simulate.p.value=TRUE'"

#: fourier.c:70 fourier.c:165
msgid "non-numeric argument"
msgstr "argomento non numerico"

#: fourier.c:88 fourier.c:106 fourier.c:179
msgid "fft factorization error"
msgstr "errore in fattorizzazione fft"

#: fourier.c:151
msgid "vector-valued (multivariate) series required"
msgstr "richiesta serie a valori vettoriali (multidimensionale)"

#: fourier.c:221
#, c-format
msgid "nextn() found no solution < %d = INT_MAX (the maximal integer); pass '0+ n' instead of 'n'"
msgstr "nextn() non ha trovato alcuna soluzione < %d = INT_MAX (il massimo intero); passate '0+ n' come alternativa a 'n'"

#: fourier.c:233
#, c-format
msgid "nextn<64>() found no solution < %ld = UINT64_MAX (the maximal integer)"
msgstr "nextn<64>() non ha trovato alcuna soluzione < %ld = UINT64_MAX (il massimo intero)"

#: fourier.c:249
msgid "no factors"
msgstr "nessuna variabile di tipo factor"

#: fourier.c:250
msgid "too many factors"
msgstr "troppi fattori"

#: fourier.c:253
msgid "invalid factors"
msgstr "fattori non validi"

#: fourier.c:257
msgid "'n' must have typeof(.) \"integer\" or \"double\""
msgstr "'n' deve avere typeof(.) \"integer\" o \"double\""

#: fourier.c:298
#, c-format
msgid "nextn() = %<PRIu64> > 2^53 may not be exactly representable in R (as \"double\")"
msgstr "nextn() = %<PRIu64> > 2^53 potrebbe non essere esattamente rappresentabile in R (come \"double\")"

#: integrate.c:84 integrate.c:86 integrate.c:128
#, c-format
msgid "'%s' must be of length one"
msgstr "'%s' dev'essere di lunghezza uno"

#: ksmooth.c:69
msgid "only 2500 rows are allowed for sm.method=\"spline\""
msgstr "sm.method=\"spline\" ammette solo 2500 righe"

#: lm.c:57
msgid "'x' is not a matrix"
msgstr "'x' non è una matrice"

#: lm.c:62
#, c-format
msgid "dimensions of 'x' (%d,%d) and 'y' (%d) do not match"
msgstr "le dimensioni di 'x' (%d,%d) e 'y' (%d) non corrispondono"

#: lm.c:77 lm.c:81
#, c-format
msgid "NA/NaN/Inf in '%s'"
msgstr "NA/NaN/Inf in '%s'"

#: loessc.c:242
msgid "span is too small"
msgstr "ampiezza troppo piccola"

#: loessc.c:257
#, c-format
msgid "workspace required (%.0f) is too large%s."
msgstr "il workspace richiesto (%.0f) è troppo grande %s."

#: loessc.c:258
msgid " probably because of setting 'se = TRUE'"
msgstr " probabilmente per l'impostazione 'se = TRUE'"

#: loglin.c:372
msgid "this should not happen"
msgstr "questo non dovrebbe accadere"

#: loglin.c:374
msgid "algorithm did not converge"
msgstr "l'algoritmo non converge"

#: loglin.c:376
msgid "incorrect specification of 'table' or 'start'"
msgstr "specificazione incorretta di 'table' o 'start'"

#: lowess.c:292
msgid "'f' must be finite and > 0"
msgstr "'f' dev'essere finito e > 0"

#: lowess.c:295
msgid "'iter' must be finite and >= 0"
msgstr "'iter' dev'essere finito e >= 0"

#: lowess.c:298
msgid "'delta' must be finite and > 0"
msgstr "'delta' dev'essere finito e > 0"

#: mAR.c:83
msgid "assert failed in src/library/ts/src/carray.c"
msgstr "assert fallito in src/library/ts/src/carray.c"

#: mAR.c:470
msgid "Singular matrix in qr_solve"
msgstr "Matrice singolare in qr_solve"

#: mAR.c:513
msgid "Singular matrix in ldet"
msgstr "Matrice singolare in ldet"

#: mAR.c:700
msgid "Invalid vmethod"
msgstr "Vmethod non valido"

#: mAR.c:836
msgid "Burg's algorithm failed to find partial correlation"
msgstr "L'algoritmo di Burg non è riuscito a trovare una correlazione parziale"

#: model.c:97
msgid "invalid variables"
msgstr "variabili non valide"

#: model.c:101 model.c:106
msgid "number of variables != number of variable names"
msgstr "numero di variabili != numero di nomi variabili"

#: model.c:104
msgid "invalid extra variables"
msgstr "variabili aggiuntive non valide"

#: model.c:108
msgid "invalid extra variable names"
msgstr "nomi variabili aggiuntive non validi"

#: model.c:129
#, c-format
msgid "overlong names in '%s'"
msgstr "nomi troppo lunghi in '%s'"

#: model.c:156
#, c-format
msgid "invalid type (%s) for variable '%s'"
msgstr "tipo non valido (%s) per la variabile '%s'"

#: model.c:161
#, c-format
msgid "variable lengths differ (found for '%s')"
msgstr "le lunghezze variabili differiscono (trovato per '%s')"

#: model.c:218
msgid "invalid result from na.action"
msgstr "risultato non valido da na.action"

#: model.c:379 model.c:387 optim.c:227
#, c-format
msgid "invalid '%s' argument"
msgstr "argomento '%s' non valido"

#: model.c:398
msgid "invalid model frame"
msgstr "frame modello non valido"

#: model.c:400
msgid "do not know how many cases"
msgstr "numero di casi sconosciuto"

#: model.c:424
#, c-format
msgid "variable lengths differ (found for variable %d)"
msgstr "le lunghezze variabili differiscono (trovato per %d)"

#: model.c:428 model.c:435
#, c-format
msgid "variable %d has no levels"
msgstr "la variabile %d non ha livelli"

#: model.c:547
msgid "the response appeared on the right-hand side and was dropped"
msgstr "la variabile risposta appare anche nel membro di destra ed è stata eliminata"

#: model.c:567
#, c-format
msgid "term %d would require %.0g columns"
msgstr "il termine %d richiede %.0g colonne"

#: model.c:571
#, c-format
msgid "matrix would require %.0g columns"
msgstr "la matrice richiede %.0g colonne"

#: model.c:582
#, c-format
msgid "problem with term %d in model.matrix: no columns are assigned"
msgstr "problema nel termine %d in model.matrix: nessuna colonna assegnata"

#: model.c:631 model.c:636 model.c:642 model.c:653 model.c:659 model.c:665
msgid "term names will be truncated"
msgstr "i nomi dei termini saranno troncati"

#: model.c:645
msgid "complex variables are not currently allowed in model matrices"
msgstr "le variabili complesse non sono attualmente ammesse nelle matrici del modello"

#: model.c:669
#, c-format
msgid "variables of type '%s' are not allowed in model matrices"
msgstr "variabili di tipo '%s' non sono ammesse nelle matrici del modello"

#: model.c:894
msgid "invalid formula in 'update'"
msgstr "formula non valida in 'update'"

#: model.c:928
msgid "formula expected"
msgstr "necessaria formula"

#: model.c:1096
msgid "invalid term in model formula"
msgstr "termine non valido nella formula del modello"

#: model.c:1187
msgid "invalid model formula"
msgstr "formula modello non valida"

#: model.c:1219 model.c:1525
msgid "invalid power in formula"
msgstr "potenza non valida nella formula"

#: model.c:1268
msgid "invalid model formula in ExtractVars"
msgstr "formula modello non valida in ExtractVars"

#: model.c:1636
#, c-format
msgid "duplicated name '%s' in data frame using '.'"
msgstr "duplicazione nome '%s' nel data frame utilizzando '.'"

#: model.c:1703
msgid "invalid model formula in EncodeVars"
msgstr "formula modello non valida in EncodeVars"

#: model.c:1780
msgid "argument is not a valid model"
msgstr "l'argomento non è un modello valido"

#: model.c:1790
msgid "'specials' must be NULL or a character vector"
msgstr "'specials' dev'essere NULL o un vettore di caratteri"

#: model.c:1801
msgid "'data' argument is of the wrong type"
msgstr "l'argomento 'data' è di tipo sbagliato"

#: model.c:1873
#, c-format
msgid "'varlist' has changed (from nvar=%d) to new %d after EncodeVars() -- should no longer happen!"
msgstr "'varlist' è cambiato (da nvar=%d) al nuovo %d dopo EncodeVars() -- non dovrebbe accadere più!"

#: model.c:2157
msgid "'.' in formula and no 'data' argument"
msgstr "nella formula c'è il '.' ma nessun argomento 'data'"

#: monoSpl.c:36
msgid "n must be at least two"
msgstr "n dev'essere almeno due"

#: monoSpl.c:69
msgid "Argument m must be numeric"
msgstr "L'argomento m dev'essere numerico"

#: monoSpl.c:72
msgid "length(m) must be at least two"
msgstr "length(m) dev'essere almeno due"

#: monoSpl.c:74
msgid "Argument Sx must be numeric vector one shorter than m[]"
msgstr "L'argomento Sx dev'essere un vettore numerico di uno più corto di m[]"

#: nls.c:95
msgid "'control' must be a list"
msgstr "'control' dev'essere una lista"

#: nls.c:97
msgid "'m' must be a list"
msgstr "'m' dev'essere una lista"

#: nls.c:104 nls.c:109 nls.c:114 nls.c:119 nls.c:124 nls.c:132 nls.c:137
#: nls.c:142 nls.c:147 nls.c:152 nls.c:157
#, c-format
msgid "'%s' absent"
msgstr "'%s' assente"

#: nls.c:233
msgid "singular gradient"
msgstr "gradiente singolare"

#: nls.c:255
#, c-format
msgid "step factor %g reduced below 'minFactor' of %g"
msgstr "fattore di incremento %g sotto 'minFactor' %g"

#: nls.c:263
#, c-format
msgid "number of iterations exceeded maximum of %d"
msgstr "il numero di iterazioni ha superato il massimo di %d"

#: nls.c:267
msgid "converged"
msgstr "convergente"

#: nls.c:284
msgid "'theta' should be of type character"
msgstr "'theta' dev'essere di tipo character"

#: nls.c:286 port.c:382
msgid "use of NULL environment is defunct"
msgstr "l'utilizzo dell'ambiente NULL è rimosso"

#: nls.c:290
msgid "'rho' should be an environment"
msgstr "'rho' dev'essere un environment"

#: nls.c:296
msgid "'dir' is not a numeric vector of the correct length"
msgstr "'dir' non è un vettore numerico della lunghezza giusta"

#: nls.c:299
msgid "'central' is NA, but must be TRUE or FALSE"
msgstr "'central' è NA, ma dev'essere TRUE o FALSE"

#: nls.c:315
msgid "Missing value or an infinity produced when evaluating the model"
msgstr "Valore assente o infinito generato nella valutazione del modello"

#: nls.c:328
#, c-format
msgid "variable '%s' is integer, not numeric"
msgstr "la variabile '%s' è di tipo integer, non numeric"

#: nls.c:330
#, c-format
msgid "variable '%s' is not numeric"
msgstr "la variabile '%s' non è numeric"

#: optim.c:82 optim.c:109
msgid "non-finite value supplied by optim"
msgstr "valore non finito passato da optim"

#: optim.c:89
#, c-format
msgid "objective function in optim evaluates to length %d not 1"
msgstr "la funzione obiettivo in optim restituisce valori di lunghezza %d anziché 1"

#: optim.c:116
#, c-format
msgid "gradient in optim evaluated to length %d not %d"
msgstr "il gradiente in optim restituisce valori di lunghezza %d e non %d"

#: optim.c:152 optim.c:191
#, c-format
msgid "non-finite finite-difference value [%d]"
msgstr "valore finite-difference non finito [%d]"

#: optim.c:223 optim.c:429
msgid "'fn' is not a function"
msgstr "'fn' non è una funzione"

#: optim.c:241 optim.c:435
msgid "'parscale' is of the wrong length"
msgstr "'parscale' è della lunghezza sbagliata"

#: optim.c:270
msgid "'maxit' is not an integer"
msgstr "'maxit' non è un intero"

#: optim.c:290
msgid "'tmax' is not a positive integer"
msgstr "'tmax' non è un intero positivo"

#: optim.c:292 optim.c:309 optim.c:334 optim.c:364 optim.c:443
msgid "'gr' is not a function"
msgstr "'gr' non è una funzione"

#: optim.c:315 optim.c:340 optim.c:370 optim.c:449
msgid "'ndeps' is of the wrong length"
msgstr "'ndeps' è della lunghezza sbagliata"

#: optim.c:400
msgid "unknown 'method'"
msgstr "'method' sconosciuto"

#: optimize.c:220 optimize.c:306 optimize.c:528
msgid "NA replaced by maximum positive value"
msgstr "NA sostituito da valore massimo positivo"

#: optimize.c:228 optimize.c:318 optimize.c:536
msgid "NA/Inf replaced by maximum positive value"
msgstr "NA/Inf sostituito da valore massimo positivo"

#: optimize.c:237
msgid "invalid function value in 'optimize'"
msgstr "valore non valido in 'optimize'"

#: optimize.c:255 optimize.c:347 optimize.c:721
msgid "attempt to minimize non-function"
msgstr "tentativo di minimizzare una non-funzione"

#: optimize.c:262 optimize.c:269 optimize.c:278 optimize.c:352 optimize.c:357
#: optimize.c:373
#, c-format
msgid "invalid '%s' value"
msgstr "valore '%s' non valido"

#: optimize.c:271 optimize.c:358
msgid "'xmin' not less than 'xmax'"
msgstr "'xmin' non è minore di 'xmax'"

#: optimize.c:315
msgid "-Inf replaced by maximally negative value"
msgstr "-Inf sostituito da un valore massimo negativo"

#: optimize.c:328
msgid "invalid function value in 'zeroin'"
msgstr "valore funzione non valido in 'zeroin'"

#: optimize.c:363 optimize.c:368
#, c-format
msgid "NA value for '%s' is not allowed"
msgstr "Valore NA per '%s' non ammesso"

#: optimize.c:378
msgid "'maxiter' must be positive"
msgstr "'maxiter' dev'essere positivo"

#: optimize.c:520
msgid "non-finite value supplied by 'nlm'"
msgstr "valore non finito passato da 'nlm'"

#: optimize.c:555
msgid "invalid function value in 'nlm' optimizer"
msgstr "valore della funzione non valido per l'ottimizzatore 'nlm'"

#: optimize.c:566 optimize.c:581
msgid "function value caching for optimization is seriously confused"
msgstr "il caching del valore della funzione per l'ottimizzazione è seriamente confuso"

#: optimize.c:596
msgid "numeric parameter expected"
msgstr "richiesto parametro di tipo numeric"

#: optimize.c:600
msgid "conflicting parameter lengths"
msgstr "parametri di lunghezze non concordi"

#: optimize.c:604
msgid "invalid parameter length"
msgstr "lunghezza parametro non valida"

#: optimize.c:614 optimize.c:621
msgid "missing value in parameter"
msgstr "valori nulli nei parametri"

#: optimize.c:626
msgid "invalid parameter type"
msgstr "tipo parametro non valido"

#: optimize.c:637
msgid "non-positive number of parameters in nlm"
msgstr "numero non positivo di parametri in nlm"

#: optimize.c:639
msgid "nlm is inefficient for 1-d problems"
msgstr "nlm non è efficiente per problemi 1-d"

#: optimize.c:641
msgid "invalid gradient tolerance in nlm"
msgstr "tolleranza del gradiente non valida in nlm"

#: optimize.c:643
msgid "invalid iteration limit in nlm"
msgstr "limite iterazione non valida in nlm"

#: optimize.c:645
msgid "minimization function has no good digits in nlm"
msgstr "la funzione di minimizzazione non ha cifre buone in nlm"

#: optimize.c:647
msgid "no analytic gradient to check in nlm!"
msgstr "nessun gradiente analitico da controllare in nlm!"

#: optimize.c:649
msgid "no analytic Hessian to check in nlm!"
msgstr "nessun Hessiano analitico da controllare in nlm!"

#: optimize.c:651
msgid "probable coding error in analytic gradient"
msgstr "probabile errore di scrittura codice nel gradiente analitico"

#: optimize.c:653
msgid "probable coding error in analytic Hessian"
msgstr "probabile errore di scrittura codice nell'Hessiano analitico"

#: optimize.c:655
#, c-format
msgid ""
"*** unknown error message (msg = %d) in nlm()\n"
"*** should not happen!"
msgstr ""
"*** messaggio di errore sconosciuto (msg = %d) in nlm()\n"
"*** non dovrebbe accadere!"

#: optimize.c:666
msgid "Relative gradient close to zero.\n"
msgstr "Gradiente relativo vicino a zero.\n"

#: optimize.c:667 optimize.c:671
msgid "Current iterate is probably solution.\n"
msgstr "L'iterazione corrente è probabilmente una soluzione.\n"

#: optimize.c:670
msgid "Successive iterates within tolerance.\n"
msgstr "Iterazioni successive entro i limiti di tolleranza.\n"

#: optimize.c:674
msgid "Last global step failed to locate a point lower than x.\n"
msgstr "L'ultimo passaggio globale non è riuscito a determinare un punto più piccolo di x.\n"

#: optimize.c:675
msgid ""
"Either x is an approximate local minimum of the function,\n"
"the function is too non-linear for this algorithm,\n"
"or steptol is too large.\n"
msgstr ""
"O x è un minimo locale approssimato della funzione,\n"
"o la funzione è 'troppo' non lineare per questo algoritmo,\n"
"o lo steptol è troppo grande.\n"

#: optimize.c:680
msgid "Iteration limit exceeded.  Algorithm failed.\n"
msgstr "Raggiunto numero di iterazioni massimo. L'algoritmo non converge.\n"

#: optimize.c:683
msgid ""
"Maximum step size exceeded 5 consecutive times.\n"
"Either the function is unbounded below,\n"
"becomes asymptotic to a finite value\n"
"from above in some direction,\n"
"or stepmx is too small.\n"
msgstr ""
"Superato passo massimo 5 volte consecutive.\n"
"O la funzione è illimitata da sotto,\n"
"è asintotica per valori finiti\n"
"da sopra in qualche direzione,\n"
"o stepmx è troppo piccol.\n"

#: optimize.c:745 optimize.c:750 optimize.c:754 optimize.c:758 optimize.c:762
#: optimize.c:766 optimize.c:771
msgid "invalid NA value in parameter"
msgstr "valori di NA non valido per il parametro"

#: optimize.c:800
msgid "hessian supplied is of the wrong length or mode, so ignored"
msgstr "l'hessiano passato è della lunghezza o modalità sbagliata, viene ignorato"

#: optimize.c:804
msgid "gradient supplied is of the wrong length or mode, so ignored"
msgstr "il gradiente passato è della lunghezza o modalità sbagliata, viene ignorato"

#: pacf.c:87
msgid "bad Starma struct"
msgstr "struttura Starma errata"

#: pacf.c:233
#, c-format
msgid "starma error code %d"
msgstr "codice di errore starma %d"

#: pacf.c:293
#, c-format
msgid "forkal error code %d"
msgstr "codei di errore forkal %d"

#: pacf.c:466
msgid "invalid value of lag.max"
msgstr "valore di lag.max non valido"

#: port.c:133
#, c-format
msgid "Rf_divset: alg = %d must be 1, 2, 3, or 4"
msgstr "Rf_divset: alg = %d dev'essere 1, 2, 3, o 4"

#: port.c:149
msgid "port algorithms 3 or higher are not supported"
msgstr "gli algoritmi di porta 3 o successivi non sono supportati"

#: port.c:317
#, c-format
msgid "gradient function must return a numeric vector of length %d"
msgstr "la funzione gradiente deve restituire un vettore numerico di lunghezza %d"

#: port.c:329
#, c-format
msgid "Hessian function must return a square numeric matrix of order %d"
msgstr "La funzione hessiana deve restituire una matrice numerica quadrata di ordine %d"

#: port.c:386
msgid "'rho' must be an environment"
msgstr "'rho' dev'essere un ambiente"

#: port.c:388 port.c:554
msgid "'d' must be a nonempty numeric vector"
msgstr "'d' dev'essere un vettore numerico non vuoto"

#: port.c:390
msgid "When Hessian defined must also have gradient defined"
msgstr "Quando Hessian è definito lo dev'essere anche il gradiente"

#: port.c:393
#, c-format
msgid "environment 'rho' must contain a numeric vector '.par' of length %d"
msgstr "l'ambiente 'rho' deve contenere un vettore numerico '.par' di lunghezza %d"

#: port.c:407
msgid "'lower' and 'upper' must be numeric vectors"
msgstr "'lower' e 'upper' devono essere vettori numerici"

#: port.c:466
msgid "'getElement' applies only to named lists"
msgstr "'getElement' si applica solo a liste nominate"

#: port.c:487
#, c-format
msgid "%s$%s() not found"
msgstr "%s$%s() non trovato"

#: port.c:500
#, c-format
msgid "'gradient' must be a numeric matrix of dimension (%d,%d)"
msgstr "'gradient' dev'essere una matrice numerica di dimensioni (%d,%d)"

#: port.c:521
#, c-format
msgid "fcn produced mode %d, length %d - wanted mode %d, length %d"
msgstr "fcn ha prodotto la modalità %d, lunghezza %d - richiesta modalità %d, lunghezza %d"

#: port.c:534
msgid "invalid type for eval_check_store"
msgstr "tipo non valido per eval_check_store"

#: port.c:555
msgid "m must be a list"
msgstr "m dev'essere una lista"

#: port.c:575
msgid "'lowerb' and 'upperb' must be numeric vectors"
msgstr "'lowerb' e 'upperb' devono essere vettori numerici"

#: rWishart.c:53
msgid "inconsistent degrees of freedom and dimension"
msgstr "inconsistenti gradi di libertà e dimensione"

#: rWishart.c:86
msgid "'scal' must be a square, real matrix"
msgstr "'scal' dev'essere una matrice reale quadrata"

#: rWishart.c:98
msgid "'scal' matrix is not positive-definite"
msgstr "la matrice 'scal' non è positivamente definita"

#: random.c:53 random.c:137 random.c:217 random.c:307
msgid "NAs produced"
msgstr "Generati NA"

#: random.c:60 random.c:66 random.c:72 random.c:87 random.c:167 random.c:256
#: random.c:394
msgid "invalid arguments"
msgstr "argomenti non validi"

#: random.c:333
msgid "NA in probability vector"
msgstr "Valori NA in un vettore di probabilità"

#: random.c:335
msgid "negative probability"
msgstr "probabilità negativa"

#: random.c:341
msgid "no positive probabilities"
msgstr "nessuna probabilità positiva"

#: random.c:353
msgid "invalid first argument 'n'"
msgstr "primo argomento 'n' non valido"

#: random.c:355
msgid "invalid second argument 'size'"
msgstr "secondo argomento 'size' non valido"

#: rcont.c:85
#, c-format
msgid "rcont2 [%d,%d]: exp underflow to 0; algorithm failure"
msgstr "rcont2 [%d,%d]: exp underflow su 0; errore dell'algoritmo"

#: smooth.c:107
#, c-format
msgid "invalid end-rule for running median of 3: %d"
msgstr "regola finale non valida per calcolare la mediana di 3: %d"

#: starma.c:364
#, c-format
msgid "missing value in last %d observations"
msgstr "valori mancanti nelle ultime %d osservazioni"

#~ msgid "'x' is a factor"
#~ msgstr "'x' è un factor"

#~ msgid "'y' is a factor"
#~ msgstr "'y' è un factor"
