# 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: R-grid 4.1.0\n"
"Report-Msgid-Bugs-To: bugs.r-project.org\n"
"POT-Creation-Date: 2021-11-06 17:17\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"

msgid "invalid 'at' location in 'axis'"
msgstr "posizione 'at' non valida in 'axis'"

msgid "invalid to specify axis labels when 'at' is NULL"
msgstr "non è valido specificare le etichette degli assi quando 'at' è NULL"

msgid "'labels' and 'at' locations must have same length"
msgstr "le posizioni 'labels' e 'at' devono avere la medesima lunghezza"

msgid "logical 'label' supplied of length 0"
msgstr "'label' logica passata di lunghezza 0"

msgid "end points must not be identical"
msgstr "i punti finali non devono essere identici"

msgid "'x1', 'y1', 'x2', and 'y2' must be units"
msgstr "'x1', 'y1', 'x2' e 'y2' devono essere unità"

msgid "'shape' must be between -1 and 1"
msgstr "'shape' dev'essere tra -1 e 1"

msgid "'squareShape' must be between -1 and 1"
msgstr "'squareShape' dev'essere tra -1 e 1"

msgid "'arrow' must be an arrow object or NULL"
msgstr "'arrow' dev'essere un oggetto arrow o NULL"

msgid "how did we get here?"
msgstr "come siamo arrivati qui?"

msgid "must start new page if showing leaves separately"
msgstr "bisogna avviare una nuova pagina se si mostrano le foglie separatamente"

msgid "invalid 'edit' information"
msgstr "informazione 'edit' non valida"

msgid "'gEditList' can only contain 'gEdit' objects"
msgstr "'gEditList' può contenere unicamente oggetti 'gEdit'"

msgid "invalid 'frame'"
msgstr "'frame' non valido"

msgid "invalid 'grob'"
msgstr "'grob' non valido"

msgid "invalid 'row' and/or 'col' (no such cell in frame layout)"
msgstr "'row' e/o 'col' non valido (nessuna cella nel layout del frame)"

msgid "'col' can only be a range of existing columns"
msgstr "'col' può essere unicamente un intervallo di colonne esistenti"

msgid "invalid 'col' specification"
msgstr "specificazione 'col' non valida"

msgid "'row' can only be a range of existing rows"
msgstr "'row' può essere unicamente un intervallo di righe esistenti"

msgid "invalid 'row' specification"
msgstr "specificazione 'row' non valida"

msgid "cannot specify more than one of 'side=[\"left\", \"right\"]', 'col', 'col.before', or 'col.after'"
msgstr "non si possono specificare più di un 'side=[\"left\", \"right\"]', 'col', 'col.before', o 'col.after'"

msgid "must specify exactly one of 'side=[\"top\", \"bottom\"]', 'row', 'row.before', or 'row.after'"
msgstr "bisogna specificare esattamente uno di 'side=[\"top\", \"bottom\"]', 'row', 'row.before', o 'row.after'"

msgid "invalid 'n'"
msgstr "'n' non valido"

msgid "invalid 'f'"
msgstr "'f' non valido"

msgid "'gpar' element '%s' must not be length 0"
msgstr "l'elemento 'gpar' '%s' dev'essere di lunghezza 0"

msgid "mixture of missing and non-missing values for %s"
msgstr "mistura di valori mancanti e non-mancanti per %s"

msgid "'gamma' 'gpar' element is defunct"
msgstr "l'elemento 'gamma' 'gpar' è rimosso"

msgid "invalid 'linemitre' value"
msgstr "valore 'linemitre' non valido"

msgid "invalid 'alpha' value"
msgstr "valore 'alpha' non valido"

msgid "must specify only one of 'font' and 'fontface'"
msgstr "bisogna specificare solo un 'font' e 'fontface'"

msgid "invalid fontface"
msgstr "carattere non valido"

msgid "argument must be a 'gpar' object"
msgstr "l'argomento dev'essere un oggetto 'gpar'"

msgid "must specify only valid 'gpar' names"
msgstr "bisogna specificare solo un valido nome 'gpar'"

msgid "invalid display list element"
msgstr "elemento lista display non valido"

msgid "one or more grobs overwritten (grab WILL not be faithful; try 'wrap.grobs = TRUE')"
msgstr "uno o più grobs sovrascritti (la presa NON sarà affidabile; utilizza 'wrap.grobs = TRUE')"

msgid "viewport overwritten (grab MAY not be faithful)"
msgstr "viewport sovrascritto"

msgid "grob pushed viewports and did not pop/up them (grab MAY not be faithful)"
msgstr "grob ha spinto viewport e non li ha alzati (grab potrebbe non essere affidabile)"

msgid "only valid to push viewports"
msgstr "valido solo per spingere viewport"

msgid "must specify at least one viewport"
msgstr "bisogna specificare almeno un viewport"

msgid "Down viewport failed to record on display list"
msgstr "Registrazione down viewport fallita sulla lista display"

msgid "Down viewport incorrectly recorded on display list"
msgstr "Down viewport incorrettamente registrato sulla lista display"

msgid "must pop at least one viewport"
msgstr "bisogna alzare almeno un viewport"

msgid "must navigate up at least one viewport"
msgstr "bisogna restare almeno in una viewport"

msgid "Invalid number of generations"
msgstr "Numero di generazioni non valido"

#, fuzzy
msgid "Invalid 'clearGroups' argument"
msgstr "argomento 'arrow' non valido"

msgid "invalid object inserted on the display list"
msgstr "oggetto non valido inserito nella lista display"

msgid "invalid modification of the display list"
msgstr "modifica non valida della lista display"

msgid "'expr' must return a grob or gList"
msgstr "'expr' deve restituire un grob o un gList"

msgid "invalid 'grob' argument"
msgstr "argomento 'grob' non valido"

msgid "invalid 'vp' slot"
msgstr "slot 'vp' non valido"

msgid "invalid 'gp' slot"
msgstr "slot 'gp' non valido"

msgid "invalid 'grob' class"
msgstr "classe 'grob' non valida"

msgid "a 'grob' path must contain at least one 'grob' name"
msgstr "un percorso 'grob' deve contenere almeno un nome 'grob'"

msgid "unable to coerce to \"gList\""
msgstr "non è possibile la coercizione in \"gList\""

msgid "only 'grobs' allowed in \"gList\""
msgstr "sono ammessi solo \"grobs\" in \"gList\""

msgid "invalid element to add to \"gList\""
msgstr "elemento non valido da aggiungere a \"gList\""

msgid "can only set 'children' for a \"gTree\""
msgstr "si può impostare unicamente 'children' per un \"gTree\""

msgid "'children' must be a \"gList\""
msgstr "'children' dev'essere una \"gList\""

msgid "it is only valid to get 'children' from a \"gTree\""
msgstr "è solo valido per ricevere un 'children' da un \"gTree\""

msgid "invalid \"gTree\" class"
msgstr "classe 'gTree' non valida"

msgid "'allDevices' not yet implemented"
msgstr "'allDevices' non ancora implementato"

msgid "invalid 'gPath'"
msgstr "'gPath' non valido"

msgid "invalid 'grep' value"
msgstr "valore 'grep' non valido"

msgid "it is only valid to get a child from a \"gTree\""
msgstr "è solo valido per ricevere un figlio da un \"gTree\""

msgid "'gPath' does not specify a valid child"
msgstr "'gPath' non specifica un figlio valido"

msgid "it is only valid to set a child of a \"gTree\""
msgstr "è solo valido per impostare un figlio di un \"gTree\""

msgid "it is only valid to set a 'grob' as child of a \"gTree\""
msgstr "è solo valido per impostare un 'grob' come figlio di un \"gTree\""

msgid "New 'grob' name (%s) does not match 'gPath' (%s)"
msgstr "Il nuovo nome 'grob' (%s) non corrisponde con 'gPath' (%s)"

msgid "it is only valid to add a 'grob' to a \"gTree\""
msgstr "è solo valido aggiungere un 'grob' ad un \"gTree\""

msgid "it is only valid to add a child to a \"gTree\""
msgstr "è solo valido aggiungere un figlio ad un \"gTree\""

msgid "'gPath' (%s) not found"
msgstr "'gPath' (%s) non trovato"

msgid "it is only valid to remove a child from a \"gTree\""
msgstr "è solo valido per rimuovere un figlio da un \"gTree\""

msgid "it is only valid to edit a child of a \"gTree\""
msgstr "è solo valido per modificare un figlio di un \"gTree\""

msgid "it is invalid to directly edit the 'children' or 'childrenOrder' slot"
msgstr "non è valido modificare direttamente 'children' o lo slot 'childrenOrder'"

msgid "invalid 'result'"
msgstr "'result' non valido"

msgid "the new 'grob' must have the same name as the old 'grob'"
msgstr "il nuovo 'grob' deve avere il medesimo nome del vecchio 'grob'"

msgid "slot '%s' not found"
msgstr "slot '%s' non trovato"

msgid "gPath (%s) not found"
msgstr "gPath (%s) non trovato"

msgid "grob '%s' not found"
msgstr "grob '%s' non trovato"

msgid "Invalid force target"
msgstr "Target di forza non valido"

msgid "Invalid revert target"
msgstr "Target di ripristino non valido"

msgid "can only reorder 'children' for a \"gTree\""
msgstr "è solo possibile riordinare 'children' per un \"gTree\""

msgid "Invalid 'order'"
msgstr "'order' non valido"

msgid "Group definition failed"
msgstr ""

#, fuzzy
msgid "Invalid source"
msgstr "'order' non valido"

#, fuzzy
msgid "Invalid destination"
msgstr "giustificazione non valida"

msgid "Invalid compositing operator"
msgstr ""

msgid "Unknown group:"
msgstr ""

msgid "Invalid transform (nothing drawn)"
msgstr ""

#, fuzzy
msgid "Invalid transform"
msgstr "'order' non valido"

msgid "'l' must be a layout"
msgstr "'l' dev'essere un layout"

msgid "'pch' and 'labels' not the same length"
msgstr "'pch' e 'labels' non hanno la medesima lunghezza"

msgid "'hgap' must be single unit"
msgstr "'hgap' dev'essere un'unità singola"

msgid "'vgap' must be single unit"
msgstr "'vgap' dev'essere un'unità singola"

msgid "'nrow' must be >= 1"
msgstr "'nrow' dev'essere >= 1"

msgid "'ncol' must be >= 1"
msgstr "'ncol' dev'essere >= 1"

msgid "nrow * ncol < #{legend labels}"
msgstr "nrow * ncol < #{etichette legenda}"

msgid "invalid justification"
msgstr "giustificazione non valida"

msgid "invalid horizontal justification"
msgstr "giustificazione orizzontale non valida"

msgid "invalid vertical justification"
msgstr "giustificazione verticale non valida"

msgid "'respect' must be logical or an 'nrow' by 'ncol' matrix"
msgstr "'respect' dev'essere logico o una matrice 'nrow' per 'ncol'"

msgid "invalid 'print' argument"
msgstr "argomento 'print' non valido"

msgid "invalid object in 'listing'"
msgstr "oggetto in 'listing' non valido"

msgid "invalid listing"
msgstr "listing non valido"

msgid "invalid 'listing'"
msgstr "'listing' non valido"

msgid "invalid 'origin'"
msgstr "'origin' non valido"

msgid "Only a grob can be converted to a path"
msgstr ""

#, fuzzy
msgid "colours and stops must be at least length 1"
msgstr "'x' e 'y' devono essere della medesima lunghezza"

#, fuzzy
msgid "x1, y1, x2, and y2 must all be length 1"
msgstr "'x1', 'y1', 'x2' e 'y2' devono essere unità"

#, fuzzy
msgid "cx1, cy1, cx2, cy2, r1, and r2 must all be length 1"
msgstr "'x1', 'y1', 'x2' e 'y2' devono essere unità"

#, fuzzy
msgid "x, y, width, and height must all be length 1"
msgstr "'x', 'y', 'width' e 'height' devono avere lunghezza 1"

msgid "Pattern must be based on grob"
msgstr ""

msgid "Missing pattern fill has been set to transparent"
msgstr "Il pattern di riempimento mancante è stato impostato a trasparente"

msgid "Gradient fill applied to object with no inside"
msgstr "Riempimento a gradiente applicato all'oggetto senza interno"

msgid "'length' must be a 'unit' object"
msgstr "'length' dev'essere un oggetto 'unit'"

msgid "invalid 'ends' or 'type' argument"
msgstr "argomento 'ends' o 'type' non valido"

msgid "'x' and 'y' must be units"
msgstr "'x' e 'y' devono essere unità"

msgid "'x' and 'y' must have length 1"
msgstr "'x' e 'y' devono avere lunghezza 1"

msgid "invalid 'arrow' argument"
msgstr "argomento 'arrow' non valido"

msgid "it is invalid to specify both 'id' and 'id.lengths'"
msgstr "non è valido specificare entrambi gli 'id' e 'id.lenghts'"

msgid "'x' and 'y' must be same length"
msgstr "'x' e 'y' devono essere della medesima lunghezza"

msgid "'x' and 'y' and 'id' must all be same length"
msgstr "'x' e 'y' e 'id' devono avere la stessa lunghezza"

msgid "'x' and 'y' and 'id.lengths' must specify same overall length"
msgstr "'x' e 'y' e 'id.lengths' devono specificare la medesima lunghezza complessiva"

msgid "'x0', 'y0', 'x1', and 'y1' must be units"
msgstr "'x0', 'y0', 'x1' e 'y1' devono essere unità"

msgid "'x' and 'y' must be units or NULL"
msgstr "'x' e 'y' devono essere unità o NULL"

msgid "corrupt 'arrows' object"
msgstr "oggetto 'arrows' corrotto"

msgid "'x' and 'y' and 'pathId.lengths' must specify same overall length"
msgstr "'x' e 'y' e 'pathid.lengths' devono specificare la medesima lunghezza complessiva"

msgid "x and y must be units"
msgstr "x e y devono essere unità"

msgid "must have exactly 4 control points"
msgstr "bisogna avere esattamente 4 punti controllo"

msgid "must have exactly 4 control points per Bezier curve"
msgstr "bisogna avere esattamente 4 punti controllo per una curva Bezier"

msgid "'x', 'y', and 'r' must be units"
msgstr "'x', 'y' e 'r' devono essere unità"

msgid "'x', 'y', 'width', and 'height' must be units"
msgstr "'x', 'y', 'width' e 'height devono essere unità"

msgid "invalid 'rot' value"
msgstr "valore 'rot' non valido"

msgid "zero-length 'pch'"
msgstr "'pch' con lunghezza zero"

msgid "'x', 'y' and 'size' must be units"
msgstr "'x', 'y' e 'size' devono essere unità"

msgid "'x' and 'y' must be 'unit' objects and have the same length"
msgstr "'x' e 'y' devono essere oggetti 'unit' e avere la medesima lunghezza"

msgid "'x', 'y', 'width', and 'height' must all be units of length 1"
msgstr "'x', 'y', 'width' e 'height' devono essere unità di lunghezza 1"

msgid "'x' and 'y' must all be units of length 1"
msgstr "'x' e 'y' devono essere unità di lunghezza 1"

msgid "'r' must be a 'unit' object"
msgstr "'r' dev'essere un oggetto 'unit'"

msgid "'x', 'y', 'width', and 'height' must have length 1"
msgstr "'x', 'y', 'width' e 'height' devono avere lunghezza 1"

msgid "'x' and 'units' must have length > 0"
msgstr "'x' e 'units' devono avere lunghezza > 0"

msgid "invalid 'axis' or 'type'"
msgstr "'axis' o 'type' non valido"

msgid "Not a unit object"
msgstr "Non è un oggetto unità"

msgid "'Summary' function '%s' not meaningful for units"
msgstr "La funzione 'Summary' '%s' non è significativa per le unità"

msgid "operator '%s' not meaningful for units"
msgstr "l'operatore '%s' non è significativo per le unità"

msgid "'*' or '/' cannot be used as a unary operator"
msgstr "'*' o '/' non possono essere utilizzati come un operatore unario"

msgid "only one operand may be a unit"
msgstr "solo un operando potrebbe essere una unità"

msgid "non-unit operand must be numeric"
msgstr "l'operando non-unità dev'essere numerico"

msgid "can't divide with a unit"
msgstr "non è possibile dividere con una unità"

msgid "both operands must be units"
msgstr "entrambi gli operandi devono essere unità"

msgid "index out of bounds (\"unit\" subsetting)"
msgstr "indice fuori limite (sottodivisione \"unit\")"

msgid "Cannot create zero-length unit vector (\"unit\" subsetting)"
msgstr "Non è possibile creare un vettore unità di lunghezza zero (sottodivisione \"unit\")"

msgid "index must be of length 1"
msgstr "index dev'essere di lunghezza 1"

msgid "replacement must be of length 1"
msgstr "la sostituzione dev'essere di lunghezza 1"

msgid "invalid 'theta'"
msgstr "'theta' non valido"

msgid "'range' must be numeric"
msgstr "'range' dev'essere numerico"

msgid "invalid 'gp' value"
msgstr "valore 'gp' non valido"

msgid "invalid 'clip' value"
msgstr "valore 'clip' non valido"

msgid "invalid 'mask' value"
msgstr "valore 'mask' non valido"

msgid "invalid 'xscale' in viewport"
msgstr "'xscale' non valido nel viewport"

msgid "invalid 'yscale' in viewport"
msgstr "'yscale' non valido nel viewport"

msgid "invalid 'angle' in viewport"
msgstr "'angle' non valido nel viewport"

msgid "invalid 'layout' in viewport"
msgstr "'layout' non valido nel viewport"

msgid "invalid 'layout.pos.row' in viewport"
msgstr "'layout.pos.row' non valido nel viewport"

msgid "invalid 'layout.pos.col' in viewport"
msgstr "'layout.pos.col' non valido nel viewport"

msgid "only viewports allowed in 'vpList'"
msgstr "solo i viewport sono ammessi in 'vpList'"

msgid "only viewports allowed in 'vpStack'"
msgstr "solo i viewport sono ammessi in 'vpStack'"

msgid "'parent' must be a viewport and 'children' must be a 'vpList' in 'vpTree'"
msgstr "'parent' dev'essere un viewport e 'children' dev'essere una 'vpList' in 'vpTree'"

msgid "a viewport path must contain at least one viewport name"
msgstr "un percorso viewport deve contenere almeno un nome viewport"

msgid "must specify at least one of 'x' or 'xscale'"
msgstr "bisogna specificare almeno uno di 'x' o 'xscale'"

msgid "must specify at least one of 'y' or 'yscale'"
msgstr "bisogna specificare almeno uno di 'y' o 'yscale'"

msgid "shutting down all devices when unloading 'grid' namespace"
msgstr "spegnimento di tutti i dispositivi con l'unloading del namespace 'grid'"

msgid "invalid grob name"
msgid_plural "invalid grob names"
msgstr[0] "nome grob non valido"
msgstr[1] "nomi grob non validi"

msgid "invalid viewport name"
msgid_plural "invalid viewport names"
msgstr[0] "nome viewport non valido"
msgstr[1] "nomi viewport non validi"

#~ msgid "'x' argument must be a unit object"
#~ msgstr "l'argomento 'x' dev'essere un oggetto unità"

#~ msgid "no string supplied for 'strwidth/height' unit"
#~ msgstr "nessuna stringa passata per le unità 'strwidth/height'"

#~ msgid "no 'grob' supplied for 'grobwidth/height' unit"
#~ msgstr "nessun 'grob' passato per unità 'grobwidth/height'"

#~ msgid "'gPath' must have depth 1 in 'grobwidth/height' units"
#~ msgstr "'gPath' deve avere profondità 1 nelle unità 'grobwidth/height'"

#~ msgid "non-NULL value supplied for plain unit"
#~ msgstr "valore non-NULL passato per unità normale"

#~ msgid "no arguments where at least one expected"
#~ msgstr "nessun argomento quando ne era atteso almeno uno"

#~ msgid "Zero arguments where at least one expected"
#~ msgstr "Zero argomenti quando ne era atteso almeno uno"

#~ msgid "cannot mix signs of indices"
#~ msgstr "non si possono mischiare i segni degli indici"

#~ msgid "index out of bounds (unit arithmetic subsetting)"
#~ msgstr "indice fuori limite (subsetting unità aritmetiche)"

#~ msgid "index out of bounds (unit list subsetting)"
#~ msgstr "indice fuori limite (subsetting elenco unità)"

#~ msgid "Value being assigned must be a unit"
#~ msgstr "Il valore assegnato dev'essere un'unità"

#~ msgid "it is invalid to combine 'unit' objects with other types"
#~ msgstr "non è valido combinare oggetti 'unit' con quelli di altri tipi"
