From f4a3d920d01117fb6e91d590a6e17b0533a70549 Mon Sep 17 00:00:00 2001 From: Philippe Grosjean Date: Sat, 21 Sep 2024 17:36:54 +0200 Subject: [PATCH] French translation (po files) (#6469) * .po files for the French translation * qualify po/ directory * 'master' not checked out, specify remote path. Not sure if remote is named 'master', so debug trace too. * Super exact version * need to fetch master? * restore .mo files * match domain of other .mo files * revert changes to CI --------- Co-authored-by: Michael Chirico --- inst/po/fr/LC_MESSAGES/R-data.table.mo | Bin 0 -> 107653 bytes inst/po/fr/LC_MESSAGES/data.table.mo | Bin 0 -> 148710 bytes po/R-fr.po | 3705 ++++++++++++++++ po/fr.po | 5398 ++++++++++++++++++++++++ 4 files changed, 9103 insertions(+) create mode 100644 inst/po/fr/LC_MESSAGES/R-data.table.mo create mode 100644 inst/po/fr/LC_MESSAGES/data.table.mo create mode 100644 po/R-fr.po create mode 100644 po/fr.po diff --git a/inst/po/fr/LC_MESSAGES/R-data.table.mo b/inst/po/fr/LC_MESSAGES/R-data.table.mo new file mode 100644 index 0000000000000000000000000000000000000000..f75dd632f81b0a2d322a4ba15ac94f04da5c875f GIT binary patch literal 107653 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%0Au%d!9PAkEgVwx>HuKXN?O?5AKV{8>WMnIK@krE_ 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 literal 0 HcmV?d00001 diff --git a/inst/po/fr/LC_MESSAGES/data.table.mo b/inst/po/fr/LC_MESSAGES/data.table.mo new file mode 100644 index 0000000000000000000000000000000000000000..b734c6adc4df86fa535c8582aa2df4d6897cdd40 GIT binary patch literal 148710 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 Mn5Wv|+3WKE19Be>PXGV_ literal 0 HcmV?d00001 diff --git a/po/R-fr.po b/po/R-fr.po new file mode 100644 index 000000000..1464f0162 --- /dev/null +++ b/po/R-fr.po @@ -0,0 +1,3705 @@ +msgid "" +msgstr "" +"Project-Id-Version: data.table 1.16.99\n" +"POT-Creation-Date: 2024-08-28 21:08+0000\n" +"PO-Revision-Date: 2024-09-04 13:53+0200\n" +"Last-Translator: Christian Wiat \n" +"Language-Team: \n" +"Language: fr\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 3.5\n" + +#: AllS4.R:2 +#, c-format +msgid "data.table package loaded. When developing don't load package" +msgstr "" +"package data.table chargé. En cours de développement, ne pas charger le package" + +#: IDateTime.R:107 +#, c-format +msgid "binary + is not defined for \"IDate\" objects" +msgstr "l'opérateur binaire + n'est pas défini pour les objets \"IDate\"" + +#: IDateTime.R:114 +#, c-format +msgid "can only subtract from \"IDate\" objects" +msgstr "seule la soustraction est autorisée sur les objets \"IDate\"" + +#: IDateTime.R:119 +#, c-format +msgid "unary - is not defined for \"IDate\" objects" +msgstr "l'opérateur unaire - n'est pas défini sur les objets \"IDate\"" + +#: IDateTime.R:309 +#, c-format +msgid "Valid options for ms are 'truncate', 'nearest', and 'ceil'." +msgstr "Les options valides pour ms sont 'truncate', 'nearest', et 'ceil'." + +#: as.data.table.R:86 +#, c-format +msgid "" +"as.data.table.array method should only be called for arrays with 3+ " +"dimensions; use the matrix method for 2-dimensional arrays" +msgstr "" +"la méthode as.data.table.array ne doit être appelée que pour les tableaux de " +"dimension 3+ ; Utiliser la méthode matrix pour les tableaux de dimension 2" + +#: as.data.table.R:88 +#, c-format +msgid "" +"Argument 'value.name' must be scalar character, non-NA and at least one " +"character" +msgstr "" +"L'argument 'value.name' doit être un caractère scalaire, pas NA et d'au moins " +"un caractère" + +#: as.data.table.R:90 +#, c-format +msgid "Argument 'sorted' must be scalar logical and non-NA" +msgstr "L'argument 'sorted' doit être un scalaire, un booléen et différent de NA" + +#: as.data.table.R:92 +#, c-format +msgid "Argument 'na.rm' must be scalar logical and non-NA" +msgstr "L'argument 'na.rm' doit être un scalaire, un booléen et différent de NA" + +#: as.data.table.R:94 +#, c-format +msgid "Please provide either 'key' or 'sorted', but not both." +msgstr "Utiliser 'key' ou 'sorted' mais pas les deux simultanément." + +#: as.data.table.R:108 +#, c-format +msgid "Argument 'value.name' should not overlap with column names in result: %s" +msgstr "" +"L'argument 'value.name' ne doit pas recouvrir le nom des colonnes dans le " +"résultat : %s" + +#: as.data.table.R:140 +#, c-format +msgid "" +"POSIXlt column type detected and converted to POSIXct. We do not recommend use " +"of POSIXlt at all because it uses 40 bytes to store one date." +msgstr "" +"Le type de colonne POSIXlt a été détecté et converti en POSIXct. Nous ne " +"recommandons pas l'utilisation de POSIXlt car il utilise 40 octets pour " +"stocker une date." + +#: as.data.table.R:181 +#, c-format +msgid "Item %d has %d rows but longest item has %d; recycled with remainder." +msgstr "" +"L'élément %d a %d lignes mais l'élément le plus long en a %d ; Il est recyclé " +"avec le reste." + +#: as.data.table.R:196 +#, c-format +msgid "A column may not be called .SD. That has special meaning." +msgstr "" +"Une colonne ne peut pas s'appeler .SD. Ceci a une signification particulière." + +#: as.data.table.R:210 +#, c-format +msgid "class must be length 1" +msgstr "la classe doit être de longueur 1" + +#: between.R:3 +#, c-format +msgid "between has been passed an argument x of type logical" +msgstr "'between' contient un argument x booléen" + +#: between.R:13 between.R:15 +#, c-format +msgid "" +"'between' function the 'x' argument is a POSIX class while '%s' was not, " +"coercion to POSIX failed with: %s" +msgstr "" +"fonction 'between' l'argument 'x' est une classe POSIX alors que '%s' ne l'est " +"pas, échec de la conversion automatique en POSIX avec : %s" + +#: between.R:27 +#, c-format +msgid "" +"'between' lower= and upper= are both POSIXct but have different tzone " +"attributes: %s. Please align their time zones." +msgstr "" +"'between' lower= et upper= sont tous deux traduits en POSIXct mais leurs " +"attributs ‘tzone’ sont différents : %s. Veuillez aligner leur fuseau horaire." + +#: between.R:31 +#, c-format +msgid "" +"'between' arguments are all POSIXct but have mismatched tzone attributes: %s. " +"The UTC times will be compared." +msgstr "" +"les arguments 'between' sont tous POSIXct mais les attributs tzone associés ne " +"correspondent pas : %s. La comparaison se fera sur le temps UTC." + +#: between.R:36 +#, c-format +msgid "trying to use integer64 class when 'bit64' package is not installed" +msgstr "" +"utilisation de la classe integer64 alors que le package 'bit64' n'est pas " +"installé" + +#: between.R:48 +#, c-format +msgid "" +"Not yet implemented NAbounds=TRUE for this non-numeric and non-character type" +msgstr "" +"NAbounds=TRUE n'est pas encore implémenté pour ce type non numérique et non " +"caractère" + +#: between.R:49 +#, c-format +msgid "Some lower>upper for this non-numeric and non-character type" +msgstr "" +"Certains inférieurs sont plus grands que les supérieurs (lower>upper) pour ce " +"type non numérique et non caractère" + +#: between.R:63 +#, c-format +msgid "Perhaps you meant %s?" +msgstr "Peut-être vouliez-vous dire %s ?" + +#: between.R:64 +#, c-format +msgid "" +"RHS has length() %d; expecting length 2. %sThe first element should be the " +"lower bound(s); the second element should be the upper bound(s)." +msgstr "" +"Le membre de droite a pour longueur %d au lieu de 2 attendu. %s Le premier " +"élément représente la ou les borne(s) inférieure(s) ; Le second élément " +"représente la ou les borne(s) supérieure(s)." + +#: bmerge.R:48 bmerge.R:49 +#, c-format +msgid "%s is type %s which is not supported by data.table join" +msgstr "" +"%s est de type %s qui n'est pas pris en charge pour une jointure data.table" + +#: bmerge.R:52 +#, c-format +msgid "" +"Attempting roll join on factor column when joining %s to %s. Only integer, " +"double or character columns may be roll joined." +msgstr "" +"Tentative de jointure par roulement sur une colonne de facteurs lors de la " +"jointure de %s à %s. Seules les colonnes de nombres entiers, de nombres " +"doubles ou de caractères peuvent être jointes par roulement." + +#: bmerge.R:71 +#, c-format +msgid "" +"Incompatible join types: %s (%s) and %s (%s). Factor columns must join to " +"factor or character columns." +msgstr "" +"Types de jointures incompatibles : %s (%s) et %s (%s). Les colonnes de " +"facteurs doivent être jointes à des colonnes de facteurs ou de caractères." + +#: bmerge.R:90 +#, c-format +msgid "Incompatible join types: %s (%s) and %s (%s)" +msgstr "Types incompatibles pour la jointure : %s (%s) et %s (%s)" + +#: bmerge.R:98 +#, c-format +msgid "" +"Incompatible join types: %s is type integer64 but %s is type double and " +"contains fractions" +msgstr "" +"Types de jointures incompatibles : %s est de type integer64 mais %s est de " +"type double et contient des fractions" + +#: bmerge.R:150 +#, c-format +msgid "roll is not implemented for non-equi joins yet." +msgstr "roll n'est pas encore implémenté avec des jointure non-equi." + +#: bmerge.R:170 +#, c-format +msgid "Column name '_nqgrp_' is reserved for non-equi joins." +msgstr "Le nom de colonne '_nqgrp_' est réservé pour les jointures non-equi." + +#: data.table.R:55 +#, c-format +msgid "key argument of data.table() must be character" +msgstr "l'argument key de data.table() doit être une chaîne de caractères" + +#: data.table.R:121 +#, c-format +msgid "Object '%s' not found. Perhaps you intended %s" +msgstr "Objet '%s' non trouvé. Peut-être vous vouliez dire %s" + +#: data.table.R:123 +#, c-format +msgid "Object '%s' not found amongst %s" +msgstr "Objet '%s' non trouvé parmi %s" + +#: data.table.R:139 +#, c-format +msgid "" +"[ was called on a data.table in an environment that is not data.table-aware (i." +"e. cedta()), but '%s' was used, implying the owner of this call really " +"intended for data.table methods to be called. See vignette('datatable-" +"importing') for details on properly importing data.table." +msgstr "" +"[ a été appelé sur un data.table dans un environnement qui n'est pas " +"compatible avec data.table (i.e. cedta()), mais '%s' a été utilisé, ce qui " +"implique que le propriétaire de cet appel avait vraiment l'intention d'appeler " +"des méthodes data.table. Voir la vignette('datatable-importing') pour plus de " +"détails sur l’importation correcte de data.table." + +#: data.table.R:150 +#, c-format +msgid "verbose must be logical or integer" +msgstr "verbose doit être soit un booléen, soit un entier" + +#: data.table.R:151 +#, c-format +msgid "verbose must be length 1 non-NA" +msgstr "verbose doit être de longueur 1 et différent de NA" + +#: data.table.R:159 +#, c-format +msgid "Ignoring by/keyby because 'j' is not supplied" +msgstr "L'argument by ou keyby est ignoré car 'j' n'est pas fourni" + +#: data.table.R:173 +#, c-format +msgid "When by and keyby are both provided, keyby must be TRUE or FALSE" +msgstr "Si by et keyby sont fournis simultanément, keyby doit être TRUE ou FALSE" + +#: data.table.R:185 +#, c-format +msgid "" +"When on= is provided but not i=, on= must be a named list or data.table|frame, " +"and a natural join (i.e. join on common names) is invoked. Ignoring on= which " +"is '%s'." +msgstr "" +"Lorsque on= est fourni mais pas i=, on= doit être une liste nommée ou un data." +"table|frame, et une jointure naturelle (c'est-à-dire une jointure sur les noms " +"communs) est invoquée. La valeur de on= qui est '%s' est ignorée." + +#: data.table.R:198 +#, c-format +msgid "" +"i and j are both missing so ignoring the other arguments. This warning will be " +"upgraded to error in future." +msgstr "" +"i et j sont tous les deux absents, donc les autres arguments sont ignorés. Cet " +"avertissement deviendra une erreur à l'avenir." + +#: data.table.R:202 +#, c-format +msgid "mult argument can only be 'first', 'last' or 'all'" +msgstr "l'argument mult ne peut valoir que 'first', 'last' ou 'all'" + +#: data.table.R:204 +#, c-format +msgid "" +"roll must be a single TRUE, FALSE, positive/negative integer/double including " +"+Inf and -Inf or 'nearest'" +msgstr "" +"roll doit être une seule valeur TRUE, FALSE, un entier ou un double, positif " +"ou négatif, +Inf, -Inf ou 'nearest' compris" + +#: data.table.R:206 +#, c-format +msgid "roll is '%s' (type character). Only valid character value is 'nearest'." +msgstr "" +"roll vaut '%s' (de type caractère). La seule chaîne valide est 'nearest'." + +#: data.table.R:211 +#, c-format +msgid "rollends must be a logical vector" +msgstr "rollends doit être un vecteur de booléens" + +#: data.table.R:212 +#, c-format +msgid "rollends must be length 1 or 2" +msgstr "rollends doit être de longueur 1 ou 2" + +#: data.table.R:220 +#, c-format +msgid "" +"nomatch= must be either NA or NULL (or 0 for backwards compatibility which is " +"the same as NULL but please use NULL)" +msgstr "" +"nomatch= doit valoir soit NA, soit NULL (ou 0 pour la compatibilité " +"descendante qui équivaut à NULL, mais utiliser NULL dorénavant)" + +#: data.table.R:223 +#, c-format +msgid "which= must be a logical vector length 1. Either FALSE, TRUE or NA." +msgstr "" +"which= doit être un vecteur de booléens de longueur 1. Valeur FALSE, TRUE ou " +"NA." + +#: data.table.R:224 +#, c-format +msgid "" +"which==%s (meaning return row numbers) but j is also supplied. Either you need " +"row numbers or the result of j, but only one type of result can be returned." +msgstr "" +"which==%s (renvoie des numéros de ligne) mais j est également fourni. Vous " +"avez besoin soit des numéros de ligne, soit du résultat de j, mais un seul " +"type de résultat peut être renvoyé." + +#: data.table.R:225 +#, c-format +msgid "" +"which=NA with nomatch=0|NULL would always return an empty vector. Please " +"change or remove either which or nomatch." +msgstr "" +"which=NA avec nomatch=0|NULL renverrait toujours un vecteur vide. Veuillez " +"modifier ou supprimer soit which, soit nomatch." + +#: data.table.R:226 +#, c-format +msgid "j must be provided when with=FALSE" +msgstr "j doit être fourni quand with=FALSE" + +#: data.table.R:227 +#, c-format +msgid "%s must be TRUE or FALSE" +msgstr "%s doit être TRUE ou FALSE" + +#: data.table.R:267 +#, c-format +msgid "" +"The symbol .. is invalid. The .. prefix must be followed by at least one " +"character." +msgstr "" +"Le symbole .. n'est pas valide. Le préfixe .. doit être suivi d'au moins un " +"caractère." + +#: data.table.R:270 +#, c-format +msgid "" +"Variable '..%s' does exist in calling scope though, so please just removed " +"the .. prefix from that variable name in calling scope." +msgstr "" +"La variable '..%s' existe dans la portée de l'appelant, il suffit donc de " +"supprimer le préfixe .. de ce nom de variable dans la portée de l'appelant." + +#: data.table.R:274 +#, c-format +msgid "" +"Variable '%s' is not found in calling scope. Looking in calling scope because " +"you used the .. prefix.%s" +msgstr "" +"La variable '%s' n'est pas visible dans le contexte de l'appelant désigné par " +"le préfixe .. .%s" + +#: data.table.R:276 +#, c-format +msgid "" +"Both '%1$s' and '..%1$s' exist in calling scope. Please remove the '..%1$s' " +"variable in calling scope for clarity." +msgstr "" +"'%1$s' et '..%1$s' sont tous deux visibles dans le contexte de l'appelant. " +"Veuillez supprimer la variable '..%1$s' de ce contexte pour clarifier." + +#: data.table.R:284 +#, c-format +msgid "" +"Variable '%s' is not found in calling scope. Looking in calling scope because " +"you set with=FALSE. Also, please use .. symbol prefix and remove with=FALSE." +msgstr "" +"La variable '%s' n'est pas visible dans le contexte de l'appelant désigné par " +"with=FALSE. Utilisez alors le préfixe de symbole .. et supprimez with=FALSE." + +#: data.table.R:292 +#, c-format +msgid "" +"You have wrapped := with {} which is ok but then := must be the only thing " +"inside {}. You have something else inside {} as well. Consider placing the {} " +"on the RHS of := instead; e.g. DT[,someCol:={tmpVar1<-...;tmpVar2<-...;" +"tmpVar1*tmpVar2}" +msgstr "" +"L'opérateur := est entouré d’accolades {} ce qui est bien, mais ensuite := " +"doit être le seul élément dans {}. Or il y a autre chose également dans {} . " +"Déplacez plutôt les {} vers le membre droit de := ; par exemple DT[,someCol:" +"={tmpVar1<-...;tmpVar2<-...;tmpVar1*tmpVar2}" + +#: data.table.R:310 +#, c-format +msgid "" +":= with keyby is only possible when i is not supplied since you can't setkey " +"on a subset of rows. Either change keyby to by or remove i" +msgstr "" +":= avec keyby n'est accepté que si i n'est pas fourni parce que setkey sur un " +"sous-ensemble de lignes n'est pas possible. Modifiez soit keyby en by, ou " +"supprimez i" + +#: data.table.R:312 +#, c-format +msgid "nomatch isn't relevant together with :=, ignoring nomatch" +msgstr "nomatch n'est pas pertinent avec with :=, nomatch est ignoré" + +#: data.table.R:368 +#, c-format +msgid "" +"not-join '!' prefix is present on i but nomatch is provided. Please remove " +"nomatch." +msgstr "" +"le préfixe de non-jointure '!' est présent sur i mais nomatch est fourni. " +"Supprimer nomatch." + +#: data.table.R:396 +#, c-format +msgid "" +"Operator := detected in i, the first argument inside DT[...], but is only " +"valid in the second argument, j. Most often, this happens when forgetting the " +"first comma (e.g. DT[newvar := 5] instead of DT[ , new_var := 5]). Please " +"double-check the syntax. Run traceback(), and debugger() to get a line number." +msgstr "" +"L'opérateur := est présent dans i, le premier argument de DT[...], mais n'est " +"valide que dans le second argument, j. Le plus souvent, cela se produit " +"lorsqu'on oublie la première virgule (par exemple, DT[newvar := 5] au lieu de " +"DT[ , new_var := 5]). Veuillez vérifier la syntaxe. Exécuter traceback(), et " +"debugger() pour obtenir un numéro de ligne." + +#: data.table.R:406 +#, c-format +msgid "'%s' is not found in calling scope and it is not a column name either" +msgstr "" +"'%s' n'est pas visible dans le contexte de l'appelant et ce n'est pas non plus " +"un nom de colonne" + +#: data.table.R:409 +#, c-format +msgid "" +"'%s' is not found in calling scope, but it is a column of type %s. If you wish " +"to select rows where that column contains TRUE, or perhaps that column " +"contains row numbers of itself to select, try DT[(col)], DT[DT$col], or " +"DT[col==TRUE} is particularly clear and is optimized" +msgstr "" +"'%s' n'est pas visible dans le contexte de l'appelant, mais c'est une colonne " +"de type %s. Si vous souhaitez sélectionner des lignes pour lesquelles cette " +"colonne vaut TRUE, ou peut-être que cette colonne contient ses propres numéros " +"de lignes à sélectionner, essayez DT[(col)], DT[DT$col], ou DT[col==TRUE] qui " +"est particulièrement clair et optimisé" + +#: data.table.R:412 +#, c-format +msgid "" +"%s. When the first argument inside DT[...] is a single symbol (e.g. DT[var]), " +"data.table looks for var in calling scope." +msgstr "" +"%s. Lorsque le premier argument de DT[...] est un symbole unique (par exemple " +"DT[var]), data.table cherche var dans le contexte de l'appelant." + +#: data.table.R:424 +#, c-format +msgid "" +"i is invalid type (matrix). Perhaps in future a 2 column matrix could return a " +"list of elements of DT (in the spirit of A[B] in FAQ 2.14). Please report to " +"data.table issue tracker if you'd like this, or add your comments to FR #657." +msgstr "" +"i a un type non valide (matrice). Peut-être qu'à l'avenir, une matrice à 2 " +"colonnes pourrait renvoyer une liste d'éléments de DT (dans l'esprit de A[B] " +"de la FAQ 2.14). Veuillez rapporter ce problème dans le gestionnaire de " +"tickets (issues tracker) de data.table si vous le souhaitez, ou ajouter vos " +"commentaires à FR #657." + +#: data.table.R:447 +#, c-format +msgid "" +"When i is a data.table (or character vector), the columns to join by must be " +"specified using 'on=' argument (see ?data.table), by keying x (i.e. sorted, " +"and, marked as sorted, see ?setkey), or by sharing column names between x and " +"i (i.e., a natural join). Keyed joins might have further speed benefits on " +"very large data due to x being sorted in RAM." +msgstr "" +"Lorsque i est une data.table (ou un vecteur de chaînes de caractères), les " +"colonnes à joindre doivent être spécifiées à l'aide de l'argument 'on=' (voir ?" +"data.table), par l'attribution d'une clé à x (c'est-à-dire trié, et, marqué " +"comme trié, voir ?setkey), ou en partageant les noms des colonnes entre x et i " +"(c'est-à-dire, une jointure naturelle). Les jointures avec clé peuvent avoir " +"des avantages supplémentaires en termes de rapidité sur des données très " +"volumineuses, car x est trié en mémoire vive." + +#: data.table.R:455 +#, c-format +msgid "Attempting to do natural join but no common columns in provided tables" +msgstr "" +"Aucune colonne commune dans les tables fournies pour réaliser la jointure " +"naturelle" + +#: data.table.R:587 +#, c-format +msgid "logical error. i is not a data.table, but 'on' argument is provided." +msgstr "" +"erreur logique. i n'est pas une data.table, mais l'argument 'on' est fourni." + +#: data.table.R:591 +#, c-format +msgid "i has evaluated to type %s. Expecting logical, integer or double." +msgstr "" +"i a pour type %s alors qu'un booléen, un entier ou un double est attendu." + +#: data.table.R:613 +#, c-format +msgid "" +"i evaluates to a logical vector length %d but there are %d rows. Recycling of " +"logical i is no longer allowed as it hides more bugs than is worth the rare " +"convenience. Explicitly use rep(...,length=.N) if you really need to recycle." +msgstr "" +"i représente un vecteur logique de longueur %d mais il y a %d lignes. Le " +"recyclage du vecteur logique i n'est plus autorisé, car il cache plus souvent " +"des bogues qu'il n'en vaut la peine. Utiliser explicitement rep(...,length=.N) " +"si vous avez vraiment besoin de recycler ce vecteur." + +#: data.table.R:616 +#, c-format +msgid "" +"Please use nomatch=NULL instead of nomatch=0; see news item 5 in v1.12.0 (Jan " +"2019)" +msgstr "" +"Veuillez utiliser nomatch=NULL au lieu de nomatch=0; voir l'élément 5 des news " +"v1.12.0 (janvier 2019)" + +#: data.table.R:688 +#, c-format +msgid "" +"with=FALSE together with := was deprecated in v1.9.4 released Oct 2014. Please " +"wrap the LHS of := with parentheses; e.g., DT[,(myVar):=sum(b),by=a] to assign " +"to column name(s) held in variable myVar. See ?':=' for other examples. As " +"warned in 2014, this is now a warning." +msgstr "" +"with=FALSE avec := a été déprécié dans la version 1.9.4 publiée en octobre " +"2014. Veuillez entourer le membre gauche de := avec des parenthèses ; Par " +"exemple, DT[,(monVar):=sum(b),by=a] pour affecter le(s) nom(s) de colonne(s) " +"contenu(s) dans la variable myVar. Voir ?':=' pour d'autres exemples. Comme " +"annoncé en 2014, il s'agit maintenant d'un avertissement." + +#: data.table.R:691 +#, c-format +msgid "" +"with=FALSE ignored, it isn't needed when using :=. See ?':=' for examples." +msgstr "" +"with=FALSE est ignoré quand := est utilisé. Voir ?':=' pour les exemples." + +#: data.table.R:715 +#, c-format +msgid "column(s) not removed because not found: %s" +msgstr "colonne(s) non supprimée(s) car manquante(s) : %s" + +#: data.table.R:729 +#, c-format +msgid "column(s) not found: %s" +msgstr "colonnes(s) absente(s) : %s" + +#: data.table.R:735 +#, c-format +msgid "Item %d of j is %d which is outside the column number range [1,ncol=%d]" +msgstr "" +"L'élément %d de j vaut %d qui n'est pas dans l'intervalle des index de colonne " +"[1,ncol=%d]" + +#: data.table.R:738 +#, c-format +msgid "j mixes positives and negatives" +msgstr "j mélange les valeurs positives et négatives" + +#: data.table.R:746 +#, c-format +msgid "" +"When with=FALSE, j-argument should be of type logical/character/integer " +"indicating the columns to select." +msgstr "" +"Lorsque with=FALSE, l’argument j doit être de type boléen/caractère/entier " +"indiquant les colonnes à sélectionner." + +#: data.table.R:760 +#, c-format +msgid "" +"'by' contains .I but only the following are currently supported: by=.I, by=.(." +"I), by=c(.I), by=list(.I)" +msgstr "" +"'by' contient .I qui n'autorisé que pour : by=.I, by=.(.I), by=c(.I), by=list(." +"I)" + +#: data.table.R:784 +#, c-format +msgid "by=c(...), key(...) or names(...) must evaluate to 'character'" +msgstr "by=c(...), key(...) ou names(...) doivent être de type 'character'" + +#: data.table.R:794 +#, c-format +msgid "" +"'by' is a character vector length %d but one or more items include a comma. " +"Either pass a vector of column names (which can contain spaces, but no " +"commas), or pass a vector length 1 containing comma separated column names. " +"See ?data.table for other possibilities." +msgstr "" +"'by' est un vecteur de caractères de longueur %d mais un ou plusieurs éléments " +"contiennent une virgule. Passer un vecteur de noms de colonnes (pouvant " +"contenir des espaces, mais pas de virgule), ou un vecteur de longueur 1 " +"contenant des noms de colonnes séparés par une virgule. Voir ?data.table pour " +"d'autres possibilités." + +#: data.table.R:801 +#, c-format +msgid "At least one entry of by is empty" +msgstr "Au moins une valeur de by est vide" + +#: data.table.R:876 +#, c-format +msgid "" +"'by' appears to evaluate to column names but isn't c() or key(). Use " +"by=list(...) if you can. Otherwise, by=eval%s should work. This is for " +"efficiency so data.table can detect which columns are needed." +msgstr "" +"'by' semble représenter des noms de colonnes mais n'est pas c() ni key(). " +"Utiliser by=list(...) si vous le pouvez. Sinon, by=eval%s doit fonctionner. " +"C'est à data.table de détecter les colonnes nécessaires pour un traitement " +"efficace." + +#: data.table.R:887 +#, c-format +msgid "" +"'by' or 'keyby' must evaluate to a vector or a list of vectors (where 'list' " +"includes data.table and data.frame which are lists, too)" +msgstr "" +"'by' ou 'keyby' doit correspondre à un vecteur ou à une liste de vecteurs (où " +"'list' inclut data.table et data.frame qui sont également des listes)" + +#: data.table.R:891 +#, c-format +msgid "" +"Column or expression %d of 'by' or 'keyby' is type '%s' which is not currently " +"supported. If you have a compelling use case, please add it to https://github." +"com/Rdatatable/data.table/issues/1597. As a workaround, consider converting " +"the column to a supported type, e.g. by=sapply(list_col, toString), whilst " +"taking care to maintain distinctness in the process." +msgstr "" +"La colonne ou l'expression %d de 'by' ou 'keyby' est de type '%s' qui n'est " +"pas pris en charge actuellement. Si vous avez un cas d'utilisation " +"convaincant, veuillez l'ajouter sur https://github.com/Rdatatable/data.table/" +"issues/1597. Comme solution de contournement, envisagez de convertir la " +"colonne en un type pris en charge, par exemple by=sapply(list_col, toString), " +"tout en veillant à maintenir la distinction dans le processus." + +#: data.table.R:895 +#, c-format +msgid "" +"The items in the 'by' or 'keyby' list are length(s) %s. Each must be length " +"%d; the same length as there are rows in x (after subsetting if i is provided)." +msgstr "" +"Les éléments de la liste ‘by’ ou ‘keyby’ sont de longueur(s) %s. Chacun d'eux " +"doit être de longueur %d ; la même longueur que celle des lignes de x (après " +"le sous-ensemble si i est fourni)." + +#: data.table.R:948 +#, c-format +msgid "Item %d of the .() or list() passed to j is missing" +msgstr "L'élément %d de .() ou de list() passé à j est absent" + +#: data.table.R:954 +#, c-format +msgid "" +"j may not evaluate to the same number of columns for each group; if you're " +"sure this warning is in error, please put the branching logic outside of [ for " +"efficiency" +msgstr "" +"j peut ne pas évaluer le même nombre de colonnes pour chaque groupe ; si vous " +"êtes sûr que cet avertissement est une erreur, veuillez placer la logique de " +"branchement en dehors de [ pour plus d'efficacité" + +#: data.table.R:956 +#, c-format +msgid "" +"Different branches of j expression produced different auto-named columns: %s; " +"using the most \"last\" names. If this was intentional (e.g., you know only " +"one branch will ever be used in a given query because the branch is controlled " +"by a function argument), please (1) pull this branch out of the call; (2) " +"explicitly provide missing defaults for each branch in all cases; or (3) use " +"the same name for each branch and re-name it in a follow-up call." +msgstr "" +"Différentes branches de l'expression j ont produit différentes colonnes auto-" +"nommées : %s ; Les derniers noms connus sont utilisés. Si cela était " +"intentionnel (par exemple, vous savez qu'une seule branche sera utilisée dans " +"une requête donnée parce que la branche est contrôlée par un argument de " +"fonction), veuillez (1) retirer cette branche de l'appel ; (2) fournir " +"explicitement les valeurs par défaut manquantes pour chaque branche dans tous " +"les cas ; ou (3) utiliser le même nom pour chaque branche et la renommer dans " +"un appel ultérieur." + +#: data.table.R:1026 +#, c-format +msgid "" +"When .SDcols is a function, it is applied to each column; the output of this " +"function must be a non-missing boolean scalar signalling inclusion/exclusion " +"of the column. However, these conditions were not met for: %s" +msgstr "" +"Quand .SDcols est une fonction, elle est appliquée à chaque colonne ; La " +"sortie de cette fonction doit être un scalaire booléen présent indiquant " +"l'inclusion ou l'exclusion de la colonne. Néanmoins ces conditions ne sont pas " +"satisfaite pour : %s" + +#: data.table.R:1032 +#, c-format +msgid ".SDcols missing at the following indices: %s" +msgstr ".SDcols est absent aux indices suivants : %s" + +#: data.table.R:1034 +#, c-format +msgid ".SDcols is a logical vector length %d but there are %d columns" +msgstr ".SDcols est un vecteur booléens de longueur %d mais il y a %d colonnes" + +#: data.table.R:1040 +#, c-format +msgid ".SDcols is numeric but has both +ve and -ve indices" +msgstr ".SDcols est numérique mais comporte à la fois des indices +ve et -ve" + +#: data.table.R:1042 +#, c-format +msgid ".SDcols is numeric but out of bounds [1, %d] at: %s" +msgstr ".SDcols est numérique mais hors de l'intervalle [1, %d] à : %s" + +#: data.table.R:1046 +#, c-format +msgid ".SDcols should be column numbers or names" +msgstr ".SDcols doit fournir des numéros de colonnes ou des noms" + +#: data.table.R:1048 +#, c-format +msgid "Some items of .SDcols are not column names: %s" +msgstr "Certains éléments de .SDcols ne sont pas des noms de colonnes : %s" + +#: data.table.R:1090 +#, c-format +msgid "" +"This j doesn't use .SD but .SDcols has been supplied. Ignoring .SDcols. See ?" +"data.table." +msgstr "" +"Ce j n'utilise pas .SD mais .SDcols qui a été fourni. .SDcols est ignoré. " +"Voir ?data.table." + +#: data.table.R:1106 +#, c-format +msgid "" +".SD is locked. Using := in .SD's j is reserved for possible future use; a " +"tortuously flexible way to modify by group. Use := in j directly to modify by " +"group by reference." +msgstr "" +".SD est verrouillé. L'utilisation de := dans j de .SD est réservée pour une " +"utilisation future possible ; une manière un peu tordue de modifier par " +"groupe. Utiliser := dans j directement pour modifier par groupe et par " +"référence." + +#: data.table.R:1114 +#, c-format +msgid "In %s(col1=val1, col2=val2, ...) form, all arguments must be named." +msgstr "" +"Dans la forme %s(col1=val1, col2=val2, ...), tous les arguments doivent être " +"nommés." + +#: data.table.R:1136 +#, c-format +msgid "" +"In %s(col1=val1, col2=val2, ...) form, all arguments must be named, but the " +"last argument has no name. Did you forget a trailing comma?" +msgstr "" +"Dans la forme %s(col1=val1, col2=val2, ...), tous les arguments doivent être " +"nommés, cependant le dernier argument n’a pas de nom. Avez-vous oublié une " +"virgule à la fin ?" + +#: data.table.R:1138 +#, c-format +msgid "" +"In %s(col1=val1, col2=val2, ...) form, all arguments must be named, but these " +"arguments lack names: %s." +msgstr "" +"Dans la forme %s(col1=val1, col2=val2, ...), tous les arguments doivent être " +"nommés, mais les arguments suivants n’ont pas de nom : %s." + +#: data.table.R:1145 +#, c-format +msgid "" +"LHS of := must be a symbol, or an atomic vector (column names or positions)." +msgstr "" +"Le membre gauche de := doit être un symbole, ou un vecteur atomique (noms de " +"colonnes ou positions)." + +#: data.table.R:1150 +#, c-format +msgid "" +"LHS of := appears to be column positions but are outside [1,ncol] range. New " +"columns can only be added by name." +msgstr "" +"Le membre gauche de := semble être des positions de colonnes mais elles sont " +"en dehors de l'intervalle [1,ncol] . Ajouter les nouvelles colonnes par nom " +"uniquement." + +#: data.table.R:1153 +#, c-format +msgid "" +"LHS of := isn't column names ('character') or positions ('integer' or " +"'numeric')" +msgstr "" +"Le membre gauche de := ne correspond pas à des noms de colonnes ('character') " +"ni à des positions ('integer' ou 'numeric')" + +#: data.table.R:1184 +#, c-format +msgid "" +"Invalid .internal.selfref detected and fixed by taking a (shallow) copy of the " +"data.table so that := can add this new column by reference. At an earlier " +"point, this data.table has been copied by R (or was created manually using " +"structure() or similar). Avoid names<- and attr<- which in R currently (and " +"oddly) may copy the whole data.table. Use set* syntax instead to avoid " +"copying: ?set, ?setnames and ?setattr. If this message doesn't help, please " +"report your use case to the data.table issue tracker so the root cause can be " +"fixed or this message improved." +msgstr "" +"Invalide .internal.selfref détecté et corrigé en prenant une copie (peu " +"profonde) du data.table afin que := puisse ajouter cette nouvelle colonne par " +"référence. Ce data.table a été copié antérieurement par R (ou a été créé " +"manuellement en utilisant structure() ou similaire). Évitez names<- et attr<- " +"qui, dans R, peuvent actuellement (et bizarrement) copier tout le data.table. " +"Utilisez plutôt la syntaxe set* pour éviter la copie : ?set, ?setnames et ?" +"setattr. Si ce message ne vous aide pas, veuillez rapporter votre cas " +"d'utilisation dans le gestionnaire de tickets de data.table (issue tracker) " +"afin que la cause première puisse être corrigée ou que ce message soit " +"amélioré." + +#: data.table.R:1215 +#, c-format +msgid "" +"Cannot assign to an under-allocated recursively indexed list -- L[[i]][,:=] " +"syntax is only valid when i is length 1, but its length is %d" +msgstr "" +"Impossible d'assigner à une sous-liste indexée récursivement -- la syntaxe " +"L[[i]][,:=] n'est autorisée que si i est de longueur 1 mais sa longueur est %d" + +#: data.table.R:1284 +#, c-format +msgid "" +"Variable '%s' is not found in calling scope. Looking in calling scope because " +"this symbol was prefixed with .. in the j= parameter." +msgstr "" +"La variable '%s' n'est pas visible dans le contexte de l'appelant désigné par " +"le préfixe .. du symbole dans le paramètre j= ." + +#: data.table.R:1370 +#, c-format +msgid "" +"j (the 2nd argument inside [...]) is a single symbol but column name '%1$s' is " +"not found. If you intended to select columns using a variable in calling " +"scope, please try DT[, ..%1$s]. The .. prefix conveys one-level-up similar to " +"a file system path." +msgstr "" +"j (le deuxième argument à l'intérieur de [...]) est un symbole unique mais le " +"nom de la colonne '%1$s' n'est pas trouvé. Si vous souhaitez sélectionner des " +"colonnes à l'aide d'une variable dans la portée de l'appelant, essayez DT[, .." +"%1$s]. Le préfixe .. indique un niveau supérieur similaire à celui d'un chemin " +"d'accès pour un système de fichiers." + +#: data.table.R:1454 +#, c-format +msgid "" +"The column '.N' can't be grouped because it conflicts with the special .N " +"variable. Try setnames(DT,'.N','N') first." +msgstr "" +"La colonne '.N' ne peut pas être groupée car elle est en conflit avec la " +"variable spéciale .N variable. Essayer d'abord setnames(DT,'.N','N') ." + +#: data.table.R:1455 +#, c-format +msgid "" +"The column '.I' can't be grouped because it conflicts with the special .I " +"variable. Try setnames(DT,'.I','I') first." +msgstr "" +"La colonne '.I' ne peut pas être groupée car elle est en conflit avec la " +"variable spéciale .I . Essayez d'abord setnames(DT,'.I','I')." + +#: data.table.R:1483 +#, c-format +msgid "logical error. i is not data.table, but mult='all' and 'by'=.EACHI" +msgstr "" +"erreur logique. i n'est pas une data.table, mais mult='all' et 'by'=.EACHI" + +#: data.table.R:1804 +#, c-format +msgid "" +"Unable to optimize call to mean() and could be very slow. You must name 'na." +"rm' like that otherwise if you do mean(x,TRUE) the TRUE is taken to mean " +"'trim' which is the 2nd argument of mean. 'trim' is not yet optimized." +msgstr "" +"Impossible d'optimiser l'appel à mean() et risque d'être très lent. Vous devez " +"nommer 'na.rm' comme cela, sinon si vous faites mean(x,TRUE), TRUE est " +"considéré comme signifiant 'trim' qui est le deuxième argument de mean. 'trim' " +"n'est pas encore optimisé." + +#: data.table.R:1950 +#, c-format +msgid "" +"The setkey() normally performed by keyby= has been skipped (as if by= was " +"used) because := is being used together with keyby= but the keyby= contains " +"some expressions. To avoid this warning, use by= instead, or provide existing " +"column names to keyby=." +msgstr "" +"Le setkey() normalement exécuté par keyby= a été ignoré (comme si by= était " +"utilisé) parce que := est utilisé avec keyby=, mais keyby= contient des " +"expressions. Pour éviter cet avertissement, utilisez by= à la place, ou " +"fournissez des noms de colonnes existantes à keyby=." + +#: data.table.R:2039 +#, c-format +msgid "rownames and rownames.value cannot both be used at the same time" +msgstr "rownames et rownames.value ne peuvent pas être utilisés simultanément" + +#: data.table.R:2044 +#, c-format +msgid "" +"length(rownames)==%d but nrow(DT)==%d. The rownames argument specifies a " +"single column name or number. Consider rownames.value= instead." +msgstr "" +"length(rownames)==%d mais nrow(DT)==%d. L'argument rownames spécifie un nom de " +"colonne unique ou un nombre. Remplacez par rownames.value= ." + +#: data.table.R:2048 +#, c-format +msgid "length(rownames)==0 but should be a single column name or number, or NULL" +msgstr "" +"length(rownames)==0 mais doit être un nom de vecteur colonne, ou un nombre, ou " +"NULL" + +#: data.table.R:2052 +#, c-format +msgid "" +"rownames is TRUE but key has multiple columns %s; taking first column x[,1] as " +"rownames" +msgstr "" +"rownames vaut TRUE mais la clé a plusieurs colonnes %s ; Seule la première " +"colonne x[,1] est utilisée pour le nom des lignes" + +#: data.table.R:2062 +#, c-format +msgid "'%s' is not a column of x" +msgstr "'%s' n'est pas une colonne de x" + +#: data.table.R:2068 +#, c-format +msgid "" +"as.integer(rownames)==%d which is outside the column number range [1,ncol=%d]." +msgstr "" +"as.integer(rownames)==%d est en dehors de l'intervalle des numéros de colonne " +"[1,ncol=%d]." + +#: data.table.R:2073 +#, c-format +msgid "length(rownames.value)==%d but should be nrow(x)==%d" +msgstr "length(rownames.value)==%d mais devrait être nrow(x)==%d" + +#: data.table.R:2169 +#, c-format +msgid "" +"When i is a matrix in DT[i]<-value syntax, it doesn't make sense to provide j" +msgstr "" +"Si i est une matrice, dans la syntaxe DT[i]<-valeur, fournir j n'a pas de sens" + +#: data.table.R:2179 +#, c-format +msgid "j must be an atomic vector, see ?is.atomic" +msgstr "j doit être un vecteur atomique, voir ?is.atomic" + +#: data.table.R:2180 +#, c-format +msgid "NA in j" +msgstr "NA trouvé dans j" + +#: data.table.R:2186 +#, c-format +msgid "j must be vector of column name or positions" +msgstr "j doit être un vecteur de noms de colonnes ou de positions" + +#: data.table.R:2187 +#, c-format +msgid "" +"Attempt to assign to column position greater than ncol(x). Create the column " +"by name, instead. This logic intends to catch (most likely) user errors." +msgstr "" +"Tentative d'accès à une colonne située au-delà de ncol(x). À la place, créez " +"la colonne par nom. Cette logique permet d'intercepter les erreurs utilisateur " +"(le plus souvent)." + +#: data.table.R:2254 +#, c-format +msgid "" +"data.table inherits from data.frame (from v1.5), but this data.table does not. " +"Has it been created manually (e.g. by using 'structure' rather than 'data." +"table') or saved to disk using a prior version of data.table?" +msgstr "" +"data.table hérite de data.frame (à partir de la version 1.5), mais pas ce data." +"table. A-t-il été créé manuellement (par exemple en utilisant 'structure' " +"plutôt que 'data.table') ou sauvegardé sur disque à l'aide d'une version " +"antérieure de data.table ?" + +#: data.table.R:2263 +#, c-format +msgid "attempting to assign invalid object to dimnames of a data.table" +msgstr "assignation d'un objet non valide à dimnames d'une data.table" + +#: data.table.R:2264 +#, c-format +msgid "data.tables do not have rownames" +msgstr "les data.tables n'ont pas de rownames" + +#: data.table.R:2265 data.table.R:2634 +#, c-format +msgid "Can't assign %d names to a %d-column data.table" +msgstr "Impossible d'assigner %d noms à une data.table de %d colonne(s)" + +#: data.table.R:2329 +#, c-format +msgid "'subset' must evaluate to logical" +msgstr "'subset' doit représenter une valeur booléenne" + +#: data.table.R:2372 +#, c-format +msgid "Argument 'invert' must be logical TRUE/FALSE" +msgstr "L'argument 'invert' doit être un booléen TRUE / FALSE" + +#: data.table.R:2413 +#, c-format +msgid "x argument must be a data.table" +msgstr "l'argument x doit être une data.table" + +#: data.table.R:2418 +#, c-format +msgid "group length is 0 but data nrow > 0" +msgstr "la longueur du groupe est 0 mais pour les données, nrow > 0" + +#: data.table.R:2420 +#, c-format +msgid "" +"passing 'f' argument together with 'by' is not allowed, use 'by' when split by " +"column in data.table and 'f' when split by external factor" +msgstr "" +"le passage de l'argument 'f' en même temps que 'by' n'est pas autorisé, " +"utilisez 'by' pour la division par colonne dans data.table et 'f' pour la " +"division par facteur externe" + +#: data.table.R:2428 +#, c-format +msgid "Either 'by' or 'f' argument must be supplied" +msgstr "Fournir un seul argument 'by' ou 'f' mais pas les deux" + +#: data.table.R:2430 +#, c-format +msgid "Column '.ll.tech.split' is reserved for split.data.table processing" +msgstr "" +"La colonne '.ll.tech.split' est réservée au traitement de split.data.table" + +#: data.table.R:2431 +#, c-format +msgid "Column '.nm.tech.split' is reserved for split.data.table processing" +msgstr "" +"La colonne '.nm.tech.split' est réservée au traitement de split.data.table" + +#: data.table.R:2432 +#, c-format +msgid "Argument 'by' must refer to column names in x" +msgstr "L'argument 'by' doit se rapporter aux noms des colonnes dans x" + +#: data.table.R:2433 +#, c-format +msgid "" +"Argument 'by' must refer only to atomic-type columns, but the following " +"columns are non-atomic: %s" +msgstr "" +"L'argument 'by' doit faire référence uniquement à des colonnes de type " +"atomique, mais les colonnes suivantes ne le sont pas : %s" + +#: data.table.R:2565 +#, c-format +msgid "" +"x is not a data.table|frame. Shallow copy is a copy of the vector of column " +"pointers (only), so is only meaningful for data.table|frame" +msgstr "" +"x n'est pas un data.table|frame. Shallow copy est une copie du vecteur de " +"pointeurs de colonnes (uniquement), et n'a donc de sens que pour un data.table|" +"frame" + +#: data.table.R:2574 +#, c-format +msgid "setalloccol attempting to modify `*tmp*`" +msgstr "setalloccol essaie de modifier `*tmp*`" + +#: data.table.R:2609 +#, c-format +msgid "" +"Input is a length=1 logical that points to the same address as R's global " +"value. Therefore the attribute has not been set by reference, rather on a " +"copy. You will need to assign the result back to a variable. See issue #1281." +msgstr "" +"L'entrée est un booléen de longueur 1 pointant vers la même adresse que la " +"valeur globale de R. C'est pourquoi l'attribut n'a pas été initialisé par " +"référence mais plutôt par copie. Vous devrez donc assigner le résultat à une " +"variable. Voir le tickets (issues) numéro #1281." + +#: data.table.R:2624 +#, c-format +msgid "x is not a data.table or data.frame" +msgstr "x n'est pas une data.table ni un data.frame" + +#: data.table.R:2626 +#, c-format +msgid "x has %d columns but its names are length %d" +msgstr "x a %d colonnes mais les noms sont de longueur %d" + +#: data.table.R:2633 +#, c-format +msgid "Passed a vector of type '%s'. Needs to be type 'character'." +msgstr "Passage d'un vecteur de type '%s'. Doit être de type 'character'." + +#: data.table.R:2646 +#, c-format +msgid "'new' is not a character vector or a function" +msgstr "'new' n’est pas un vecteur de chaîne de caractères ni une fonction" + +#: data.table.R:2648 +#, c-format +msgid "NA in 'new' at positions %s" +msgstr "NA est présent dans 'new' aux positions %s" + +#: data.table.R:2649 +#, c-format +msgid "Some duplicates exist in 'old': %s" +msgstr "Présence de certains doublons dans 'old' : %s" + +#: data.table.R:2651 +#, c-format +msgid "'old' is type %s but should be integer, double or character" +msgstr "" +"'old' est de type %s mais doit être un entier, un double ou de type 'character'" + +#: data.table.R:2652 +#, c-format +msgid "'old' is length %d but 'new' is length %d" +msgstr "'old' est de longueur %d et 'new' est de longueur %d" + +#: data.table.R:2653 +#, c-format +msgid "NA (or out of bounds) in 'old' at positions %s" +msgstr "NA (ou valeurs hors limites) trouvées dans 'old' aux positions %s" + +#: data.table.R:2656 +#, c-format +msgid "" +"Item %d of 'old' is '%s' which appears several times in column names. Just the " +"first will be changed. There are %d other items in 'old' that are also " +"duplicated in column names." +msgstr "" +"L'élément %d de 'old' est '%s' et apparait plusieurs fois dans les noms des " +"colonnes. Seul le premier sera modifié. Il reste %d autres éléments dans 'old' " +"qui sont également dupliqués dans les noms des colonnes." + +#: data.table.R:2664 +#, c-format +msgid "Items of 'old' not found in column names: %s. Consider skip_absent=TRUE." +msgstr "" +"Eléments de 'old' non trouvés parmi les noms de colonnes : %s. Veuillez " +"utiliser skip_absent=TRUE." + +#: data.table.R:2703 +#, c-format +msgid "" +"x has some duplicated column name(s): %s. Please remove or rename the " +"duplicate(s) and try again." +msgstr "" +"x comporte des doublons de noms de colonnes : %s. Veuillez les supprimer ou " +"les renommer et recommencer." + +#: data.table.R:2705 +#, c-format +msgid "Provide either before= or after= but not both" +msgstr "Fournir before= ou after= mais pas les deux simultanément" + +#: data.table.R:2707 +#, c-format +msgid "before=/after= accept a single column name or number, not more than one" +msgstr "" +"before= ou after= n'acceptent qu'un seul nom de colonne ou nombre et pas plus" + +#: data.table.R:2763 +#, c-format +msgid "Input is %s but should be a plain list of items to be stacked" +msgstr "L'entrée est %s mais doit être une liste d'éléments à empiler" + +#: data.table.R:2767 +#, c-format +msgid "" +"idcol must be a logical or character vector of length 1. If logical TRUE the " +"id column will named '.id'." +msgstr "" +"idcol doit être un vecteur booléen ou un vecteur de caractères de longueur 1. " +"Si la valeur logique est TRUE, la colonne id sera nommée '.id'." + +#: data.table.R:2772 +#, c-format +msgid "use.names=NA invalid" +msgstr "use.names=NA non valide" + +#: data.table.R:2774 +#, c-format +msgid "" +"use.names='check' cannot be used explicitly because the value 'check' is new " +"in v1.12.2 and subject to change. It is just meant to convey default behavior. " +"See ?rbindlist." +msgstr "" +"use.names='check' ne peut être utilisé explicitement car la valeur 'check' est " +"nouvelle en v1.12.2 et peut changer à l'avenir. Elle est présente juste pour " +"garder le comportement par défaut. Voir ?rbindlist." + +#: data.table.R:2789 +#, c-format +msgid "" +"Check that is.data.table(DT) == TRUE. Otherwise, :=, `:=`(...) and let(...) " +"are defined for use in j, once only and in particular ways. Note that " +"namespace-qualification like data.table::`:=`(...) is not supported. See " +"help(\":=\")." +msgstr "" +"Vérifiez que is.data.table(DT) == TRUE. Sinon, :=, ':='(...) et let(...) sont " +"définis pour être utilisés dans j, une seule fois et de manières " +"particulières. Notez que la spécification de l’espace de noms comme data." +"table::`:=`(…) n’est pas supportée. Voir help(\":=\")." + +#: data.table.R:2806 +#, c-format +msgid "" +"setDF only accepts data.table, data.frame or list of equal length as input" +msgstr "" +"setDF n'accepte en entrée que des types data.table, data.frame ou des listes " +"d'égale longeur" + +#: data.table.R:2807 +#, c-format +msgid "rownames contains duplicates" +msgstr "doublons présents dans rownames" + +#: data.table.R:2814 data.table.R:2825 data.table.R:2848 +#, c-format +msgid "rownames incorrect length; expected %d names, got %d" +msgstr "longueur incorrecte de rownames ; %d noms attendus, %d sont fournis" + +#: data.table.R:2833 +#, c-format +msgid "All elements in argument 'x' to 'setDF' must be of same length" +msgstr "" +"Tous les éléments de l'argument 'x' de 'setDF' doivent avoir la même longueur" + +#: data.table.R:2862 +#, c-format +msgid "Cannot find symbol %s" +msgstr "Symbole %s non trouvé" + +#: data.table.R:2869 +#, c-format +msgid "" +"Cannot convert '%1$s' to data.table by reference because binding is locked. It " +"is very likely that '%1$s' resides within a package (or an environment) that " +"is locked to prevent modifying its variable bindings. Try copying the object " +"to your current environment, ex: var <- copy(var) and then using setDT again." +msgstr "" +"Impossible de convertir '%1$s' en data.table par référence car le lien est " +"verrouillé. Il est très probable que '%1$s' se trouve dans un package (ou un " +"environnement) qui est verrouillé pour empêcher la modification de ses objets. " +"Essayez de copier l'objet dans votre environnement actuel, ex : var <- " +"copy(var) et utilisez ensuite setDT à nouveau." + +#: data.table.R:2922 +#, c-format +msgid "Argument 'x' to 'setDT' should be a 'list', 'data.frame' or 'data.table'" +msgstr "" +"L'argument 'x' de 'setDT' doit être de type 'list', 'data.frame' ou 'data." +"table'" + +#: data.table.R:2937 +#, c-format +msgid "Item '%s' not found in names of input list" +msgstr "Élément '%s' non trouvé parmi les noms de la liste d'entrée" + +#: data.table.R:2962 data.table.R:2987 +#, c-format +msgid "'prefix' must be NULL or a character vector of length 1." +msgstr "" +"'prefix' doit être NULL ou un vecteur de chaîne de caractères de longueur 1." + +#: data.table.R:2965 data.table.R:2990 +#, c-format +msgid "x is a single vector, non-NULL 'cols' doesn't make sense." +msgstr "x est un vecteur unique, donc 'cols' non NULL n'a pas de sens." + +#: data.table.R:2969 data.table.R:2994 +#, c-format +msgid "x is a list, 'cols' cannot be 0-length." +msgstr "x est une liste, 'cols' ne peut avoir une longueur 0." + +#: data.table.R:3185 +#, c-format +msgid "" +"RHS of %s is length %d which is not 1 or nrow (%d). For robustness, no " +"recycling is allowed (other than of length 1 RHS). Consider %%in%% instead." +msgstr "" +"Le membre de droite de %s a pour longueur %d au lieu de 1 ou nrow (%d) " +"attendu. Pour la robustesse, aucun recyclage n'est autorisé (autre que sur une " +"longueur de 1 du membre de droite). Essayez %%in%% à la place." + +#: data.table.R:3300 +#, c-format +msgid "" +"'on' argument should be a named atomic vector of column names indicating which " +"columns in 'i' should be joined with which columns in 'x'." +msgstr "" +"l'argument 'on' doit être un vecteur atomique nommé composé de noms de " +"colonnes indiquant quelle colonne de 'i' doit être jointe à quelle colonne de " +"'x'." + +#: data.table.R:3341 +#, c-format +msgid "" +"Found more than one operator in one 'on' statement: %s. Please specify a " +"single operator." +msgstr "" +"Plus d'un opérateur trouvé dans une déclaration 'on' : %s. Veuillez spécifier " +"un seul opérateur." + +#: data.table.R:3364 +#, c-format +msgid "" +"'on' contains no column name: %s. Each 'on' clause must contain one or two " +"column names." +msgstr "" +"'on' n'a pas de nom de colonne : %s. Chaque clause 'on' doit contenir un ou " +"deux noms de colonnes." + +#: data.table.R:3366 +#, c-format +msgid "" +"'on' contains more than 2 column names: %s. Each 'on' clause must contain one " +"or two column names." +msgstr "" +"la clause 'on' contient plus de 2 noms de colonnes : %s. Chaque clause 'on' " +"doit contenir un ou deux noms de colonnes." + +#: data.table.R:3371 +#, c-format +msgid "Invalid join operators %s. Only allowed operators are %s." +msgstr "" +"Opérateurs de jointure non valides %s. Les seuls opérateurs autorisés sont %s." + +#: devel.R:16 +#, c-format +msgid "There is no package %s in provided repository." +msgstr "Package %s non trouvé dans le dépôt fourni." + +#: duplicated.R:7 +#, c-format +msgid "'fromLast' must be TRUE or FALSE" +msgstr "'fromLast' doit être TRUE ou FALSE" + +#: duplicated.R:105 +#, c-format +msgid "x must be an atomic vector or data.frames/data.tables" +msgstr "x doit être un vecteur atomique ou des data.frames / data.tables" + +#: fcast.R:7 +#, c-format +msgid "Using '%s' as value column. Use 'value.var' to override" +msgstr "" +"'%s' est utilisé comme colonne de valeurs. Utiliser 'value.var' pour redéfinir" + +#: fcast.R:20 fmelt.R:16 +#, c-format +msgid "" +"The %1$s generic in data.table has been passed a %2$s, but data.table::%1$s " +"currently only has a method for data.tables. Please confirm your input is a " +"data.table, with setDT(%3$s) or as.data.table(%3$s). If you intend to use a " +"method from reshape2, try installing that package first, but do note that " +"reshape2 is superseded and is no longer actively developed." +msgstr "" +"Le générique %1$s dans data.table a été transmis à un %2$s, mais data.table: :" +"%1$s n'a actuellement qu'une méthode pour data.tables. Veuillez confirmer que " +"votre entrée est un data.table, avec setDT(%3$s) ou as.data.table(%3$s). Si " +"vous avez l'intention d'utiliser une méthode de reshape2, essayez d'installer " +"ce package en premier, mais notez que reshape2 est dépassé et n'est plus " +"activement développé." + +#: fcast.R:21 +#, c-format +msgid "" +"The %1$s generic in data.table has been passed a %2$s and will attempt to " +"redirect to the relevant reshape2 method; please note that reshape2 is " +"superseded and is no longer actively developed, and this redirection is now " +"deprecated. Please do this redirection yourself like reshape2::%1$s(%3$s). In " +"the next version, this warning will become an error." +msgstr "" +"Le générique %1$s dans data.table s'est vu passer un %2$s et tentera de " +"rediriger vers la méthode reshape2 correspondante ; veuillez noter que " +"reshape2 est dépassé et n'est plus activement développé, et que cette " +"redirection est désormais obsolète. Veuillez effectuer cette redirection vous-" +"même comme reshape2: :%1$s(%3$s). Dans la prochaine version, cet avertissement " +"deviendra une erreur." + +#: fcast.R:31 +#, c-format +msgid "" +"Invalid formula. Cast formula should be of the form LHS ~ RHS, for e.g., a + b " +"~ c." +msgstr "" +"Formule non valide. La formule du cast s'écrit : membre gauche ~ membre droit, " +"par exemple : a + b ~ c." + +#: fcast.R:38 +#, c-format +msgid "data.table to cast must have unique column names" +msgstr "" +"cast impossible si les noms de colonnes ne sont pas uniques dans la data.table" + +#: fcast.R:83 +#, c-format +msgid "value.var values %s are not found in 'data'." +msgstr "valeurs %s de value.var absentes dans 'data'." + +#: fcast.R:99 +#, c-format +msgid "" +"When 'fun.aggregate' and 'value.var' are both lists, 'value.var' must be " +"either of length =1 or =length(fun.aggregate)." +msgstr "" +"Si 'fun.aggregate' et 'value.var' sont tous deux des listes, 'value.var' doit " +"avoir une longueur =1 ou =length(fun.aggregate)." + +#: fcast.R:132 +#, c-format +msgid "'data' must be a data.table." +msgstr "'data' doit être une data.table." + +#: fcast.R:134 +#, c-format +msgid "'drop' must be logical TRUE/FALSE" +msgstr "'drop' doit être un booléen TRUE / FALSE" + +#: fcast.R:136 +#, c-format +msgid "Argument 'value.var.in.dots' should be logical TRUE/FALSE" +msgstr "L'argument ‘value.var.in.dots’ doit être un booléen TRUE/FALSE" + +#: fcast.R:138 +#, c-format +msgid "" +"Arguments 'value.var.in.LHSdots', 'value.var.in.RHSdots' should be logical " +"TRUE/FALSE" +msgstr "" +"Les arguments 'value.var.in.LHSdots', 'value.var.in.RHSdots' doivent être des " +"booléens TRUE/FALSE" + +#: fcast.R:155 +#, c-format +msgid "Column [%s] not found or of unknown type." +msgstr "La colonne [%s] est absente ou de type inconnu." + +#: fcast.R:170 +#, c-format +msgid "Columns specified in formula can not be of type list" +msgstr "" +"Les colonnes spécifiées dans la formule ne peuvent pas avoir le type liste" + +#: fcast.R:185 +#, c-format +msgid "" +"'fun.aggregate' is NULL, but found duplicate row/column combinations, so " +"defaulting to length(). That is, the variables %s used in 'formula' do not " +"uniquely identify rows in the input 'data'. In such cases, 'fun.aggregate' is " +"used to derive a single representative value for each combination in the " +"output data.table, for example by summing or averaging (fun.aggregate=sum or " +"fun.aggregate=mean, respectively). Check the resulting table for values larger " +"than 1 to see which combinations were not unique. See ?dcast.data.table for " +"more details." +msgstr "" +"'fun.aggregate' est NULL, mais des combinaisons de lignes/colonnes dupliquées " +"sont rencontrées, donc par défaut length() est utilisé. En d'autres termes, " +"les variables %s utilisées dans 'formula' n'identifient pas de manière unique " +"les lignes dans les données d'entrée 'data'. Dans ce cas, 'fun.aggregate' est " +"utilisé pour dériver une valeur représentative unique pour chaque combinaison " +"dans la 'data.table' de sortie, par exemple en faisant la somme ou la moyenne " +"(fun.aggregate=sum ou fun.aggregate=mean, respectivement). Vérifiez que le " +"tableau résultant contient des valeurs supérieures à 1 pour voir quelles " +"combinaisons n'étaient pas uniques. Voir ?dcast.data.table pour plus de " +"détails." + +#: fcast.R:195 +msgid "" +"Aggregating function(s) should take a vector as input and return a single " +"value (length=1), but they do not, so the result is undefined. Please fix by " +"modifying your function so that a single value is always returned." +msgstr "" +"La ou les fonction(s) d'agrégation devraient prendre un vecteur en entrée et " +"renvoyer une seule valeur (longueur=1), mais ce n'est pas le cas, et le " +"résultat est donc indéfini. Veuillez corriger en modifiant votre fonction de " +"manière à ce qu'une seule valeur soit toujours renvoyée." + +#: fdroplevels.R:13 +#, c-format +msgid "" +"droplevels() with in.place=TRUE is deprecated. Use setdroplevels() instead." +msgstr "" +"droplevels() avec in.place=TRUE est obsolète. Utilisez plutôt setdroplevels()." + +#: fmelt.R:17 +#, c-format +msgid "" +"The %1$s generic in data.table has been passed a %2$s and will attempt to " +"redirect to the relevant reshape2 method; please note that reshape2 is " +"superseded and is no longer actively developed, and this redirection is now " +"deprecated. To continue using melt methods from reshape2 while both libraries " +"are attached, e.g. melt.list, you can prepend the namespace, i.e. reshape2::" +"%1$s(%3$s). In the next version, this warning will become an error." +msgstr "" +"Le générique %1$s dans data.table a reçu un %2$s et tentera de rediriger vers " +"la méthode reshape2 correspondante ; Veuillez noter que reshape2 est remplacé " +"et n'est plus activement développé, et que cette redirection est maintenant " +"dépréciée. Pour continuer à utiliser les méthodes 'melt' de reshape2 alors que " +"les deux bibliothèques sont attachées, par exemple 'melt.list', vous pouvez " +"ajouter l'espace de noms, c'est-à-dire reshape2: :%1$s(%3$s). Dans la " +"prochaine version, cet avertissement deviendra une erreur." + +#: fmelt.R:28 +#, c-format +msgid "Input patterns must be of type character." +msgstr "Les motifs d'entrée doivent être de type chaînes de caractères." + +#: fmelt.R:31 +#, c-format +msgid "Pattern(s) not found: [%s]" +msgstr "Motif(s) non trouvé(s) : [%s]" + +#: fmelt.R:46 +#, c-format +msgid "" +"each ... argument to measure must be either a symbol without argument name, or " +"a function with argument name, problems: %s" +msgstr "" +"chaque argument ... à mesurer doit être soit un symbole sans nom d'argument, " +"soit une fonction avec nom d'argument, problèmes : %s" + +#: fmelt.R:54 +#, c-format +msgid "" +"group names specified in ... conflict with measure argument names; please fix " +"by changing group names: %s" +msgstr "" +"les noms de groupes spécifiés dans ... sont en conflit avec les noms des " +"arguments de mesure ; veuillez corriger en changeant les noms de groupes : %s" + +#: fmelt.R:60 +#, c-format +msgid "" +"each ... argument to measure must be a function with at least one argument, " +"problem: %s" +msgstr "" +"chaque argument ... à mesurer doit être une fonction avec au moins un " +"argument, problème : %s" + +#: fmelt.R:74 +#, c-format +msgid "" +"both sep and pattern arguments used; must use either sep or pattern (not both)" +msgstr "" +"vous utilisez à la fois les arguments sep et pattern ; Choisir entre sep ou " +"pattern (mais pas les deux)" + +#: fmelt.R:77 +#, c-format +msgid "multiple.keyword must be a character string with nchar>0" +msgstr "multiple.keyword doit être une chaîne de caractères avec nchar>0" + +#: fmelt.R:80 +#, c-format +msgid "cols must be a character vector of column names" +msgstr "cols doit être un vecteur de chaînes de caractères de noms de colonnes" + +#: fmelt.R:88 +#, c-format +msgid "in measurev, %s must be named, problems: %s" +msgstr "dans measurev, %s doit avoir un nom, problèmes : %s" + +#: fmelt.R:94 +#, c-format +msgid "%s should be uniquely named, problems: %s" +msgstr "%s doit avoir un nom unique, problèmes : %s" + +#: fmelt.R:99 +#, c-format +msgid "number of %s =%d must be same as %s =%d" +msgstr "le nombre de %s =%d doit être le même que %s =%d" + +#: fmelt.R:106 +#, c-format +msgid "pattern must be character string" +msgstr "le motif doit être une chaîne de caractères" + +#: fmelt.R:111 +#, c-format +msgid "" +"pattern did not match any cols, so nothing would be melted; fix by changing " +"pattern" +msgstr "" +"le motif ne correspondait à aucune colonne, donc rien n'aurait été fait " +"(melt) ; corrigez en changeant de motif" + +#: fmelt.R:115 +#, c-format +msgid "" +"pattern must contain at least one capture group (parenthesized sub-pattern)" +msgstr "" +"le motif doit contenir au moins un groupe de capture (sous-motif entre " +"parenthèses)" + +#: fmelt.R:124 +#, c-format +msgid "sep must be character string" +msgstr "sep doit être une chaîne de caractères" + +#: fmelt.R:130 +#, c-format +msgid "" +"each column name results in only one item after splitting using sep, which " +"means that all columns would be melted; to fix please either specify melt on " +"all columns directly without using measure, or use a different sep/pattern " +"specification" +msgstr "" +"chaque nom de colonne ne donne qu'un seul élément après séparation à l'aide de " +"'sep', ce qui signifie que toutes les colonnes seraient fusionnées ; pour " +"résoudre ce problème, veuillez spécifier la fusion (melt) sur toutes les " +"colonnes directement sans utiliser la mesure, ou utiliser une spécification " +"sep/motif différente" + +#: fmelt.R:140 +#, c-format +msgid "" +"number of unique column IDs =%d is less than number of melted columns =%d; fix " +"by changing pattern/sep" +msgstr "" +"le nombre d'ID de colonnes uniques =%d est inférieur au nombre de colonnes " +"fusionnées =%d ; corrigez en changeant le motif ou sep" + +#: fmelt.R:150 +#, c-format +msgid "" +"in the measurev fun.list, each non-NULL element must be a function with at " +"least one argument, problem: %s" +msgstr "" +"dans la mesurev fun.list, chaque élément non NULL doit être une fonction avec " +"au moins un argument, problème : %s" + +#: fmelt.R:154 +#, c-format +msgid "" +"each conversion function must return an atomic vector with same length as its " +"first argument, problem: %s" +msgstr "" +"chaque fonction de conversion doit renvoyer un vecteur atomique de même " +"longueur que son premier argument, problème : %s" + +#: fmelt.R:157 +#, c-format +msgid "%s conversion function returned vector of all NA" +msgstr "" +"la fonction de conversion %s a renvoyé un vecteur ne contenant que des NA" + +#: fmelt.R:163 +#, c-format +msgid "" +"number of unique groups after applying type conversion functions less than " +"number of groups, change type conversion" +msgstr "" +"nombre de groupes uniques après application des fonctions de conversion de " +"type inférieur au nombre de groupes, modifier la conversion de type" + +#: fmelt.R:168 +#, c-format +msgid "" +"%s column class=%s after applying conversion function, but must be character" +msgstr "" +"colonne %s class=%s après avoir appliqué les fonctions de conversion, mais " +"doivent être des chaînes de caractères" + +#: fmelt.R:172 +#, c-format +msgid "%s is the only group; fix by creating at least one more group" +msgstr "" +"%s est le seul groupe ; Corrigez en créant au moins un groupe supplémentaire" + +#: fmelt.R:195 +#, c-format +msgid "'data' must be a data.table" +msgstr "'data' doit être une data.table" + +#: fmelt.R:214 +#, c-format +msgid "" +"'value.name' provided in both 'measure.vars' and 'value.name argument'; value " +"provided in 'measure.vars' is given precedence." +msgstr "" +"'value.name' est fourni à la fois dans 'measure.vars' et 'value.name " +"argument' ; La valeur de 'measure.vars' prévaut." + +#: fmelt.R:217 +#, c-format +msgid "Please provide a name to each element of 'measure.vars'." +msgstr "Veuillez fournir un nom pour chaque élément de 'measure.vars'." + +#: foverlaps.R:3 +#, c-format +msgid "" +"y and x must both be data.tables. Use `setDT()` to convert list/data.frames to " +"data.tables by reference or as.data.table() to convert to data.tables by " +"copying." +msgstr "" +"y et x doivent tous deux être des data.tables. Utilisez `setDT()` pour " +"convertir des list/data.frames en data.tables par référence ou as.data.table() " +"pour convertir en data.tables par copie." + +#: foverlaps.R:9 +#, c-format +msgid "maxgap must be a non-negative integer value of length 1" +msgstr "maxgap doit être un entier positif ou nul de longueur 1" + +#: foverlaps.R:11 +#, c-format +msgid "minoverlap must be a positive integer value of length 1" +msgstr "minorverlap doit être un entier positif ou nul de longueur 1" + +#: foverlaps.R:13 +#, c-format +msgid "which must be a logical vector of length 1. Either TRUE/FALSE" +msgstr "which doit être un vecteur de booléens de longueur 1. Soit TRUE ou FALSE" + +#: foverlaps.R:15 +#, c-format +msgid "nomatch must either be NA or NULL" +msgstr "nomatch doit valoir soit NA soit NULL" + +#: foverlaps.R:20 +#, c-format +msgid "maxgap and minoverlap arguments are not yet implemented." +msgstr "les arguments maxgap et minoverlap ne sont pas encore implémentés." + +#: foverlaps.R:22 +#, c-format +msgid "" +"y must be keyed (i.e., sorted, and, marked as sorted). Call setkey(y, ...) " +"first, see ?setkey. Also check the examples in ?foverlaps." +msgstr "" +"y doit être transformé en 'key' (c'est-à-dire trié, et, marqué comme étant " +"trié). Appelez d'abord setkey(y, ...), voir ?setkey. Consultez également les " +"exemples dans ?foverlaps." + +#: foverlaps.R:24 +#, c-format +msgid "" +"'by.x' and 'by.y' should contain at least two column names (or numbers) each - " +"corresponding to 'start' and 'end' points of intervals. Please see ?foverlaps " +"and examples for more info." +msgstr "" +"'by.x' et 'by.y' doivent contenir chacun au moins deux noms de colonnes (ou " +"leurs indices) - correspondant aux bornes 'start' et 'end' des intervalles. " +"Voir ?foverlaps et les exemples pour plus d'information." + +#: foverlaps.R:27 +#, c-format +msgid "" +"Invalid numeric value for 'by.x'; it should be a vector with values 1 <= by.x " +"<= length(x)" +msgstr "" +"Valeur numérique non valide pour 'by.x' ; Doit être un vecteur de valeurs 1 <= " +"by.x <= length(x)" + +#: foverlaps.R:32 +#, c-format +msgid "" +"Invalid numeric value for 'by.y'; it should be a vector with values 1 <= by.y " +"<= length(y)" +msgstr "" +"Valeur numérique non valide pour 'by.y' ; Doit être un vecteur de valeurs 1 <= " +"by.y <= length(y)" + +#: foverlaps.R:36 +#, c-format +msgid "A non-empty vector of column names or numbers is required for by.x" +msgstr "" +"Un vecteur non vide de noms de colonnes ou d’indices (nombres) est nécessaire " +"pour by.x" + +#: foverlaps.R:38 +#, c-format +msgid "A non-empty vector of column names or numbers is required for by.y" +msgstr "" +"Un vecteur non vide de noms de colonnes ou d’indices (nombres) est nécessaire " +"pour by.y" + +#: foverlaps.R:40 +#, c-format +msgid "" +"The first %d columns of y's key must be identical to the columns specified in " +"by.y." +msgstr "" +"Les %d premières colonnes de la clé de y doivent être identiques aux colonnes " +"spécifiées dans by.y." + +#: foverlaps.R:42 +#, c-format +msgid "Elements listed in 'by.x' must be valid names in data.table x" +msgstr "" +"Les éléments listés dans 'by.x' doivent être des noms valides de la data.table " +"x" + +#: foverlaps.R:44 +#, c-format +msgid "" +"Duplicate columns are not allowed in overlap joins. This may change in the " +"future." +msgstr "" +"Les colonnes dupliquées ne sont pas autorisées pour la jointure avec " +"recouvrement. Ceci peut changer à l'avenir." + +#: foverlaps.R:46 +#, c-format +msgid "" +"length(by.x) != length(by.y). Columns specified in by.x should correspond to " +"columns specified in by.y and should be of same lengths." +msgstr "" +"length(by.x) != length(by.y). Les colonnes spécifiées dans by.x doivent " +"correspondre aux colonnes spécifiées dans by.y et être de même longueur." + +#: foverlaps.R:48 foverlaps.R:50 merge.R:26 merge.R:27 +#, c-format +msgid "" +"%s has some duplicated column name(s): %s. Please remove or rename the " +"duplicate(s) and try again." +msgstr "" +"%s comporte certains noms de colonnes dupliqués : %s. Veuillez supprimer les " +"doublons ou les renommer et recommencer." + +#: foverlaps.R:56 +#, c-format +msgid "" +"The last two columns in by.x should correspond to the 'start' and 'end' " +"intervals in data.table x and must be integer/numeric type." +msgstr "" +"Les deux dernières colonnes de by.x doivent correspondre à l'intervalle " +"'start' et 'end' de la data.table x et doivent être de type entier ou " +"numérique." + +#: foverlaps.R:60 foverlaps.R:62 foverlaps.R:69 foverlaps.R:71 +#, c-format +msgid "" +"NA values in data.table %s '%s' column: '%s'. All rows with NA values in the " +"range columns must be removed for foverlaps() to work." +msgstr "" +"Valeurs NA présentes dans la data.table %s colonne '%s’ : '%s'. Toutes les " +"lignes avec des valeurs NA dans l'intervalle des colonnes doivent être " +"supprimées avant d’exécuter foverlaps()." + +#: foverlaps.R:63 +#, c-format +msgid "" +"All entries in column '%s' should be <= corresponding entries in column '%s' " +"in data.table x." +msgstr "" +"Toutes les entrées de la colonne '%s' doivent être <= aux entrées " +"correspondantes de la colonne '%s' de la data.table x." + +#: foverlaps.R:66 +#, c-format +msgid "" +"The last two columns in by.y should correspond to the 'start' and 'end' " +"intervals in data.table y and must be integer/numeric type." +msgstr "" +"Les deux dernières colonnes de by.y doivent correspondre aux intervalles de " +"'start' et 'end' de la data.table y et doivent être de type entier/numérique." + +#: foverlaps.R:72 +#, c-format +msgid "" +"All entries in column '%s' should be <= corresponding entries in column '%s' " +"in data.table y." +msgstr "" +"Toutes les entrées de la colonne '%s' doivent être <= aux entrées " +"correspondantes de la colonne '%s' de la data.table y." + +#: foverlaps.R:77 +#, c-format +msgid "" +"Some interval cols are of type POSIXct while others are not. Please ensure all " +"interval cols are (or are not) of POSIXct type" +msgstr "" +"Certains interval cols sont de type POSIXct et d'autres non. Veuillez vous " +"assurer que tous les 'interval cols' sont (ou ne sont pas) de type POSIXct" + +#: foverlaps.R:83 +#, c-format +msgid "" +"POSIXct interval cols have mixed timezones. Overlaps are performed on the " +"internal numerical representation of POSIXct objects (always in UTC epoch " +"time), therefore printed values may give the impression that values don't " +"overlap but their internal representations do Please ensure that POSIXct type " +"interval cols have identical 'tzone' attributes to avoid confusion." +msgstr "" +"Les colonnes d'intervalles POSIXct ont des fuseaux horaires différents. Les " +"chevauchements sont effectués sur la représentation numérique interne des " +"objets POSIXct (toujours en temps UTC), par conséquent les valeurs imprimées " +"peuvent donner l'impression que les valeurs ne se chevauchent pas mais leurs " +"représentations internes le font. Veuillez vous assurer que les colonnes " +"d'intervalle de type POSIXct ont des attributs 'tzone' identiques afin " +"d'éviter toute confusion." + +#: foverlaps.R:164 foverlaps.R:166 foverlaps.R:170 +#, c-format +msgid "Not yet implemented" +msgstr "Non encore implémenté" + +#: foverlaps.R:169 +#, c-format +msgid "maxgap > minoverlap. maxgap will have no effect here." +msgstr "maxgap > minoverlap. maxgap n'a pas de conséquence ici." + +#: frank.R:3 +#, c-format +msgid "length(na.last) = 0" +msgstr "length(na.last) = 0" + +#: frank.R:5 +#, c-format +msgid "length(na.last) > 1, only the first element will be used" +msgstr "length(na.last) > 1, seul le premier élément sera utilisé" + +#: frank.R:17 +#, c-format +msgid "x is a single vector, non-NULL 'cols' doesn't make sense" +msgstr "x est un vecteur colonne, les 'cols' non NULL n'ont pas de sens" + +#: frank.R:23 +#, c-format +msgid "x is a list, 'cols' can not be 0-length" +msgstr "x est une liste, 'cols' ne peut pas avoir une longueur 0" + +#: frank.R:31 +#, c-format +msgid "" +"Input column '..na_prefix..' conflicts with data.table internal usage; please " +"rename" +msgstr "" +"La colonne d'entrée '..na_prefix..' est en conflit avec l'utilisation interne " +"de data.table ; Veuillez la renommer" + +#: frank.R:46 +#, c-format +msgid "" +"Input column '..stats_runif..' conflicts with data.table internal usage; " +"please rename" +msgstr "" +"La colonne d'entrée '..stats_runif..' est en conflit avec l'utilisation " +"interne de data.table ; Veuillez la renommer" + +#: fread.R:10 +#, c-format +msgid "Used more than one of the arguments input=, file=, text= and cmd=." +msgstr "" +"Plusieurs occurrences d'un des arguments suivants input=, file=, text=, cmd=." + +#: fread.R:23 +#, c-format +msgid "Argument 'encoding' must be 'unknown', 'UTF-8' or 'Latin-1'." +msgstr "L'argument 'encoding' doit être 'unknown', 'UTF-8' ou 'Latin-1'." + +#: fread.R:42 +#, c-format +msgid "'text=' is type %s but must be character." +msgstr "'text=' est de type %s mais doit être de type 'character'." + +#: fread.R:55 +#, c-format +msgid "" +"input= must be a single character string containing a file name, a system " +"command containing at least one space, a URL starting 'http[s]://', " +"'ftp[s]://' or 'file://', or, the input data itself containing at least one " +"\\n or \\r" +msgstr "" +"input= doit être une seule chaîne de caractères contenant un nom de fichier, " +"une commande système contenant au moins une espace, une URL commençant par " +"'http[s]://', 'ftp[s]://' ou 'file://', ou les données d'entrée elles-mêmes " +"contenant au moins un \\n ou \\r" + +#: fread.R:60 +#, c-format +msgid "" +"input= contains no \\n or \\r, but starts with a space. Please remove the " +"leading space, or use text=, file= or cmd=" +msgstr "" +"input= ne contient ni \\n, ni \\r, mais commence par une espace. Veuillez " +"supprimer l'espace qui précède ou utiliser text=, file= ou cmd=" + +#: fread.R:64 +#, c-format +msgid "" +"Taking input= as a system command because it contains a space ('%s'). If it's " +"a filename please remove the space, or use file= explicitly. A variable is " +"being passed to input= and when this is taken as a system command there is a " +"security concern if you are creating an app, the app could have a malicious " +"user, and the app is not running in a secure environment; e.g. the app is " +"running as root. Please read item 5 in the NEWS file for v1.11.6 for more " +"information and for the option to suppress this message." +msgstr "" +"Le contenu de l’argument input= est considéré comme une commande système parce " +"qu'il contient une espace ('%s'). S'il s'agit d'un nom de fichier, supprimez " +"l'espace ou utilisez explicitement file=. Une variable est passée à input= et " +"lorsque cela est pris comme une commande système, il y a un problème de " +"sécurité si vous créez une application. L’application pourrait alors être " +"détournée par un utilisateur malveillant, si elle ne s'exécute pas dans un " +"environnement sécurisé, par exemple si l'application s'exécute en tant que " +"root. Veuillez lire le point 5 dans le fichier NEWS pour la v1.11.6 pour plus " +"d'informations et pour l'option permettant de supprimer ce message." + +#: fread.R:77 +#, c-format +msgid "" +"file= must be a single character string containing a filename, or URL starting " +"'http[s]://', 'ftp[s]://' or 'file://'" +msgstr "" +"file= doit être une seule chaîne de caractères contenant un nom de fichier ou " +"une URL commençant par 'http[s]://', 'ftp[s]://' or 'file://'" + +#: fread.R:90 +#, c-format +msgid "File '%s' does not exist or is non-readable. getwd()=='%s'" +msgstr "Fichier '%s' absent ou non accessible en lecture. getwd()=='%s'" + +#: fread.R:91 +#, c-format +msgid "File '%s' is a directory. Not yet implemented." +msgstr "Le fichier '%s' est un répertoire. Ceci n’est pas encore implémenté." + +#: fread.R:93 +#, c-format +msgid "File '%s' has size 0. Returning a NULL %s." +msgstr "Le fichier '%s' a pour taille 0. Renvoi de %s NULL." + +#: fread.R:105 +#, c-format +msgid "Compressed files containing more than 1 file are currently not supported." +msgstr "" +"Les fichiers compressés contenant plusieurs fichiers ne sont pas reconnus " +"actuellement." + +#: fread.R:115 +#, c-format +msgid "" +"To read %s files directly, fread() requires 'R.utils' package which cannot be " +"found. Please install 'R.utils' using 'install.packages('R.utils')'." +msgstr "" +"Pour lire directement les fichiers %s, fread() a besoin du package 'R.utils' " +"qui n'a pas été trouvé. Veuillez installer 'R.utils' via 'install.packages('R." +"utils')'." + +#: fread.R:125 +#, c-format +msgid "" +"'autostart' is now deprecated and ignored. Consider skip='string' or skip=n" +msgstr "" +"'autostart' est maintenant obsolète et ignoré. Remplacer par skip='chaîne' ou " +"skip=n" + +#: fread.R:127 +#, c-format +msgid "" +"colClasses is type 'logical' which is ok if all NA but it has some TRUE or " +"FALSE values in it which is not allowed. Please consider the drop= or select= " +"argument instead. See ?fread." +msgstr "" +"colClasses est de type booléen, ce qui est acceptable si toutes les valeurs " +"sont NA, mais il contient des valeurs TRUE ou FALSE, ce qui n'est pas " +"autorisé. Veuillez considérer l'argument drop= ou select= à la place. Voir ?" +"fread." + +#: fread.R:131 +#, c-format +msgid "colClasses is not type list or character vector" +msgstr "colClasses n'est ni du type liste ni un vecteur de chaînes de caractères" + +#: fread.R:136 +#, c-format +msgid "" +"colClasses=\"NULL\" (quoted) is interpreted as colClasses=NULL (the default) " +"as opposed to dropping every column." +msgstr "" +"colClasses=\"NULL\" (avec des guillemets) est interprété comme colClasses=NULL " +"(la valeur par défaut) contrairement à la suppression de toutes les colonnes." + +#: fread.R:148 +#, c-format +msgid "na.strings[%d]==\"%s\" consists only of whitespace, ignoring" +msgstr "na.strings[%d]==\"%s\" n'est formé que d'espaces, il est ignoré" + +#: fread.R:151 +#, c-format +msgid "" +"%s. Since strip.white=TRUE (default), use na.strings=\"\" to specify that any " +"number of spaces in a string column should be read as ." +msgstr "" +"%s. Parce que strip.white=TRUE (valeur par défaut), utilisez na.strings=\"\" " +"pour spécifier que toute suite d'espaces d'une colonne de chaînes doit être " +"lue comme ." + +#: fread.R:153 +#, c-format +msgid "" +"%s. strip.white==TRUE (default) and \"\" is present in na.strings, so any " +"number of spaces in string columns will already be read as ." +msgstr "" +"%s. strip.white==TRUE (par défault) et \"\" est présent dans na.strings, donc " +"toute suite d'espaces dans les colonnes de chaînes de caractères est déjà lue " +"comme étant ." + +#: fread.R:157 +#, c-format +msgid "" +"%s. But strip.white=FALSE. Use strip.white=TRUE (default) together with na." +"strings=\"\" to turn any number of spaces in string columns into " +msgstr "" +"%s. Mais strip.white=FALSE. Utiliser strip.white=TRUE (par défaut) avec na." +"strings=\"\" pour transformer les suites d'espaces en dans les colonnes " +"de chaînes de caractères" + +#: fread.R:163 +#, c-format +msgid "" +"'data.table' relies on the package 'yaml' to parse the file header; please add " +"this to your library with install.packages('yaml') and try again." +msgstr "" +"'data.table' dépend du package 'yaml' pour analyser l'entête du fichier ; " +"Veuillez l’ajouter dans votre bibliothèque avec install.packages('yaml') et " +"recommencer." + +#: fread.R:167 +#, c-format +msgid "" +"Combining a search string as 'skip' and reading a YAML header may not work as " +"expected -- currently, reading will proceed to search for 'skip' from the " +"beginning of the file, NOT from the end of the metadata; please file an issue " +"on GitHub if you'd like to see more intuitive behavior supported." +msgstr "" +"La combinaison d'une chaîne de recherche comme 'skip' et la lecture d'un " +"entête YAML peuvent ne pas fonctionner comme prévu -- actuellement, la lecture " +"va rechercher 'skip' à partir du début du fichier, PAS à partir de la fin des " +"métadonnées ; Veuillez renseigner ce problème sur GitHub si vous souhaitez " +"qu'un comportement plus intuitif soit pris en charge." + +#: fread.R:177 +#, c-format +msgid "" +"Encountered <%s%s> at the first unskipped line (%d), which does not constitute " +"the start to a valid YAML header (expecting something matching regex \"%s\"); " +"please check your input and try again." +msgstr "" +"<%s%s> trouvé à la première ligne non sautée (%d), ce qui ne constitue pas le " +"début d'un entête YAML valide (on s'attendait à quelque chose correspondant à " +"l'expression régulière \"%s\") ; veuillez vérifier votre entrée et réessayer." + +#: fread.R:189 +#, c-format +msgid "" +"Reached the end of the file before finding a completion to the YAML header. A " +"valid YAML header is bookended by lines matching the regex \"%s\". Please " +"double check the input file is a valid csvy." +msgstr "" +"La fin du fichier est atteinte avant de trouver la fin de l'entête YAML. Un " +"entête YAML valide est complété par des lignes correspondant à l'expression " +"régulière \"%s\". Veuillez bien vérifier que le fichier d'entrée est un csvy " +"valide." + +#: fread.R:203 +#, c-format +msgid "User-supplied 'header' will override that found in metadata." +msgstr "" +"Le 'header' fourni par l'utilisateur redéfinira celui trouvé dans les " +"métadonnées." + +#: fread.R:221 +#, c-format +msgid "" +"User-supplied column names in 'col.names' will override those found in YAML " +"metadata." +msgstr "" +"Les noms de colonnes fournis par l'utilisateur dans 'col.names' remplaceront " +"ceux trouvés dans les métadonnées YAML." + +#: fread.R:230 +#, c-format +msgid "" +"colClasses dictated by user input and those read from YAML header are in " +"conflict (specifically, for column(s) [%s]); the proceeding assumes the user " +"input was an intentional override and will ignore the type(s) implied by the " +"YAML header; please exclude the column(s) from colClasses if this was " +"unintentional." +msgstr "" +"les colClasses imposées par les entrées de l'utilisateur et celles lues dans " +"l'entête YAML sont en conflit (en particulier, pour la/les colonne(s) [%s]) ; " +"La procédure suppose que la proposition de l'utilisateur est une modification " +"intentionnelle et ignore le(s) type(s) défini(s) par l'entête YAML ; veuillez " +"exclure la/les colonne(s) des colClasses si cela n'est pas intentionnel." + +#: fread.R:251 +#, c-format +msgid "User-supplied 'sep' will override that found in metadata." +msgstr "" +"Le 'sep' fourni par l'utilisateur redéfinira celui trouvé dans les métadonnées." + +#: fread.R:256 +#, c-format +msgid "User-supplied 'quote' will override that found in metadata." +msgstr "" +"Le 'quote' fourni par l'utilisateur redéfinira celui trouvé dans les " +"métadonnées." + +#: fread.R:261 +#, c-format +msgid "User-supplied 'dec' will override that found in metadata." +msgstr "" +"Le 'dec' fourni par l'utilisateur redéfinira celui trouvé dans les métadonnées." + +#: fread.R:265 +#, c-format +msgid "User-supplied 'na.strings' will override that found in metadata." +msgstr "" +"Le 'na.strings' fourni par l'utilisateur redéfinira celui trouvé dans les " +"métadonnées." + +#: fread.R:314 +#, c-format +msgid "" +"Column '%s' was requested to be '%s' but fread encountered the following %s:\n" +"\t%s\n" +"so the column has been left as type '%s'" +msgstr "" +"La colonne '%s' devait être '%s' mais fread a rencontré le problème suivant " +"%s :\n" +"\t%s\n" +"la colonne a donc été laissée au type '%s'" + +#: fread.R:337 +#, c-format +msgid "" +"key argument of data.table() must be a character vector naming columns (NB: " +"col.names are applied before this)" +msgstr "" +"l'argument clé de data.table() doit être un vecteur de caractères nommant les " +"colonnes (NB : col.names est appliqué avant cela)" + +#: fread.R:345 +#, c-format +msgid "" +"index argument of data.table() must be a character vector naming columns (NB: " +"col.names are applied before this)" +msgstr "" +"l'argument index de data.table() doit être un vecteur de chaînes de caractères " +"qui nomme les colonnes (NB: col.names est appliqué avant)" + +#: fwrite.R:19 +#, c-format +msgid "Argument 'encoding' must be '', 'UTF-8' or 'native'." +msgstr "L'argument 'encoding' doit être '', 'UTF-8' ou 'native'." + +#: fwrite.R:24 +#, c-format +msgid "dateTimeAs must be a single string" +msgstr "dateTimeAs doit être une seule chaîne de caractères" + +#: fwrite.R:26 +#, c-format +msgid "dateTimeAs must be 'ISO','squash','epoch' or 'write.csv'" +msgstr "dateTimeAs doit être 'ISO', 'squash', 'epoch' ou 'write.csv'" + +#: fwrite.R:28 +#, c-format +msgid "logicalAsInt has been renamed logical01. Use logical01 only, not both." +msgstr "" +"logicalAsInt a été renommé logical01. Utiliser logical01 uniquement, pas les " +"deux." + +#: fwrite.R:30 +#, c-format +msgid "" +"logicalAsInt has been renamed logical01 for consistency with fread. It works " +"fine for now but please change to logical01 at your convenience so we can " +"remove logicalAsInt in future." +msgstr "" +"logicalAsInt a été renommé logical01 pour des raisons de cohérence avec fread. " +"Cela fonctionne bien pour l'instant, mais nous vous invitons à passer à " +"logical01 à votre convenance afin que nous puissions supprimer logicalAsInt à " +"l'avenir." + +#: fwrite.R:40 +#, c-format +msgid "x being coerced from class: matrix to data.table" +msgstr "conversion automatique de classe pour x : matrix vers data.table" + +#: fwrite.R:85 +#, c-format +msgid "" +"If you intended to overwrite the file at %s with an empty one, please use file." +"remove first." +msgstr "" +"Si vous souhaitiez écraser le fichier %s par un fichier vide, utilisez d'abord " +"file.remove." + +#: fwrite.R:86 +#, c-format +msgid "Input has no columns; doing nothing.%s" +msgstr "L'entrée n'a pas de colonne ; aucune action réalisée. %s" + +#: fwrite.R:89 +#, c-format +msgid "Input has no columns; creating an empty file at '%s' and exiting." +msgstr "" +"L'entrée n'a pas de colonne ; Création d'un fichier vide à '%s' et sortie." + +#: fwrite.R:96 +#, c-format +msgid "" +"'data.table' relies on the package 'yaml' to write the file header; please add " +"this to your library with install.packages('yaml') and try again." +msgstr "" +"'data.table' dépend du package 'yaml' pour écrire l'entête du fichier ; " +"Veuillez l’ajouter à votre bibliothèque avec install.packages('yaml') et " +"recommencer." + +#: groupingsets.R:7 groupingsets.R:25 groupingsets.R:47 +#, c-format +msgid "Argument 'x' must be a data.table object" +msgstr "L'argument 'x' doit être un objet data.table" + +#: groupingsets.R:9 groupingsets.R:27 groupingsets.R:53 +#, c-format +msgid "" +"Argument 'by' must be a character vector of column names used in grouping." +msgstr "" +"L'argument 'by' doit être un vecteur de chaînes de caractères composé de noms " +"de colonnes utilisées pour le groupement." + +#: groupingsets.R:11 groupingsets.R:29 groupingsets.R:59 +#, c-format +msgid "Argument 'id' must be a logical scalar." +msgstr "L'argument 'id' doit être un scalaire booléen." + +#: groupingsets.R:31 +#, c-format +msgid "Argument 'j' is required" +msgstr "L'argument 'j' est obligatoire" + +#: groupingsets.R:49 +#, c-format +msgid "Argument 'x' is a 0-column data.table; no measure to apply grouping over." +msgstr "" +"L'argument 'x' est une data.table à 0 colonne ; Aucune possibilité de " +"groupement." + +#: groupingsets.R:51 +#, c-format +msgid "Input data.table must not contain duplicate column names." +msgstr "L'entrée data.table ne doit pas contenir de noms de colonnes dupliqués." + +#: groupingsets.R:55 +#, c-format +msgid "Argument 'by' must have unique column names for grouping." +msgstr "" +"L'argument 'by' doit avoir des noms de colonnes uniques pour le groupement." + +#: groupingsets.R:57 +#, c-format +msgid "Argument 'sets' must be a list of character vectors." +msgstr "" +"L'argument 'sets' doit être une liste de vecteurs de chaînes de caractères." + +#: groupingsets.R:62 +#, c-format +msgid "" +"All columns used in 'sets' argument must be in 'by' too. Columns used in " +"'sets' but not present in 'by': %s" +msgstr "" +"Toutes les colonnes utilisées dans l'argument 'sets' doivent également figurer " +"dans 'by'. Colonnes utilisées dans 'sets' mais non présentes dans 'by' : %s" + +#: groupingsets.R:64 +#, c-format +msgid "" +"When using `id=TRUE` the 'x' data.table must not have a column named " +"'grouping'." +msgstr "" +"Lorsqu'on utilise `id=TRUE`, le data.table 'x' ne doit pas avoir de colonne " +"nommée 'grouping'." + +#: groupingsets.R:66 +#, c-format +msgid "" +"Character vectors in 'sets' list must not have duplicated column names within " +"a single grouping set." +msgstr "" +"Les vecteurs de chaînes de caractères de la liste 'sets' ne doivent pas avoir " +"de noms de colonnes dupliqués au sein d'un même ensemble de regroupement." + +#: groupingsets.R:68 +#, c-format +msgid "" +"'sets' contains a duplicate (i.e., equivalent up to sorting) element at index " +"%d; as such, there will be duplicate rows in the output -- note that grouping " +"by A,B and B,A will produce the same aggregations. Use " +"`sets=unique(lapply(sets, sort))` to eliminate duplicates." +msgstr "" +"'sets' contient un élément dupliqué (c'est-à-dire équivalent lors du tri) à " +"l'index %d ; Il y aura donc des lignes dupliquées dans la sortie -- notez que " +"le regroupement par A,B et B,A produira les mêmes agrégations. Utiliser " +"`sets=unique(lapply(sets, sort))` pour éliminer les doublons." + +#: groupingsets.R:73 +#, c-format +msgid "" +"Expression passed to grouping sets function must not update by reference. Use " +"':=' on results of your grouping function." +msgstr "" +"L'expression transmise à la fonction de regroupement des ensembles ne doit pas " +"être mise à jour par référence. Utilisez ':=' sur les résultats de votre " +"fonction de regroupement." + +#: groupingsets.R:80 +#, c-format +msgid "" +"When using `id=TRUE` the 'j' expression must not evaluate to a column named " +"'grouping'." +msgstr "" +"Lors de l'utilisation de `id=TRUE`, l'expression 'j' ne doit pas être évaluée " +"à une colonne nommée 'grouping'." + +#: groupingsets.R:82 +#, c-format +msgid "" +"There exists duplicated column names in the results, ensure the column passed/" +"evaluated in `j` and those in `by` are not overlapping." +msgstr "" +"Le résultat comporte des doublons parmi les noms de colonnes, vérifier que les " +"colonnes passées ou évaluées dans 'j' et celles du 'by' ne se recouvrent pas." + +#: groupingsets.R:92 +#, c-format +msgid "Using integer64 class columns require to have 'bit64' package installed." +msgstr "" +"L'utilisation de colonnes de classe integer64 nécessite d'avoir installé le " +"package 'bit64'." + +#: last.R:38 last.R:79 +#, c-format +msgid "" +"'xts' class passed to %s function but 'xts' is not available, you should have " +"'xts' installed already" +msgstr "" +"la classe 'xts' est passée à la fonction %s mais le package 'xts' n'est pas " +"présent; 'xts' doit être installé auparavant" + +#: merge.R:4 +#, c-format +msgid "Argument 'sort' should be logical TRUE/FALSE" +msgstr "L'argument 'sort' doit être un booléen TRUE ou FALSE" + +#: merge.R:6 +#, c-format +msgid "Argument 'no.dups' should be logical TRUE/FALSE" +msgstr "L'argument 'no.dups' doit être un booléen TRUE ou FALSE" + +#: merge.R:18 +#, c-format +msgid "Neither of the input data.tables to join have columns." +msgstr "Lors de la jointure, aucune des data.tables d'entrée n'a de colonne." + +#: merge.R:20 merge.R:22 +#, c-format +msgid "Input data.table '%s' has no columns." +msgstr "La data.table d'entrée '%s' n'a pas de colonne." + +#: merge.R:31 +#, c-format +msgid "`by.x` and `by.y` must be of same length." +msgstr "'by.x' et 'by.y' doivent avoir la même longueur." + +#: merge.R:33 +#, c-format +msgid "Supplied both `by` and `by.x/by.y`. `by` argument will be ignored." +msgstr "" +"Quand 'by' et 'by.x/by.y' sont présents simultanément, l'argument 'by' est " +"ignoré." + +#: merge.R:36 +#, c-format +msgid "A non-empty vector of column names is required for `by.x` and `by.y`." +msgstr "" +"'by.x' et 'by.y' doivent être des vecteurs non vides comportant des noms de " +"colonnes." + +#: merge.R:38 +#, c-format +msgid "Elements listed in `by.x` must be valid column names in x." +msgstr "" +"Les éléments listés dans 'by.x' doivent être des noms de colonnes valides de x." + +#: merge.R:40 +#, c-format +msgid "Elements listed in `by.y` must be valid column names in y." +msgstr "" +"Les éléments listés dans 'by.y' doivent être des noms de colonnes valides de y." + +#: merge.R:51 +#, c-format +msgid "A non-empty vector of column names for `by` is required." +msgstr "'by' doit être un vecteur non vide de noms de colonnes." + +#: merge.R:53 +#, c-format +msgid "Elements listed in `by` must be valid column names in x and y" +msgstr "" +"Les éléments listés dans 'by' doivent être des noms de colonnes valides de x " +"et de y" + +#: merge.R:61 +#, c-format +msgid "Unknown argument '%s' has been passed." +msgstr "L'argument '%s' fourni n'est pas connu." + +#: merge.R:64 +#, c-format +msgid "Passed %d unknown and unnamed arguments." +msgstr "Les %d arguments fournis sont inconnus et non nommés." + +#: merge.R:114 +#, c-format +msgid "column names %s are duplicated in the result" +msgstr "noms de colonnes en doublon %s dans le résultat" + +#: onAttach.R:23 +#, c-format +msgid "" +"data.table %s IN DEVELOPMENT built %s%s using %d threads (see ?getDTthreads)." +msgstr "" +"data.table %s EN DEVELOPPEMENT build %s%s utilisant %d threads (voir ?" +"getDTthreads)." + +#: onAttach.R:25 +#, c-format +msgid "data.table %s using %d threads (see ?getDTthreads)." +msgstr "data.table %s utilise %d threads (voir ?getDTthreads)." + +#: onAttach.R:26 +#, c-format +msgid "Latest news: r-datatable.com" +msgstr "Dernières actualités : r-datatable.com" + +#: onAttach.R:27 +msgid "TRANSLATION CHECK" +msgstr "CONTROLE DE TRADUCTION" + +#: onAttach.R:28 +#, c-format +msgid "" +"**********\n" +"Running data.table in English; package support is available in English only. " +"When searching for online help, be sure to also check for the English error " +"message. This can be obtained by looking at the po/R-.po and po/" +".po files in the package source, where the native language and English " +"error messages can be found side-by-side\n" +"**********" +msgstr "" +"**********\n" +"Exécution de data.table en anglais ; L'aide du package n'est disponible qu'en " +"anglais. Lorsque vous recherchez de l'aide en ligne, veillez à vérifier " +"également le message d'erreur en anglais. Pour ce faire, consultez les " +"fichiers po/R-.po et po/.po dans le source du package, où les " +"messages d'erreur en langue native et en anglais sont mis côte à côte\n" +"**********" + +#: onAttach.R:30 +#, c-format +msgid "" +"**********\n" +"This development version of data.table was built more than 4 weeks ago. Please " +"update: data.table::update_dev_pkg()\n" +"**********" +msgstr "" +"**********\n" +"Cette version de développement de data.table a été construite il y a plus de 4 " +"semaines. Veuillez mettre à jour : data.table::update_dev_pkg()\n" +"**********" + +#: onAttach.R:32 +#, c-format +msgid "" +"**********\n" +"This installation of data.table has not detected OpenMP support. It should " +"still work but in single-threaded mode." +msgstr "" +"**********\n" +"Cette installation de data.table n'a pas détecté le support OpenMP. Elle " +"devrait fonctionner, mais en mode monotâche." + +#: onAttach.R:34 +#, c-format +msgid "" +"This is a Mac. Please read https://mac.r-project.org/openmp/. Please engage " +"with Apple and ask them for support. Check r-datatable.com for updates, and " +"our Mac instructions here: https://github.com/Rdatatable/data.table/wiki/" +"Installation. After several years of many reports of installation problems on " +"Mac, it's time to gingerly point out that there have been no similar problems " +"on Windows or Linux.\n" +"**********" +msgstr "" +"Il s'agit d'un Mac. Veuillez lire https://mac.r-project.org/openmp/. Contactez " +"Apple et demandez-lui de mieux supporter OpenMP. Consultez r-datable.com pour " +"les mises à jour, et nos instructions pour Mac ici : https://github.com/" +"Rdatatable/data.table/wiki/Installation. Après plusieurs années de rapports " +"faisant état de problèmes d'installation sur Mac, il est temps de souligner " +"avec insistance qu'il n'y a pas eu de problèmes similaires sous Windows ou " +"Linux.\n" +"**********" + +#: onAttach.R:36 +#, c-format +msgid "" +"This is %s. This warning should not normally occur on Windows or Linux where " +"OpenMP is turned on by data.table's configure script by passing -fopenmp to " +"the compiler. If you see this warning on Windows or Linux, please file a " +"GitHub issue.\n" +"**********" +msgstr "" +"Il s'agit de %s. Cet avertissement ne doit pas se produire normalement sous " +"Windows ou Linux où OpenMP est activé par le script de configuration de data." +"table en passant -fopenmp au compilateur. Si vous voyez cet avertissement sous " +"Windows ou Linux, veuillez reporter le problème dans le gestionnaire de " +"tickets (issue tracker) sur GitHub.\n" +"**********" + +#: onAttach.R:40 +#, c-format +msgid "" +"**********\n" +"This data.table installation was compiled for R < 3.4.0 (Apr 2017) and is " +"known to leak memory. Please upgrade R and reinstall data.table to fix the " +"leak. Maintaining and testing code branches to support very old versions " +"increases development time so please do upgrade R. We intend to bump data." +"table's dependency from 8 year old R 3.1.0 (Apr 2014) to 5 year old R 3.4.0 " +"(Apr 2017).\n" +"**********" +msgstr "" +"**********\n" +"Cette installation de data.table a été compilée pour R < 3.4.0 (avril 2017) et " +"elle est connue pour avoir des fuites mémoire. Veuillez mettre à jour R et " +"réinstaller data.table pour corriger ces fuites. Maintenir et tester des " +"branches de code pour supporter de très anciennes versions augmentent le temps " +"de développement, veuillez donc mettre à jour R. Nous avons l'intention de " +"faire passer la dépendance de data.table du R 3.1.0 (avril 2014) d'il y a 8 " +"ans au R 3.4.0 (avril 2017) d'il y a 5 ans.\n" +"**********" + +#: onLoad.R:9 +#, c-format +msgid "" +"Option 'datatable.nomatch' is defined but is now ignored. Please see note 11 " +"in v1.12.4 NEWS (Oct 2019), and note 14 in v1.14.2." +msgstr "" +"L'option 'datatable.nomatch' est définie mais est désormais ignorée. Voir la " +"note 11 dans la v1.12.4 NEWS (Oct 2019), et la note 14 dans la v1.14.2." + +#: onLoad.R:27 +#, c-format +msgid "" +"The data_table.%s version (%s) does not match the package (%s). Please close " +"all R sessions to release the old %s and reinstall data.table in a fresh R " +"session. The root cause is that R's package installer can in some unconfirmed " +"circumstances leave a package in a state that is apparently functional but " +"where new R code is calling old C code silently: https://bugs.r-project.org/" +"bugzilla/show_bug.cgi?id=17478. Once a package is in this mismatch state it " +"may produce wrong results silently until you next upgrade the package. Please " +"help by adding precise circumstances to 17478 to move the status to confirmed. " +"This mismatch between R and C code can happen with any package not just data." +"table. It is just that data.table has added this check." +msgstr "" +"La data_table.%s version (%s) ne correspond pas au package (%s). Veuillez " +"fermer toutes les sessions R pour libérer l'ancien %s et réinstaller data." +"table dans une nouvelle session R. La cause principale est que l'installateur " +"de packages de R peut, dans certaines circonstances non confirmées, laisser un " +"package dans un état apparemment fonctionnel, mais où le nouveau code R " +"appelle silencieusement l'ancien code C : https://bugs.r-project.org/bugzilla/" +"show_bug.cgi?id=17478. Une fois qu'un package est dans cet état instable, il " +"peut produire des résultats erronés en silence jusqu'à la prochaine mise à " +"jour du package. Merci de nous aider en ajoutant des circonstances précises au " +"17478 pour faire passer le statut à confirmé. Cette incompatibilité entre le " +"code R et le code C peut se produire avec n'importe quel package, et pas " +"seulement avec data.table. C'est juste que data.table a ajouté cette " +"vérification." + +#: onLoad.R:31 +#, c-format +msgid "" +"This is R %s but data.table has been installed using R %s. The major version " +"must match. Please reinstall data.table." +msgstr "" +"Il s'agit de R %s mais data.table a été installé avec R %s. La version majeure " +"doit correspondre. Veuillez réinstaller data.table." + +#: onLoad.R:98 +#, c-format +msgid "Unexpected base R behaviour: list(x) has copied x" +msgstr "Comportement inattendu de R de base : list(x) a recopié x" + +#: onLoad.R:106 +#, c-format +msgid "Unexpected base R behaviour: names<- has copied column contents" +msgstr "" +"Comportement inattendu de R de base : names<- a recopié le contenu de la " +"colonne" + +#: onLoad.R:116 +#, c-format +msgid "" +"Unexpected base R behaviour: DF[2,2]<- did not copy column 2 which was " +"assigned to" +msgstr "" +"Comportement inattendu de la base R : DF[2,2]<- n'a pas copié la colonne 2 qui " +"était assignée à" + +#: onLoad.R:117 +#, c-format +msgid "" +"Unexpected base R behaviour: DF[2,2]<- copied the first column which was not " +"assigned to, too" +msgstr "" +"Comportement inattendu de la base R : DF[2,2]<- a copié la première colonne " +"qui n'a pas non plus été affectée à" + +#: onLoad.R:119 +#, c-format +msgid "Unexpected base R behaviour: DF[2,2]<- has not copied address(DF)" +msgstr "" +"Comportement inattendu de R de base : DF[2,2]<- n'a pas copié address(DF)" + +#: openmp-utils.R:3 +#, c-format +msgid "Provide either threads= or percent= but not both" +msgstr "Utiliser threads= ou percent= mais pas les deux simultanément" + +#: openmp-utils.R:4 +#, c-format +msgid "percent= is provided but is length %d" +msgstr "percent= est fourni mais sa longueur vaut %d" + +#: openmp-utils.R:6 +#, c-format +msgid "percent==%d but should be a number between 2 and 100" +msgstr "percent==%d mais doit être un nombre entre 2 et 100" + +#: print.data.table.R:19 +#, c-format +msgid "Valid options for col.names are 'auto', 'top', and 'none'" +msgstr "Les options valides pour col.names sont 'auto', 'top', ou 'none'" + +#: print.data.table.R:21 +#, c-format +msgid "Valid options for trunc.cols are TRUE and FALSE" +msgstr "Les options valides pour trunc.cols sont TRUE ou FALSE" + +#: print.data.table.R:23 +#, c-format +msgid "Column classes will be suppressed when col.names is 'none'" +msgstr "Les classes des colonnes seront supprimées si col.names est 'none'" + +#: print.data.table.R:156 +#, c-format +msgid "" +"Internal structure doesn't seem to be a list. Possibly corrupt data.table." +msgstr "" +"La structure interne ne correspond pas à une liste. La data.table est " +"éventuellement corrompue." + +#: programming.R:14 programming.R:40 +#, c-format +msgid "'x' must be a list" +msgstr "'x' doit être une liste" + +#: programming.R:22 +#, c-format +msgid "" +"Character objects provided in the input are not scalar objects, if you need " +"them as character vector rather than a name, then wrap each into 'I' call: %s" +msgstr "" +"Les objets caractères fournis en entrée ne sont pas des objets scalaires, si " +"vous avez besoin d'un vecteur de caractères plutôt que d'un nom, encadrez " +"chacun d'eux dans un appel 'I' : %s" + +#: programming.R:50 +#, c-format +msgid "'env' must not be missing" +msgstr "'env' doit être fourni" + +#: programming.R:56 +#, c-format +msgid "'env' must be a list or an environment" +msgstr "'env' doit être une liste ou un environnement" + +#: programming.R:63 +#, c-format +msgid "'env' argument does not have names" +msgstr "il manque les noms dans l'argument 'env'" + +#: programming.R:65 +#, c-format +msgid "'env' argument has zero char names" +msgstr "L’argument 'env' contient des noms à zéro caractère" + +#: programming.R:67 +#, c-format +msgid "'env' argument has NA names" +msgstr "l'argument 'env' comporte des noms à NA" + +#: programming.R:69 +#, c-format +msgid "'env' argument has duplicated names" +msgstr "l'argument 'env' contient des noms dupliqués" + +#: setkey.R:3 +#, c-format +msgid "" +"x may no longer be the character name of the data.table. The possibility was " +"undocumented and has been removed." +msgstr "" +"x ne peut plus être le nom sous forme de chaîne de caractère de data.table. " +"Cette possibilité n'était pas documentée et a été supprimée." + +#: setkey.R:23 +#, c-format +msgid "" +"key(x)<-value is deprecated and not supported. Please change to use setkey() " +"with perhaps copy(). Has been warning since 2012." +msgstr "" +"key(x)<-valeur est obsolète et n'est pas supporté. Veuillez changer pour " +"utiliser setkey() avec peut-être copy(). Avertissement depuis 2012." + +#: setkey.R:39 +#, c-format +msgid "x is not a data.table" +msgstr "x n'est pas une data.table" + +#: setkey.R:40 +#, c-format +msgid "" +"cols is not a character vector. Please see further information in ?setkey." +msgstr "" +"cols n'est pas un vecteur de chaînes de caractères. Voir les informations " +"supplémentaires dans ?setkey." + +#: setkey.R:41 +#, c-format +msgid "" +"Setting a physical key on .SD is reserved for possible future use; to modify " +"the original data's order by group. Try setindex() instead. Or, set*(copy(." +"SD)) as a (slow) last resort." +msgstr "" +"La définition d'une clé physique sur .SD est réservée à une utilisation future " +"possible, pour modifier l'ordre des données d'origine par groupe. Essayez " +"plutôt setindex(), ou encore, set*(copy(.SD)) en dernier recours (lent)." + +#: setkey.R:43 +#, c-format +msgid "" +"cols is a character vector of zero length. Removed the key, but use NULL " +"instead, or wrap with suppressWarnings() to avoid this warning." +msgstr "" +"cols est un vecteur de chaînes de caractères de longueur zéro. Supprimer la " +"clé à remplacer par NULL, ou encadrer le code dans suppressWarnings() pour " +"éviter cet avertissement." + +#: setkey.R:47 +#, c-format +msgid "cols is the empty string. Use NULL to remove the key." +msgstr "cols est une chaîne vide. Utiliser NULL pour supprimer la clé." + +#: setkey.R:48 setkey.R:262 +#, c-format +msgid "cols contains some blanks." +msgstr "cols contient des blancs." + +#: setkey.R:51 setkey.R:266 +#, c-format +msgid "some columns are not in the data.table: %s" +msgstr "certaines colonnes n'appartiennent pas à la data.table : %s" + +#: setkey.R:59 setkey.R:267 +#, c-format +msgid "" +"x contains a column called '.xi'. Conflicts with internal use by data.table." +msgstr "" +"x contient une colonne appelée '.xi'. Ceci entre en conflit avec l'utilisation " +"interne de data.table." + +#: setkey.R:62 +#, c-format +msgid "" +"Column '%s' is type '%s' which is not supported as a key column type, " +"currently." +msgstr "" +"La colonne '%s' a pour type '%s' qui n'est pas reconnu actuellement comme type " +"de clé de colonne." + +#: setkey.R:137 +#, c-format +msgid "x is vector but 'by' is supplied" +msgstr "x est un vecteur mais 'by' est fourni" + +#: setkey.R:153 +#, c-format +msgid "x is a single vector, non-NULL 'by' doesn't make sense" +msgstr "x est un vecteur colonne, 'by' non NULL n'a pas de sens" + +#: setkey.R:184 +#, c-format +msgid "Attempting to order a 0-column data.table or data.frame." +msgstr "" +"Tentative de tri d'une data.table ou d'un data.frame qui n'a pas de colonne." + +#: setkey.R:189 +#, c-format +msgid "" +"The first item passed to [f]order is a plain list but there are more items. It " +"should be a data.table or data.frame." +msgstr "" +"Le premier élément transmis à [f]order est une simple liste, mais il y a " +"d'autres éléments. Il faut un data.table ou un data.frame." + +#: setkey.R:206 +#, c-format +msgid "Internal code should not be being called on type double" +msgstr "Le code interne ne doit pas être appelé avec un type double" + +#: setkey.R:214 +#, c-format +msgid "" +"Input is not a vector of type double. New parallel sort has only been done for " +"double vectors so far. Using one thread." +msgstr "" +"L'entrée n'est pas un vecteur de type double. Le nouveau tri parallèle n'a été " +"implémenté que pour les vecteurs de doubles jusqu'à présent. Utilisation d'un " +"seul thread." + +#: setkey.R:215 +#, c-format +msgid "" +"New parallel sort has not been implemented for decreasing=TRUE so far. Using " +"one thread." +msgstr "" +"Le nouveau tri parallèle n'a pas été implémenté pour decreasing=TRUE jusqu'à " +"présent. Utilisation d'un seul thread." + +#: setkey.R:216 +#, c-format +msgid "" +"New parallel sort has not been implemented for vectors containing NA values so " +"far. Using one thread." +msgstr "" +"Le nouveau tri parallèle n'a pas été implémenté pour les vecteurs contenant " +"des valeurs NA jusqu'à présent. Utilisation d'un seul thread." + +#: setkey.R:228 setkey.R:254 +#, c-format +msgid "x must be a data.frame or data.table" +msgstr "x doit être un data.frame ou une data.table" + +#: setkey.R:256 +#, c-format +msgid "na.last must be logical TRUE/FALSE" +msgstr "na.last doit être un booléen TRUE ou FALSE" + +#: setkey.R:257 +#, c-format +msgid "" +"cols is not a character vector. Please see further information in ?setorder." +msgstr "" +"cols n'est pas un vecteur de chaînes de caractères. Voir les informations " +"supplémentaires dans ?setorder." + +#: setkey.R:259 +#, c-format +msgid "" +"cols is a character vector of zero length. Use NULL instead, or wrap with " +"suppressWarnings() to avoid this warning." +msgstr "" +"cols est un vecteur de caractères de longueur nulle. Utilisez NULL à la place, " +"ou utilisez suppressWarnings() pour éviter cet avertissement." + +#: setkey.R:270 +#, c-format +msgid "Column '%s' is type '%s' which is not supported for ordering currently." +msgstr "" +"La colonne '%s' a pour type '%s' qui n'est pas reconnu actuellement pour le " +"classement." + +#: setkey.R:314 +#, c-format +msgid "" +"'sorted' is TRUE but element %d is non-atomic, which can't be sorted; try " +"setting sorted = FALSE" +msgstr "" +"'sorted' vaut TRUE mais l'élément %d n'est pas atomique, on ne peut donc pas " +"le trier ; Essayez sorted = FALSE" + +#: setkey.R:329 +#, c-format +msgid "" +"Cross product of elements provided to CJ() would result in %.0f rows which " +"exceeds .Machine$integer.max == %d" +msgstr "" +"Le produit croisé des éléments fournis à CJ() donnerait %.0f lignes, ce qui " +"dépasse .Machine$integer.max == %d" + +#: setops.R:3 setops.R:40 +#, c-format +msgid "x and y must both be data.tables" +msgstr "x et y doivent être tous deux des data.tables" + +#: setops.R:9 +#, c-format +msgid "length(by.x) != length(by.y)" +msgstr "length(by.x) != length(by.y)" + +#: setops.R:17 +#, c-format +msgid "" +"When x's column ('%s') is character, the corresponding column in y ('%s') " +"should be factor or character, but found incompatible type '%s'." +msgstr "" +"Lorsqu’une colonne de x ('%s') est de type caractère, la colonne " +"correspondante de y ('%s') doit être de type facteur ou caractère, mais le " +"type actuel '%s' n'est pas compatible." + +#: setops.R:19 +#, c-format +msgid "" +"When x's column ('%s') is factor, the corresponding column in y ('%s') should " +"be character or factor, but found incompatible type '%s'." +msgstr "" +"Lorsque la colonne de x ('%s') est un facteur, la colonne correspondante dans " +"y ('%s') doit aussi être de type caractère ou facteur, mais un type " +"incompatible '%s' est rencontré." + +#: setops.R:21 +#, c-format +msgid "" +"When x's column ('%s') is integer or numeric, the corresponding column in y " +"('%s') can not be character or logical types, but found incompatible type '%s'." +msgstr "" +"Lorsque la colonne de x ('%s') est entière ou numérique, la colonne " +"correspondante dans y ('%s') ne peut pas être de type caractère ou booléen, " +"mais le type incompatible '%s' est rencontré." + +#: setops.R:39 +#, c-format +msgid "argument 'all' should be logical of length one" +msgstr "l'argument 'all' doit être un booléen de longueur unitaire" + +#: setops.R:41 +#, c-format +msgid "x and y must have the same column names" +msgstr "x et y doivent avoir les mêmes noms de colonnes" + +#: setops.R:42 +#, c-format +msgid "x and y must have the same column order" +msgstr "x et y doivent avoir les colonnes dans le même ordre" + +#: setops.R:45 +#, c-format +msgid "unsupported column type(s) found in x or y: %s" +msgstr "type(s) de colonne non supporté(s) trouvé(s) dans x ou y : %s" + +#: setops.R:53 +#, c-format +msgid "Item %d of x is '%s' but the corresponding item of y is '%s'." +msgstr "L'élément %d de x est '%s' mais l'élément correspondant de y est '%s'." + +#: setops.R:55 +#, c-format +msgid "None of the datasets should contain a column named '.seqn'" +msgstr "Aucun jeu de données ne doit contenir de colonne nommée '.seqn'" + +#: setops.R:159 setops.R:170 +#, c-format +msgid "Datasets have different %s. 'target': %s. 'current': %s." +msgstr "Les jeux de données ont différents %s. 'target': %s. 'current': %s." + +#: setops.R:161 setops.R:162 +#, c-format +msgid "has no key" +msgstr "n’a pas de clé" + +#: setops.R:172 setops.R:173 +#, c-format +msgid "has no index" +msgstr "n’a pas d’index" + +#: setops.R:190 +#, c-format +msgid "None of the datasets to compare should contain a column named '.seqn'" +msgstr "" +"Aucun des jeux de données à comparer ne doit contenir de colonne nommée '.seqn'" + +#: setops.R:193 +#, c-format +msgid "" +"Datasets to compare with 'ignore.row.order' must not have unsupported column " +"types: %s" +msgstr "" +"Les jeux de données à comparer avec 'ignore.row.order' ne doivent pas avoir de " +"types de colonnes non supportés : %s" + +#: setops.R:195 +#, c-format +msgid "" +"Argument 'tolerance' was forced to lowest accepted value `sqrt(.Machine$double." +"eps)` from provided %s" +msgstr "" +"L'argument 'tolerance' a été forcé à la plus petite valeur acceptable `sqrt(." +"Machine$double.eps)` de %s fourni" + +#: setops.R:208 +#, c-format +msgid "" +"Duplicate rows in datasets, numeric columns and ignore.row.order cannot be " +"used with non 0 tolerance argument" +msgstr "" +"Les doublons dans les lignes des jeux de données, les colonnes numériques et " +"ignore.row.order ne peuvent pas être utilisés avec un argument de tolérance " +"différent de 0" + +#: setops.R:222 +#, c-format +msgid "" +"Factor columns and ignore.row.order cannot be used with non 0 tolerance " +"argument" +msgstr "" +"Les colonnes de type facteur et ignore.row.order ne peuvent pas être utilisés " +"avec un argument de tolérance différent de 0" + +#: shift.R:3 +#, c-format +msgid "Provided argument fill=%s will be ignored since type='cyclic'." +msgstr "L'argument fourni fill=%s sera ignoré puisque le type='cyclique'." + +#: tables.R:46 +#, c-format +msgid "order.col='%s' not a column name of info" +msgstr "order.col='%s' n'est pas un nom de colonne de info" + +#: test.data.table.R:17 +#, c-format +msgid "data.table package is loaded. Unload or start a fresh R session." +msgstr "" +"le package data.table est chargé. Déchargez-le ou redémarrez une nouvelle " +"session R." + +#: test.data.table.R:33 +#, c-format +msgid "" +"script must end with '.Rraw'. If a file ending '.Rraw.bz2' exists, that will " +"be found and used." +msgstr "" +"le script doit se terminer par '.Rraw'. Si un fichier se terminant par '.Rraw." +"bz2' existe, il sera trouvé et utilisé." + +#: test.data.table.R:63 +#, c-format +msgid "Neither %s nor %s exist in %s" +msgstr "Ni %s, ni %s n’est trouvé dans %s" + +#: test.data.table.R:118 +msgid "object '%s' not found" +msgstr "objet '%s' introuvable" + +#: test.data.table.R:142 +#, c-format +msgid "" +"memtest intended for Linux. Step through data.table:::rss() to see what went " +"wrong." +msgstr "" +"memtest est prévu pour Linux. Investiguer à l'aide de data.table:::rss() pour " +"localiser le problème." + +#: test.data.table.R:196 +#, c-format +msgid "Attempt to subset to %d tests matching '%s' failed, running full suite." +msgstr "" +"La tentative de création d’un sous-ensemble de %d tests correspondant à '%s' a " +"échoué, la suite complète est en cours d'exécution." + +#: test.data.table.R:245 +#, c-format +msgid "Failed in %s after test %s before the next test() call in %s" +msgstr "Echec dans %s après le test %s avant l'appel suivant de test() dans %s" + +#: test.data.table.R:255 +#, c-format +msgid "%d error(s) out of %d. Search %s for test number(s) %s. Duration: %s." +msgstr "" +"%d erreur(s) sur %d. Recherche de %s pour le(s) test(s) numéro %s. Durée : %s." + +#: test.data.table.R:268 +#, c-format +msgid "Timings count mismatch: %d vs %d" +msgstr "Différence dans les délais enregistrés : %d versus %d" + +#: test.data.table.R:399 +#, c-format +msgid "" +"Test %s is invalid: when error= is provided it does not make sense to pass y " +"as well" +msgstr "" +"Le test %s n 'est pas valide : Si error= est fourni alors il n'a pas de sens " +"dans ce cas" + +#: timetaken.R:3 +#, c-format +msgid "Use started.at=proc.time() not Sys.time() (POSIXt and slow)" +msgstr "" +"Utiliser started.at=proc.time() et non pas Sys.time() (POSIXt et plus lent)" + +#: transpose.R:7 +#, c-format +msgid "make.names='%s' not found in names of input" +msgstr "make.names='%s' non trouvé parmi les noms d'entrée" + +#: transpose.R:12 +#, c-format +msgid "make.names=%d is out of range [1,ncol=%d]" +msgstr "make.names=%d hors limites [1,ncol=%d]" + +#: transpose.R:28 +#, c-format +msgid "'names' must be TRUE/FALSE or a character vector." +msgstr "'names' doit être TRUE ou FALSE ou un vecteur de chaînes de caractères." + +#: transpose.R:34 +#, c-format +msgid "'keep' should contain integer values between %d and %d." +msgstr "'keep' doit contenir des valeurs entières entre %d et %d." + +#: transpose.R:51 +#, c-format +msgid "The argument 'type.convert' does not support empty list." +msgstr "L'argument 'type.convert' n'accepte pas de liste vide." + +#: transpose.R:57 +#, c-format +msgid "" +"When the argument 'type.convert' contains an unnamed element, it is expected " +"to be the last element and should be a function. More than one unnamed element " +"is not allowed unless all elements are functions with length equal to %d (the " +"length of the transpose list or 'keep' argument if it is specified)." +msgstr "" +"Lorsque l'argument 'type.convert' contient un élément non nommé, il est censé " +"être le dernier élément et doit être une fonction. Plus d'un élément non nommé " +"n'est pas autorisé, sauf si tous les éléments sont des fonctions de longueur " +"égale à %d (la longueur de la liste de transpositions ou de l'argument 'keep' " +"s'il est spécifié)." + +#: transpose.R:66 +#, c-format +msgid "" +"When the argument 'type.convert' contains transpose list indices, it should be " +"a named list of non-missing integer values (with no duplicate) except the last " +"element that should be unnamed if it is a function." +msgstr "" +"Lorsque l'argument 'type.convert' contient des indices de liste de " +"transposition, il doit être une liste nommée de valeurs entières sans valeur " +"manquante (et sans doublons), à l'exception du dernier élément qui ne doit pas " +"être nommé s'il s'agit d'une fonction." + +#: transpose.R:68 +#, c-format +msgid "" +"When the argument 'type.convert' contains transpose list indices, they should " +"be integer values contained in the argument 'keep' (if it is specified) or be " +"between %d and %d (if it is not). But '%s' is/are not contained in '%s'." +msgstr "" +"Lorsque l'argument 'type.convert' contient des indices de liste de " +"transposition, ceux-ci doivent être des valeurs entières contenues dans " +"l'argument 'keep' (s'il est spécifié) ou comprises entre %d et %d (s'il ne " +"l'est pas). Mais '%s' n’est/ne sont pas contenu(e)s dans '%s'." + +#: transpose.R:74 +#, c-format +msgid "" +"In the argument 'type.convert', '%s' was ignored because all elements in the " +"transpose list or elements corresponding to indices specified in the 'keep' " +"argument have already been converted." +msgstr "" +"Dans l'argument 'type.convert', '%s' a été ignoré parce que tous les éléments " +"de la liste de transposition ou les éléments correspondant aux indices " +"spécifiés dans l'argument 'keep' ont déjà été convertis." + +#: transpose.R:83 +#, c-format +msgid "" +"The argument 'type.convert' should be TRUE/FALSE, a function, a list of " +"functions, or a named list of pairs 'fun=indices' with optionally one unnamed " +"element (a function) but an object of type '%s' was provided." +msgstr "" +"L'argument 'type.convert' doit être TRUE/FALSE, une fonction, une liste de " +"fonctions ou une liste nommée de paires 'fun=indices' avec éventuellement un " +"élément non nommé (une fonction), mais un objet de type '%s' a été fourni." + +#: transpose.R:88 +#, c-format +msgid "length(names) (= %d) is not equal to length(%s) (= %d)." +msgstr "length(names) (= %d) est différent de length(%s) (= %d)." + +#: uniqlist.R:11 +#, c-format +msgid "l not type list" +msgstr "l n'est pas de type 'list'" + +#: utils.R:18 +#, c-format +msgid "Argument 'nan' must be length 1" +msgstr "L'argument 'nan' doit être de longueur 1" + +#: utils.R:21 +#, c-format +msgid "Argument 'nan' must be NA or NaN" +msgstr "L'argument 'nan' doit être NA ou NaN" + +#: utils.R:25 +msgid "Internal error in" +msgstr "Erreur interne dans" + +#: utils.R:28 +msgid "Please report to the data.table issues tracker." +msgstr "" +"Veuillez signaler l'erreur au gestionnaire de tickets (issue tracker) de data." +"table." + +#: utils.R:57 utils.R:66 +#, c-format +msgid "x not boolean" +msgstr "x n'est pas un booléen" + +#: utils.R:77 +#, c-format +msgid "" +"Some columns are type 'integer64' but package bit64 is not installed. Those " +"columns will print as strange looking floating point data. There is no need to " +"reload the data. Simply install.packages('bit64') to obtain the integer64 " +"print method and print the data again." +msgstr "" +"Certaines colonnes sont de type 'integer64' mais le package bit64 n'est pas " +"installé. Ces colonnes s'afficheront sous la forme de données en virgule " +"flottante à l'aspect étrange. Il n'est pas nécessaire de recharger les " +"données. Il suffit d'installer.packages('bit64') pour obtenir la méthode " +"d'impression integer64 et imprimer à nouveau les données." + +#: xts.R:3 +#, c-format +msgid "keep.rownames must be length 1" +msgstr "keep.rownames doit être de longueur 1" + +#: xts.R:4 +#, c-format +msgid "keep.rownames must not be NA" +msgstr "keep.rownames ne peut pas être NA" + +#: xts.R:10 +#, c-format +msgid "" +"Input xts object should not have '%s' column because it would result in " +"duplicate column names. Rename '%s' column in xts or use `keep.rownames` to " +"change the index column name." +msgstr "" +"L'objet xts d'entrée ne doit pas avoir de colonne '%s' car cela entraînerait " +"une duplication des noms de colonnes. Renommez la colonne '%s' dans l'objet " +"xts ou utilisez `keep.rownames` pour changer le nom de la colonne d'index." + +#: xts.R:20 +#, c-format +msgid "" +"data.table must have a time based column in first position, use `setcolorder` " +"function to change the order, or see ?timeBased for supported types" +msgstr "" +"data.table doit avoir une colonne basée sur le temps en première position, " +"utiliser la fonction `setcolorder` pour changer l'ordre, ou voir ?timeBased " +"pour les types pris en charge" + +#: xts.R:24 +#, c-format +msgid "Following columns are not numeric and will be omitted: %s" +msgstr "Les colonnes suivantes ne sont pas numériques et seront omises : %s" + +#: print.data.table.R:53 +msgid "Index: %s\n" +msgid_plural "Indices: %s\n" +msgstr[0] "Indice : %s\n" +msgstr[1] "Indices : %s\n" + +#, c-format +#~ msgid "" +#~ "Internal error -- difftime objects may not be added to IDate, but Ops " +#~ "dispatch should have intervened to prevent this" +#~ msgstr "" +#~ "Erreur interne -- les objets difftime ne peuvent pas être ajoutés à IDate, " +#~ "mais le dispatching de méthode Ops aurait dû empêcher cela" + +#, c-format +#~ msgid "Internal error: storage mode of IDate is somehow no longer integer" +#~ msgstr "" +#~ "Erreur interne : le mode d'enregistrement de IDate n'est plus sous forme " +#~ "d'entiers" + +#, c-format +#~ msgid "" +#~ "Internal error -- difftime objects may not be subtracted from IDate, but " +#~ "Ops dispatch should have intervened to prevent this" +#~ msgstr "" +#~ "Erreur interne -- les objets difftime ne peuvent pas être soustraits de " +#~ "IDate, mais le dispatching de méthodes Ops aurait dû empêcher cela" + +#, c-format +#~ msgid "" +#~ "Internal error: DT[, ..var] should be dealt with by the branch above now." +#~ msgstr "" +#~ "Erreur interne : DT[, ..var] doit être négocié avec la branche supérieure " +#~ "maintenant." + +#, c-format +#~ msgid "Internal error. Cannot by=.EACHI when joining to an index, yet" +#~ msgstr "" +#~ "Erreur interne. Il n'est pas encore possible d'utiliser by=.EACHI pour une " +#~ "jointure vers un index" + +#, c-format +#~ msgid "Internal error. irows has length in by=.EACHI" +#~ msgstr "Erreur interne. irows a la longueur dans by=.EACHI" + +#, c-format +#~ msgid "" +#~ "internal error: notjoin and which=NA (non-matches), huh? please provide " +#~ "reproducible example to issue tracker" +#~ msgstr "" +#~ "erreur interne : notjoin et which=NA (ne vont pas ensemble), n’est-ce-pas ? " +#~ "Veuillez fournir un exemple reproductible pour le gestionnaire de tickets " +#~ "(issue tracker)" + +#, c-format +#~ msgid "Internal error: notjoin but byjoin or !integer or nomatch==NA" +#~ msgstr "Erreur interne : notjoin mais byjoin ou !integer ou nomatch==NA" + +#, c-format +#~ msgid "Internal error: irows isn't integer" +#~ msgstr "Erreur interne : irows n'est pas un entier" + +#, c-format +#~ msgid "Internal error: drop_dot passed %d items" +#~ msgstr "Erreur interne : drop_dot a passé %d éléments" + +#, c-format +#~ msgid "Internal error -- item '%s' not found in names of list" +#~ msgstr "Erreur interne -- élément '%s' non trouvé parmi les noms de la liste" + +#, c-format +#~ msgid "Internal error -- column(s) not found: %s" +#~ msgstr "Erreur interne -- colonne(s) introuvable(s) : %s" + +#, c-format +#~ msgid "" +#~ "strptime() usage detected and wrapped with as.POSIXct(). This is to " +#~ "minimize the chance of assigning POSIXlt columns, which use 40+ bytes to " +#~ "store one date (versus 8 for POSIXct). Use as.POSIXct() (which will call " +#~ "strptime() as needed internally) to avoid this warning." +#~ msgstr "" +#~ "l'utilisation de strptime() est détectée et enveloppée par as.POSIXct(). " +#~ "Ceci afin de minimiser le risque d'assigner des colonnes POSIXlt, qui " +#~ "utilisent plus de 40 octets pour stocker une date (contre 8 pour POSIXct). " +#~ "Utilisez as.POSIXct() (qui appellera strptime() si nécessaire en interne) " +#~ "pour éviter cet avertissement." + +#, c-format +#~ msgid "Internal error: xcolAns does not pass checks: %d/%d/%d/%s" +#~ msgstr "Erreur interne : xcolAns ne passe pas les contrôles : %d/%d/%d/%s" + +#, c-format +#~ msgid "" +#~ "Internal error: irows is NULL when making join result at R level. Should no " +#~ "longer happen now we use CsubsetDT earlier." +#~ msgstr "" +#~ "Erreur interne : irows est NULL lors de la création d'un résultat de " +#~ "jointure au niveau R. Cela ne devrait plus se produire maintenant que nous " +#~ "utilisons CsubsetDT plus tôt." + +#, c-format +#~ msgid "" +#~ "Internal error: j has created a data.table result containing a NULL column" +#~ msgstr "" +#~ "Erreur interne : j a produit un résultat data.table contenant une colonne " +#~ "NULL" + +#, c-format +#~ msgid "Internal error: byindex not the index name" +#~ msgstr "Erreur interne : byindex n’est pas le nom de l'index" + +#, c-format +#~ msgid "Internal error: byindex not found" +#~ msgstr "Erreur interne : byindex est absent" + +#, c-format +#~ msgid "Internal error: length(irows)!=length(o__)" +#~ msgstr "Erreur interne : length(irows)!=length(o__)" + +#, c-format +#~ msgid "Internal error: jvnames is length %d but ans is %d and bynames is %d" +#~ msgstr "" +#~ "Erreur interne : jvnames a pour longueur %d mais ans vaut %d et bynames " +#~ "vaut %d" + +#, c-format +#~ msgid "" +#~ "Internal error: as.matrix.data.table length(X)==%d but a dimension is zero" +#~ msgstr "" +#~ "Erreur interne : as.matrix.data.table length(X)==%d mais une dimension est " +#~ "à zéro" + +#, c-format +#~ msgid "Internal error: length(i)!=length(new)" +#~ msgstr "Erreur interne : length(i)!=length(new)" + +#, c-format +#~ msgid "" +#~ "Some columns are a multi-column type (such as a matrix column): %s. setDT " +#~ "will retain these columns as-is but subsequent operations like grouping and " +#~ "joining may fail. Please consider as.data.table() instead which will create " +#~ "a new column for each embedded column." +#~ msgstr "" +#~ "Certaines colonnes sont de type multi-colonnes (comme une colonne de " +#~ "matrice) : %s. setDT conservera ces colonnes telles quelles, mais les " +#~ "opérations ultérieures telles que le regroupement et la jointure peuvent " +#~ "échouer. Pensez plutôt à utiliser as.data.table() qui créera une nouvelle " +#~ "colonne pour chaque colonne imbriquée." + +#, c-format +#~ msgid "" +#~ "Column %d is of POSIXlt type. Please convert it to POSIXct using as.POSIXct " +#~ "and run setDT again. We do not recommend use of POSIXlt at all because it " +#~ "uses 40 bytes to store one date." +#~ msgstr "" +#~ "La colonne %d est de type POSIXlt. Veuillez la convertir en POSIXct en " +#~ "utilisant as.POSIXct et relancez setDT. Nous ne recommandons pas " +#~ "l'utilisation de POSIXlt car il utilise 40 octets pour stocker une date." + +#, c-format +#~ msgid "" +#~ "All elements in argument 'x' to 'setDT' must be of same length, but the " +#~ "profile of input lengths (length:frequency) is: %s\n" +#~ "The first entry with fewer than %d entries is %d." +#~ msgstr "" +#~ "Tous les éléments de l'argument 'x' de 'setDT' doivent avoir la même " +#~ "longueur, mais le profil des longueurs d'entrée (longueur:fréquence) est : " +#~ "%s\n" +#~ "La première entrée avec moins de %d entrées est %d." + +#, c-format +#~ msgid "" +#~ "Internal error in .isFastSubsettable. Please report to data.table developers" +#~ msgstr "" +#~ "Erreur interne dans .isFastSubsettable. Veuillez rapporter ce point aux " +#~ "développeurs de data.table" + +#, c-format +#~ msgid "Aggregate function missing, defaulting to 'length'" +#~ msgstr "Fonction d’agrégation absente, repli par défaut sur 'length'" + +#~ msgid "" +#~ "Aggregating function(s) should take vector inputs and return a single value " +#~ "(length=1). However, function(s) returns length!=1. This value will have to " +#~ "be used to fill any missing combinations, and therefore must be length=1. " +#~ "Either override by setting the 'fill' argument explicitly or modify your " +#~ "function to handle this case appropriately." +#~ msgstr "" +#~ "La (les) fonction(s) d'agrégation doit (doivent) prendre des entrées " +#~ "vectorielles et renvoyer une seule valeur (length=1). Cependant, la " +#~ "fonction(s) renvoie length!=1. Cette valeur devra être utilisée pour " +#~ "remplir toutes les combinaisons manquantes, et doit donc être length=1. " +#~ "Vous pouvez soit passer outre en définissant explicitement l'argument " +#~ "'fill', soit modifier votre fonction pour gérer ce cas de manière " +#~ "appropriée." + +#, c-format +#~ msgid "Internal error -- empty rhsnames in dcast; please report" +#~ msgstr "" +#~ "Erreur interne -- rhsnames est vide dans dcast ; Veuillez rapporter cette " +#~ "anomalie" + +#, c-format +#~ msgid "" +#~ "URL requires download.file functionalities from R >=3.2.2. You can still " +#~ "manually download the file and fread the downloaded file." +#~ msgstr "" +#~ "L’URL nécessite les fonctionnalités de download.file à partir de R >=3.2.2. " +#~ "Il est encore possible de télécharger manuellement le fichier et de faire " +#~ "un fread dessus." + +#, c-format +#~ msgid "" +#~ "Option 'datatable.CJ.names' no longer has any effect, as promised for 4 " +#~ "years. It is now ignored. Manually name `...` entries as needed if you " +#~ "still prefer the old behavior." +#~ msgstr "" +#~ "L'option 'datatable.CJ.names' n'a plus d'effet, comme explicité depuis 4 " +#~ "ans. Elle est maintenant ignorée. Nommez manuellement les entrées `...` si " +#~ "nécessaire si vous préférez toujours l'ancien comportement." + +#, c-format +#~ msgid "" +#~ "Internal error. 'cols' should be character at this point in setkey; please " +#~ "report." +#~ msgstr "" +#~ "Erreur interne. 'cols' doit être de type caractère à ce niveau dans " +#~ "setkey ; Veuillez rapporter le problème." + +#, c-format +#~ msgid "Internal error: index '%s' exists but is invalid" +#~ msgstr "Erreur interne : l'index '%s' existe mais il n'est pas valide" + +#, c-format +#~ msgid "Internal error: ncol(current)==ncol(target) was checked above" +#~ msgstr "Erreur interne : ncol(current)==ncol(target) a été vérifié ci-dessus" + +#, c-format +#~ msgid "Internal error: factor type mismatch should have been caught earlier" +#~ msgstr "" +#~ "Erreur interne : type factor incohérent ; Cela aurait dû être détecté plus " +#~ "tôt" + +#~ msgid "Provided argument fill=" +#~ msgstr "L’argument fill= fourni" + +#~ msgid "Internal error: use endsWithAny instead of base::endsWith" +#~ msgstr "Erreur interne : utiliser endsWithAny à la place de base::endsWith" diff --git a/po/fr.po b/po/fr.po new file mode 100644 index 000000000..e63209de3 --- /dev/null +++ b/po/fr.po @@ -0,0 +1,5398 @@ +msgid "" +msgstr "" +"Project-Id-Version: data.table 1.16.99\n" +"POT-Creation-Date: 2024-08-28 21:08+0000\n" +"PO-Revision-Date: 2024-09-02 20:11+0200\n" +"Last-Translator: Elise Maigné \n" +"Language-Team: \n" +"Language: fr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Poedit 3.5\n" + +#: assign.c:121 +msgid "" +".internal.selfref ptr is NULL. This is expected and normal for a data.table " +"loaded from disk. Please remember to always setDT() immediately after " +"loading to prevent unexpected behavior. If this table was not loaded from " +"disk or you've already run setDT(), please report to data.table issue " +"tracker.\n" +msgstr "" +".internal.selfref ptr est NULL. Ceci est normal et attendu pour une table de " +"données chargée depuis le disque. Rappelez-vous de toujours exécuter setDT() " +"immédiatement après le chargement pour éviter tout comportement inattendu. " +"Si cette table n'a pas été chargée depuis le disque ou si vous avez déjà " +"exécuté setDT(), veuillez le signaler dans le gestionnaire de tickets (issue " +"tracker) de data.table.\n" + +#: assign.c:202 +#, c-format +msgid "" +"Some columns are a multi-column type (such as a matrix column), for example " +"column %d. setDT will retain these columns as-is but subsequent operations " +"like grouping and joining may fail. Please consider as.data.table() instead " +"which will create a new column for each embedded column." +msgstr "" +"Certaines colonnes sont de type multi-colonnes (comme une colonne de " +"matrice), par exemple la colonne %d. setDT conservera ces colonnes telles " +"quelles, mais les opérations ultérieures telles que le regroupement et la " +"jointure peuvent échouer. Pensez plutôt à utiliser as.data.table() qui " +"créera une nouvelle colonne pour chaque colonne intégrée." + +#: assign.c:219 +#, c-format +msgid "" +"Column %d has class 'POSIXlt'. Please convert it to POSIXct (using as." +"POSIXct) and run setDT() again. We do not recommend the use of POSIXlt at " +"all because it uses 40 bytes to store one date." +msgstr "" +"La colonne %d a la classe 'POSIXlt'. Veuillez la convertir en POSIXct (en " +"utilisant as.POSIXct) et exécutez à nouveau setDT(). Nous ne recommandons " +"pas du tout l'utilisation de POSIXlt parce qu'il utilise 40 octets pour " +"stocker une date." + +#: assign.c:239 +#, c-format +msgid "" +"All elements in argument 'x' to 'setDT' must be of equal length, but input " +"%d has length %d whereas the first non-empty input had length %d" +msgstr "" +"Tous les éléments de l’argument 'x' de 'setDT' doivent être de même " +"longueur, mais l'entrée %d a une longueur de %d alors que la première entrée " +"non vide a une longueur de %d" + +#: assign.c:249 +msgid "alloccol has been passed a NULL dt" +msgstr "'alloccol' a reçu un dt NULL" + +#: assign.c:250 +msgid "dt passed to alloccol isn't type VECSXP" +msgstr "dt transmis à 'alloccol' n'est pas de type VECSXP" + +#: assign.c:252 +msgid "" +"dt passed to alloccol has no class attribute. Please report result of " +"traceback() to data.table issue tracker." +msgstr "" +"dt transmis à 'alloccol' n'a pas d'attribut de classe. Veuillez rapporter le " +"résultat de 'traceback()' dans le gestionnaire de tickets (issue tracker) de " +"data.table." + +#: assign.c:269 +#, c-format +msgid "" +"tl (%d) is greater than 10,000 items over-allocated (l = %d). If you didn't " +"set the datatable.alloccol option to be very large, please report to data." +"table issue tracker including the result of sessionInfo()." +msgstr "" +"tl (%d) est supérieur à 10 000 éléments sur-alloués (l = %d). Si vous n'avez " +"pas défini l'option datatable.alloccol comme étant très grande, merci de " +"rapporter ce problème dans le gestionnaire de tickets (issue tracker) de " +"data.table en incluant le résultat de sessionInfo()." + +#: assign.c:271 +#, c-format +msgid "" +"Attempt to reduce allocation from %d to %d ignored. Can only increase " +"allocation via shallow copy. Please do not use DT[...]<- or DT$someCol<-. " +"Use := inside DT[...] instead." +msgstr "" +"Tentative de réduction de l'allocation de %d à %d ignorée. L'allocation ne " +"peut être augmentée que par une copie superficielle (shallow). N'utilisez " +"pas DT[...]<- ou DT$someCol<-. Utilisez plutôt := à l'intérieur de DT[...]." + +#: assign.c:279 +msgid "" +"Has getOption('datatable.alloccol') somehow become unset? It should be a " +"number, by default 1024." +msgstr "" +"Est-ce que getOption('datatable.alloccol') est devenu indéfini ? Il devrait " +"s'agir d'un nombre, par défaut 1024." + +#: assign.c:281 +#, c-format +msgid "" +"getOption('datatable.alloccol') should be a number, by default 1024. But its " +"type is '%s'." +msgstr "" +"getOption('datatable.alloccol') devrait être un nombre, par défaut 1024. " +"Mais son type est '%s'." + +#: assign.c:283 +#, c-format +msgid "" +"getOption('datatable.alloc') is a numeric vector ok but its length is %d. " +"Its length should be 1." +msgstr "" +"getOption('datatable.alloc') est un vecteur numérique ok mais sa longueur " +"est %d. Sa longueur devrait être de 1." + +#: assign.c:286 +#, c-format +msgid "getOption('datatable.alloc')==%d. It must be >=0 and not NA." +msgstr "getOption('datatable.alloc')==%d. Doit être >=0 et non NA." + +#: assign.c:292 between.c:16 between.c:22 frollR.c:41 frollR.c:95 fsort.c:105 +#: gsumm.c:346 gsumm.c:582 gsumm.c:728 gsumm.c:865 gsumm.c:1020 gsumm.c:1112 +#: nafill.c:103 openmp-utils.c:79 uniqlist.c:354 utils.c:107 utils.c:109 +#, c-format +msgid "%s must be TRUE or FALSE" +msgstr "%s doit être TRUE ou FALSE" + +#: assign.c:340 +msgid "assign has been passed a NULL dt" +msgstr "'assign' a reçu un dt NULL" + +#: assign.c:341 +msgid "dt passed to assign isn't type VECSXP" +msgstr "le dt transmis à 'assign' n'est pas du type VECSXP" + +#: assign.c:343 +msgid "" +".SD is locked. Updating .SD by reference using := or set are reserved for " +"future use. Use := in j directly. Or use copy(.SD) as a (slow) last resort, " +"until shallow() is exported." +msgstr "" +".SD est verrouillé. La mise à jour de .SD par référence à l'aide de := ou de " +"set est réservée pour une utilisation future. Utilisez directement := dans " +"j. Ou utilisez copy(.SD) en dernier recours (lent), jusqu'à ce que shallow() " +"soit exporté." + +#: assign.c:355 +msgid "dt passed to assign has no names" +msgstr "le dt transmis à 'assign' n'a pas de noms" + +#: assign.c:359 +msgid "" +"data.table is NULL; malformed. A null data.table should be an empty list. " +"typeof() should always return 'list' for data.table." +msgstr "" +"data.table est NULL ; malformé. Un data.table nul devrait être une liste " +"vide. typeof() devrait toujours retourner 'list' pour data.table." + +#: assign.c:369 +#, c-format +msgid "Assigning to all %d rows\n" +msgstr "Affectation à toutes les lignes %d\n" + +#: assign.c:374 +msgid "" +"Coerced i from numeric to integer. Please pass integer for efficiency; e.g., " +"2L rather than 2" +msgstr "" +"I a été converti automatiquement de numérique à entier. Par souci " +"d'efficacité, passez un entier ; par exemple, 2L au lieu de 2" + +#: assign.c:377 +#, c-format +msgid "" +"i is type '%s'. Must be integer, or numeric is coerced with warning. If i is " +"a logical subset, simply wrap with which(), and take the which() outside the " +"loop if possible for efficiency." +msgstr "" +"i est de type '%s'. Il doit s'agir d'un entier, ou un nombre est converti " +"automatiquement avec un avis. Si i est un sous-ensemble de booléens, il " +"suffit de l'envelopper avec which(), et de placer which() en dehors de la " +"boucle si possible pour plus d'efficacité." + +#: assign.c:383 subset.c:170 +#, c-format +msgid "i[%d] is %d which is out of range [1,nrow=%d]" +msgstr "i[%d] est %d, ce qui est en dehors de l'intervalle [1,nrow=%d]" + +#: assign.c:386 +#, c-format +msgid "Assigning to %d row subset of %d rows\n" +msgstr "Affectation à un sous-ensemble de %d lignes parmi %d lignes\n" + +#: assign.c:395 +#, c-format +msgid "Added %d new column%s initialized with all-NA\n" +msgstr "Ajout de %d nouvelle(s) colonne(s) initialisée%s avec all-NA\n" + +#: assign.c:400 +msgid "length(LHS)==0; no columns to delete or assign RHS to." +msgstr "" +"length(LHS)==0 ; aucune colonne à supprimer ou à laquelle assigner le membre " +"de droite (RHS)." + +#: assign.c:414 +msgid "" +"set() on a data.frame is for changing existing columns, not adding new ones. " +"Please use a data.table for that. data.table's are over-allocated and don't " +"shallow copy." +msgstr "" +"set() sur un data.frame sert à modifier les colonnes existantes, pas à en " +"ajouter de nouvelles. Veuillez utiliser un data.table pour cela. Les data." +"table sont sur-alloués et ne permettent pas de copier les données de façon " +"superficielle (shallow)." + +#: assign.c:425 +msgid "" +"Coerced j from numeric to integer. Please pass integer for efficiency; e.g., " +"2L rather than 2" +msgstr "" +"J converti automatiquement de numérique à entier. Par souci d'efficacité, " +"passez un entier ; par exemple, 2L au lieu de 2" + +#: assign.c:428 +#, c-format +msgid "" +"j is type '%s'. Must be integer, character, or numeric is coerced with " +"warning." +msgstr "" +"j est de type '%s'. Il doit être entier. Caractère, ou numérique sont " +"convertis automatiquement avec un avis." + +#: assign.c:430 +msgid "" +"Can't assign to the same column twice in the same query (duplicates " +"detected)." +msgstr "" +"Impossible d'affecter deux fois la même colonne dans la même requête " +"(détection des doublons)." + +#: assign.c:431 +msgid "newcolnames is supplied but isn't a character vector" +msgstr "newcolnames est fourni mais n'est pas un vecteur de caractères" + +#: assign.c:433 +msgid "" +"Values of type POSIXlt detected and converted to POSIXct. We do not " +"recommend the use of POSIXlt at all because it typically takes more than 6 " +"times the storage as an equivalent POSIXct column. Use as.POSIXct() to avoid " +"this warning." +msgstr "" +"Valeurs de type POSIXlt détectées et converties en POSIXct. Nous ne " +"recommandons pas du tout l'utilisation de POSIXlt car il prend généralement " +"plus de 6 fois l'espace de stockage qu’une colonne POSIXct équivalente. " +"Utilisez as.POSIXct() pour éviter cet avertissement." + +#: assign.c:437 +#, c-format +msgid "RHS_list_of_columns == %s\n" +msgstr "RHS_list_of_columns == %s\n" + +#: assign.c:442 +#, c-format +msgid "" +"RHS_list_of_columns revised to true because RHS list has 1 item which is " +"NULL, or whose length %d is either 1 or targetlen (%d). Please unwrap RHS.\n" +msgstr "" +"RHS_list_of_columns révisé à true car le membre de droite (RHS) de type list " +"a un élement NULL, ou dont la longueur %d est soit 1 soit targetlen (%d). " +"Veuillez déplier le RHS.\n" + +#: assign.c:447 +#, c-format +msgid "" +"Supplied %d columns to be assigned an empty list (which may be an empty data." +"table or data.frame since they are lists too). To delete multiple columns " +"use NULL instead. To add multiple empty list columns, use list(list())." +msgstr "" +"%d colonnes fournies auxquelles sera assigné une liste vide (qui peut être " +"un data.table ou un data.frame vide puisqu'il s'agit également de listes). " +"Pour supprimer plusieurs colonnes, utilisez NULL à la place. Pour ajouter " +"plusieurs colonnes vides de type liste, utilisez list(list())." + +#: assign.c:452 +#, c-format +msgid "Recycling single RHS list item across %d columns. Please unwrap RHS.\n" +msgstr "" +"Recyclage d'un seul élément de liste du membre de droite (RHS) sur %d " +"colonnes. Veuillez déplier le RHS.\n" + +#: assign.c:454 +#, c-format +msgid "" +"Supplied %d columns to be assigned %d items. Please see NEWS for v1.12.2." +msgstr "%d colonnes fournies à affecter à %d éléments. Voir NEWS pour v1.12.2." + +#: assign.c:462 +#, c-format +msgid "" +"Item %d of column numbers in j is %d which is outside range [1,ncol=%d]. " +"set() on a data.frame is for changing existing columns, not adding new ones. " +"Please use a data.table for that." +msgstr "" +"L'élément %d des numéros de colonnes dans j est %d, ce qui est en dehors de " +"l'intervalle [1,ncol=%d]. set() sur un data.frame sert à modifier les " +"colonnes existantes, pas à en ajouter de nouvelles. Veuillez utiliser un " +"data.table pour cela." + +#: assign.c:463 +#, c-format +msgid "" +"Item %d of column numbers in j is %d which is outside range [1,ncol=%d]. Use " +"column names instead in j to add new columns." +msgstr "" +"L'élément %d des numéros de colonnes dans j est %d, ce qui est en dehors de " +"l'intervalle [1,ncol=%d]. Utilisez plutôt les noms de colonnes dans j pour " +"ajouter de nouvelles colonnes." + +#: assign.c:468 +msgid "When deleting columns, i should not be provided" +msgstr "Lors de la suppression de colonnes, i ne doit pas être fourni" + +#: assign.c:474 +#, c-format +msgid "" +"RHS of assignment to existing column '%s' is zero length but not NULL. If " +"you intend to delete the column use NULL. Otherwise, the RHS must have " +"length > 0; e.g., NA_integer_. If you are trying to change the column type " +"to be an empty list column then, as with all column type changes, provide a " +"full length RHS vector such as vector('list',nrow(DT)); i.e., 'plonk' in the " +"new column." +msgstr "" +"Le membre de droite (RHS) de l'affectation à la colonne existante '%s' est " +"de longueur nulle mais n'est pas NULL. Si vous voulez supprimer la colonne, " +"utilisez NULL. Sinon, l'élément d'affectation doit avoir une longueur > 0 ; " +"par exemple, NA_integer_. Si vous essayez de modifier le type de colonne " +"pour en faire une colonne de type liste vide, alors, comme pour tous les " +"changements de type de colonne, fournissez un vecteur de longueur complète " +"tel que vector('list',nrow(DT)) ; c'est-à-dire, remplacez ('plonk') la " +"nouvelle colonne." + +#: assign.c:481 +#, c-format +msgid "" +"Tried to assign NULL to column '%s', but this column does not exist to remove" +msgstr "" +"Tentative d’affectation de NULL à la colonne ‘%s’, mais cette colonne " +"n’existe pas et ne peut donc pas être éliminée" + +#: assign.c:489 +#, c-format +msgid "%d column matrix RHS of := will be treated as one vector" +msgstr "" +"%d la matrice colonne du membre de droite (RHS) de := sera traitée comme un " +"vecteur" + +#: assign.c:494 +#, c-format +msgid "" +"Can't assign to column '%s' (type 'factor') a value of type '%s' (not " +"character, factor, integer or numeric)" +msgstr "" +"Impossible d'affecter à la colonne '%s' (type 'factor') une valeur de type " +"'%s' (ni caractère, ni facteur, ni entier, ni numérique)" + +#: assign.c:500 +#, c-format +msgid "" +"Supplied %d items to be assigned to %d items of column '%s'. If you wish to " +"'recycle' the RHS please use rep() to make this intent clear to readers of " +"your code." +msgstr "" +"%d éléments fournis à affecter à %d éléments de la colonne '%s'. Si vous " +"souhaitez 'recycler' le membre de droite (RHS), veuillez utiliser rep() pour " +"indiquer clairement votre intention aux lecteurs de votre code." + +#: assign.c:510 +msgid "" +"This data.table has either been loaded from disk (e.g. using readRDS()/" +"load()) or constructed manually (e.g. using structure()). Please run setDT() " +"or setalloccol() on it first (to pre-allocate space for new columns) before " +"assigning by reference to it." +msgstr "" +"Ce data.table a été soit chargé depuis le disque (par exemple en utilisant " +"readRDS()/load()), soit construit manuellement (par exemple en utilisant " +"structure()). Veuillez d'abord exécuter setDT() ou setalloccol() sur ce " +"tableau (pour pré-allouer de l'espace pour les nouvelles colonnes) avant de " +"l'assigner par référence." + +#: assign.c:513 +#, c-format +msgid "" +"truelength (%d) is greater than 10,000 items over-allocated (length = %d). " +"See ?truelength. If you didn't set the datatable.alloccol option very large, " +"please report to data.table issue tracker including the result of " +"sessionInfo()." +msgstr "" +"truelength (%d) est supérieur à 10 000 éléments sur-alloués (length = %d). " +"Voir ?truelength. Si vous n'avez pas mis une très grande valeur à l'option " +"datatable.alloccol, veuillez rapporter ce problème dans le gestionnaire de " +"tickets (issue tracker) de data.table en incluant le résultat de " +"sessionInfo()." + +#: assign.c:517 +msgid "" +"It appears that at some earlier point, names of this data.table have been " +"reassigned. Please ensure to use setnames() rather than names<- or " +"colnames<-. Otherwise, please report to data.table issue tracker." +msgstr "" +"Il semble qu'à un moment donné, les noms de cette table data.table aient été " +"réattribués. Veillez à utiliser setnames() plutôt que names<- ou colnames<-. " +"Dans le cas contraire, signalez le problème dans le gestionnaire de tickets " +"(issue tracker) de data.table." + +#: assign.c:552 +#, c-format +msgid "" +"RHS for item %d has been duplicated because MAYBE_REFERENCED==%d " +"MAYBE_SHARED==%d, but then is being plonked. length(values)==%d; " +"length(cols)==%d)\n" +msgstr "" +"Le membre de droite (RHS) pour l'élément %d a été dupliqué parce que " +"MAYBE_REFERENCED==%d MAYBE_SHARED==%d, mais il est ensuite remplacé " +"('plonk'). length(values)==%d ; length(cols)==%d)\n" + +#: assign.c:557 +#, c-format +msgid "" +"Direct plonk of unnamed RHS, no copy. MAYBE_REFERENCED==%d, " +"MAYBE_SHARED==%d\n" +msgstr "" +"Remplacement ('plonk') du membre de droite (RHS) sans nom, pas de copie. " +"MAYBE_REFERENCED==%d, MAYBE_SHARED==%d\n" + +#: assign.c:626 +#, c-format +msgid "" +"Dropping index '%s' as it doesn't have '__' at the beginning of its name. It " +"was very likely created by v1.9.4 of data.table.\n" +msgstr "" +"Suppression de l'indice '%s' car il n'a pas '__' au début de son nom. Il a " +"très probablement été créé par la version 1.9.4 de data.table.\n" + +#: assign.c:671 assign.c:687 +#, c-format +msgid "Dropping index '%s' due to an update on a key column\n" +msgstr "" +"Suppression de l'indice '%s' suite à une mise à jour d'une colonne clé\n" + +#: assign.c:680 +#, c-format +msgid "Shortening index '%s' to '%s' due to an update on a key column\n" +msgstr "" +"Raccourcissement de l'indice '%s' en '%s' suite à une mise à jour d'une " +"colonne clé\n" + +#: assign.c:738 +#, c-format +msgid "target vector" +msgstr "vecteur cible" + +#: assign.c:738 +#, c-format +msgid "column %d named '%s'" +msgstr "colonne %d nommée '%s'" + +#: assign.c:772 +#, c-format +msgid "" +"Cannot assign 'factor' to '%s'. Factors can only be assigned to factor, " +"character or list columns." +msgstr "" +"Impossible d'affecter 'factor' à '%s'. Les facteurs ne peuvent être affectés " +"qu'à des colonnes de facteurs, de caractères ou de listes." + +#: assign.c:786 +#, c-format +msgid "" +"Assigning factor numbers to %s. But %d is outside the level range [1,%d]" +msgstr "" +"Attribution de numéros de facteurs à %s. Mais %d est en dehors de " +"l'intervalle [1,%d]" + +#: assign.c:795 +#, c-format +msgid "" +"Assigning factor numbers to %s. But %f is outside the level range [1,%d], or " +"is not a whole number." +msgstr "" +"Attribution de numéros de facteurs à %s. Mais %f est en dehors de " +"l'intervalle [1,%d], ou n'est pas un nombre entier." + +#: assign.c:801 +#, c-format +msgid "" +"Cannot assign '%s' to 'factor'. Factor columns can be assigned factor, " +"character, NA in any type, or level numbers." +msgstr "" +"Impossible d'attribuer '%s' à 'factor'. Les colonnes de facteurs peuvent " +"être assignées aux types facteur, caractère, NA dans n'importe quel type, ou " +"numéros de niveaux." + +#: assign.c:861 +msgid "Unable to allocate working memory of %zu bytes to combine factor levels" +msgstr "" +"Impossible d'allouer une mémoire de travail de %zu octets pour combiner les " +"niveaux de facteurs" + +#: assign.c:887 +#, c-format +msgid "Coercing 'character' RHS to '%s' to match the type of %s." +msgstr "" +"Le membre de droite (RHS) 'character' a été automatiquement converti en '%s' " +"pour qu'il corresponde au type de %s." + +#: assign.c:894 +#, c-format +msgid "Cannot coerce 'list' RHS to 'integer64' to match the type of %s." +msgstr "" +"Impossible de convertir le membre de droite (RHS) de 'list' à 'integer64' " +"pour qu'il corresponde au type de %s." + +#: assign.c:899 +#, c-format +msgid "Coercing 'list' RHS to '%s' to match the type of %s." +msgstr "" +"Le membre de droite (RHS) 'list' a été automatiquement converti en '%s' pour " +"qu'il corresponde au type de %s." + +#: assign.c:904 +#, c-format +msgid "Zero-copy coerce when assigning '%s' to '%s' %s.\n" +msgstr "Conversion sans copie lors de l'affectation de '%s' à '%s' %s.\n" + +#: assign.c:1006 +#, c-format +msgid "type '%s' cannot be coerced to '%s'" +msgstr "le type '%s' ne peut pas être converti automatiquement en '%s'" + +#: assign.c:1164 +#, c-format +msgid "Unsupported column type in assign.c:memrecycle '%s'" +msgstr "Type de colonne non pris en charge dans assign.c:memrecycle '%s'" + +#: assign.c:1249 +#, c-format +msgid "savetl_init checks failed (%d %d %p %p)" +msgstr "les vérifications de savetl_init ont échoué (%d %d %p %p)" + +#: assign.c:1258 +#, c-format +msgid "Failed to allocate initial %d items in savetl_init" +msgstr "Échec de l'allocation des éléments initiaux %d dans savetl_init" + +#: assign.c:1274 +#, c-format +msgid "Failed to realloc saveds to %d items in savetl" +msgstr "Échec de la réaffectation de saveds à %d éléments dans savetl" + +#: assign.c:1280 +#, c-format +msgid "Failed to realloc savedtl to %d items in savetl" +msgstr "Échec de la réaffectation de savedtl à %d éléments dans savetl" + +#: assign.c:1303 +msgid "x must be a character vector" +msgstr "x doit être un vecteur de caractères" + +#: assign.c:1304 +msgid "'which' must be an integer vector" +msgstr "'which' doit être un vecteur entier" + +#: assign.c:1305 +msgid "'new' must be a character vector" +msgstr "'new' doit être un vecteur de caractères" + +#: assign.c:1306 +#, c-format +msgid "'new' is length %d. Should be the same as length of 'which' (%d)" +msgstr "" +"La longueur de 'new' est de %d. Elle doit être identique à la longueur de " +"'which' (%d)" + +#: assign.c:1309 +#, c-format +msgid "" +"Item %d of 'which' is %d which is outside range of the length %d character " +"vector" +msgstr "" +"L'élément %d de 'which' est %d, ce qui est en dehors de la plage de valeurs " +"du vecteur de caractères qui est de longueur %d" + +#: between.c:12 +#, c-format +msgid "" +"Incompatible vector lengths: length(x)==%d length(lower)==%d " +"length(upper)==%d. Each should be either length 1 or the length of the " +"longest." +msgstr "" +"Longueurs de vecteurs incompatibles : length(x)==%d length(lower)==%d " +"length(upper)==%d. Chaque vecteur doit avoir la longueur 1 ou la longueur du " +"vecteur le plus long." + +#: between.c:19 +msgid "NAbounds must be TRUE or NA" +msgstr "NAbounds doit être TRUE ou NA" + +#: between.c:64 +#, c-format +msgid "Item %d of lower (%d) is greater than item %d of upper (%d)" +msgstr "L'élément %d de lower (%d) est supérieur à l'élément %d de upper (%d)" + +#: between.c:82 +#, c-format +msgid "between parallel processing of integer took %8.3fs\n" +msgstr "" +"le traitement parallèle par 'between' des nombres entiers a pris %8.3fs\n" + +#: between.c:88 +msgid "x is integer64 but lower and/or upper are not." +msgstr "x est un integer64 mais lower et/ou upper ne le sont pas." + +#: between.c:95 +#, c-format +msgid "" +"Item %d of lower (%) is greater than item %d of upper (%)" +msgstr "" +"L'élément %d de lower (%) est supérieur à l'élément %d de upper " +"(%)" + +#: between.c:112 +#, c-format +msgid "between parallel processing of integer64 took %8.3fs\n" +msgstr "" +"le traitement parallèle par 'between' des entiers 64 bits a pris %8.3fs\n" + +#: between.c:115 +msgid "" +"x is not integer64 but lower and/or upper is integer64. Please align classes." +msgstr "" +"x n'est pas un entier 64 bits mais lower et/ou upper en sont un. Veuillez " +"uniformiser les classes." + +#: between.c:122 +#, c-format +msgid "Item %d of lower (%f) is greater than item %d of upper (%f)" +msgstr "L'élément %d de lower (%f) est supérieur à l'élément %d de upper (%f)" + +#: between.c:140 +#, c-format +msgid "between parallel processing of double with open bounds took %8.3fs\n" +msgstr "" +"le traitement parallèle par 'between' des 'double' (nombres à virgule " +"flottante) avec des bornes ouvertes a pris %8.3fs\n" + +#: between.c:157 +#, c-format +msgid "between parallel processing of double with closed bounds took %8.3fs\n" +msgstr "" +"le traitement parallèle par 'between' des doubles (nombres à virgule " +"flottante) avec des bornes fermées a pris %8.3fs\n" + +#: between.c:172 +#, c-format +msgid "Item %d of lower ('%s') is greater than item %d of upper ('%s')" +msgstr "" +"L'élément %d de lower ('%s') est supérieur à l'élément %d de upper ('%s')" + +#: between.c:187 +#, c-format +msgid "between non-parallel processing of character took %8.3fs\n" +msgstr "" +"le traitement non parallèle par 'between' des caractères a pris %8.3fs\n" + +#: bmerge.c:65 +#, c-format +msgid "icols[%d]=%d outside range [1,length(i)=%d]" +msgstr "icols[%d]=%d en dehors de l'intervalle [1,length(i)=%d]" + +#: bmerge.c:66 +#, c-format +msgid "xcols[%d]=%d outside range [1,length(x)=%d]" +msgstr "xcols[%d]=%d en dehors de l'intervalle [1,length(x)=%d]" + +#: bmerge.c:69 +#, c-format +msgid "typeof x.%s (%s) != typeof i.%s (%s)" +msgstr "typeof x.%s (%s) != typeof i.%s (%s)" + +#: bmerge.c:71 bmerge.c:383 +#, c-format +msgid "Type '%s' is not supported for joining/merging" +msgstr "Le type '%s' n'est pas pris en charge pour la jonction/fusion" + +#: bmerge.c:77 +msgid "roll is character but not 'nearest'" +msgstr "'roll' est un caractère, mais pas 'nearest'" + +#: bmerge.c:78 +msgid "roll='nearest' can't be applied to a character column, yet." +msgstr "" +"roll='nearest' ne peut pas encore être appliqué à une colonne de caractères." + +#: bmerge.c:86 +msgid "rollends must be a length 2 logical vector" +msgstr "'rollends' doit être un vecteur booléen de longueur 2" + +#: bmerge.c:115 +msgid "Only '==' operator is supported for columns of type character." +msgstr "" +"Seul l'opérateur '==' est pris en charge pour les colonnes de type caractère." + +#: chmatch.c:5 +#, c-format +msgid "table is type '%s' (must be 'character' or NULL)" +msgstr "table est de type '%s' (doit être 'character' ou NULL)" + +#: chmatch.c:19 +#, c-format +msgid "x is type '%s' (must be 'character' or NULL)" +msgstr "x est le type '%s' (doit être 'character' ou NULL)" + +#: chmatch.c:105 +#, c-format +msgid "" +"Failed to allocate % bytes working memory in chmatchdup: " +"length(table)=%d length(unique(table))=%d" +msgstr "" +"Échec de l'allocation de % octets de mémoire de travail dans " +"chmatchdup : length(table)=%d length(unique(table))=%d" + +#: cj.c:89 +#, c-format +msgid "Type '%s' is not supported by CJ." +msgstr "Le type '%s' n'est pas pris en charge par CJ." + +#: coalesce.c:14 +msgid "" +"The first argument is a list, data.table or data.frame. In this case there " +"should be no other arguments provided." +msgstr "" +"Le premier argument est une liste, un data.table ou un data.frame. Dans ce " +"cas, aucun autre argument ne doit être fourni." + +#: coalesce.c:30 +#, c-format +msgid "" +"Item 1 is a factor but item %d is not a factor. When factors are involved, " +"all items must be factor." +msgstr "" +"L'élément 1 est un facteur mais l'élément %d n'en est pas un. Lorsqu'il " +"s'agit de facteurs, tous les éléments doivent être des facteurs." + +#: coalesce.c:32 +#, c-format +msgid "" +"Item %d is a factor but its levels are not identical to the first item's " +"levels." +msgstr "" +"L'élément %d est un facteur mais ses niveaux ne sont pas identiques à ceux " +"du premier élément." + +#: coalesce.c:36 +#, c-format +msgid "" +"Item %d is a factor but item 1 is not a factor. When factors are involved, " +"all items must be factor." +msgstr "" +"L'élément %d est un facteur mais l'élément 1 n'en est pas un. Lorsqu'il " +"s'agit de facteurs, tous les éléments doivent être des facteurs." + +#: coalesce.c:39 +#, c-format +msgid "" +"Item %d is type %s but the first item is type %s. Please coerce before " +"coalescing." +msgstr "" +"L'élément %d est de type %s mais le premier élément est de type %s. Veuillez " +"convertir avant la consolidation." + +#: coalesce.c:41 +#, c-format +msgid "Item %d has a different class than item 1." +msgstr "L'élément %d a une classe différente de celle de l'élément 1." + +#: coalesce.c:44 +#, c-format +msgid "" +"Item %d is length %d but the first item is length %d. Only singletons are " +"recycled." +msgstr "" +"L'élément %d est de longueur %d mais le premier élément est de longueur %d. " +"Seuls les singletons sont recyclés." + +#: coalesce.c:48 +msgid "coalesce copied first item (inplace=FALSE)\n" +msgstr "coalesce a copié le premier élément (inplace=FALSE)\n" + +#: coalesce.c:164 fifelse.c:193 shift.c:171 uniqlist.c:98 uniqlist.c:130 +#: uniqlist.c:211 uniqlist.c:248 uniqlist.c:321 +#, c-format +msgid "Type '%s' is not supported" +msgstr "Le type '%s' n'est pas pris en charge" + +#: dogroups.c:85 gsumm.c:43 +msgid "env is not an environment" +msgstr "env n'est pas un environnement" + +#: dogroups.c:109 +#, c-format +msgid "!length(bynames)[%d]==length(groups)[%d]==length(grpcols)[%d]" +msgstr "!length(bynames)[%d]==length(groups)[%d]==length(grpcols)[%d]" + +#: dogroups.c:131 +msgid "row.names attribute of .SD not found" +msgstr "l'attribut row.names de .SD n'a pas été trouvé" + +#: dogroups.c:133 +#, c-format +msgid "" +"row.names of .SD isn't integer length 2 with NA as first item; i.e., ." +"set_row_names(). [%s %d %d]" +msgstr "" +"row.names de .SD n'est pas un entier de longueur 2 avec NA comme premier " +"élément ; c'est-à-dire, .set_row_names(). [%s %d %d]" + +#: dogroups.c:138 +msgid "length(names)!=length(SD)" +msgstr "length(names)!=length(SD)" + +#: dogroups.c:154 +msgid "length(xknames)!=length(xSD)" +msgstr "length(xknames)!=length(xSD)" + +#: dogroups.c:162 +#, c-format +msgid "length(iSD)[%d] != length(jiscols)[%d]" +msgstr "length(iSD)[%d] != length(jiscols)[%d]" + +#: dogroups.c:163 +#, c-format +msgid "length(xSD)[%d] != length(xjiscols)[%d]" +msgstr "length(xSD)[%d] != length(xjiscols)[%d]" + +#: dogroups.c:274 +#, c-format +msgid "j evaluates to type '%s'. Must evaluate to atomic vector or list." +msgstr "" +"j évalue le type '%s'. Doit être évalué comme un vecteur atomique ou une " +"liste." + +#: dogroups.c:283 +#, c-format +msgid "" +"Entry %d for group %d in j=list(...) should be atomic vector or list. If you " +"are trying something like j=list(.SD,newcol=mean(colA)) then use := by group " +"instead (much quicker), or cbind or merge afterwards." +msgstr "" +"L’entrée %d du groupe %d de j=list(...) doit être un vecteur atomique ou une " +"liste. Si vous essayez quelque chose comme j=list(.SD,newcol=mean(colA)), " +"utilisez plutôt := par groupe (beaucoup plus rapide), ou cbind ou merge " +"ensuite." + +#: dogroups.c:290 +#, c-format +msgid "" +"Entry %d for group %d in j=list(...) is an array with %d dimensions > 1, " +"which is disallowed. \"Break\" the array yourself with c() or as.vector() if " +"that is intentional." +msgstr "" +"L'entrée %d pour le groupe %d dans j=list(...) est un tableau avec %d " +"dimensions > 1, ce qui est interdit. \"Déconstruisez\" vous-même le tableau " +"en un vecteur avec c() ou as.vector() si c'est intentionnel." + +#: dogroups.c:300 +msgid "" +"RHS of := is NULL during grouped assignment, but it's not possible to delete " +"parts of a column." +msgstr "" +"L'élement de droite (RHS) de := est NULL pendant l'affectation groupée, mais " +"il n'est pas possible de supprimer des parties d'une colonne." + +#: dogroups.c:304 +#, c-format +msgid "" +"Supplied %d items to be assigned to group %d of size %d in column '%s'. The " +"RHS length must either be 1 (single values are ok) or match the LHS length " +"exactly. If you wish to 'recycle' the RHS please use rep() explicitly to " +"make this intent clear to readers of your code." +msgstr "" +"Les éléments fournis %d doivent être affectés au groupe %d de taille %d dans " +"la colonne '%s'. La longueur de l'élément de droite (RHS) doit être égale à " +"1 (les valeurs uniques sont acceptées) ou correspondre exactement à la " +"longueur de l'élément de gauche (LHS). Si vous souhaitez 'recycler' " +"l'élément de droite, utilisez explicitement rep() pour que les lecteurs de " +"votre code comprennent bien votre intention." + +#: dogroups.c:336 +#, c-format +msgid "Group %d column '%s': %s" +msgstr "Groupe %d colonne '%s' : %s" + +#: dogroups.c:343 +msgid "j doesn't evaluate to the same number of columns for each group" +msgstr "j n'évalue pas le même nombre de colonnes pour chaque groupe" + +#: dogroups.c:377 +#, c-format +msgid "" +"Column %d of j's result for the first group is NULL. We rely on the column " +"types of the first result to decide the type expected for the remaining " +"groups (and require consistency). NULL columns are acceptable for later " +"groups (and those are replaced with NA of appropriate type and recycled) but " +"not for the first. Please use a typed empty vector instead, such as " +"integer() or numeric()." +msgstr "" +"La colonne %d du résultat de j pour le premier groupe est NULL. Nous nous " +"basons sur les types de colonnes du premier résultat pour décider du type " +"attendu pour les autres groupes (et exiger la cohérence). Les colonnes NULL " +"sont acceptables pour les groupes suivants (et elles sont remplacées par NA " +"du type approprié et recyclé) mais pas pour le premier. Veuillez utiliser un " +"vecteur vide typé à la place, comme integer() ou numeric()." + +#: dogroups.c:380 +msgid "" +"j appears to be a named vector. The same names will likely be created over " +"and over again for each group and slow things down. Try and pass a named " +"list (which data.table optimizes) or an unnamed list() instead.\n" +msgstr "" +"j semble être un vecteur nommé. Les mêmes noms seront probablement créés " +"encore et encore pour chaque groupe et ralentiront les choses. Essayez de " +"passer une liste nommée (que data.table optimise) ou une list() sans nom à " +"la place.\n" + +#: dogroups.c:382 +#, c-format +msgid "" +"Column %d of j is a named vector (each item down the rows is named, " +"somehow). Please remove those names for efficiency (to save creating them " +"over and over for each group). They are ignored anyway.\n" +msgstr "" +"La colonne %d de j est un vecteur nommé (chaque élément des lignes est " +"nommé, d'une manière ou d'une autre). Veuillez supprimer ces noms pour des " +"raisons d'efficacité (afin d'éviter de les créer à plusieurs reprises pour " +"chaque groupe). Ils sont de toute façon ignorés.\n" + +#: dogroups.c:390 +msgid "" +"The result of j is a named list. It's very inefficient to create the same " +"names over and over again for each group. When j=list(...), any names are " +"detected, removed and put back after grouping has completed, for efficiency. " +"Using j=transform(), for example, prevents that speedup (consider changing " +"to :=). This message may be upgraded to warning in future.\n" +msgstr "" +"Le résultat de j est une liste nommée. Il est très inefficace de créer les " +"mêmes noms encore et encore pour chaque groupe. Lorsque j=list(...), tous " +"les noms sont détectés, supprimés et remis en place une fois le regroupement " +"terminé, pour plus d'efficacité. L'utilisation de j=transform(), par " +"exemple, empêche cette accélération (envisagez de changer pour :=). Ce " +"message pourrait être transformé en avis à l'avenir.\n" + +#: dogroups.c:402 +#, c-format +msgid "dogroups: growing from %d to %d rows\n" +msgstr "dogroups : augmentation de %d à %d lignes\n" + +#: dogroups.c:403 +#, c-format +msgid "dogroups: length(ans)[%d]!=ngrpcols[%d]+njval[%d]" +msgstr "dogroups: length(ans)[%d]!=ngrpcols[%d]+njval[%d]" + +#: dogroups.c:421 +#, c-format +msgid "" +"Item %d of j's result for group %d is zero length. This will be filled with " +"%d NAs to match the longest column in this result. Later groups may have a " +"similar problem but only the first is reported to save filling the warning " +"buffer." +msgstr "" +"L'élément %d du résultat de j pour le groupe %d est de longueur zero. Il " +"sera rempli avec %d NA pour correspondre à la colonne la plus longue de ce " +"résultat. Les groupes suivants peuvent avoir un problème similaire, mais " +"seul le premier est signalé pour éviter de remplir le tampon d'avis." + +#: dogroups.c:428 +#, c-format +msgid "" +"Column %d of result for group %d is type '%s' but expecting type '%s'. " +"Column types must be consistent for each group." +msgstr "" +"La colonne %d du résultat pour le groupe %d est de type '%s' mais attend le " +"type '%s'. Les types de colonnes doivent être cohérents pour chaque groupe." + +#: dogroups.c:430 +#, c-format +msgid "" +"Supplied %d items for column %d of group %d which has %d rows. The RHS " +"length must either be 1 (single values are ok) or match the LHS length " +"exactly. If you wish to 'recycle' the RHS please use rep() explicitly to " +"make this intent clear to readers of your code." +msgstr "" +"%d éléments fournis pour la colonne %d du groupe %d qui comporte %d lignes. " +"La longueur de l'élément de droite (RHS) doit être égale à 1 (les valeurs " +"simples sont acceptables) ou correspondre exactement à la longueur de " +"l'élément de gauche (LHS). Si vous souhaitez 'recycler' l'élément de droite, " +"utilisez explicitement rep() pour que les lecteurs de votre code comprennent " +"bien votre intention." + +#: dogroups.c:448 fsort.c:250 fwrite.c:707 +msgid "\n" +msgstr "\n" + +#: dogroups.c:449 +#, c-format +msgid "" +"\rProcessed %d groups out of %d. %.0f%% done. Time elapsed: %ds. ETA: %ds." +msgstr "" +"\rTraitement de %d groupes sur %d. %.0f%% terminé. Temps écoulé : %ds. Heure " +"d'arrivée prévue : %ds." + +#: dogroups.c:462 +#, c-format +msgid "" +"\rProcessed %d groups out of %d. %.0f%% done. Time elapsed: %ds. ETA: %ds.\n" +msgstr "" +"\rTraitement de %d groupes sur %d. %.0f%% terminé. Temps écoulé : %ds. Heure " +"d'arrivée prévue : %ds.\n" + +#: dogroups.c:465 +#, c-format +msgid "Wrote less rows (%d) than allocated (%d).\n" +msgstr "Moins de lignes écrites (%d) que de lignes allouées (%d).\n" + +#: dogroups.c:489 +#, c-format +msgid "" +"\n" +" %s took %.3fs for %d groups\n" +msgstr "" +"\n" +" %s a pris %.3fs pour %d groupes\n" + +#: dogroups.c:491 +#, c-format +msgid " eval(j) took %.3fs for %d calls\n" +msgstr " eval(j) a pris %.3fs pour %d appels\n" + +#: dogroups.c:520 +msgid "growVector passed NULL" +msgstr "'growVector' transmis NULL" + +#: fastmean.c:39 rbindlist.c:8 rbindlist.c:12 +#, c-format +msgid "%s should be TRUE or FALSE" +msgstr "%s doit être TRUE ou FALSE" + +#: fastmean.c:45 +#, c-format +msgid "fastmean was passed type %s, not numeric or logical" +msgstr "'fastmean' a été transmis au type %s, non numérique ou booléen" + +#: fcast.c:101 +#, c-format +msgid "Unsupported column type in fcast val: '%s'" +msgstr "Type de colonne non pris en charge dans fcast val : '%s'" + +#: fifelse.c:5 +msgid "Argument 'test' must be logical." +msgstr "L'argument 'test' doit être de type booléen." + +#: fifelse.c:9 +msgid "S4 class objects (except nanotime) are not supported." +msgstr "Les objets de la classe S4 (sauf nanotime) ne sont pas pris en charge." + +#: fifelse.c:24 +#, c-format +msgid "" +"Length of 'yes' is % but must be 1 or length of 'test' (%)." +msgstr "" +"La longueur de 'yes' est % mais doit être égale à 1 ou à la longueur " +"de 'test' (%)." + +#: fifelse.c:26 +#, c-format +msgid "" +"Length of 'no' is % but must be 1 or length of 'test' (%)." +msgstr "" +"La longueur de 'no' est % mais doit être 1 ou la longueur de 'test' " +"(%)." + +#: fifelse.c:28 +#, c-format +msgid "" +"Length of 'na' is % but must be 1 or length of 'test' (%)." +msgstr "" +"La longueur de 'na' est % mais doit être 1 ou la longueur de 'test' " +"(%)." + +#: fifelse.c:46 +#, c-format +msgid "" +"'no' is of type %s but '%s' is %s. Please make all arguments have the same " +"type." +msgstr "" +"'no' est de type %s mais '%s' est de type %s. Veuillez faire en sorte que " +"tous les arguments aient le même type." + +#: fifelse.c:52 +#, c-format +msgid "" +"'na' is of type %s but '%s' is %s. Please make all arguments have the same " +"type." +msgstr "" +"'na' est de type %s mais '%s' est de type %s. Veuillez faire en sorte que " +"tous les arguments aient le même type." + +#: fifelse.c:57 +msgid "" +"'yes' has different class than 'no'. Please make sure that both arguments " +"have the same class." +msgstr "" +"la classe de 'yes' est différente de celle de 'no'. Veuillez vous assurer " +"que les deux arguments ont la même classe." + +#: fifelse.c:62 +msgid "" +"'yes' has different class than 'na'. Please make sure that both arguments " +"have the same class." +msgstr "" +"la classe de 'yes' est différente de celle de 'na'. Veuillez vous assurer " +"que les deux arguments ont la même classe." + +#: fifelse.c:67 +msgid "" +"'no' has different class than 'na'. Please make sure that both arguments " +"have the same class." +msgstr "" +"la classe de 'no' est différente de celle de 'na'. Veuillez vous assurer que " +"les deux arguments ont la même classe." + +#: fifelse.c:74 +msgid "'yes' and 'no' are both type factor but their levels are different." +msgstr "" +"'oui' et 'non' sont tous les deux de type facteur, mais leurs niveaux sont " +"différents." + +#: fifelse.c:79 +msgid "'yes' and 'na' are both type factor but their levels are different." +msgstr "" +"'oui' et 'na' sont tous les deux de type facteur, mais leurs niveaux sont " +"différents." + +#: fifelse.c:84 +msgid "'no' and 'na' are both type factor but their levels are different." +msgstr "" +"'no' et 'na' sont tous les deux de type facteur, mais leurs niveaux sont " +"différents." + +#: fifelse.c:207 +#, c-format +msgid "" +"Received %d inputs; please supply an even number of arguments in ..., " +"consisting of logical condition, resulting value pairs (in that order). Note " +"that the default argument must be named explicitly, e.g., default=0" +msgstr "" +"A reçu %d entrées ; veuillez fournir un nombre pair d'arguments dans ..., " +"consistant en une condition logique, et des paires de valeur de résultats " +"(dans cet ordre). Notez que l'argument par défaut doit être nommé " +"explicitement, par exemple, default=0" + +#: fifelse.c:227 +msgid "" +"S4 class objects (except nanotime) are not supported. Please see https://" +"github.com/Rdatatable/data.table/issues/4131." +msgstr "" +"Les objets de la classe S4 (sauf nanotime) ne sont pas pris en charge. " +"Veuillez consulter https://github.com/Rdatatable/data.table/issues/4131." + +#: fifelse.c:230 +#, c-format +msgid "Argument #%d must be logical but was of type %s." +msgstr "L'argument #%d doit être booléen, mais il est de type %s." + +#: fifelse.c:248 +#, c-format +msgid "" +"Argument #%d has length %lld which differs from that of argument #1 (%lld). " +"Please make sure all logical conditions have the same length." +msgstr "" +"L'argument #%d a une longueur %lld différente de l'argument #1 (%lld). " +"Veillez à ce que toutes les conditions logiques aient la même longueur." + +#: fifelse.c:254 +#, c-format +msgid "" +"Resulting value is of type %s but 'default' is of type %s. Please make sure " +"that both arguments have the same type." +msgstr "" +"La valeur résultat est de type %s mais 'default' est de type %s. Veuillez " +"vous assurer que les deux arguments ont le même type." + +#: fifelse.c:257 +#, c-format +msgid "" +"Argument #%d is of type %s, however argument #2 is of type %s. Please make " +"sure all output values have the same type." +msgstr "" +"L'argument #%d est de type %s, mais l'argument #2 est de type %s. Veuillez " +"vous assurer que toutes les valeurs de sortie ont le même type." + +#: fifelse.c:265 +msgid "" +"Resulting value has different class than 'default'. Please make sure that " +"both arguments have the same class." +msgstr "" +"La valeur résultat a une classe différente de celle de 'default'. Veuillez " +"vous assurer que les deux arguments ont la même classe." + +#: fifelse.c:268 +#, c-format +msgid "" +"Argument #%d has different class than argument #2, Please make sure all " +"output values have the same class." +msgstr "" +"L'argument #%d n'est pas de la même classe que l'argument #2, veuillez vous " +"assurer que toutes les valeurs de sortie ont la même classe." + +#: fifelse.c:277 +msgid "" +"Resulting value and 'default' are both type factor but their levels are " +"different." +msgstr "" +"La valeur résultat et la valeur 'default' sont toutes deux des facteurs, " +"mais leurs niveaux sont différents." + +#: fifelse.c:279 +#, c-format +msgid "" +"Argument #2 and argument #%d are both factor but their levels are different." +msgstr "" +"L'argument #2 et l'argument #%d sont tous deux des facteurs, mais leurs " +"niveaux sont différents." + +#: fifelse.c:288 +#, c-format +msgid "Length of 'default' must be 1 or %lld." +msgstr "La longueur de 'default' doit être de 1 ou %lld." + +#: fifelse.c:290 +#, c-format +msgid "" +"Length of output value #%d (%lld) must either be 1 or match the length of " +"the logical condition (%lld)." +msgstr "" +"La longueur de la valeur de sortie #%d (%lld) doit être soit 1, soit la " +"longueur de la condition logique (%lld)." + +#: fifelse.c:395 +#, c-format +msgid "Type '%s' is not supported." +msgstr "Le type '%s' n'est pas pris en charge." + +#: fmelt.c:18 +msgid "'x' must be an integer" +msgstr "'x' doit être un nombre entier" + +#: fmelt.c:19 +msgid "'n' must be a positive integer" +msgstr "'n' doit être un nombre entier positif" + +#: fmelt.c:41 +msgid "Argument to 'which' must be logical" +msgstr "L'argument passé à 'which' doit être booléen" + +#: fmelt.c:65 +msgid "concat: 'vec' must be a character vector" +msgstr "concat : 'vec' doit être un vecteur de caractères" + +#: fmelt.c:66 +msgid "concat: 'idx' must be an integer vector of length >= 0" +msgstr "concat : 'idx' doit être un vecteur entier de longueur >= 0" + +#: fmelt.c:134 +#, c-format +msgid "Unknown 'measure.vars' type %s at index %d of list" +msgstr "Type inconnu de 'measure.vars' %s à l'indice %d de la liste" + +#: fmelt.c:187 +msgid "One or more values in 'measure.vars' is invalid." +msgstr "Une ou plusieurs valeurs de 'measure.vars' ne sont pas valides." + +#: fmelt.c:189 +msgid "One or more values in 'id.vars' is invalid." +msgstr "Une ou plusieurs valeurs de 'id.vars' ne sont pas valides." + +#: fmelt.c:213 +#, c-format +msgid "" +"Unknown 'measure.vars' type %s, must be character or integer vector/list" +msgstr "" +"Le type de 'measure.vars' %s est inconnu, ça doit être un vecteur/list de " +"caractères ou d'entiers" + +#: fmelt.c:215 +#, c-format +msgid "Unknown 'id.vars' type %s, must be character or integer vector" +msgstr "" +"Le type de 'id.vars' %s est inconnu, ça doit être un vecteur de caractères " +"ou d'entiers" + +#: fmelt.c:240 +#, c-format +msgid "" +"id.vars and measure.vars are internally guessed when both are 'NULL'. All " +"non-numeric/integer/logical type columns are considered id.vars, which in " +"this case are columns [%s]. Consider providing at least one of 'id' or " +"'measure' vars in future." +msgstr "" +"id.vars et measure.vars sont devinés en interne lorsqu'ils sont tous deux " +"'NULL'. Toutes les colonnes de type non numérique/entier/booléen sont " +"considérées comme des id.vars, qui dans ce cas sont des colonnes [%s]. " +"Envisagez de fournir au moins l'une des variables 'id' ou 'measure' à " +"l'avenir." + +#: fmelt.c:246 +msgid "" +"'measure.vars' is missing. Assigning all columns other than 'id.vars' " +"columns as 'measure.vars'.\n" +msgstr "" +"'measure.vars' est manquant. Affectation de toutes les colonnes autres que " +"les colonnes 'id.vars' à 'measure.vars'.\n" + +#: fmelt.c:248 +#, c-format +msgid "Assigned 'measure.vars' are [%s].\n" +msgstr "Les 'measure.vars' attribués sont [%s].\n" + +#: fmelt.c:259 +msgid "" +"'id.vars' is missing. Assigning all columns other than 'measure.vars' " +"columns as 'id.vars'.\n" +msgstr "" +"'id.vars' est manquant. Affectation de toutes les colonnes autres que les " +"colonnes 'measure.vars' à 'id.vars'.\n" + +#: fmelt.c:260 +#, c-format +msgid "Assigned 'id.vars' are [%s].\n" +msgstr "Les 'id.vars' attribués sont [%s].\n" + +#: fmelt.c:314 +msgid "" +"When 'measure.vars' is a list, 'value.name' must be a character vector of " +"length =1 or =length(measure.vars)." +msgstr "" +"Lorsque 'measure.vars' est une liste, 'value.name' doit être un vecteur de " +"caractères de longueur =1 ou =length(measure.vars)." + +#: fmelt.c:315 +msgid "" +"When 'measure.vars' is either not specified or a character/integer vector, " +"'value.name' must be a character vector of length =1." +msgstr "" +"Lorsque 'measure.vars' n'est pas spécifié ou qu'il s'agit d'un vecteur de " +"caractères/de nombres entiers, 'value.name' doit être un vecteur de " +"caractères de longueur =1." + +#: fmelt.c:318 +msgid "'variable.name' must be a character/integer vector of length 1." +msgstr "" +"'variable.name' doit être un vecteur de caractères/entiers de longueur 1." + +#: fmelt.c:371 +msgid "" +"variable_table attribute of measure.vars should be a data table with at " +"least one column" +msgstr "" +"l'attribut variable_table de measure.vars doit être un tableau de données " +"comportant au moins une colonne" + +#: fmelt.c:376 +#, c-format +msgid "" +"variable_table attribute of measure.vars should be a data table with same " +"number of rows as max length of measure.vars vectors =%d" +msgstr "" +"l'attribut variable_table de measure.vars doit être un tableau de données " +"avec le même nombre de lignes que la longueur maximale de measure.vars " +"vectors =%d" + +#: fmelt.c:380 +msgid "" +"variable_table attribute of measure.vars should be either NULL or a data " +"table" +msgstr "" +"l'attribut variable_table de measure.vars doit être soit NULL, soit un " +"tableau de données" + +#: fmelt.c:463 +#, c-format +msgid "" +"'measure.vars' [%s] are not all of the same type. By order of hierarchy, the " +"molten data value column will be of type '%s'. All measure variables not of " +"type '%s' will be coerced too. Check DETAILS in ?melt.data.table for more on " +"coercion.\n" +msgstr "" +"les colonnes 'measure.vars' [%s] ne sont pas toutes du même type. Par ordre " +"hiérarchique, la colonne de valeurs des données transformée sera de type " +"'%s'. Toutes les variables de mesure qui ne sont pas de type '%s' seront " +"également converties automatiquement. Consultez DETAILS dans ?melt.data." +"table pour en savoir plus sur la conversion automatique.\n" + +#: fmelt.c:575 +#, c-format +msgid "Unknown column type '%s' for column '%s'." +msgstr "Type de colonne inconnu '%s' pour la colonne '%s'." + +#: fmelt.c:685 +#, c-format +msgid "variable_table does not support column type '%s' for column '%s'." +msgstr "" +"variable_table ne prend pas en charge le type de colonne '%s' pour la " +"colonne '%s'." + +#: fmelt.c:779 +#, c-format +msgid "Unknown column type '%s' for column '%s' in 'data'" +msgstr "Type de colonne inconnu '%s' pour la colonne '%s' dans 'data'" + +#: fmelt.c:790 +msgid "Input is not of type VECSXP, expected a data.table, data.frame or list" +msgstr "" +"L'entrée n'est pas de type VECSXP, un data.table, un data.frame ou une liste " +"est attendu" + +#: fmelt.c:791 +msgid "Argument 'value.factor' should be logical TRUE/FALSE" +msgstr "L'argument 'value.factor' doit être booléen TRUE/FALSE" + +#: fmelt.c:792 +msgid "Argument 'variable.factor' should be logical TRUE/FALSE" +msgstr "L'argument 'variable.factor' doit être booléen TRUE/FALSE" + +#: fmelt.c:793 +msgid "Argument 'na.rm' should be logical TRUE/FALSE." +msgstr "L'argument 'na.rm' doit être booléen TRUE/FALSE." + +#: fmelt.c:794 +msgid "Argument 'variable.name' must be a character vector" +msgstr "L'argument 'variable.name' doit être un vecteur de caractères" + +#: fmelt.c:795 +msgid "Argument 'value.name' must be a character vector" +msgstr "L'argument 'value.name' doit être un vecteur de caractères" + +#: fmelt.c:796 +msgid "Argument 'verbose' should be logical TRUE/FALSE" +msgstr "L'argument 'verbose' doit être un booléen TRUE/FALSE" + +#: fmelt.c:800 +msgid "ncol(data) is 0. Nothing to melt. Returning original data.table." +msgstr "" +"ncol(data) est 0. Rien à transformer. Renvoi du tableau de données original." + +#: fmelt.c:805 +msgid "names(data) is NULL. Please report to data.table-help" +msgstr "names(data) est NULL. Veuillez signaler ce problème à data.table-help" + +#: forder.c:111 fread.c:2587 utils.c:446 +msgid "Internal error in" +msgstr "Erreur interne dans" + +#: forder.c:111 utils.c:446 +msgid "Please report to the data.table issues tracker." +msgstr "" +"Veuillez signaler l'erreur au gestionnaire de tickets (issue tracker) de " +"data.table." + +#: forder.c:121 +#, c-format +msgid "Failed to realloc thread private group size buffer to %d*4bytes" +msgstr "" +"Échec de la réallocation à %d*4 octets de la mémoire tampon du thread du " +"groupe privé" + +#: forder.c:135 +#, c-format +msgid "Failed to realloc group size result to %d*4bytes" +msgstr "" +"Échec de la réallocation du résultat de la taille du groupe à %d*4 octets" + +#: forder.c:269 +#, c-format +msgid "" +"Logical error. counts[0]=%d in cradix but should have been decremented to 0. " +"radix=%d" +msgstr "" +"Erreur logique. counts[0]=%d dans cradix mais aurait dû être décrémenté à 0. " +"radix=%d" + +#: forder.c:287 +msgid "Failed to alloc cradix_counts and/or cradix_tmp" +msgstr "Échec de l'allocation de cradix_counts et/ou cradix_tmp" + +#: forder.c:320 +#, c-format +msgid "Unable to realloc %d * %d bytes in range_str" +msgstr "Impossible de réallouer %d * %d octets dans range_str" + +#: forder.c:347 +msgid "Failed to alloc ustr3 when converting strings to UTF8" +msgstr "" +"Échec de l'allocation de ustr3 lors de la conversion de chaînes de " +"caractères en UTF8" + +#: forder.c:366 +msgid "Failed to alloc tl when converting strings to UTF8" +msgstr "" +"Échec de l'allocation de tl lors de la conversion de chaînes de caractères " +"en UTF8" + +#: forder.c:395 +msgid "Must an integer or numeric vector length 1" +msgstr "Doit être un entier ou un tableau numérique de longueur 1" + +#: forder.c:396 +msgid "Must be 2, 1 or 0" +msgstr "Doit être égal à 2, 1 ou 0" + +#: forder.c:431 +msgid "Unknown non-finite value; not NA, NaN, -Inf or +Inf" +msgstr "Valeur inconnue (non-finie) ; pas NA, NaN, -Inf ou +Inf" + +#: forder.c:457 +msgid "" +"Input is an atomic vector (not a list of columns) but order= is not a length " +"1 integer" +msgstr "" +"L'entrée est un vecteur atomique (pas une liste de colonnes) mais order= " +"n'est pas un entier de longueur 1" + +#: forder.c:459 +#, c-format +msgid "forder.c received a vector type '%s' length %d\n" +msgstr "forder.c a reçu un vecteur de type '%s' de longueur %d\n" + +#: forder.c:467 +#, c-format +msgid "forder.c received %d rows and %d columns\n" +msgstr "forder.c a reçu %d lignes et %d colonnes\n" + +#: forder.c:477 +#, c-format +msgid "'order' length (%d) is different to by='s length (%d)" +msgstr "La longueur de 'order' (%d) est différente de la longueur de by= (%d)" + +#: forder.c:491 +#, c-format +msgid "" +"Column %d is length %d which differs from length of column 1 (%d), are you " +"attempting to order by a list column?\n" +msgstr "" +"La colonne %d a une longueur %d qui diffère de la longueur de la colonne 1 " +"(%d), essayez-vous d'ordonner par une colonne de type liste ?\n" + +#: forder.c:495 +msgid "retGrp must be TRUE or FALSE" +msgstr "retGrp doit être TRUE ou FALSE" + +#: forder.c:498 +msgid "retStats must be TRUE or FALSE" +msgstr "retStats doit être TRUE ou FALSE" + +#: forder.c:503 +msgid "sort must be TRUE or FALSE" +msgstr "sort doit être TRUE ou FALSE" + +#: forder.c:506 +msgid "At least one of retGrp= or sort= must be TRUE" +msgstr "Au moins l'un des deux, retGrp= ou sort=, doit être TRUE" + +#: forder.c:508 +msgid "na.last must be logical TRUE, FALSE or NA of length 1" +msgstr "na.last doit être un booléen TRUE, FALSE ou NA de longueur 1" + +#: forder.c:542 forder.c:656 +#, c-format +msgid "Unable to allocate % bytes of working memory" +msgstr "Impossible d'allouer % octets de mémoire de travail" + +#: forder.c:560 +#, c-format +msgid "Item %d of order (ascending/descending) is %d. Must be +1 or -1." +msgstr "" +"L'élément %d dans l’ordre (croissant/décroissant) est %d. Il doit être égale " +"à +1 ou -1." + +#: forder.c:586 +#, c-format +msgid "" +"\n" +"*** Column %d passed to forder is a date stored as an 8 byte double but no " +"fractions are present. Please consider a 4 byte integer date such as IDate " +"to save space and time.\n" +msgstr "" +"\n" +"*** La colonne %d transmise à ‘forder’ est une date stockée sous la forme " +"d'un ‘double’ (nombre à virgule flottante) de 8 octets, mais aucune fraction " +"n'est présente. Pour gagner du temps et de l'espace mémoire, il est " +"préférable d'utiliser une date entière sur 4 octets, telle que IDate.\n" + +#: forder.c:602 +#, c-format +msgid "Column %d passed to [f]order is type '%s', not yet supported." +msgstr "" +"La colonne %d transmise à '[f]order' est de type '%s', type non encore pris " +"en charge." + +#: forder.c:771 +#, c-format +msgid "nradix=%d\n" +msgstr "nradix=%d\n" + +#: forder.c:780 +#, c-format +msgid "" +"Failed to allocate TMP or UGRP or they weren't cache line aligned: nth=%d" +msgstr "" +"Échec de l'allocation de TMP ou UGRP ou ils n'étaient pas alignés sur la " +"ligne de cache : nth=%d" + +#: forder.c:789 +msgid "Could not allocate (very tiny) group size thread buffers" +msgstr "" +"Impossible d’allouer la mémoire tampon du thread pour des (très petites) " +"tailles de groupes" + +#: forder.c:857 +#, c-format +msgid "Timing block %2d%s = %8.3f %8d\n" +msgstr "Bloc de synchronisation %2d%s = %8.3f %8d\n" + +#: forder.c:860 +#, c-format +msgid "stat[%03d]==%20\n" +msgstr "stat[%03d]==%20\n" + +#: forder.c:908 forder.c:978 forder.c:1000 forder.c:1102 forder.c:1233 +#: forder.c:1289 fread.c:2573 +#, c-format +msgid "Failed to allocate %d bytes for '%s'." +msgstr "Échec de l'allocation de %d octets pour '%s'." + +#: forder.c:1133 +#, c-format +msgid "Failed to allocate parallel counts. my_n=%d, nBatch=%d" +msgstr "Échec de l'allocation des comptages parallèles. my_n=%d, nBatch=%d" + +#: forder.c:1145 +#, c-format +msgid "Failed to allocate 'my_otmp' and/or 'my_ktmp' arrays (%d bytes)." +msgstr "" +"Échec de l'allocation des tableaux 'my_otmp' et/ou 'my_ktmp' (%d octets)." + +#: forder.c:1250 +#, c-format +msgid "Unable to allocate TMP for my_n=%d items in parallel batch counting" +msgstr "" +"Impossible d'allouer un TMP pour my_n=%d éléments dans le comptage par lots " +"en parallèle" + +#: forder.c:1365 forder.c:1416 +#, c-format +msgid "issorted 'by' [%d] out of range [1,%d]" +msgstr "issorted 'by' [%d] en dehors de l’intervalle [1,%d]" + +#: forder.c:1370 +msgid "is.sorted does not work on list columns" +msgstr "is.sorted ne fonctionne pas sur les colonnes de type liste" + +#: forder.c:1403 forder.c:1433 forder.c:1467 +#, c-format +msgid "type '%s' is not yet supported" +msgstr "le type '%s' n'est pas encore pris en charge" + +#: forder.c:1480 +msgid "x must be either NULL or an integer vector" +msgstr "x doit être NULL ou un vecteur entier" + +#: forder.c:1482 +msgid "nrow must be integer vector length 1" +msgstr "nrow doit être un vecteur d’entiers de longueur 1" + +#: forder.c:1484 +#, c-format +msgid "nrow==%d but must be >=0" +msgstr "nrow==%d mais doit être >=0" + +#: forder.c:1501 +msgid "x must be type 'double'" +msgstr "x doit être de type ‘double’ (nombre à virgule flottante)" + +#: frank.c:14 frank.c:192 +#, c-format +msgid "Item %d of 'cols' is %d which is outside 1-based range [1,ncol(x)=%d]" +msgstr "" +"L'élément %d de 'cols' est %d, ce qui est en dehors de l'intervalle [1," +"ncol(x)=%d]" + +#: frank.c:24 frank.c:200 +#, c-format +msgid "" +"Column %d of input list x is length %d, inconsistent with first column of " +"that item which is length %d." +msgstr "" +"La colonne %d de la liste d'entrée x est de longueur %d, ce qui est " +"incompatible avec la première colonne de cet élément qui est de longueur %d." + +#: frank.c:101 frank.c:234 transpose.c:97 +#, c-format +msgid "Unsupported column type '%s'" +msgstr "Type de colonne non prise en charge ‘%s’" + +#: fread.c:154 +#, c-format +msgid "System error %lu unmapping view of file\n" +msgstr "Erreur système %lu : annulation du mappage de la vue du fichier\n" + +#: fread.c:157 +#, c-format +msgid "System errno %d unmapping file: %s\n" +msgstr "Erreur système %d annulation du mappage du fichier : %s\n" + +#: fread.c:446 +#, c-format +msgid "Unable to allocate %s of contiguous virtual RAM. %s allocation." +msgstr "Impossible d'allouer %s de RAM virtuelle contiguë. Allocation de %s." + +#: fread.c:451 +#, c-format +msgid "Avoidable %.3f seconds. %s time to copy.\n" +msgstr "%.3f secondes évitables. %s temps de copie.\n" + +#: fread.c:452 +#, c-format +msgid " File copy in RAM took %.3f seconds.\n" +msgstr " La copie du fichier dans la RAM a pris %.3f secondes.\n" + +#: fread.c:1283 +msgid "" +"Previous fread() session was not cleaned up properly. Cleaned up ok at the " +"beginning of this fread() call.\n" +msgstr "" +"La session fread() précédente n'a pas été nettoyée correctement. Elle a été " +"correctement nettoyé au début de cet appel à fread().\n" + +#: fread.c:1286 +msgid "[01] Check arguments\n" +msgstr "[01] Vérifier les arguments\n" + +#: fread.c:1293 +#, c-format +msgid " Using %d threads (omp_get_max_threads()=%d, nth=%d)\n" +msgstr " Utilisation de %d threads (omp_get_max_threads()=%d, nth=%d)\n" + +#: fread.c:1315 +#, c-format +msgid "freadMain: NAstring <<%s>> has whitespace at the beginning or end" +msgstr "freadMain : NAstring <<%s>> contient des espaces au début ou à la fin" + +#: fread.c:1319 +#, c-format +msgid "" +"freadMain: NAstring <<%s>> is recognized as type boolean, this is not " +"permitted." +msgstr "" +"freadMain : NAstring <<%s>> est reconnu comme étant de type booléen, ce qui " +"n'est pas autorisé." + +#: fread.c:1321 +#, c-format +msgid "freadMain: NAstring <<%s>> and logical01=TRUE, this is not permitted." +msgstr "freadMain : NAstring <<%s>> et logical01=TRUE, ce n'est pas autorisé." + +#: fread.c:1333 +msgid " No NAstrings provided.\n" +msgstr " Aucun NAstrings n'est fourni.\n" + +#: fread.c:1335 +msgid " NAstrings = [" +msgstr " NAstrings = [" + +#: fread.c:1338 +msgid "]\n" +msgstr "]\n" + +#: fread.c:1340 +msgid " One or more of the NAstrings looks like a number.\n" +msgstr " Une ou plusieurs des NAstrings ressemblent à un nombre.\n" + +#: fread.c:1342 +msgid " None of the NAstrings look like numbers.\n" +msgstr " Aucun des NAstrings ne ressemble à un nombre.\n" + +#: fread.c:1344 +#, c-format +msgid " skip num lines = %\n" +msgstr " saute au numéro de lignes = %\n" + +#: fread.c:1345 +#, c-format +msgid " skip to string = <<%s>>\n" +msgstr " passer à la chaîne de caractères = <<%s>>\n" + +#: fread.c:1346 +#, c-format +msgid " show progress = %d\n" +msgstr " afficher l'état d'avancement = %d\n" + +#: fread.c:1347 +#, c-format +msgid " 0/1 column will be read as %s\n" +msgstr " la colonne 0/1 sera lue comme %s\n" + +#: fread.c:1359 +#, c-format +msgid "sep == quote ('%c') is not allowed" +msgstr "sep == quote ('%c') n'est pas autorisé" + +#: fread.c:1360 +#, c-format +msgid "sep == dec ('%c') is not allowed" +msgstr "sep == dec ('%c') n'est pas autorisé" + +#: fread.c:1361 +#, c-format +msgid "quote == dec ('%c') is not allowed" +msgstr "quote == dec ('%c') n'est pas autorisé" + +#: fread.c:1378 +msgid "[02] Opening the file\n" +msgstr "[02] Ouverture du fichier\n" + +#: fread.c:1381 +msgid "" +" `input` argument is provided rather than a file name, interpreting as raw " +"text to read\n" +msgstr "" +" l'argument ‘input’ est fourni au lieu d'un nom de fichier, ce qui est " +"interprété comme du texte brut à lire\n" + +#: fread.c:1388 +#, c-format +msgid " Opening file %s\n" +msgstr " Ouverture du fichier %s\n" + +#: fread.c:1392 fread.c:1421 +#, c-format +msgid "File not found: %s" +msgstr "Le fichier n'a pas été trouvé : %s" + +#: fread.c:1396 +#, c-format +msgid "Opened file ok but couldn't obtain its size: %s" +msgstr "" +"Ouverture du fichier correcte mais impossibilité d'obtenir sa taille : %s" + +#: fread.c:1399 fread.c:1431 +#, c-format +msgid "File is empty: %s" +msgstr "Le fichier est vide : %s" + +#: fread.c:1400 fread.c:1432 +#, c-format +msgid " File opened, size = %s.\n" +msgstr " Fichier ouvert, taille = %s.\n" + +#: fread.c:1427 +#, c-format +msgid "Unable to open file after %d attempts (error %lu): %s" +msgstr "Impossible d'ouvrir le fichier après %d tentatives (erreur %lu) : %s" + +#: fread.c:1429 +#, c-format +msgid "GetFileSizeEx failed (returned 0) on file: %s" +msgstr "GetFileSizeEx a échoué (a retourné 0) sur le fichier : %s" + +#: fread.c:1434 +#, c-format +msgid "This is Windows, CreateFileMapping returned error %lu for file %s" +msgstr "" +"C'est Windows, CreateFileMapping a renvoyé l'erreur %lu pour le fichier %s" + +#: fread.c:1441 +#, c-format +msgid "" +"Opened %s file ok but could not memory map it. This is a %dbit process. %s." +msgstr "" +"Le fichier %s s'est ouvert correctement, mais il n'a pas été possible de le " +"mapper avec la mémoire. Il s'agit d'un processus %dbit. %s." + +#: fread.c:1442 +msgid "Please upgrade to 64bit" +msgstr "Veuillez passer à la version 64 bits" + +#: fread.c:1442 +msgid "There is probably not enough contiguous virtual memory available" +msgstr "" +"Il n'y a probablement pas assez de mémoire virtuelle contiguë disponible" + +#: fread.c:1445 +msgid " Memory mapped ok\n" +msgstr " Mémoire mappée ok\n" + +#: fread.c:1464 +msgid "[03] Detect and skip BOM\n" +msgstr "[03] Détecte et saute le BOM (indicateur d’ordre des octets)\n" + +#: fread.c:1468 +msgid "" +" UTF-8 byte order mark EF BB BF found at the start of the file and " +"skipped.\n" +msgstr "" +" UTF-8 BOM (indicateur d’ordre des octets) EF BB BF trouvé au début du " +"fichier et ignoré.\n" + +#: fread.c:1473 +msgid "" +"GB-18030 encoding detected, however fread() is unable to decode it. Some " +"character fields may be garbled.\n" +msgstr "" +"L'encodage GB-18030 a été détecté, mais fread() n'est pas en mesure de le " +"décoder. Certains champs de caractères peuvent être corrompus.\n" + +#: fread.c:1476 +msgid "" +"File is encoded in UTF-16, this encoding is not supported by fread(). Please " +"recode the file to UTF-8." +msgstr "" +"Le fichier est encodé en UTF-16, cet encodage n'est pas supporté par " +"fread(). Veuillez réencoder le fichier en UTF-8." + +#: fread.c:1481 +#, c-format +msgid " Last byte(s) of input found to be %s and removed.\n" +msgstr "" +" Le(s) dernier(s) octet(s) de l'entrée est (sont) %s et a (ont) été " +"supprimé(s).\n" + +#: fread.c:1484 +msgid "Input is empty or only contains BOM or terminal control characters" +msgstr "" +"L'entrée est vide ou ne contient que le BOM (indicateur d’ordre des octets) " +"ou des caractères de séquence d’échappement" + +#: fread.c:1491 +msgid "[04] Arrange mmap to be \\0 terminated\n" +msgstr "[04] Organiser mmap pour être terminé par \\0 \n" + +#: fread.c:1498 +msgid "" +" No \\n exists in the file at all, so single \\r (if any) will be taken as " +"one line ending. This is unusual but will happen normally when there is no " +"\\r either; e.g. a single line missing its end of line.\n" +msgstr "" +" Il n'y a aucun \\n dans le fichier, de sorte qu'un \\r seul (s'il y en a " +"un) sera considéré comme une fin de ligne. Ceci est inhabituel mais se " +"produit normalement lorsqu'il n'y a pas non plus de \\r ; par exemple, une " +"seule ligne qui n'a pas de fin de ligne.\n" + +#: fread.c:1499 +msgid "" +" \\n has been found in the input and different lines can end with different " +"line endings (e.g. mixed \\n and \\r\\n in one file). This is common and " +"ideal.\n" +msgstr "" +" \\n a été trouvé dans l'entrée et différentes lignes peuvent se terminer " +"par des fins de ligne différentes (par exemple, \\n et \\r\\n mélangés dans " +"un fichier). Cette situation est courante et idéale.\n" + +#: fread.c:1523 +#, c-format +msgid "" +" File ends abruptly with '%c'. Final end-of-line is missing. Using cow page " +"to write 0 to the last byte.\n" +msgstr "" +" Le fichier se termine brusquement par '%c'. La fin de ligne est manquante. " +"Utilisation d'une page ‘Copy-On-Write’ pour écrire 0 sur le dernier octet.\n" + +#: fread.c:1529 +msgid "" +"This file is very unusual: it ends abruptly without a final newline, and " +"also its size is a multiple of 4096 bytes. Please properly end the last row " +"with a newline using for example 'echo >> file' to avoid this " +msgstr "" +"Ce fichier est très inhabituel : il se termine brusquement sans nouvelle " +"ligne finale et sa taille est un multiple de 4096 octets. Veuillez terminer " +"correctement la dernière ligne par une nouvelle ligne en utilisant par " +"exemple 'echo >> file’ pour éviter ce problème " + +#: fread.c:1530 +#, c-format +msgid " File ends abruptly with '%c'. Copying file in RAM. %s copy.\n" +msgstr "" +" Le fichier se termine brusquement par '%c'. Copie d'un fichier en RAM. %s " +"copie.\n" + +#: fread.c:1564 +msgid "[05] Skipping initial rows if needed\n" +msgstr "[05] Sauter les premières lignes si nécessaire\n" + +#: fread.c:1570 +#, c-format +msgid "" +"skip='%s' not found in input (it is case sensitive and literal; i.e., no " +"patterns, wildcards or regex)" +msgstr "" +"skip='%s' n'a pas été trouvé dans l'entrée (il est sensible à la casse et " +"littéral, c'est-à-dire qu'il n'y a pas de motifs, de caractères génériques " +"ou d'expressions rationnelles)" + +#: fread.c:1576 +#, c-format +msgid "" +"Found skip='%s' on line %. Taking this to be header row or first row " +"of data.\n" +msgstr "" +"A trouvé skip='%s' sur la ligne %. Il s'agit de la ligne d'en-tête " +"ou de la première ligne de données.\n" + +#: fread.c:1589 +#, c-format +msgid " Skipped to line % in the file" +msgstr " A Sauté à la ligne % dans le fichier" + +#: fread.c:1590 +#, c-format +msgid "skip=% but the input only has % line%s" +msgstr "skip=% mais l'entrée ne contient que la ligne %%s" + +#: fread.c:1599 +msgid "" +"Input is either empty, fully whitespace, or skip has been set after the last " +"non-whitespace." +msgstr "" +"L'entrée est soit vide, soit pleine d'espaces blancs, soit le saut a été " +"activé après le dernier espace non blanc." + +#: fread.c:1601 +#, c-format +msgid " Moved forward to first non-blank line (%d)\n" +msgstr " A avancé à la première ligne non vide (%d)\n" + +#: fread.c:1602 +#, c-format +msgid " Positioned on line %d starting: <<%s>>\n" +msgstr " Positionné sur la ligne %d à partir de : <<%s>>\n" + +#: fread.c:1624 +msgid "[06] Detect separator, quoting rule, and ncolumns\n" +msgstr "[06] Détecte le séparateur, la règle des guillemets et ‘ncolumns’\n" + +#: fread.c:1628 +msgid " sep='\\n' passed in meaning read lines as single character column\n" +msgstr "" +" sep='\\n' passé en argument, ce qui signifie que les lignes sont lues " +"comme une seule colonne de caractères\n" + +#: fread.c:1647 +msgid " Detecting sep automatically ...\n" +msgstr " Détection automatique du séparateur ...\n" + +#: fread.c:1654 +#, c-format +msgid " Using supplied sep '%s'\n" +msgstr " Utilisation du séparateur fourni '%s'\n" + +#: fread.c:1688 +#, c-format +msgid " with %d fields using quote rule %d\n" +msgstr " avec des champs %d en utilisant la règle des guillemets %d\n" + +#: fread.c:1738 +#, c-format +msgid " with %d lines of %d fields using quote rule %d\n" +msgstr "" +" avec %d lignes de %d champs en utilisant la règle des guillemets %d\n" + +#: fread.c:1745 +msgid "" +" No sep and quote rule found a block of 2x2 or greater. Single column " +"input.\n" +msgstr "" +" Aucune règle de séparateur et de guillemets n'a été trouvée dans un bloc " +"de taille 2 x 2 ou plus. Saisie d'une seule colonne.\n" + +#: fread.c:1761 +msgid "" +"Single column input contains invalid quotes. Self healing only effective " +"when ncol>1" +msgstr "" +"La saisie d'une seule colonne contient des guillemets non valides. L'auto-" +"réparation n'est effective que lorsque ncol>1" + +#: fread.c:1766 +#, c-format +msgid "" +"Found and resolved improper quoting in first %d rows. If the fields are not " +"quoted (e.g. field separator does not appear within any field), try " +"quote=\"\" to avoid this warning." +msgstr "" +"Une erreur de guillemets a été détectée et résolue dans les %d premières " +"lignes. Si les champs ne sont pas entre guillemets (par exemple, le " +"séparateur de champ n'apparaît dans aucun champ), essayez quote=\"\" pour " +"éviter cet avis." + +#: fread.c:1787 +#, c-format +msgid "" +" Detected %d columns on line %d. This line is either column names or first " +"data row. Line starts as: <<%s>>\n" +msgstr "" +" Détection de %d colonnes sur la ligne %d. Cette ligne est soit le nom des " +"colonnes, soit la première ligne des données. La ligne commence comme suit : " +"<<%s>>\n" + +#: fread.c:1789 +#, c-format +msgid " Quote rule picked = %d\n" +msgstr " Règle de guillemets choisie = %d\n" + +#: fread.c:1790 +#, c-format +msgid " fill=%s and the most number of columns found is %d\n" +msgstr " fill=%s et le plus grand nombre de colonnes trouvées est %d\n" + +#: fread.c:1796 +msgid "" +"This file is very unusual: it's one single column, ends with 2 or more end-" +"of-line (representing several NA at the end), and is a multiple of 4096, too." +msgstr "" +"Ce fichier est très inhabituel : il ne comporte qu'une seule colonne, se " +"termine par 2 ou plusieurs fins de ligne (représentant plusieurs NA à la " +"fin), et est également un multiple de 4096." + +#: fread.c:1797 +#, c-format +msgid " Copying file in RAM. %s\n" +msgstr " Copie du fichier dans la RAM. %s\n" + +#: fread.c:1803 +msgid "" +" 1-column file ends with 2 or more end-of-line. Restoring last eol using " +"extra byte in cow page.\n" +msgstr "" +" un fichier à 1 colonne se termine par 2 fins de ligne ou plus. " +"Restauration de la dernière ligne en utilisant un octet supplémentaire dans " +"la page ‘Copy-On-Write’.\n" + +#: fread.c:1822 +msgid "" +"[07] Detect column types, dec, good nrow estimate and whether first row is " +"column names\n" +msgstr "" +"[07] Détecte les types des colonnes, le séparateur dec, une bonne estimation " +"de nrows et si la première ligne est constituée de noms de colonnes\n" + +#: fread.c:1823 +#, c-format +msgid " 'header' changed by user from 'auto' to %s\n" +msgstr " 'header' changé par l'utilisateur de 'auto' à %s\n" + +#: fread.c:1829 +#, c-format +msgid "Failed to allocate 2 x %d bytes for type and tmpType: %s" +msgstr "Échec de l'allocation de 2 x %d octets pour le type et tmpType : %s" + +#: fread.c:1834 +msgid " sep=',' so dec set to '.'\n" +msgstr " sep=',' donc dec est fixé à '.'\n" + +#: fread.c:1858 +#, c-format +msgid " Number of sampling jump points = %d because " +msgstr " Nombre de points de saut d'échantillonnage = %d car " + +#: fread.c:1859 +#, c-format +msgid "nrow limit (%) supplied\n" +msgstr "limite pour nrow (%) fournie\n" + +#: fread.c:1860 +msgid "jump0size==0\n" +msgstr "jump0size==0\n" + +#: fread.c:1861 +#, c-format +msgid "" +"(% bytes from row 1 to eof) / (2 * % jump0size) == " +"%\n" +msgstr "" +"(% octets de la ligne 1 à eof) / (2 * % jump0size) == " +"%\n" + +#: fread.c:1900 +#, c-format +msgid "" +" A line with too-%s fields (%d/%d) was found on line %d of sample jump %d. " +"%s\n" +msgstr "" +" Une ligne avec trop de champs %s (%d/%d) a été trouvée sur la ligne %d du " +"saut d'échantillon %d. %s\n" + +#: fread.c:1901 +msgid "few" +msgstr "peu" + +#: fread.c:1901 +msgid "many" +msgstr "beaucoup" + +#: fread.c:1901 +msgid "" +"Most likely this jump landed awkwardly so type bumps here will be skipped." +msgstr "" +"Il est probable que ce saut soit présent par erreur, les changements de type " +"seront donc ignorés." + +#: fread.c:1924 fread.c:1950 +#, c-format +msgid " dec='%c' detected based on a balance of %d parsed fields\n" +msgstr " dec='%c' détecté sur la base d'un solde de %d champs analysés\n" + +#: fread.c:1934 +#, c-format +msgid " Type codes (jump %03d) : %s Quote rule %d\n" +msgstr " Codes de type (saut %03d) : %s guillemets %d\n" + +#: fread.c:1956 +#, c-format +msgid "" +" 'header' determined to be true due to column %d containing a string on row " +"1 and a lower type (%s) in the rest of the % sample rows\n" +msgstr "" +" ‘header’ défini à TRUE parce que la colonne %d contient une chaîne de " +"caractères à la ligne 1 et un type inférieur (%s) dans le reste des lignes " +"de l'échantillon % \n" + +#: fread.c:1970 +#, c-format +msgid "" +"Types in 1st data row match types in 2nd data row but previous row has %d " +"fields. Taking previous row as column names." +msgstr "" +"Les types de la première ligne de données correspondent aux types de la " +"deuxième ligne de données, mais la ligne précédente comporte %d champs. " +"Prendre la ligne précédente comme celle des noms de colonne." + +#: fread.c:1973 +#, c-format +msgid "" +"Detected %d column names but the data has %d columns (i.e. invalid file). " +"Added %d extra default column name%s\n" +msgstr "" +"A détecté %d noms de colonnes mais les données ont %d colonnes (c.-à-d. " +"fichier invalide). Ajout de %d noms de colonnes supplémentaires par " +"défaut%s\n" + +#: fread.c:1974 +msgid "" +" for the first column which is guessed to be row names or an index. Use " +"setnames() afterwards if this guess is not correct, or fix the file write " +"command that created the file to create a valid file." +msgstr "" +" pour la première colonne qui est supposée être un nom de ligne ou un " +"indice. Utilisez setnames() par la suite si cette proposition n'est pas " +"correcte, ou corrigez la commande d'écriture du fichier qui a créé le " +"fichier afin de créer un fichier valide." + +#: fread.c:1974 +msgid "s at the end." +msgstr "’s’ à la fin." + +#: fread.c:1977 +#, c-format +msgid "" +"Detected %d column names but the data has %d columns. Filling rows " +"automatically. Set fill=TRUE explicitly to avoid this warning.\n" +msgstr "" +"A détecté %d noms de colonnes mais les données ont %d colonnes. Remplissage " +"automatique des lignes. Définir explicitement fill=TRUE pour éviter cet " +"avis.\n" + +#: fread.c:1981 +#, c-format +msgid "Failed to realloc 2 x %d bytes for type and tmpType: %s" +msgstr "Échec de la réallocation de 2 x %d octets pour type et tmpType : %s" + +#: fread.c:2001 +#, c-format +msgid "" +" 'header' determined to be %s because there are%s number fields in the " +"first and only row\n" +msgstr "" +" l'en-tête est déterminé comme étant %s parce qu'il y a des champs " +"numériques %s dans la première et unique ligne\n" + +#: fread.c:2001 +msgid " no" +msgstr " non" + +#: fread.c:2004 +msgid "" +" 'header' determined to be true because all columns are type string and a " +"better guess is not possible\n" +msgstr "" +" 'header' défini à comme TRUE parce que toutes les colonnes sont de type " +"string et un meilleur choix n'est pas possible\n" + +#: fread.c:2006 +msgid "" +" 'header' determined to be false because there are some number columns and " +"those columns do not have a string field at the top of them\n" +msgstr "" +" 'header' défini à FALSE parce qu'il y a des colonnes de nombres et que ces " +"colonnes n'ont pas de champ de type 'string' en haut de celles-ci\n" + +#: fread.c:2022 +#, c-format +msgid " Type codes (first row) : %s Quote rule %d\n" +msgstr " Codes de type (première ligne) : %s Règle des guillemets %d\n" + +#: fread.c:2031 +#, c-format +msgid "" +" All rows were sampled since file is small so we know nrow=% " +"exactly\n" +msgstr "" +" Toutes les lignes ont été échantillonnées car le fichier est petit et nous " +"savons exactement que nrow=% \n" + +#: fread.c:2043 fread.c:2050 +msgid " =====\n" +msgstr " =====\n" + +#: fread.c:2044 +#, c-format +msgid "" +" Sampled % rows (handled \\n inside quoted fields) at %d jump " +"points\n" +msgstr "" +" % lignes échantillonnés (traitées à l'intérieur de champs entre " +"guillemets) aux %d points de saut \n" + +#: fread.c:2045 +#, c-format +msgid "" +" Bytes from first data row on line %d to the end of last row: %\n" +msgstr "" +" Octets de la première ligne de données de la ligne %d à la fin de la " +"dernière ligne : %\n" + +#: fread.c:2046 +#, c-format +msgid " Line length: mean=%.2f sd=%.2f min=%d max=%d\n" +msgstr " Longueur de la ligne : mean=%.2f sd=%.2f min=%d max=%d\n" + +#: fread.c:2047 +#, c-format +msgid " Estimated number of rows: % / %.2f = %\n" +msgstr " Nombre estimé de lignes : % / %.2f = %\n" + +#: fread.c:2048 +#, c-format +msgid "" +" Initial alloc = % rows (% + %d%%) using bytes/" +"max(mean-2*sd,min) clamped between [1.1*estn, 2.0*estn]\n" +msgstr "" +" Allocation initiale = % lignes (% + %d%%) en utilisant des " +"octets/max(mean-2*sd,min), restreint à l’intervalle [1.1*estn, 2.0*estn]\n" + +#: fread.c:2056 +#, c-format +msgid " Alloc limited to lower nrows=% passed in.\n" +msgstr "" +" Allocation limitée aux nrows inférieurs=% passé en argument.\n" + +#: fread.c:2068 +msgid "[08] Assign column names\n" +msgstr "[08] Attribuez des noms de colonnes\n" + +#: fread.c:2077 +#, c-format +msgid "Unable to allocate %d*%d bytes for column name pointers: %s" +msgstr "" +"Impossible d'allouer %d*%d octets pour les pointeurs des noms de colonnes : " +"%s" + +#: fread.c:2117 +msgid "[09] Apply user overrides on column types\n" +msgstr "" +"[09] Appliquer les substitutions de l'utilisateur aux types de colonnes\n" + +#: fread.c:2121 +msgid " Cancelled by user: userOverride() returned false." +msgstr " Annulé par l'utilisateur : userOverride() a retourné false." + +#: fread.c:2132 +#, c-format +msgid "Failed to allocate %d bytes for '%s': %s" +msgstr "Échec de l'allocation de %d octets pour '%s' : %s" + +#: fread.c:2139 +#, c-format +msgid "" +"Attempt to override column %d%s%.*s%s of inherent type '%s' down to '%s' " +"ignored. Only overrides to a higher type are currently supported. If this " +"was intended, please coerce to the lower type afterwards." +msgstr "" +"Tentative de remplacer la colonne %d%s%.*s%s du type inhérent '%s' vers '%s' " +"ignorée. Seules les remplacements vers un type supérieur sont actuellement " +"prises en charge. Si c'est ce qui était prévu, veuillez contraindre un type " +"inférieur par la suite." + +#: fread.c:2154 +#, c-format +msgid " After %d type and %d drop user overrides : %s\n" +msgstr "" +" Après %d remplacements de type et %d suppressions par l’utilisateur : %s\n" + +#: fread.c:2162 +msgid "[10] Allocate memory for the datatable\n" +msgstr "[10] Allouer de la mémoire pour le tableau de données\n" + +#: fread.c:2163 +#, c-format +msgid " Allocating %d column slots (%d - %d dropped) with % rows\n" +msgstr "" +" Attribution des emplacements de colonne %d (%d - %d abandonnés) avec " +"% lignes \n" + +#: fread.c:2218 +#, c-format +msgid "Buffer size % is too large\n" +msgstr "La taille de la mémoire tampon % est trop grande\n" + +#: fread.c:2221 +msgid "[11] Read the data\n" +msgstr "[11] Lire les données\n" + +#: fread.c:2224 +#, c-format +msgid " jumps=[%d..%d), chunk_size=%, total_size=%\n" +msgstr " jumps=[%d..%d), chunk_size=%, total_size=%\n" + +#: fread.c:2450 +#, c-format +msgid "" +"Column %d%s%.*s%s bumped from '%s' to '%s' due to <<%.*s>> on row %\n" +msgstr "" +"La colonne %d%s%.*s%s a été augmentée de ‘%s’ à ‘%s’ en raison de <<%.*s>> à " +"la ligne %\n" + +#: fread.c:2568 +#, c-format +msgid " Provided number of fill columns: %d but only found %d\n" +msgstr "" +" Nombre de colonnes \"fill\" fournies : %d, mais je n’en ai rencontré que " +"%d\n" + +#: fread.c:2569 +#, c-format +msgid " Dropping %d overallocated columns\n" +msgstr " Suppression de %d colonnes surallouées\n" + +#: fread.c:2587 +msgid "Please report to the data.table issues tracker" +msgstr "" +"Veuillez signaler l'erreur au gestionnaire de tickets (issue tracker) de " +"data.table" + +#: fread.c:2594 +#, c-format +msgid "" +" Too few rows allocated. Allocating additional % rows (now " +"nrows=%) and continue reading from jump %d\n" +msgstr "" +" Trop peu de lignes allouées. Allocation de % lignes " +"supplémentaires (maintenant nrows=%) et poursuite de la lecture à " +"partir du saut %d\n" + +#: fread.c:2601 +#, c-format +msgid " Restarting team from jump %d. nSwept==%d quoteRule==%d\n" +msgstr "" +" Redémarrage de ‘team’ à partir du saut %d. nSwept==%d quoteRule==%d\n" + +#: fread.c:2621 +#, c-format +msgid " %d out-of-sample type bumps: %s\n" +msgstr " %d changement de type hors échantillon : %s\n" + +#: fread.c:2656 +#, c-format +msgid "" +"Read % rows x %d columns from %s file in %02d:%06.3f wall clock " +"time\n" +msgstr "" +"Lire % lignes x %d colonnes du fichier %s dans %02d:%06.3f heure de " +"l'horloge\n" + +#: fread.c:2663 +msgid "[12] Finalizing the datatable\n" +msgstr "[12] Finalisation de la table de données\n" + +#: fread.c:2664 +msgid " Type counts:\n" +msgstr " Comptage des types :\n" + +#: fread.c:2666 +#, c-format +msgid "%10d : %-9s '%c'\n" +msgstr "%10d : %-9s '%c'\n" + +#: fread.c:2682 +#, c-format +msgid "Discarded single-line footer: <<%s>>" +msgstr "Pied de page d'une seule ligne supprimé : <<%s>>" + +#: fread.c:2688 +#, c-format +msgid "" +"Stopped early on line %. Expected %d fields but found %d. Consider " +"fill=%d or even more based on your knowledge of the input file. Use fill=Inf " +"for reading the whole file for detecting the number of fields. First " +"discarded non-empty line: <<%s>>" +msgstr "" +"Arrêt prématuré à la ligne %. %d champs attendus mais %d sont " +"rencontrés. Considérez fill=%d ou même plus, en fonction de ce que vous " +"connaissez sur le fichier en entrée. Utilisez fill=Inf pour lire tout le " +"fichier afin de détecter le nombre de champs. Première ligne non vide " +"supprimée : <<%s>>" + +#: fread.c:2691 +#, c-format +msgid "" +"Stopped early on line %. Expected %d fields but found %d. Consider " +"fill=TRUE and comment.char=. First discarded non-empty line: <<%s>>" +msgstr "" +"Arrêt prématuré à la ligne %. %d champs attendus mais a trouvé %d. " +"Considérer fill=TRUE et comment.char=. Première ligne non vide supprimée : " +"<<%s>" + +#: fread.c:2698 +#, c-format +msgid "" +"Found and resolved improper quoting out-of-sample. First healed line " +"%: <<%s>>. If the fields are not quoted (e.g. field separator does " +"not appear within any field), try quote=\"\" to avoid this warning." +msgstr "" +"Une recherche hors de l'échantillon a été trouvé et corrigé. Première ligne " +"transformée %: <<%s>>. Si les champs ne sont pas entre guillemets " +"(par exemple, le séparateur de champ n'apparaît dans aucun champ), essayez " +"quote=\"\" pour éviter cet avis." + +#: fread.c:2702 +msgid "=============================\n" +msgstr "=============================\n" + +#: fread.c:2704 +#, c-format +msgid "%8.3fs (%3.0f%%) Memory map %.3fGB file\n" +msgstr "%8.3fs (%3.0f%%) mappage de mémoire du fichier %.3fGo\n" + +#: fread.c:2705 +#, c-format +msgid "%8.3fs (%3.0f%%) sep=" +msgstr "%8.3fs (%3.0f%%) sep=" + +#: fread.c:2707 +#, c-format +msgid " ncol=%d and header detection\n" +msgstr " ncol=%d et détection de l'en-tête\n" + +#: fread.c:2708 +#, c-format +msgid "%8.3fs (%3.0f%%) Column type detection using % sample rows\n" +msgstr "" +"%8.3fs (%3.0f%%) Détection du type de colonne à l'aide de % lignes " +"d'échantillons\n" + +#: fread.c:2710 +#, c-format +msgid "" +"%8.3fs (%3.0f%%) Allocation of % rows x %d cols (%.3fGB) of which " +"% (%3.0f%%) rows used\n" +msgstr "" +"%8.3fs (%3.0f%%) Allocation de % lignes x %d colonnes (%.3fGB) dont " +"% (%3.0f%%) lignes utilisées\n" + +#: fread.c:2714 +#, c-format +msgid "" +"%8.3fs (%3.0f%%) Reading %d chunks (%d swept) of %.3fMB (each chunk %d rows) " +"using %d threads\n" +msgstr "" +"%8.3fs (%3.0f%%) Lecture de %d morceaux (%d balayés) de %.3fMo (chaque " +"morceau comporte %d lignes) à l'aide de %d threads\n" + +#: fread.c:2716 +#, c-format +msgid "" +" + %8.3fs (%3.0f%%) Parse to row-major thread buffers (grown %d times)\n" +msgstr "" +" + %8.3fs (%3.0f%%) Analyse en mémoire tampons de threads en format 'row-" +"major' (augmenté %d fois)\n" + +#: fread.c:2717 +#, c-format +msgid " + %8.3fs (%3.0f%%) Transpose\n" +msgstr " + %8.3fs (%3.0f%%) Transposition\n" + +#: fread.c:2718 +#, c-format +msgid " + %8.3fs (%3.0f%%) Waiting\n" +msgstr " + %8.3fs (%3.0f%%) Attente\n" + +#: fread.c:2719 +#, c-format +msgid "" +"%8.3fs (%3.0f%%) Rereading %d columns due to out-of-sample type exceptions\n" +msgstr "" +"%8.3fs (%3.0f%%) Relecture de %d colonnes en raison d'exceptions de type " +"hors échantillon\n" + +#: fread.c:2721 +#, c-format +msgid "%8.3fs Total\n" +msgstr "%8.3fs Total\n" + +#: freadR.c:92 +#, c-format +msgid "freadR.c has been passed a filename: %s\n" +msgstr "'freadR.c' a reçu pour argument un nom de fichier : %s\n" + +#: freadR.c:96 +msgid "freadR.c has been passed the data as text input (not a filename)\n" +msgstr "" +"'freadR.c' a reçu pour argument les données sous forme de texte (et non pas " +"un nom de fichier)\n" + +#: freadR.c:114 +msgid "quote= must be a single character, blank \"\", or FALSE" +msgstr "quote= doit être un caractère unique, un blanc \"\", ou FALSE" + +#: freadR.c:158 +#, c-format +msgid "nThread(%d)<1" +msgstr "nThread(%d)<1" + +#: freadR.c:166 +msgid "'integer64' must be a single character string" +msgstr "'integer64' doit être une chaîne de caractères unique" + +#: freadR.c:174 +#, c-format +msgid "" +"Invalid value integer64='%s'. Must be 'integer64', 'character', 'double' or " +"'numeric'" +msgstr "" +"Valeur non valide integer64='%s'. Doit être 'integer64', 'character', " +"'double' (nombre à virgule flottante) ou 'numeric'" + +#: freadR.c:182 +msgid "Use either select= or drop= but not both." +msgstr "Utilisez soit select=, soit drop=, mais pas les deux." + +#: freadR.c:185 +msgid "" +"select= is type list for specifying types in select=, but colClasses= has " +"been provided as well. Please remove colClasses=." +msgstr "" +"select= est de type list permettant de spécifier des types dans select=, " +"mais colClasses= a également été fourni. Veuillez supprimer colClasses=." + +#: freadR.c:187 +msgid "" +"select= is type list but has no names; expecting list(type1=cols1, " +"type2=cols2, ...)" +msgstr "" +"select= est de type list mais n'a pas de nom ; il est attendu " +"list(type1=cols1, type2=cols2, ...)" + +#: freadR.c:194 +msgid "" +"select= is a named vector specifying the columns to select and their types, " +"but colClasses= has been provided as well. Please remove colClasses=." +msgstr "" +"select= est un vecteur spécifiant les colonnes à sélectionner et leurs " +"types, mais colClasses= a également été fourni. Veuillez supprimer " +"colClasses=." + +#: freadR.c:202 freadR.c:368 +msgid "colClasses is type list but has no names" +msgstr "colClasses est de type list mais n'a pas de nom" + +#: freadR.c:212 +#, c-format +msgid "encoding='%s' invalid. Must be 'unknown', 'Latin-1' or 'UTF-8'" +msgstr "encoding='%s' invalide. Doit être 'unknown', 'Latin-1' ou 'UTF-8'" + +#: freadR.c:235 +#, c-format +msgid "Column name '%s' (%s) not found" +msgstr "Nom de colonne '%s' (%s) introuvable" + +#: freadR.c:237 +#, c-format +msgid "%s is NA" +msgstr "%s est NA" + +#: freadR.c:239 +#, c-format +msgid "%s is %d which is out of range [1,ncol=%d]" +msgstr "%s est %d, ce qui est en dehors de l’intervalle [1,ncol=%d]" + +#: freadR.c:288 +#, c-format +msgid "" +"Column name '%s' not found in column name header (case sensitive), skipping." +msgstr "" +"Le nom de colonne '%s' n'a pas été trouvé dans l'en-tête du nom de colonne " +"(sensible à la casse), il est ignoré." + +#: freadR.c:298 +#, c-format +msgid "" +"Column number %d (select[%d]) is negative but should be in the range [1," +"ncol=%d]. Consider drop= for column exclusion." +msgstr "" +"Le numéro de colonne %d (select[%d]) est négatif mais devrait être compris " +"dans l'intervalle [1,ncol=%d]. Envisager drop= pour l'exclusion de colonnes." + +#: freadR.c:299 +#, c-format +msgid "" +"select = 0 (select[%d]) has no meaning. All values of select should be in " +"the range [1,ncol=%d]." +msgstr "" +"select = 0 (select[%d]) n'a aucune signification. Toutes les valeurs de " +"select doivent être comprises dans l'intervalle [1,ncol=%d]." + +#: freadR.c:300 +#, c-format +msgid "" +"Column number %d (select[%d]) is too large for this table, which only has %d " +"columns." +msgstr "" +"Le numéro de colonne %d (select[%d]) est trop grand pour ce tableau, il ne " +"comporte que %d colonnes." + +#: freadR.c:301 +#, c-format +msgid "Column number %d ('%s') has been selected twice by select=" +msgstr "Le numéro de colonne %d ('%s') a été sélectionné deux fois par select=" + +#: freadR.c:324 +#, c-format +msgid "" +"colClasses= is an unnamed vector of types, length %d, but there are %d " +"columns in the input. To specify types for a subset of columns, you can use " +"a named vector, list format, or specify types using select= instead of " +"colClasses=. Please see examples in ?fread." +msgstr "" +"colClasses= est un vecteur de types sans nom, de longueur %d, mais il y a %d " +"colonnes dans l'entrée. Pour spécifier des types pour un sous-ensemble de " +"colonnes, vous pouvez utiliser un vecteur nommé, un format de liste ou " +"spécifier des types en utilisant select= au lieu de colClasses=. Voir les " +"exemples dans ?fread." + +#: freadR.c:366 +#, c-format +msgid "colClasses is type '%s' but should be list or character" +msgstr "" +"colClasses est de type '%s' mais devrait être une liste ou un caractère" + +#: freadR.c:390 +#, c-format +msgid "Column name '%s' (colClasses[[%d]][%d]) not found" +msgstr "Nom de colonne '%s' (colClasses[[%d]][%d]) introuvable" + +#: freadR.c:392 +#, c-format +msgid "colClasses[[%d]][%d] is NA" +msgstr "colClasses[[%d]][%d] est NA" + +#: freadR.c:396 +#, c-format +msgid "Column number %d (colClasses[[%d]][%d]) is out of range [1,ncol=%d]" +msgstr "" +"Le numéro de colonne %d (colClasses[[%d]][%d]) est en dehors de l’intervalle " +"[1,ncol=%d]" + +#: freadR.c:400 +#, c-format +msgid "" +"Column %d ('%s') appears more than once in colClasses. The second time is " +"colClasses[[%d]][%d]." +msgstr "" +"La colonne %d ('%s') apparaît plusieurs fois dans colClasses. La deuxième " +"fois est colClasses[[%d]][%d]." + +#: freadR.c:640 +#, c-format +msgid "Field size is 1 but the field is of type %d\n" +msgstr "La taille du champ est de 1 mais le champ est de type %d\n" + +#: freadR.c:717 utils.c:387 +#, c-format +msgid "%s" +msgstr "%s" + +#: froll.c:14 froll.c:223 froll.c:407 +#, c-format +msgid "%s: window width longer than input vector, returning all NA vector\n" +msgstr "" +"%s : la largeur de la fenêtre est supérieure au vecteur d'entrée, ce qui " +"renvoie tout le vecteur en NA\n" + +#: froll.c:32 froll.c:240 froll.c:456 +#, c-format +msgid "%s: align %d, shift answer by %d\n" +msgstr "%s : aligner %d, décaler la réponse de %d\n" + +#: froll.c:39 froll.c:247 frolladaptive.c:19 frolladaptive.c:214 +#, c-format +msgid "%s: processing algo %u took %.3fs\n" +msgstr "%s : le traitement de l'algo %u a pris %.3fs\n" + +#: froll.c:48 froll.c:251 +#, c-format +msgid "%s: running for input length %, window %d, hasna %d, narm %d\n" +msgstr "" +"%s: exécution pour la longueur de l'entrée %, window %d, hasna %d, " +"narm %d\n" + +#: froll.c:68 froll.c:78 froll.c:169 froll.c:271 froll.c:281 froll.c:362 +#: frolladaptive.c:58 frolladaptive.c:147 frolladaptive.c:247 +#: frolladaptive.c:326 +#, c-format +msgid "" +"%s: hasNA=FALSE used but NA (or other non-finite) value(s) are present in " +"input, use default hasNA=NA to avoid this warning" +msgstr "" +"%s : hasNA=FALSE utilisé mais des valeurs NA (ou autres valeurs non finies) " +"sont présentes dans l'entrée, utiliser la valeur par défaut hasNA=NA pour " +"éviter cet avis" + +#: froll.c:71 froll.c:173 froll.c:274 froll.c:366 frolladaptive.c:61 +#: frolladaptive.c:151 frolladaptive.c:250 frolladaptive.c:330 +#, c-format +msgid "" +"%s: NA (or other non-finite) value(s) are present in input, re-running with " +"extra care for NAs\n" +msgstr "" +"%s : Des NA (ou autre(s) valeur(s) non finie(s)) sont présentes dans " +"l'entrée, ré-exécution avec une attention particulière pour les NA\n" + +#: froll.c:81 froll.c:284 +#, c-format +msgid "" +"%s: NA (or other non-finite) value(s) are present in input, skip non-NA " +"attempt and run with extra care for NAs\n" +msgstr "" +"%s :Des NA (ou autre(s) valeur(s) non finie(s)) sont présentes dans " +"l'entrée, ignorer la tentative sans NA et exécuter avec une attention " +"particulière pour les NA\n" + +#: froll.c:137 froll.c:335 +#, c-format +msgid "" +"%s: running in parallel for input length %, window %d, hasna %d, " +"narm %d\n" +msgstr "" +"%s: exécution en parallèle pour une longueur d'entrée %, window %d, " +"hasna %d, narm %d\n" + +#: froll.c:175 froll.c:368 frolladaptive.c:153 frolladaptive.c:332 +#, c-format +msgid "" +"%s: NA (or other non-finite) value(s) are present in input, na.rm was FALSE " +"so in 'exact' implementation NAs were handled already, no need to re-run\n" +msgstr "" +"%s : Des valeurs NA (ou autre(s) valeur(s) non finie(s)) sont présentes dans " +"l'entrée, na.rm était FALSE donc dans l'implémentation ‘exacte’ les NA ont " +"déjà été traités, pas besoin de ré-exécuter\n" + +#: froll.c:424 +#, c-format +msgid "%s: results from provided FUN are not length 1" +msgstr "%s : les résultats de FUN obtenus ne sont pas de longueur 1" + +#: froll.c:431 +#, c-format +msgid "" +"%s: results from provided FUN are not of type double, coercion from integer " +"or logical will be applied on each iteration\n" +msgstr "" +"%s : les résultats de FUN obtenus ne sont pas de type 'double' (nombre à " +"virgule flottante), un forçage pour les types entier et booléen sera " +"appliquée à chaque itération\n" + +#: froll.c:434 +#, c-format +msgid "%s: results from provided FUN are not of type double" +msgstr "" +"%s : les résultats de FUN obtenus ne sont pas de type ‘double’ (nombre à " +"virgule flottante)" + +#: froll.c:463 nafill.c:87 +#, c-format +msgid "%s: took %.3fs\n" +msgstr "%s : a pris %.3fs\n" + +#: frollR.c:17 +msgid "" +"x must be of type numeric or logical, or a list, data.frame or data.table of " +"such" +msgstr "" +"x doit être de type numérique ou booléen, ou une liste, un data.frame ou un " +"data.table de ce type" + +#: frollR.c:38 frollR.c:244 +msgid "n must be non 0 length" +msgstr "n doit pas être de longueur 0" + +#: frollR.c:49 +msgid "n must be integer, list is accepted for adaptive TRUE" +msgstr "n doit être un entier, la liste est acceptée pour adaptative TRUE" + +#: frollR.c:56 frollR.c:236 frollR.c:239 +msgid "n must be integer" +msgstr "n doit être un nombre entier" + +#: frollR.c:63 +msgid "n must be positive integer values (> 0)" +msgstr "n doit être un nombre entier positif (> 0)" + +#: frollR.c:72 frollR.c:84 +msgid "n must be integer vector or list of integer vectors" +msgstr "n doit être un vecteur d’entiers ou une liste de vecteurs d’entiers" + +#: frollR.c:98 +msgid "hasNA must be TRUE, FALSE or NA" +msgstr "hasNA doit être TRUE, FALSE ou NA" + +#: frollR.c:100 +msgid "" +"using hasNA FALSE and na.rm TRUE does not make sense, if you know there are " +"NA values use hasNA TRUE, otherwise leave it as default NA" +msgstr "" +"utiliser hasNA FALSE et na.rm TRUE n'a pas de sens, si vous savez qu'il y a " +"des valeurs NA, utilisez hasNA TRUE, sinon laissez la valeur NA par défaut" + +#: frollR.c:113 +msgid "" +"using adaptive TRUE and align argument different than 'right' is not " +"implemented" +msgstr "" +"l'utilisation de adaptative TRUE et d'un argument align différent de ‘right’ " +"n'est pas implémentée" + +#: frollR.c:117 frollR.c:267 types.c:64 +#, c-format +msgid "%s: allocating memory for results %dx%d\n" +msgstr "%s : allocation de mémoire pour les résultats %dx%d\n" + +#: frollR.c:126 +msgid "" +"adaptive rolling function can only process 'x' having equal length of " +"elements, like data.table or data.frame; If you want to call rolling " +"function on list having variable length of elements call it for each field " +"separately" +msgstr "" +"la fonction de roulement adaptative ne peut traiter que des 'x' ayant une " +"longueur égale d'éléments, comme data.table ou data.frame ; si vous voulez " +"appeler la fonction de roulement sur une liste ayant une longueur variable " +"d'éléments, appelez-la pour chaque champ séparément" + +#: frollR.c:128 +msgid "" +"length of integer vector(s) provided as list to 'n' argument must be equal " +"to number of observations provided in 'x'" +msgstr "" +"la longueur du (des) vecteur(s) d’entier(s) fourni(s) sous forme de liste à " +"l'argument ’n’ doit être égale au nombre d'observations fourni dans 'x'" + +#: frollR.c:146 frollR.c:259 gsumm.c:1198 shift.c:21 +msgid "fill must be a vector of length 1" +msgstr "fill doit être un vecteur de longueur 1" + +#: frollR.c:148 frollR.c:261 +msgid "fill must be numeric or logical" +msgstr "fill doit être numérique ou booléen" + +#: frollR.c:178 +#, c-format +msgid "" +"%s: %d column(s) and %d window(s), if product > 1 then entering parallel " +"execution\n" +msgstr "" +"%s : %d colonne(s) et %d fenêtre(s), si produit > 1, entrer dans l'exécution " +"parallèle\n" + +#: frollR.c:180 +#, c-format +msgid "" +"%s: %d column(s) and %d window(s), not entering parallel execution here " +"because algo='exact' will compute results in parallel\n" +msgstr "" +"%s : %d colonne(s) et %d fenêtre(s), pas d'exécution parallèle ici car " +"algo='exact' calculera les résultats en parallèle\n" + +#: frollR.c:207 frollR.c:299 +#, c-format +msgid "%s: processing of %d column(s) and %d window(s) took %.3fs\n" +msgstr "%s : le traitement de %d colonne(s) et de %d fenêtre(s) a pris %.3fs\n" + +#: frolladaptive.c:29 frolladaptive.c:218 +#, c-format +msgid "%s: running for input length %, hasna %d, narm %d\n" +msgstr "" +"%s: recherche de la longueur de l'entrée %, hasna %d, narm %d\n" + +#: frolladaptive.c:35 frolladaptive.c:224 +#, c-format +msgid "%s: Unable to allocate memory for cumsum" +msgstr "%s : Impossible d'allouer de la mémoire pour le cumsum (somme cumulée)" + +#: frolladaptive.c:71 frolladaptive.c:260 +#, c-format +msgid "%s: Unable to allocate memory for cum NA counter" +msgstr "" +"%s : Impossible d'allouer de la mémoire pour le compteur de valeurs " +"manquantes (NA)" + +#: frolladaptive.c:114 frolladaptive.c:298 +#, c-format +msgid "%s: running in parallel for input length %, hasna %d, narm %d\n" +msgstr "" +"%s: exécution en parallèle pour la longueur de l'entrée %, hasna %d, " +"narm %d\n" + +# Doit-t-on traduire le currently, le test est isNumeric(x) +#: fsort.c:107 +msgid "x must be a vector of type double currently" +msgstr "x doit être un vecteur de type 'double' (nombre à virgule flottante)" + +#: fsort.c:118 +#, c-format +msgid "nth=%d, nBatch=%d\n" +msgstr "nth=%d, nBatch=%d\n" + +#: fsort.c:132 +#, c-format +msgid "Failed to allocate %d bytes in fsort()." +msgstr "Échec de l'allocation de %d octets dans fsort()." + +#: fsort.c:158 +#, c-format +msgid "Range = [%g,%g]\n" +msgstr "Intervalle = [%g,%g]\n" + +#: fsort.c:159 +msgid "Cannot yet handle negatives." +msgstr "Ne peux pas encore gérer les valeurs négatives." + +#: fsort.c:174 +#, c-format +msgid "maxBit=%d; MSBNbits=%d; shift=%d; MSBsize=%zu\n" +msgstr "maxBit=%d ; MSBNbits=%d ; shift=%d ; MSBsize=%zu\n" + +#: fsort.c:180 +#, c-format +msgid "" +"counts is %dMB (%d pages per nBatch=%d, batchSize=%, " +"lastBatchSize=%)\n" +msgstr "" +"le comptage est %dMB (%d pages par nBatch=%d, batchSize=%, " +"lastBatchSize=%)\n" + +#: fsort.c:250 +msgid "Top 20 MSB counts: " +msgstr "Top 20 des bits de poids fort (MSB) : " + +#: fsort.c:250 +#, c-format +msgid "% " +msgstr "% " + +#: fsort.c:251 +msgid "Reduced MSBsize from %zu to " +msgstr "Réduction de MSBsize de %zu à " + +#: fsort.c:255 +msgid "%zu by excluding 0 and 1 counts\n" +msgstr "%zu en excluant les comptages pour 0 et 1\n" + +#: fsort.c:321 +#, c-format +msgid "" +"OpenMP %d did not assign threads to iterations monotonically. Please search " +"Stack Overflow for this message." +msgstr "" +"OpenMP %d n'a pas assigné les threads aux itérations de manière monotone. " +"Veuillez rechercher ce message sur Stack Overflow." + +#: fsort.c:323 +msgid "Unable to allocate working memory" +msgstr "Impossible d'allouer de la mémoire de travail" + +#: fsort.c:333 +#, c-format +msgid "%d: %.3f (%4.1f%%)\n" +msgstr "%d : %.3f (%4.1f%%)\n" + +#: fwrite.c:612 +#, c-format +msgid "buffMB=%d outside [1,1024]" +msgstr "buffMB=%d hors limites [1,1024]" + +#: fwrite.c:619 +#, c-format +msgid "" +"eol must be 1 or more bytes (usually either \\n or \\r\\n) but is length %d" +msgstr "" +"eol doit être de taille 1 ou plusieurs octets (généralement \\n ou \\r\\n) " +"mais est de longueur %d" + +#: fwrite.c:622 +msgid "Column writers: " +msgstr "Créateur de colonne : " + +#: fwrite.c:624 fwrite.c:626 fwrite.c:628 +#, c-format +msgid "%d " +msgstr "%d " + +#: fwrite.c:627 +msgid "... " +msgstr "... " + +#: fwrite.c:630 +#, c-format +msgid "" +"\n" +"args.doRowNames=%d args.rowNames=%p args.rowNameFun=%d doQuote=%d args." +"nrow=% args.ncol=%d eolLen=%d\n" +msgstr "" +"\n" +"args.doRowNames=%d args.rowNames=%p args.rowNameFun=%d doQuote=%d args." +"nrow=% args.ncol=%d eolLen=%d\n" + +#: fwrite.c:672 +#, c-format +msgid "maxLineLen=%. Found in %.3fs\n" +msgstr "maxLineLen=%. Trouvé dans %.3fs\n" + +#: fwrite.c:692 +#, c-format +msgid "" +"%s: '%s'. Failed to open existing file for writing. Do you have write " +"permission to it? Is this Windows and does another process such as Excel " +"have it open?" +msgstr "" +"%s : '%s'. Échec de l'ouverture d'un fichier existant en écriture. Avez-vous " +"l'autorisation d'écrire dans ce fichier ? Êtes-vous sur Windows et un autre " +"processus tel qu'Excel l'a-t-il ouvert ?" + +#: fwrite.c:693 +#, c-format +msgid "" +"%s: '%s'. Unable to create new file for writing (it does not exist already). " +"Do you have permission to write here, is there space on the disk and does " +"the path exist?" +msgstr "" +"%s : '%s'. Impossible de créer un nouveau fichier pour l'écriture (il " +"n'existe pas déjà). Avez-vous la permission d'écrire dans le fichier, y a-t-" +"il de l'espace sur le disque et le chemin d'accès existe-t-il ?" + +#: fwrite.c:700 +msgid "" +"Compression in fwrite uses zlib library. Its header files were not found at " +"the time data.table was compiled. To enable fwrite compression, please " +"reinstall data.table and study the output for further guidance." +msgstr "" +"La compression dans fwrite utilise la bibliothèque zlib. Ses fichiers d'en-" +"tête n'ont pas été trouvés au moment de la compilation de data.table. Pour " +"activer la compression de fwrite, veuillez réinstaller data.table et étudier " +"la sortie console pour plus d'informations." + +#: fwrite.c:705 +#, c-format +msgid "Writing bom (%s), yaml (%d characters) and column names (%s) ... " +msgstr "" +"Écriture de BOM (indicateur d’ordre des octets) (%s), yaml (%d caractères) " +"et noms de colonnes (%s) ... " + +#: fwrite.c:719 +#, c-format +msgid "Unable to allocate %zu MiB for header: %s" +msgstr "Impossible d'allouer %zu mébioctets (MiB) pour l'en-tête : %s" + +#: fwrite.c:753 fwrite.c:817 +msgid "Can't allocate gzip stream structure" +msgstr "Impossible d'allouer une structure de flux gzip" + +#: fwrite.c:761 +#, c-format +msgid "Unable to allocate %zu MiB for zbuffer: %s" +msgstr "" +"Impossible d'allouer %zu mébioctets (MiB) pour la mémoire tampon de zlib " +"(zbuffer) : %s" + +#: fwrite.c:777 +#, c-format +msgid "Compress gzip error: %d" +msgstr "Erreur de compression gzip : %d" + +#: fwrite.c:778 fwrite.c:786 +#, c-format +msgid "%s: '%s'" +msgstr "%s : '%s'" + +#: fwrite.c:783 +#, c-format +msgid "done in %.3fs\n" +msgstr "fait en %.3fs\n" + +#: fwrite.c:785 +msgid "No data rows present (nrow==0)\n" +msgstr "Aucune ligne de données présente\n" + +#: fwrite.c:803 +#, c-format +msgid "" +"Writing % rows in %d batches of %d rows (each buffer size %dMB, " +"showProgress=%d, nth=%d)\n" +msgstr "" +"Écriture de % lignes en %d lots de %d lignes (taille de chaque " +"tampon %d Mo, showProgress=%d, nth=%d)\n" + +#: fwrite.c:819 +#, c-format +msgid "zbuffSize=%d returned from deflateBound\n" +msgstr "zbuffSize=%d renvoyé par deflateBound\n" + +#: fwrite.c:828 +#, c-format +msgid "" +"Unable to allocate %zu MB * %d thread buffers; '%d: %s'. Please read ?fwrite " +"for nThread, buffMB and verbose options." +msgstr "" +"Impossible d'allouer %zu Mo * %d pour la mémoire tampon des threads; '%d : " +"%s'. Veuillez lire ?fwrite pour les options nThread, buffMB et verbose." + +#: fwrite.c:839 +#, c-format +msgid "" +"Unable to allocate %zu MB * %d thread compressed buffers; '%d: %s'. Please " +"read ?fwrite for nThread, buffMB and verbose options." +msgstr "" +"Impossible d'allouer %zu Mo * %d pour la mémoire tampon compressée des " +"threads; '%d : %s'. Veuillez lire ?fwrite pour les options nThread, buffMB " +"et verbose." + +#: fwrite.c:853 +#, c-format +msgid "Failed to allocated %d bytes for '%s'." +msgstr "Échec de l'allocation de %d octets pour ‘%s’." + +#: fwrite.c:1019 +#, c-format +msgid "" +"zlib %s (zlib.h %s) deflate() returned error %d with z_stream->msg==\"%s\" " +"Z_FINISH=%d Z_BLOCK=%d. %s" +msgstr "" +"zlib %s (zlib.h %s) deflate() renvoie l'erreur %d avec z_stream->msg==\"%s\" " +"Z_FINISH=%d Z_BLOCK=%d. %s" + +#: fwrite.c:1021 +msgid "" +"Please include the full output above and below this message in your data." +"table bug report." +msgstr "" +"Veuillez inclure la sortie complète au-dessus et au-dessous de ce message " +"dans votre rapport de bogue data.table." + +#: fwrite.c:1022 +msgid "" +"Please retry fwrite() with verbose=TRUE and include the full output with " +"your data.table bug report." +msgstr "" +"Veuillez réutiliser fwrite() avec verbose=TRUE et incluez la sortie complète " +"dans votre rapport de bogue data.table." + +#: fwriteR.c:103 +#, c-format +msgid "" +"Row % of list column is type '%s' - not yet implemented. fwrite() " +"can write list columns containing items which are atomic vectors of type " +"logical, integer, integer64, double, complex and character." +msgstr "" +"La ligne % de la colonne de type liste est de type '%s' - pas encore " +"implémenté. fwrite() peut écrire des colonnes de liste contenant des " +"éléments qui sont des vecteurs atomiques de type booléen, entier, integer64, " +"double, complexe et caractère." + +#: fwriteR.c:176 +msgid "" +"fwrite must be passed an object of type list; e.g. data.frame, data.table" +msgstr "" +"'fwrite' doit recevoir un objet de type liste ; par exemple data.frame, data." +"table" + +#: fwriteR.c:186 +msgid "fwrite was passed an empty list of no columns. Nothing to write." +msgstr "'fwrite' a reçu une liste vide sans colonnes. Rien à écrire." + +#: fwriteR.c:240 +#, c-format +msgid "" +"Column %d's length (%d) is not the same as column 1's length (%)" +msgstr "" +"La longueur de la colonne %d(%d) n'est pas la même que celle de la colonne 1 " +"(%)" + +#: fwriteR.c:244 +#, c-format +msgid "Column %d's type is '%s' - not yet implemented in fwrite." +msgstr "Le type de la colonne %d est '%s' - pas encore implémenté dans fwrite." + +#: fwriteR.c:267 +#, c-format +msgid "" +"input has specific integer rownames but their length (%lld) != nrow " +"(%)" +msgstr "" +"l'entrée a des entiers comme noms de lignes mais leur longueur (%lld) != " +"nrow (%)" + +#: fwriteR.c:282 +msgid "" +"No list columns are present. Setting sep2='' otherwise quote='auto' would " +"quote fields containing sep2.\n" +msgstr "" +"Aucune colonne de type liste n'est présente. Si l'on définit sep2='' ou " +"quote='auto', les champs contenant sep2 seront mis entre guillemets.\n" + +#: fwriteR.c:286 +#, c-format +msgid "" +"If quote='auto', fields will be quoted if the field contains either sep " +"('%c') or sep2 ('%c') because column %d is a list column.\n" +msgstr "" +"Si quote='auto', les champs seront avec des guillemets si le champ contient " +"soit sep ('%c') soit sep2 ('%c') parce que la colonne %d est une colonne de " +"type liste.\n" + +#: fwriteR.c:290 +#, c-format +msgid "" +"sep ('%c'), sep2 ('%c') and dec ('%c') must all be different. Column %d is a " +"list column." +msgstr "" +"sep ('%c'), sep2 ('%c') et dec ('%c') doivent tous être différents. La " +"colonne %d est une colonne de type liste." + +#: gsumm.c:45 gsumm.c:46 gsumm.c:47 +#, c-format +msgid "%s is not an integer vector" +msgstr "%s n'est pas un vecteur entier" + +#: gsumm.c:56 +msgid "irowsArg is neither an integer vector nor NULL" +msgstr "irowsArg n'est ni un vecteur d'entiers ni NULL" + +#: gsumm.c:58 +#, c-format +msgid "length(f)=%d != length(l)=%d" +msgstr "length(f)=%d != length(l)=%d" + +#: gsumm.c:66 +#, c-format +msgid "o has length %d but sum(l)=%d" +msgstr "o a la longueur %d mais sum(l)=%d" + +#: gsumm.c:98 +#, c-format +msgid "gforce initial population of grp took %.3f\n" +msgstr "la population initiale de grp dans gforce a pris %.3f\n" + +#: gsumm.c:118 +msgid "Failed to allocate counts or TMP when assigning g in gforce" +msgstr "" +"Échec de l'allocation de comptages ou de TMP lors de l'affectation de g dans " +"gforce" + +#: gsumm.c:197 +#, c-format +msgid "gforce assign high and low took %.3f\n" +msgstr "l'assignation de high et low dans a pris %.3f\n" + +#: gsumm.c:203 +#, c-format +msgid "gforce eval took %.3f\n" +msgstr "l'évaluation de gforce a pris %.3f\n" + +#: gsumm.c:219 +msgid "gather took ... " +msgstr "gather a pris ... " + +#: gsumm.c:337 +#, c-format +msgid "gather implemented for INTSXP, REALSXP, and CPLXSXP but not '%s'" +msgstr "" +"gather mis en œuvre pour INTSXP, REALSXP et CPLXSXP, mais pas pour '%s'" + +#: gsumm.c:339 gsumm.c:572 gsumm.c:720 +#, c-format +msgid "%.3fs\n" +msgstr "%.3fs\n" + +#: gsumm.c:349 gsumm.c:580 gsumm.c:731 gsumm.c:868 gsumm.c:1023 gsumm.c:1117 +#, c-format +msgid "%s is not meaningful for factors." +msgstr "%s n'a pas de sens pour les facteurs." + +#: gsumm.c:353 +#, c-format +msgid "This gsum (narm=%s) took ... " +msgstr "Ce gsum (narm=%s) a pris ... " + +#: gsumm.c:354 gsumm.c:588 gsumm.c:736 gsumm.c:871 gsumm.c:923 gsumm.c:1025 +#: gsumm.c:1121 +#, c-format +msgid "nrow [%d] != length(x) [%d] in %s" +msgstr "nrow [%d] != length(x) [%d] in %s" + +#: gsumm.c:408 +msgid "" +"The sum of an integer column for a group was more than type 'integer' can " +"hold so the result has been coerced to 'numeric' automatically for " +"convenience." +msgstr "" +"La somme d'une colonne d'entiers pour un groupe a dépassé la capacité du " +"type 'integer', donc le résultat a été automatiquement converti en 'numeric' " +"pour plus de commodité." + +#: gsumm.c:569 gsumm.c:843 gsumm.c:909 gsumm.c:1094 gsumm.c:1166 +#, c-format +msgid "" +"Type '%s' is not supported by GForce %s. Either add the prefix %s or turn " +"off GForce optimization using options(datatable.optimize=1)" +msgstr "" +"Le type '%s' n'est pas supporté par GForce %s. Ajoutez le préfixe %s ou " +"désactivez l'optimisation de GForce en utilisant options(datatable." +"optimize=1)" + +#: gsumm.c:587 +#, c-format +msgid "This gmean took (narm=%s) ... " +msgstr "Ce gmean a pris (narm=%s) ... " + +#: gsumm.c:625 gsumm.c:681 +#, c-format +msgid "Unable to allocate %d * %zu bytes for non-NA counts in gmean na.rm=TRUE" +msgstr "" +"Impossible d'allouer %d * %zu octets pour les comptages non NA dans gmean na." +"rm=TRUE" + +#: gsumm.c:717 +#, c-format +msgid "" +"Type '%s' not supported by GForce mean (gmean). Either add the prefix base::" +"mean(.) or turn off GForce optimization using options(datatable.optimize=1)" +msgstr "" +"Le type '%s' n'est pas supporté par GForce mean (gmean). Ajoutez le préfixe " +"base::mean(.) ou désactivez l'optimisation de GForce en utilisant " +"options(datatable.optimize=1)" + +#: gsumm.c:729 +msgid "" +"GForce min/max can only be applied to columns, not .SD or similar. To find " +"min/max of all items in a list such as .SD, either add the prefix base::min(." +"SD) or turn off GForce optimization using options(datatable.optimize=1). " +"More likely, you may be looking for 'DT[,lapply(.SD,min),by=,.SDcols=]'" +msgstr "" +"GForce min/max ne peut être appliqué qu'aux colonnes, pas aux .SD ou " +"équivalent. Pour trouver le min/max de tous les éléments d'une liste telle " +"que .SD, ajoutez le préfixe base::min(.SD) ou désactivez l'optimisation " +"GForce en utilisant options(datatable.optimize=1). Il est plus probable que " +"vous recherchiez 'DT[,lapply(.SD,min),by=,.SDcols=]'" + +#: gsumm.c:840 +msgid "Type 'complex' has no well-defined min/max" +msgstr "Le type 'complexe' n'a pas de valeur min/max bien définie" + +#: gsumm.c:866 +msgid "" +"GForce median can only be applied to columns, not .SD or similar. To find " +"median of all items in a list such as .SD, either add the prefix stats::" +"median(.SD) or turn off GForce optimization using options(datatable." +"optimize=1). More likely, you may be looking for 'DT[,lapply(.SD,median)," +"by=,.SDcols=]'" +msgstr "" +"GForce median ne peut être appliqué qu'aux colonnes, pas aux .SD ou " +"similaires. Pour trouver la médiane de tous les éléments d'une liste telle " +"que .SD, ajoutez le préfixe stats::median(.SD) ou désactivez l'optimisation " +"GForce en utilisant options(datatable.optimize=1). Il est plus probable que " +"vous recherchiez 'DT[,lapply(.SD,median),by=,.SDcols=]'" + +#: gsumm.c:983 +#, c-format +msgid "" +"Type '%s' is not supported by GForce head/tail/first/last/`[`. Either add " +"the namespace prefix (e.g. utils::head(.)) or turn off GForce optimization " +"using options(datatable.optimize=1)" +msgstr "" +"Le type '%s' n'est pas supporté par GForce head/tail/first/last/`[`. Soit " +"vous ajoutez le préfixe de l'espace de noms (par exemple utils::head(.)), " +"soit vous désactivez l'optimisation de GForce en utilisant options(datatable." +"optimize=1)" + +#: gsumm.c:1021 +msgid "" +"GForce var/sd can only be applied to columns, not .SD or similar. For the " +"full covariance matrix of all items in a list such as .SD, either add the " +"prefix stats::var(.SD) (or stats::sd(.SD)) or turn off GForce optimization " +"using options(datatable.optimize=1). Alternatively, if you only need the " +"diagonal elements, 'DT[,lapply(.SD,var),by=,.SDcols=]' is the optimized way " +"to do this." +msgstr "" +"GForce var/sd ne peut être appliqué qu'aux colonnes, pas aux .SD ou " +"similaires. Pour obtenir la matrice de covariance complète de tous les " +"éléments d'une liste telle que .SD, ajoutez le préfixe stats::var(.SD) (ou " +"stats::sd(.SD)) ou désactivez l'optimisation GForce en utilisant " +"options(datatable.optimize=1). Sinon, si vous n'avez besoin que des éléments " +"diagonaux, 'DT[,lapply(.SD,var),by=,.SDcols=]' est la manière optimisée de " +"procéder." + +#: gsumm.c:1115 +msgid "" +"GForce prod can only be applied to columns, not .SD or similar. To multiply " +"all items in a list such as .SD, either add the prefix base::prod(.SD) or " +"turn off GForce optimization using options(datatable.optimize=1). More " +"likely, you may be looking for 'DT[,lapply(.SD,prod),by=,.SDcols=]'" +msgstr "" +"GForce prod ne peut être appliqué qu'aux colonnes, et non aux .SD ou " +"similaires. Pour multiplier tous les éléments d'une liste telle que .SD, " +"ajoutez le préfixe base::prod(.SD) ou désactivez l'optimisation GForce en " +"utilisant options(datatable.optimize=1). Il est plus probable que vous " +"recherchiez 'DT[,lapply(.SD,prod),by=,.SDcols=]'" + +#: gsumm.c:1124 +#, c-format +msgid "Unable to allocate %d * %zu bytes for gprod" +msgstr "Impossible d'allouer %d * %zu octets pour gprod" + +#: gsumm.c:1215 shift.c:34 +#, c-format +msgid "Item %d of n is NA" +msgstr "L'élément %d de n est NA" + +#: gsumm.c:1272 +#, c-format +msgid "" +"Type '%s' is not supported by GForce gshift. Either add the namespace prefix " +"(e.g. data.table::shift(.)) or turn off GForce optimization using " +"options(datatable.optimize=1)" +msgstr "" +"Le type '%s' n'est pas supporté par GForce gshift. Il faut soit ajouter le " +"préfixe de l'espace de noms (par exemple data.table::shift(.)), soit " +"désactiver l'optimisation de GForce en utilisant options(datatable." +"optimize=1)" + +#: idatetime.c:126 vecseq.c:13 +msgid "x must be an integer vector" +msgstr "x doit être un vecteur entier" + +#: ijoin.c:128 +#, c-format +msgid "First pass on calculating lengths in lookup ... done in %8.3f seconds\n" +msgstr "" +"Première passe sur le calcul des tailles dans la recherche ... fait en %8.3f " +"secondes\n" + +#: ijoin.c:141 +#, c-format +msgid "Second pass on allocation in lookup ... done in %8.3f seconds\n" +msgstr "" +"Deuxième passage sur l'allocation dans la recherche ... fait en %8.3f " +"secondes\n" + +#: ijoin.c:220 +#, c-format +msgid "Final step in generating lookup ... done in %8.3f seconds\n" +msgstr "" +"Dernière étape de la génération de la recherche ... effectuée en %8.3f " +"secondes\n" + +#: ijoin.c:330 +#, c-format +msgid "" +"First pass on calculating lengths in overlaps ... done in %8.3f seconds\n" +msgstr "" +"Première passe sur le calcul des longueurs dans les chevauchements ... fait " +"en %8.3f secondes\n" + +#: ijoin.c:729 +#, c-format +msgid "Final step, fetching indices in overlaps ... done in %8.3f seconds\n" +msgstr "" +"Dernière étape, récupération des indices dans les chevauchements ... fait en " +"%8.3f secondes\n" + +#: init.c:172 +msgid "" +"Pointers are %zu bytes, greater than 8. We have not tested on any " +"architecture greater than 64bit yet." +msgstr "" +"Les pointeurs sont des octets %zu, supérieurs à 8. Nous n'avons pas encore " +"testé sur une architecture supérieure à 64 bits." + +#: init.c:186 +msgid "... failed. Please forward this message to maintainer('data.table')." +msgstr "" +"... a échoué. Veuillez transmettre ce message à maintainer('data.table')." + +#: init.c:187 +#, c-format +msgid "Checking NA_INTEGER [%d] == INT_MIN [%d] %s" +msgstr "Vérification de NA_INTEGER [%d] == INT_MIN [%d] %s" + +#: init.c:188 +#, c-format +msgid "Checking NA_INTEGER [%d] == NA_LOGICAL [%d] %s" +msgstr "Vérification de NA_INTEGER [%d] == NA_LOGICAL [%d] %s" + +#: init.c:189 init.c:190 init.c:192 init.c:195 init.c:196 init.c:197 init.c:198 +#: init.c:199 init.c:200 init.c:201 +#, c-format +msgid "Checking sizeof(%s) [%zu] is %d %s" +msgstr "Vérification que sizeof(%s) [%zu] est %d %s" + +#: init.c:193 +#, c-format +msgid "Checking sizeof(pointer) [%zu] is 4 or 8 %s" +msgstr "Vérification que sizeof(pointeur) [%zu] est 4 ou 8 %s" + +#: init.c:194 +#, c-format +msgid "Checking sizeof(SEXP) [%zu] == sizeof(pointer) [%zu] %s" +msgstr "Vérification de sizeof(SEXP) [%zu] == sizeof(pointeur) [%zu] %s" + +#: init.c:204 +#, c-format +msgid "Checking LENGTH(allocVector(INTSXP,2)) [%d] is 2 %s" +msgstr "Vérification que LENGTH(allocVector(INTSXP,2)) [%d] est 2 %s" + +#: init.c:206 +#, c-format +msgid "Checking TRUELENGTH(allocVector(INTSXP,2)) [%lld] is 0 %s" +msgstr "Vérification que TRUELENGTH(allocVector(INTSXP,2)) [%lld] est 0 %s" + +#: init.c:213 +#, c-format +msgid "Checking memset(&i,0,sizeof(int)); i == (int)0 %s" +msgstr "Vérification que memset(&i,0,sizeof(int)) ; i == (int)0 %s" + +#: init.c:216 +#, c-format +msgid "Checking memset(&ui, 0, sizeof(unsigned int)); ui == (unsigned int)0 %s" +msgstr "" +"Vérification que memset(&ui, 0, sizeof(unsigned int)) ; ui == (unsigned " +"int)0 %s" + +#: init.c:219 +#, c-format +msgid "Checking memset(&d, 0, sizeof(double)); d == (double)0.0 %s" +msgstr "Vérification que memset(&d, 0, sizeof(double)) ; d == (double)0.0 %s" + +#: init.c:222 +#, c-format +msgid "Checking memset(&ld, 0, sizeof(long double)); ld == (long double)0.0 %s" +msgstr "" +"Vérification que memset(&ld, 0, sizeof(long double)) ; ld == (long " +"double)0.0 %s" + +#: init.c:225 +msgid "The ascii character '/' is not just before '0'" +msgstr "Le caractère ascii '/' ne se trouve pas juste avant '0'" + +#: init.c:226 +msgid "The C expression (uint_fast8_t)('/'-'0')<10 is true. Should be false." +msgstr "" +"L'expression C (uint_fast8_t)('/'-'0')<10 est vraie. Elle devrait être " +"fausse." + +#: init.c:227 +msgid "The ascii character ':' is not just after '9'" +msgstr "Le caractère ascii ':' n'est pas juste après '9'" + +#: init.c:228 +msgid "The C expression (uint_fast8_t)('9'-':')<10 is true. Should be false." +msgstr "" +"L'expression C (uint_fast8_t)('9'-':')<10 est vraie. Elle devrait être " +"fausse." + +#: init.c:233 +#, c-format +msgid "Conversion of NA_INT64 via double failed %!=%" +msgstr "" +"La conversion de NA_INT64 via 'double' (nombre à virgule flottante) a échoué " +"%!=%" + +#: init.c:237 +msgid "NA_INT64_D (negative -0.0) is not == 0.0." +msgstr "NA_INT64_D (négatif -0,0) n'est pas == 0,0." + +#: init.c:238 +msgid "NA_INT64_D (negative -0.0) is not ==-0.0." +msgstr "NA_INT64_D (négatif -0,0) n'est pas ==-0,0." + +#: init.c:239 +msgid "ISNAN(NA_INT64_D) is TRUE but should not be" +msgstr "ISNAN(NA_INT64_D) est TRUE mais ne devrait pas l'être" + +#: init.c:240 +msgid "isnan(NA_INT64_D) is TRUE but should not be" +msgstr "isnan(NA_INT64_D) est TRUE mais ne devrait pas l'être" + +#: init.c:274 +#, c-format +msgid "PRINTNAME(install(\"integer64\")) has returned %s not %s" +msgstr "PRINTNAME(install(\"integer64\")) a retourné %s et non %s" + +#: init.c:333 +msgid "verbose option must be length 1 non-NA logical or integer" +msgstr "" +"l'option verbose doit être de longueur 1 et de type booléen non-NA ou entier" + +#: init.c:367 +msgid ".Last.value in namespace is not a length 1 integer" +msgstr ".Last.value dans l'espace des noms n'est pas un entier de longueur 1" + +#: nafill.c:110 +msgid "" +"'x' argument is atomic vector, in-place update is supported only for list/" +"data.table" +msgstr "" +"l'argument 'x' est un vecteur atomique, la mise à jour sur place n'est " +"possible que pour list/data.table" + +#: nafill.c:112 nafill.c:123 +msgid "'x' argument must be numeric type, or list/data.table of numeric types" +msgstr "" +"l'argument 'x' doit être un type numérique ou une liste/data.table de types " +"numériques" + +#: nafill.c:179 +msgid "fill must be a vector of length 1 or a list of length of x" +msgstr "fill doit être un vecteur de longueur 1 ou une liste de longueur x" + +#: nafill.c:226 +#, c-format +msgid "%s: parallel processing of %d column(s) took %.3fs\n" +msgstr "" +"%s : le traitement en parallèle de %d colonne(s) a pris %.3f secondes\n" + +#: openmp-utils.c:23 +#, c-format +msgid "" +"Ignoring invalid %s==\"%s\". Not an integer >= 1. Please remove any " +"characters that are not a digit [0-9]. See ?data.table::setDTthreads." +msgstr "" +"Ignore le test %s= \"%s\" invalide. Ce n'est pas un nombre entier >= 1. " +"Veuillez supprimer tous les caractères qui ne sont pas des chiffres [0-9]. " +"Voir ?data.table::setDTthreads." + +#: openmp-utils.c:44 +#, c-format +msgid "" +"Ignoring invalid R_DATATABLE_NUM_PROCS_PERCENT==%d. If used it must be an " +"integer between 2 and 100. Default is 50. See ?setDTtheads." +msgstr "" +"Ignore le test R_DATATABLE_NUM_PROCS_PERCENT==%d invalide. S'il est utilisé, " +"il doit s'agir d'un entier compris entre 2 et 100. La valeur par défaut est " +"50. Voir ?setDTtheads." + +#: openmp-utils.c:82 +msgid "" +"This installation of data.table has not been compiled with OpenMP support.\n" +msgstr "" +"Cette installation de data.table n'a pas été compilée avec le support pour " +"OpenMP.\n" + +#: openmp-utils.c:84 +#, c-format +msgid " OpenMP version (_OPENMP) %d\n" +msgstr " Version OpenMP (_OPENMP) %d\n" + +#: openmp-utils.c:89 +#, c-format +msgid " omp_get_num_procs() %d\n" +msgstr " omp_get_num_procs() %d\n" + +#: openmp-utils.c:90 +#, c-format +msgid " R_DATATABLE_NUM_PROCS_PERCENT %s\n" +msgstr " R_DATABLE_NUM_PROCS_PERCENT %s\n" + +#: openmp-utils.c:91 +#, c-format +msgid " R_DATATABLE_NUM_THREADS %s\n" +msgstr " R_DATABLE_NUM_THREADS %s\n" + +#: openmp-utils.c:92 +#, c-format +msgid " R_DATATABLE_THROTTLE %s\n" +msgstr " R_DATABLE_THROTTLE %s\n" + +#: openmp-utils.c:93 +#, c-format +msgid " omp_get_thread_limit() %d\n" +msgstr " omp_get_thread_limit() %d\n" + +#: openmp-utils.c:94 +#, c-format +msgid " omp_get_max_threads() %d\n" +msgstr " omp_get_max_threads() %d\n" + +#: openmp-utils.c:95 +#, c-format +msgid " OMP_THREAD_LIMIT %s\n" +msgstr " OMP_THREAD_LIMIT %s\n" + +#: openmp-utils.c:96 +#, c-format +msgid " OMP_NUM_THREADS %s\n" +msgstr " OMP_NUM_THREADS %s\n" + +#: openmp-utils.c:97 +#, c-format +msgid " RestoreAfterFork %s\n" +msgstr " RestoreAfterFork %s\n" + +#: openmp-utils.c:98 +#, c-format +msgid "" +" data.table is using %d threads with throttle==%d. See ?setDTthreads.\n" +msgstr "" +" data.table utilise %d threads avec throttle==%d. Voir ?setDTthreads.\n" + +#: openmp-utils.c:106 +msgid "" +"restore_after_fork= must be TRUE, FALSE, or NULL (default). " +"getDTthreads(verbose=TRUE) reports the current setting.\n" +msgstr "" +"restore_after_fork= doit être TRUE, FALSE ou NULL (par défaut). " +"getDTthreads(verbose=TRUE) indique la configuration actuelle.\n" + +#: openmp-utils.c:112 +msgid "'throttle' must be a single number, non-NA, and >=1" +msgstr "'throttle' doit être un nombre unique, non NA, et >=1" + +#: openmp-utils.c:126 +msgid "" +"threads= must be either NULL or a single number >= 0. See ?setDTthreads." +msgstr "" +"threads= doit être soit NULL soit un nombre unique >= 0. Voir ?setDTthreads." + +#: programming.c:16 +#, c-format +msgid "" +"Attempting to substitute '%s' element with object of type '%s' but it has to " +"be 'symbol' type when substituting name of the call argument, functions 'as." +"name' and 'I' can be used to work out proper substitution, see ?substitute2 " +"examples." +msgstr "" +"Tentative de substitution de l'élément '%s' par un objet de type '%s' mais " +"il doit être de type 'symbole' lors de la substitution du nom de l'argument " +"d'appel. Les fonctions 'as.name' et 'I' peuvent être utilisées pour " +"déterminer la substitution appropriée, voir les exemples ?substitute2." + +#: rbindlist.c:10 +msgid "use.names= should be TRUE, FALSE, or not used (\"check\" by default)" +msgstr "" +"use.names= doit être TRUE, FALSE, ou non utilisé (\"check\" par défaut)" + +#: rbindlist.c:14 +msgid "" +"Input to rbindlist must be a list. This list can contain data.tables, data." +"frames or plain lists." +msgstr "" +"L'entrée de rbindlist doit être une liste. Cette liste peut contenir des " +"data.tables, des data.frames ou des listes simples." + +#: rbindlist.c:33 +#, c-format +msgid "Item %d of input is not a data.frame, data.table or list" +msgstr "" +"L'élément %d de l'entrée n'est pas un data.frame, data.table ou une liste" + +#: rbindlist.c:41 +#, c-format +msgid "" +"Item %d has %d columns, inconsistent with item %d which has %d columns. To " +"fill missing columns use fill=TRUE." +msgstr "" +"L'élément %d comporte %d colonnes, ce qui est incompatible avec l'élément %d " +"qui comporte %d colonnes. Pour remplir les colonnes manquantes, utilisez " +"fill=TRUE." + +#: rbindlist.c:44 +#, c-format +msgid "Item %d has %d columns but %d column names. Invalid object." +msgstr "L'élément %d a %d colonnes mais %d noms de colonnes. Objet non valide." + +#: rbindlist.c:51 +#, c-format +msgid "" +"Column %d of item %d is length %d inconsistent with column %d which is " +"length %d. Only length-1 columns are recycled." +msgstr "" +"La colonne %d de l'élément %d a une longueur %d incompatible avec la colonne " +"%d qui a une longueur %d. Seules les colonnes de longueur 1 sont recyclées." + +#: rbindlist.c:60 +#, c-format +msgid "" +"Column %d ['%s'] of item %d is length 0. This (and %d other%s like it) has " +"been filled with NA (NULL for list columns) to make each item uniform." +msgstr "" +"La colonne %d ['%s'] de l'élément %d a une longueur de 0. Cette colonne (et " +"les %d autres %s similaires) a été remplie avec NA (NULL pour les colonnes " +"de type liste) afin d'uniformiser chaque élément." + +#: rbindlist.c:64 +#, c-format +msgid "" +"Total rows in the list is % which is larger than the maximum number " +"of rows, currently %d" +msgstr "" +"Le nombre total de lignes dans la liste est %, ce qui est supérieur " +"au nombre maximum de lignes, actuellement de %d" + +#: rbindlist.c:65 +msgid "use.names=TRUE but no item of input list has any names" +msgstr "use.names=TRUE mais aucun élément de la liste d'entrée n'a de nom" + +#: rbindlist.c:74 +#, c-format +msgid "" +"Failed to allocate upper bound of % unique column names " +"[sum(lapply(l,ncol))]" +msgstr "" +"Échec de l'allocation de la borne supérieure de % noms de colonnes " +"uniques [sum(lapply(l,ncol))]" + +#: rbindlist.c:105 +#, c-format +msgid "Failed to allocate nuniq=%d items working memory in rbindlist.c" +msgstr "" +"Échec de l'allocation de la mémoire de travail pour nuniq=%d éléments dans " +"rbindlist.c" + +#: rbindlist.c:139 +#, c-format +msgid "Failed to allocate ncol=%d items working memory in rbindlist.c" +msgstr "" +"Échec de l'allocation de la mémoire de travail pour ncol=%d éléments dans " +"rbindlist.c" + +#: rbindlist.c:199 +msgid "" +" use.names='check' (default from v1.12.2) emits this message and proceeds as " +"if use.names=FALSE for backwards compatibility. See news item 5 in v1.12.2 " +"for options to control this message." +msgstr "" +" use.names='check' (par défaut à partir de la version 1.12.2) émet ce " +"message et procède comme si use.names=FALSE pour des raisons de " +"rétrocompatibilité. Voir le point 5 dans les nouveautés de la version 1.12.2 " +"pour les options permettant de contrôler ce message." + +#: rbindlist.c:213 +#, c-format +msgid "" +"Column %d ['%s'] of item %d is missing in item %d. Use fill=TRUE to fill " +"with NA (NULL for list columns), or use.names=FALSE to ignore column names.%s" +msgstr "" +"La colonne %d ['%s'] de l'élément %d est manquante dans l'élément %d. " +"Utilisez fill=TRUE pour remplir avec NA (NULL pour les colonnes de type " +"liste), ou use.names=FALSE pour ignorer les noms de colonnes.%s" + +#: rbindlist.c:222 +#, c-format +msgid "" +"Column %d ['%s'] of item %d appears in position %d in item %d. Set use." +"names=TRUE to match by column name, or use.names=FALSE to ignore column " +"names.%s" +msgstr "" +"La colonne %d ['%s'] de l'élément %d apparaît en position %d dans l'élément " +"%d. Définissez use.names=TRUE pour une correspondance par nom de colonne, ou " +"use.names=FALSE pour ignorer les noms de colonnes.%s" + +#: rbindlist.c:231 +msgid "" +"options()$datatable.rbindlist.check is set but is not a single string. See " +"news item 5 in v1.12.2." +msgstr "" +"options()$datable.rbindlist.check est défini mais n'est pas une chaîne " +"unique. Voir le point 5 dans les nouveautés de la v1.12.2." + +#: rbindlist.c:238 +#, c-format +msgid "" +"options()$datatable.rbindlist.check=='%s' which is not " +"'message'|'warning'|'error'|'none'. See news item 5 in v1.12.2." +msgstr "" +"options()$datable.rbindlist.check=='%s' qui n'est pas " +"'message'|'warning'|'error'|'none'. Voir le point 5 dans les nouveautés de " +"la v1.12.2." + +#: rbindlist.c:301 +#, c-format +msgid "" +"Column %d of item %d has type 'factor' but has no levels; i.e. malformed." +msgstr "" +"La colonne %d de l'élément %d est de type 'facteur' mais n'a pas de niveaux, " +"c'est-à-dire qu'il est malformé." + +#: rbindlist.c:330 +#, c-format +msgid "" +"Class attribute on column %d of item %d does not match with column %d of " +"item %d. You can deactivate this safety-check by using ignore.attr=TRUE" +msgstr "" +"L'attribut de classe de la colonne %d de l'élément %d ne correspond pas à la " +"colonne %d de l'élément %d. Vous pouvez désactiver cette vérification en " +"utilisant ignore.attr=TRUE" + +#: rbindlist.c:380 +#, c-format +msgid "" +"Failed to allocate working memory for %d ordered factor levels of result " +"column %d" +msgstr "" +"Échec de l'allocation de la mémoire de travail pour %d niveaux de facteurs " +"ordonnés pour la colonne de résultats %d" + +#: rbindlist.c:403 +#, c-format +msgid "" +"Column %d of item %d is an ordered factor but level %d ['%s'] is missing " +"from the ordered levels from column %d of item %d. Each set of ordered " +"factor levels should be an ordered subset of the first longest. A regular " +"factor will be created for this column." +msgstr "" +"La colonne %d de l'élément %d est un facteur ordonné, mais le niveau %d " +"['%s'] manque parmi les niveaux ordonnés de la colonne %d de l'élément %d. " +"Chaque ensemble de niveaux de facteur ordonné doit être un sous-ensemble " +"ordonné du premier et plus long. Un facteur régulier sera créé pour cette " +"colonne." + +#: rbindlist.c:408 +#, c-format +msgid "" +"Column %d of item %d is an ordered factor with '%s'<'%s' in its levels. But " +"'%s'<'%s' in the ordered levels from column %d of item %d. A regular factor " +"will be created for this column due to this ambiguity." +msgstr "" +"La colonne %d de l'élément %d est un facteur ordonné dont les niveaux sont " +"'%s'<'%s'. Cependant, '%s'<'%s' dans les niveaux ordonnés de la colonne %d " +"de l'élément %d. Un facteur régulier sera créé pour cette colonne en raison " +"de cette ambiguïté." + +#: rbindlist.c:453 +#, c-format +msgid "" +"Failed to allocate working memory for %d factor levels of result column %d " +"when reading item %d of item %d" +msgstr "" +"Échec de l'allocation de la mémoire de travail pour %d niveaux de facteurs " +"de la colonne de résultats %d lors de la lecture de l'élément %d de " +"l'élément %d" + +#: rbindlist.c:544 rbindlist.c:547 +#, c-format +msgid "Column %d of item %d: %s" +msgstr "Colonne %d de l'élément %d : %s" + +#: reorder.c:17 +#, c-format +msgid "Item %d of list is type '%s' which isn't yet supported (SIZEOF=%zu)" +msgstr "" +"L'élément %d de la liste est du type '%s' qui n'est pas encore pris en " +"charge (SIZEOF=%zu)" + +#: reorder.c:19 +#, c-format +msgid "" +"Column %d is length %d which differs from length of column 1 (%d). Invalid " +"data.table." +msgstr "" +"La colonne %d est de longueur %d, ce qui diffère de la longueur de la " +"colonne 1 (%d). Objet data.table invalide." + +#: reorder.c:27 +#, c-format +msgid "" +"reorder accepts vectors but this non-VECSXP is type '%s' which isn't yet " +"supported (SIZEOF=%zu)" +msgstr "" +"reorder accepte les vecteurs mais non-VECSXP est de type '%s' qui n'est pas " +"encore supporté (SIZEOF=%zu)" + +#: reorder.c:33 +msgid "order must be an integer vector" +msgstr "l'ordre doit être un vecteur entier" + +#: reorder.c:34 +#, c-format +msgid "nrow(x)[%d]!=length(order)[%d]" +msgstr "nrow(x)[%d]!=length(order)[%d]" + +#: reorder.c:51 +#, c-format +msgid "" +"Item %d of order (%d) is either NA, out of range [1,%d], or is duplicated. " +"The new order must be a strict permutation of 1:n" +msgstr "" +"L'élément %d de l'ordre (%d) est soit NA, soit hors de l'intervalle [1,%d], " +"soit dupliqué. Le nouvel ordre doit être une permutation stricte de 1:n" + +#: reorder.c:111 +msgid "dt passed to setcolorder has no names" +msgstr "dt transmis à 'setcolorder' n'a pas de noms" + +#: shift.c:12 +msgid "" +"shift input must not be matrix or array, consider wrapping it into data." +"table() or c()" +msgstr "" +"l'entrée de la fonction shift ne doit pas être une matrice ou un tableau, " +"envisagez de l'intégrer dans data.table() ou c()" + +#: shift.c:17 +#, c-format +msgid "" +"type '%s' passed to shift(). Must be a vector, list, data.frame or data.table" +msgstr "" +"type '%s' transmis à 'shift()'. Il doit s'agir d'un vecteur, d'une liste, " +"d'un data.frame ou d'un data.table" + +#: snprintf.c:193 snprintf.c:196 snprintf.c:199 snprintf.c:202 snprintf.c:205 +#: snprintf.c:208 snprintf.c:211 snprintf.c:214 snprintf.c:217 snprintf.c:221 +#: snprintf.c:224 snprintf.c:227 snprintf.c:230 snprintf.c:233 snprintf.c:236 +#: snprintf.c:239 snprintf.c:242 snprintf.c:245 +#, c-format +msgid "dt_win_snprintf test %d failed: %s" +msgstr "le test dt_win_snprintf %d a échoué : %s" + +#: snprintf.c:218 +#, c-format +msgid "dt_win_snprintf test %d failed: %d" +msgstr "le test dt_win_snprintf %d a échoué : %d" + +#: subset.c:182 +#, c-format +msgid "" +"Item %d of i is %d and item %d is %d. Cannot mix positives and negatives." +msgstr "" +"L'élément %d de i est %d et l'élément %d est %d. Il n'est pas possible de " +"mélanger les positifs et les négatifs." + +#: subset.c:192 +#, c-format +msgid "Item %d of i is %d and item %d is NA. Cannot mix negatives and NA." +msgstr "" +"L'élément %d de i est %d et l'élément %d est NA. Il n'est pas possible de " +"mélanger des négatifs et des NA." + +#: subset.c:239 +#, c-format +msgid "" +"Item %d of i is %d but there are only %d rows. Ignoring this and %d more " +"like it out of %d." +msgstr "" +"L'élément %d de i est %d mais il n'y a que %d lignes. Cela sera ignoré, " +"ainsi que %d autres similaires sur un total de %d." + +#: subset.c:241 +#, c-format +msgid "" +"Item %d of i is %d which removes that item but that has occurred before. " +"Ignoring this dup and %d other dups." +msgstr "" +"L'élément %d de i est %d, ce qui supprime cet élément, mais cela s'est déjà " +"produit auparavant. Ce doublon sera ignoré ainsi que %d autres doublons." + +#: subset.c:255 +#, c-format +msgid "Column %d is NULL; malformed data.table." +msgstr "La colonne %d est NULL ; data.table malformé." + +#: subset.c:258 +#, c-format +msgid "Column %d ['%s'] is a data.frame or data.table; malformed data.table." +msgstr "" +"La colonne %d ['%s'] est un data.frame ou un data.table ; data.table " +"malformé." + +#: subset.c:263 +#, c-format +msgid "" +"Column %d ['%s'] is length %d but column 1 is length %d; malformed data." +"table." +msgstr "" +"La colonne %d ['%s'] est de longueur %d mais la colonne 1 est de longueur " +"%d ; data.table malformé." + +#: subset.c:295 +#, c-format +msgid "Item %d of cols is %d which is outside the range [1,ncol(x)=%d]" +msgstr "" +"L'élément %d des colonnes est %d, ce qui est en dehors de l'intervalle [1," +"ncol(x)=%d]" + +#: transpose.c:9 +msgid "l must be a list." +msgstr "l doit être une liste." + +#: transpose.c:13 +msgid "ignore.empty should be logical TRUE/FALSE." +msgstr "ignore.empty doit être de type booléen TRUE/FALSE." + +#: transpose.c:16 +msgid "" +"keep.names should be either NULL, or the name of the first column of the " +"result in which to place the names of the input" +msgstr "" +"keep.names doit être soit NULL, soit le nom de la première colonne du " +"résultat dans laquelle placer les noms de l'entrée" + +#: transpose.c:19 +msgid "fill must be a length 1 vector, such as the default NA" +msgstr "fill doit être un vecteur de longueur 1, tel que NA par defaut" + +#: transpose.c:22 +msgid "list.cols should be logical TRUE/FALSE." +msgstr "list.cols doit être de type booléen TRUE/FALSE." + +#: transpose.c:31 +#, c-format +msgid "Item %d of list input is not either an atomic vector, or a list" +msgstr "" +"L'élément %d de la liste d'entrée n'est pas un vecteur atomique, ou une liste" + +#: uniqlist.c:151 +msgid "Input argument 'x' to 'uniqlengths' must be an integer vector" +msgstr "" +"L'argument d'entrée 'x' de 'uniqlengths' doit être un vecteur d'entiers" + +#: uniqlist.c:152 +msgid "" +"Input argument 'n' to 'uniqlengths' must be an integer vector of length 1" +msgstr "" +"L'argument d'entrée 'n' de 'uniqlengths' doit être un vecteur entier de " +"longueur 1" + +#: uniqlist.c:170 uniqlist.c:267 +msgid "cols must be an integer vector with length >= 1" +msgstr "cols doit être un vecteur d'entier de longueur >= 1" + +#: uniqlist.c:174 +#, c-format +msgid "Item %d of cols is %d which is outside the range [1,length(l)=%d]" +msgstr "" +"L'élément %d de cols est %d, ce qui est en dehors de l'intervalle [1," +"length(l)=%d]" + +#: uniqlist.c:177 +#, c-format +msgid "" +"All elements to input list must be of same length. Element [%d] has length " +"% != length of first element = %." +msgstr "" +"Tous les éléments de la liste d'entrée doivent être de même longueur. " +"L'élément [%d] a une longueur de %!= longueur du premier élément = " +"%." + +#: uniqlist.c:352 +msgid "x is not a logical vector" +msgstr "x n'est pas un vecteur de booléens" + +#: utils.c:85 +#, c-format +msgid "Unsupported type '%s' passed to allNA()" +msgstr "Type '%s' non pris en charge dans allNA()" + +#: utils.c:105 +msgid "'x' argument must be data.table compatible" +msgstr "l'argument 'x' doit être compatible avec data.table" + +#: utils.c:129 +msgid "" +"argument specifying columns is type 'double' and one or more items in it are " +"not whole integers" +msgstr "" +"l'argument spécifiant les colonnes est de type 'double' (nombre à virgule " +"flottante) et un ou plusieurs éléments ne sont pas des entiers" + +#: utils.c:135 +#, c-format +msgid "" +"argument specifying columns received non-existing column(s): cols[%d]=%d" +msgstr "" +"l'argument spécifiant les colonnes a reçu des colonnes inexistantes : " +"cols[%d]=%d" + +#: utils.c:142 +msgid "'x' argument data.table has no names" +msgstr "l'argument 'x' de data.table n'a pas de nom" + +#: utils.c:148 +#, c-format +msgid "" +"argument specifying columns received non-existing column(s): cols[%d]='%s'" +msgstr "" +"l'argument spécifiant les colonnes a reçu des colonnes inexistantes : " +"cols[%d]='%s'" + +#: utils.c:152 +msgid "argument specifying columns must be character or numeric" +msgstr "l'argument spécifiant les colonnes doit être un caractère ou un nombre" + +#: utils.c:155 +msgid "argument specifying columns received duplicate column(s)" +msgstr "" +"l'argument spécifiant les colonnes a reçu une ou plusieurs colonnes " +"dupliquée(s)" + +#: utils.c:289 +#, c-format +msgid "Found and copied %d column%s with a shared memory address\n" +msgstr "" +"Trouvé et copié la colonne %d %s avec une adresse de mémoire partagée\n" + +#: utils.c:369 +msgid "'x' is not atomic" +msgstr "'x' n'est pas un vecteur atomique" + +#: utils.c:371 +msgid "'x' must not be matrix or array" +msgstr "'x' ne doit pas être une matrice ou un tableau" + +#: utils.c:373 +msgid "input must not be matrix or array" +msgstr "l'entrée ne doit pas être une matrice ou un tableau" + +#: utils.c:377 +#, c-format +msgid "copy=false and input already of expected type and class %s[%s]\n" +msgstr "" +"copy=false et l'entrée est déjà du type et de la classe attendus %s[%s]\n" + +#: utils.c:384 +#, c-format +msgid "Coercing %s[%s] into %s[%s]\n" +msgstr "Conversion de %s[%s] en %s[%s]\n" + +#: utils.c:400 +#, c-format +msgid "zlib header files were not found when data.table was compiled" +msgstr "" +"les fichiers d'en-tête de zlib n'ont pas été trouvés lors de la compilation " +"de data.table" + +#: vecseq.c:14 +msgid "len must be an integer vector" +msgstr "len doit être un vecteur d'entier" + +#: vecseq.c:15 +msgid "x and len must be the same length" +msgstr "x et len doivent être de même longueur" + +#: vecseq.c:21 +msgid "" +"Join results in more than 2^31 rows (internal vecseq reached physical " +"limit). Very likely misspecified join. Check for duplicate key values in i " +"each of which join to the same group in x over and over again. If that's ok, " +"try by=.EACHI to run j for each group to avoid the large allocation. " +"Otherwise, please search for this error message in the FAQ, Wiki, Stack " +"Overflow and data.table issue tracker for advice." +msgstr "" +"La jointure donne plus de 2^31 lignes (vecseq a atteint la limite physique). " +"Très probablement une mauvaise spécification de la jointure. Vérifiez s'il y " +"a des valeurs de clés dupliquées dans i, chacune d'entre elles rejoignant le " +"même groupe dans x, encore et encore. Si c'est correct, essayez by=.EACHI " +"pour exécuter j pour chaque groupe afin d'éviter une allocation importante. " +"Sinon, recherchez ce message d'erreur dans la FAQ, le Wiki, Stack Overflow " +"et le gestionnaire de tickets (issue tracker) de data.table pour obtenir des " +"conseils." + +#: vecseq.c:25 +msgid "clamp must be a double vector length 1" +msgstr "" +"clamp doit être un vecteur 'double' (nombre à virgule flottante) de longueur " +"1" + +#: vecseq.c:27 +msgid "clamp must be positive" +msgstr "clamp doit être positive" + +#: vecseq.c:28 +#, c-format +msgid "" +"Join results in %d rows; more than %d = nrow(x)+nrow(i). Check for duplicate " +"key values in i each of which join to the same group in x over and over " +"again. If that's ok, try by=.EACHI to run j for each group to avoid the " +"large allocation. If you are sure you wish to proceed, rerun with allow." +"cartesian=TRUE. Otherwise, please search for this error message in the FAQ, " +"Wiki, Stack Overflow and data.table issue tracker for advice." +msgstr "" +"La jointure donne %d lignes ; plus de %d = nrow(x)+nrow(i). Vérifiez s'il y " +"a des valeurs de clés dupliquées dans i, chacune d'entre elles rejoignant le " +"même groupe dans x, encore et encore. Si c'est correct, essayez by=.EACHI " +"pour exécuter j pour chaque groupe afin d'éviter une allocation importante. " +"Sinon, recherchez ce message d'erreur dans la FAQ, le Wiki, Stack Overflow " +"et le gestionnaire de tickets (issue tracker) de data.table pour obtenir des " +"conseils." + +#: wrappers.c:11 +msgid "Attribute name must be a character vector of length 1" +msgstr "Le nom de l'attribut doit être un vecteur de caractères de longueur 1" + +#: wrappers.c:16 +msgid "" +"Internal structure doesn't seem to be a list. Can't set class to be 'data." +"table' or 'data.frame'. Use 'as.data.table()' or 'as.data.frame()' methods " +"instead." +msgstr "" +"La structure interne ne semble pas être une liste. Impossible de définir la " +"classe comme étant 'data.table' ou 'data.frame'. Utilisez plutôt les " +"méthodes 'as.data.table()' ou 'as.data.frame()'." + +#: wrappers.c:66 +msgid "First argument to setlistelt must be a list()" +msgstr "Le premier argument de setlistelt doit être de type list()" + +#: wrappers.c:67 +msgid "Second argument to setlistelt must a length 1 integer vector" +msgstr "" +"Le deuxième argument de setlistelt doit être un vecteur d'entier de longueur " +"1" + +#: wrappers.c:69 +#, c-format +msgid "i (%d) is outside the range of items [1,%d]" +msgstr "i (%d) est en dehors de l'intervalle des éléments [1,%d]" + +#: wrappers.c:91 +msgid "x isn't a VECSXP" +msgstr "x n'est pas un VECSXP" + +#: wrappers.c:106 +#, c-format +msgid "" +"dim.data.table expects a data.table as input (which is a list), but seems to " +"be of type %s" +msgstr "" +"dim.data.table attend un data.table en entrée (qui est de type liste), mais " +"semble être de type %s" + +#~ msgid "Internal error: finalizer hasn't received an ExternalPtr" +#~ msgstr "Erreur interne : le finalisateur n'a pas reçu de ExternalPtr" + +#~ msgid "Internal error: finalizer's ExternalPtr doesn't see names in tag" +#~ msgstr "" +#~ "Erreur interne : le ExternalPtr du finalisateur ne voit pas les noms dans " +#~ "la balise" + +#, c-format +#~ msgid "Internal error: finalizer sees l=%d, tl=%d" +#~ msgstr "Erreur interne : le finalisateur voit l=%d, tl=%d" + +#~ msgid "Internal error: .internal.selfref ptr is neither NULL nor R_NilValue" +#~ msgstr "Erreur interne : .internal.selfref ptr n'est ni NULL ni R_NilValue" + +#~ msgid "" +#~ "Internal error: .internal.selfref tag is neither NULL nor a character " +#~ "vector" +#~ msgstr "" +#~ "Erreur interne : la balise .internal.selfref n'est ni NULL ni un vecteur " +#~ "de caractères" + +#~ msgid "Internal error: length(names)>0 but 0 mais length(xcols) [%d]" +#~ msgstr "Erreur interne : length(icols) [%d] > length(xcols) [%d]" + +#, c-format +#~ msgid "Internal error. icols[%d] is NA" +#~ msgstr "Erreur interne. icols[%d] est NA" + +#, c-format +#~ msgid "Internal error. xcols[%d] is NA" +#~ msgstr "Erreur interne. xcols[%d] est NA" + +#~ msgid "Internal error: roll is not character or double" +#~ msgstr "" +#~ "Erreur interne : 'roll' n'est pas un caractère ou un 'double' (nombre à " +#~ "virgule flottante)" + +#~ msgid "Internal error: nomatchArg must be NULL or length-1 logical/integer" +#~ msgstr "" +#~ "Erreur interne : 'nomatchArg' doit être NULL ou un entier ou booléen de " +#~ "longueur 1" + +#~ msgid "Internal error: nomatchArg must be NULL, NA, NA_integer_ or 0L" +#~ msgstr "Erreur interne : nomatchArg doit être NULL, NA, NA_integer_ ou 0L" + +#~ msgid "" +#~ "Internal error: opArg is not an integer vector of length equal to " +#~ "length(on)" +#~ msgstr "" +#~ "Erreur interne : opArg n'est pas un vecteur entier de longueur égale à " +#~ "length(on)" + +#, c-format +#~ msgid "Internal error in bmerge_r for x.'%s'. Unrecognized value op[col]=%d" +#~ msgstr "" +#~ "Erreur interne dans bmerge_r pour x.'%s'. Valeur non reconnue op[col]=%d" + +#~ msgid "Internal error: nqgrpArg must be an integer vector" +#~ msgstr "Erreur interne : nqgrpArg doit être un vecteur de nombre entiers" + +#~ msgid "Intrnal error: nqmaxgrpArg is not a positive length-1 integer vector" +#~ msgstr "" +#~ "Erreur interne : nqmaxgrpArg n'est pas un vecteur de nombres entiers " +#~ "positif de longueur 1" + +#~ msgid "Internal error in allocating memory for non-equi join" +#~ msgstr "" +#~ "Erreur interne lors de l'allocation de mémoire pour une jointure non-équi" + +#~ msgid "Internal error: xoArg is not an integer vector" +#~ msgstr "Erreur interne : xoArg n'est pas un vecteur de nombres entiers" + +#~ msgid "Internal error: either chin or chmatchdup should be true not both" +#~ msgstr "Erreur interne : chin ou chmatchdup doit être true, pas les deux" + +#, c-format +#~ msgid "Internal error: length of SYMSXP is %d not 1" +#~ msgstr "Erreur interne : la longueur de SYMSXP est %d et non 1" + +#, c-format +#~ msgid "" +#~ "Internal error: CHARSXP '%s' has a negative truelength (%d). Please file " +#~ "an issue on the data.table tracker." +#~ msgstr "" +#~ "Erreur interne : CHARSXP '%s' a une truelength négative (%d). Veuillez " +#~ "rapporter le problème sur le gestionnaire de tickets (issue tracker) de " +#~ "data.table." + +#~ msgid "Internal error in coalesce.c: input is list(...) at R level" +#~ msgstr "" +#~ "Erreur interne dans coalesce.c : la valeur fournie est list(...) au " +#~ "niveau R" + +#~ msgid "" +#~ "Internal error in coalesce.c: argument 'inplaceArg' must be TRUE or FALSE" +#~ msgstr "" +#~ "Erreur interne dans coalesce.c : l'argument 'inplaceArg' doit être TRUE " +#~ "ou FALSE" + +#~ msgid "Internal error: order not integer vector" +#~ msgstr "Erreur interne : order n'est pas un vecteur de nombres entiers" + +#~ msgid "Internal error: starts not integer" +#~ msgstr "Erreur interne : starts n'est pas un entier" + +#~ msgid "Internal error: jiscols not NULL but o__ has length" +#~ msgstr "Erreur interne : jiscols n'est pas NULL mais o__ a une longueur" + +#~ msgid "Internal error: xjiscols not NULL but o__ has length" +#~ msgstr "Erreur interne : xjiscols n'est pas NULL but o__ a une longueur" + +#, c-format +#~ msgid "" +#~ "Internal error: unsupported size-0 type '%s' in column %d of 'by' should " +#~ "have been caught earlier" +#~ msgstr "" +#~ "Erreur interne : le type '%s' de taille 0 non pris en charge dans la " +#~ "colonne %d de 'by' aurait dû être détecté plus tôt" + +#, c-format +#~ msgid "" +#~ "Internal error: size-0 type %d in .SD column %d should have been caught " +#~ "earlier" +#~ msgstr "" +#~ "Erreur interne : le type de taille 0 %d dans la colonne .SD %d aurait dû " +#~ "être détecté plus tôt" + +#, c-format +#~ msgid "Internal error: SDall %d length = %d != %d" +#~ msgstr "Erreur interne : SDall %d length = %d != %d" + +#, c-format +#~ msgid "" +#~ "Internal error: type %d in .xSD column %d should have been caught by now" +#~ msgstr "" +#~ "Erreur interne : le type %d dans la colonne .xSD %d aurait déjà dû être " +#~ "détecté" + +#~ msgid "" +#~ "Internal error: Trying to add new column by reference but tl is full; " +#~ "setalloccol should have run first at R level before getting to this point " +#~ "in dogroups" +#~ msgstr "" +#~ "Erreur interne : essai d'ajout de nouvelle colonne par référence mais la " +#~ "taille préallouée (tl) est pleine ; setalloccol aurait du être exécuté " +#~ "d'abord au niveau de R avant d'en arriver à ce point dans dogroups" + +#, c-format +#~ msgid "Internal error: block 0 [%d] and block 1 [%d] have both run" +#~ msgstr "" +#~ "Erreur interne : le bloc 0 [%d] et le bloc 1 [%d] ont tous deux été " +#~ "exécutés" + +#, c-format +#~ msgid "Internal error: growVector doesn't support type '%s'" +#~ msgstr "Erreur interne : growVector ne prends pas en charge le type '%s'" + +#, c-format +#~ msgid "Internal error: type '%s' not caught earlier in fastmean" +#~ msgstr "" +#~ "Erreur interne : le type '%s' n'a pas été détecté plus tôt dans fastmean" + +#, c-format +#~ msgid "" +#~ "Internal error in concat: 'idx' must take values between 1 and " +#~ "length(vec); 1 <= idx <= %d" +#~ msgstr "" +#~ "Erreur interne dans concat : 'idx' doit prendre des valeurs comprises " +#~ "entre 1 et length(vec) ; 1 <= idx <= %d" + +#~ msgid "" +#~ "Internal error: combineFactorLevels in fmelt.c expects all-character input" +#~ msgstr "" +#~ "Erreur interne : dans fmelt.c, combineFactorLevels attend entrées " +#~ "entièrement composées de caractères" + +#~ msgid "" +#~ "Internal error: combineFactorLevels in fmelt.c expects a character target " +#~ "to factorize" +#~ msgstr "" +#~ "Erreur interne : dans fmelt.c, combineFactorLevels attend un caractère " +#~ "target à factoriser" + +#, c-format +#~ msgid "Internal error: fmelt.c:getvarcols %d %d" +#~ msgstr "Erreur interne : fmelt.c:getvarcols %d %d" + +#~ msgid "Failed to alloc cradix_tmp" +#~ msgstr "Échec de l'allocation de cradix_tmp" + +#, c-format +#~ msgid "" +#~ "Internal error: ustr isn't empty when starting range_str: ustr_n=%d, " +#~ "ustr_alloc=%d" +#~ msgstr "" +#~ "Erreur interne : ustr n'est pas vide au démarrage de range_str : " +#~ "ustr_n=%d, ustr_alloc=%d" + +#~ msgid "Internal error: ustr_maxlen isn't 0 when starting range_str" +#~ msgstr "Erreur interne : ustr_maxlen n'est pas 0 au démarrage de range_str" + +#~ msgid "" +#~ "Internal error: input is not either a list of columns, or an atomic " +#~ "vector." +#~ msgstr "" +#~ "Erreur interne : l'entrée n'est ni une liste de colonnes, ni un vecteur " +#~ "atomique." + +#~ msgid "" +#~ "Internal error: input is an atomic vector (not a list of columns) but by= " +#~ "is not NULL" +#~ msgstr "" +#~ "Erreur interne : l’entrée est un vecteur atomique (pas une liste de " +#~ "colonnes) mais by= n'est pas NULL" + +#~ msgid "Internal error: DT is an empty list() of 0 columns" +#~ msgstr "Erreur interne : DT est une liste vide() de 0 colonne" + +#, c-format +#~ msgid "" +#~ "Internal error: DT has %d columns but 'by' is either not integer or is " +#~ "length 0" +#~ msgstr "" +#~ "Erreur interne : DT a %d colonnes mais 'by' n'est pas un entier ou est de " +#~ "longueur nulle" + +#, c-format +#~ msgid "internal error: 'by' value %d out of range [1,%d]" +#~ msgstr "erreur interne : valeur 'by' %d en dehors de l’intervalle [1,%d]" + +#~ msgid "Internal error: column not supported, not caught earlier" +#~ msgstr "" +#~ "Erreur interne : la colonne n'est pas prise en charge, non détecté plus " +#~ "tôt" + +#~ msgid "Internal error: issorted 'by' must be NULL or integer vector" +#~ msgstr "" +#~ "Erreur interne : issorted 'by' doit être NULL ou un vecteur d’entier" + +#, c-format +#~ msgid "Internal error. Argument '%s' to %s is type '%s' not '%s'" +#~ msgstr "" +#~ "Erreur interne. L'argument '%s' à %s est de type '%s' et non pas %s’" + +#~ msgid "" +#~ "Internal error: invalid ties.method for frankv(), should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : ties.method est invalide pour frankv(), cela aurait dû " +#~ "être détecté auparavant. Veuillez signaler l'erreur au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#, c-format +#~ msgid "Internal error: unknown ties value in frank: %d" +#~ msgstr "Erreur interne : valeur de ties inconnue dans frank : %d" + +#, c-format +#~ msgid "" +#~ "Internal error in line %d of fread.c, please report on data.table " +#~ "GitHub: " +#~ msgstr "" +#~ "Erreur interne à la ligne %d de fread.c, à signaler sur le GitHub de data." +#~ "table : " + +#, c-format +#~ msgid "Internal error: NUMTYPE(%d) > nLetters(%d)" +#~ msgstr "Erreur interne : NUMTYPE(%d) > nLetters(%d)" + +#~ msgid "" +#~ "Internal error: NAstrings is itself NULL. When empty it should be pointer " +#~ "to NULL." +#~ msgstr "" +#~ "Erreur interne : NAstrings est lui-même NULL. Lorsqu’il est vide, il doit " +#~ "être un pointeur sur NULL." + +#~ msgid "dec='' not allowed. Should be '.' or ','" +#~ msgstr "dec='' non autorisé. Doit être '.' ou ','" + +#~ msgid "Internal error: last byte of character input isn't \\0" +#~ msgstr "" +#~ "Erreur interne : le dernier octet de l'entrée de caractère n'est pas \\0" + +#~ msgid "" +#~ "Internal error: Neither `input` nor `filename` are given, nothing to read." +#~ msgstr "" +#~ "Erreur interne : Ni ‘input’ ni ‘filename’ ne sont donnés, rien à lire." + +#, c-format +#~ msgid "" +#~ "Internal error: ncol==%d line==%d after detecting sep, ncol and first line" +#~ msgstr "" +#~ "Erreur interne : ncol==%d line==%d après détection de sep, ncol et " +#~ "première ligne" + +#, c-format +#~ msgid "Internal error: first line has field count %d but expecting %d" +#~ msgstr "" +#~ "Erreur interne : la première ligne a un nombre %d de champs mais %d est " +#~ "attendu" + +#~ msgid "" +#~ "Internal error: row before first data row has the same number of fields " +#~ "but we're not using it." +#~ msgstr "" +#~ "Erreur interne : la ligne précédant la première ligne des données a le " +#~ "même nombre de champs mais nous ne l'utilisons pas." + +#~ msgid "" +#~ "Internal error: ch!=pos after counting fields in the line before the " +#~ "first data row." +#~ msgstr "" +#~ "Erreur interne : ch!=pos après avoir compté les champs de la ligne " +#~ "précédant la première ligne des données." + +#~ msgid "" +#~ "Internal error: fill=true but there is a previous row which should " +#~ "already have been filled." +#~ msgstr "" +#~ "Erreur interne : fill=true mais il y a une ligne précédente qui aurait " +#~ "déjà dû être remplie." + +#, c-format +#~ msgid "Internal error: sampleLines(%) > allocnrow(%)" +#~ msgstr "Erreur interne : sampleLines(%) > allocnrow(%)" + +#, c-format +#~ msgid "Internal error: reading colnames ending on '%c'" +#~ msgstr "Erreur interne : lecture des noms de colonnes se terminant par '%c'" + +#, c-format +#~ msgid "Internal error: Master thread is not thread 0 but thread %d.\n" +#~ msgstr "" +#~ "Erreur interne : Le thread principal n'est pas le thread 0 mais le thread " +#~ "%d.\n" + +#, c-format +#~ msgid "" +#~ "Internal error: invalid head position. jump=%d, headPos=%p, " +#~ "thisJumpStart=%p, sof=%p" +#~ msgstr "" +#~ "Erreur interne : position de tête non valide. jump=%d, headPos=%p, " +#~ "thisJumpStart=%p, sof=%p" + +#~ msgid "" +#~ "Internal error: freadR input not a single character string: a filename or " +#~ "the data itself. Should have been caught at R level." +#~ msgstr "" +#~ "Erreur interne : l’entrée de freadR n’est pas un caractère unique: c’est " +#~ "un nom de fichier ou les données elles-mêmes. Cette erreur aurait dû être " +#~ "détectée par R." + +#~ msgid "Internal error: freadR isFileNameArg not TRUE or FALSE" +#~ msgstr "Erreur interne : freadR isFileNameArg ni TRUE ou FALSE" + +#~ msgid "" +#~ "Internal error: freadR sep not a single character. R level catches this." +#~ msgstr "" +#~ "Erreur interne : freadR sep n'est pas un caractère unique. Le code R " +#~ "associé détecte cette erreur." + +#~ msgid "" +#~ "Internal error: freadR dec not a single character. R level catches this." +#~ msgstr "" +#~ "Erreur interne : freadR dec n’est pas un caractère unique. Le code R " +#~ "associé détecte cette erreur." + +#~ msgid "" +#~ "Internal error: freadR nrows not a single real. R level catches this." +#~ msgstr "" +#~ "Erreur interne : freadR nrows pas un unique réel. Le code R associé " +#~ "détecte cette erreur." + +#~ msgid "Internal error: skip not integer or string in freadR.c" +#~ msgstr "" +#~ "Erreur interne : skip n’est pas un entier ou une chaîne de caractère dans " +#~ "freadR.c" + +#, c-format +#~ msgid "Internal error: NAstringsArg is type '%s'. R level catches this" +#~ msgstr "" +#~ "Erreur interne : NAstringsArg est de type '%s'. Le code R associé détecte " +#~ "cette erreur" + +#~ msgid "Internal error: typeSize[CT_BOOL8_N] != 1" +#~ msgstr "Erreur interne : typeSize[CT_BOOL8_N] != 1" + +#~ msgid "Internal error: typeSize[CT_STRING] != 1" +#~ msgstr "Erreur interne : typeSize[CT_STRING] != 1" + +#~ msgid "Internal error: selectInts is NULL but selectColClasses is true" +#~ msgstr "Erreur interne : selectInts est NULL mais selectColClasses est true" + +#~ msgid "" +#~ "Internal error: length(selectSxp)!=length(colClassesSxp) but " +#~ "selectColClasses is true" +#~ msgstr "" +#~ "Erreur interne : length(selectSxp)!=length(colClassesSxp) mais " +#~ "selectColClasses est true" + +#, c-format +#~ msgid "Internal error: unexpected field of size %d\n" +#~ msgstr "Erreur interne : champ inattendu de taille %d\n" + +#, c-format +#~ msgid "" +#~ "Internal error: invalid %s argument in %s function should have been " +#~ "caught earlier. Please report to the data.table issue tracker." +#~ msgstr "" +#~ "Erreur interne : argument %s invalide dans la fonction %s qui aurait dû " +#~ "être détecté plus tôt. Veuillez signaler cette erreur au gestionnaire de " +#~ "tickets (issue tracker) de data.table." + +#, c-format +#~ msgid "Internal error: badaptive=%d but ik is not integer" +#~ msgstr "Erreur interne : badaptive=%d mais ik n'est pas un entier" + +#, c-format +#~ msgid "Internal error: Unknown sfun value in froll: %d" +#~ msgstr "Erreur interne : Valeur inconnue de sfun dans froll : %d" + +#~ msgid "internal error: 'fun' must be a function" +#~ msgstr "erreur interne : 'fun' doit être une fonction" + +#~ msgid "internal error: 'rho' should be an environment" +#~ msgstr "erreur interne : 'rho' devrait être un environnement" + +#~ msgid "Internal error: counts[nBatch-1][MSBsize-1] != length(x)" +#~ msgstr "Erreur interne : counts[nBatch-1][MSBsize-1] != length(x)" + +#, c-format +#~ msgid "Internal error: type %d has no max length method implemented" +#~ msgstr "" +#~ "Erreur interne : le type %d n'a pas de méthode implémentée pour calculer " +#~ "la taille maximale" + +#~ msgid "Internal error: col passed to getMaxCategLen is missing levels" +#~ msgstr "" +#~ "Erreur interne : la colonne transmise à 'getMaxCategLen' manque de niveaux" + +#~ msgid "Internal error: getMaxListItemLen should have caught this up front." +#~ msgstr "" +#~ "Erreur interne : getMaxListItemLen aurait dû détecter cela dès le début." + +#, c-format +#~ msgid "" +#~ "Internal error: row % of list column has no max length method " +#~ "implemented" +#~ msgstr "" +#~ "Erreur interne : la ligne % de la colonne de type liste n'a pas " +#~ "de méthode implémentée pour calculer la taille maximale" + +#~ msgid "" +#~ "Internal error: o's maxgrpn attribute mismatches recalculated maxgrpn" +#~ msgstr "" +#~ "Erreur interne : l'attribut maxgrpn de o ne correspond pas au maxgrpn " +#~ "recalculé" + +#, c-format +#~ msgid "" +#~ "Internal error: nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%zu " +#~ "nBatch=%zu batchSize=%zu lastBatchSize=%zu\n" +#~ msgstr "" +#~ "Erreur interne : nrow=%d ngrp=%d nbit=%d bitshift=%d highSize=%zu " +#~ "nBatch=%zu batchSize=%zu lastBatchSize=%zu\n" + +#~ msgid "Internal error: gfirstlast headw should only be true when w>1" +#~ msgstr "Erreur interne : gfirstlast headw ne devrait être vrai que si w>1" + +#, c-format +#~ msgid "" +#~ "Internal error: unanticipated case in gfirstlast first=%d w=%d headw=%d" +#~ msgstr "" +#~ "Erreur interne : cas non prévu dans gfirstlast first=%d w=%d headw=%d" + +#~ msgid "" +#~ "Internal error, gtail is only implemented for n>0. This should have been " +#~ "caught before. please report to data.table issue tracker." +#~ msgstr "" +#~ "Erreur interne, gtail n'est implémenté que pour n>0. Cela aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table." + +#~ msgid "" +#~ "Internal error, `g[` (gnthvalue) is only implemented single value subsets " +#~ "with positive index, e.g., .SD[2]. This should have been caught before. " +#~ "please report to data.table issue tracker." +#~ msgstr "" +#~ "Erreur interne, `g[` (gnthvalue) n'est implémenté que pour les sous-" +#~ "ensembles à valeur unique avec un indice positif, par exemple, .SD[2]. " +#~ "Cette erreur aurait dû être détectée auparavant. Veuillez signaler ce " +#~ "problème au gestionnaire de tickets (issue tracker) de data.table." + +#, c-format +#~ msgid "Internal error: nrow [%d] != length(x) [%d] in %s" +#~ msgstr "Erreur interne : nrow [%d] != length(x) [%d] in %s" + +#~ msgid "" +#~ "Internal error: invalid type for gshift(), should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : type invalide pour gshift(). Cela aurait dû être détecté " +#~ "auparavant. Veuillez signaler ce problème au gestionnaire de tickets " +#~ "(issue tracker) de data.table" + +#~ msgid "Internal error: n must be integer" +#~ msgstr "Erreur interne : n doit être un entier" + +#~ msgid "" +#~ "Internal error: invalid type for convertDate(), should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : type invalide pour convertDate(). Cela aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#~ msgid "" +#~ "Internal error: invalid type for convertDate, should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : type invalide pour convertDate. Cela aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#~ msgid "" +#~ "Internal error: invalid value for 'mult'; this should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : valeur invalide pour 'mult' . Ce problème aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#~ msgid "" +#~ "Internal error: invalid value for 'type'; this should have been caught " +#~ "before. please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : valeur invalide pour 'type' . Ce problème aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#, c-format +#~ msgid "Internal error: unknown type in mult=%d in lookup: %d" +#~ msgstr "Erreur interne : type inconnu dans mult=%d dans lookup : %d" + +#, c-format +#~ msgid "Internal error: unknown mult in lookup: %d" +#~ msgstr "Erreur interne : mult inconnu dans la recherche : %d" + +#, c-format +#~ msgid "" +#~ "Internal error: unknown type lookup should have been caught earlier: %d" +#~ msgstr "" +#~ "Erreur interne : la recherche de type inconnu aurait dû être détectée " +#~ "plus tôt : %d" + +#, c-format +#~ msgid "" +#~ "Internal error: unknown type in mult=%d in lookup should have been caught " +#~ "earlier: %d" +#~ msgstr "" +#~ "Erreur interne : type inconnu dans mult=%d dans la recherche et aurait dû " +#~ "être détectée plus tôt : %d" + +#, c-format +#~ msgid "Internal error: unknown type in mult=ALL in overlaps: %d" +#~ msgstr "" +#~ "Erreur interne : type inconnu dans mult=ALL dans les chevauchements : %d" + +#, c-format +#~ msgid "Internal error: unknown type in mult=%d in overlaps: %d" +#~ msgstr "" +#~ "Erreur interne : type inconnu dans mult=%d dans les chevauchements : %d" + +#, c-format +#~ msgid "Internal error: unknown mult in overlaps: %d" +#~ msgstr "Erreur interne : mult inconnu dans les chevauchements : %d" + +#~ msgid "nan_is_na must be TRUE or FALSE" +#~ msgstr "nan_is_na doit être TRUE ou FALSE" + +#~ msgid "internal error: 'fill' should be recycled as list already" +#~ msgstr "erreur interne : 'fill' devrait déjà être recyclé en tant que liste" + +#~ msgid "Internal error: percent= must be TRUE or FALSE at C level" +#~ msgstr "Erreur interne : percent= doit être TRUE ou FALSE au niveau de C" + +#, c-format +#~ msgid "" +#~ "Internal error: threads==%d should be between 2 and 100 (percent=TRUE at " +#~ "C level)." +#~ msgstr "" +#~ "Erreur interne : threads==%d devrait être compris entre 2 et 100 " +#~ "(percent=TRUE au niveau de C)." + +#~ msgid "fill= should be TRUE or FALSE" +#~ msgstr "fill= doit être TRUE ou FALSE" + +#~ msgid "Internal error: rbindlist.c idcol is not a single string" +#~ msgstr "Erreur interne : rbindlist.c idcol is not a single string" + +#~ msgid "" +#~ "Internal error: usenames==NA but fill=TRUE. usenames should have been set " +#~ "to TRUE earlier with warning." +#~ msgstr "" +#~ "Erreur interne : usenames==NA but fill=TRUE. usenames aurait dû être mis " +#~ "à TRUE plus tôt avec un avis." + +#~ msgid "" +#~ "Internal error: could not find the first column name not present in " +#~ "earlier item" +#~ msgstr "" +#~ "Erreur interne : le nom de la première colonne n'est pas présent dans " +#~ "l'élément précédent" + +#, c-format +#~ msgid "" +#~ "Internal error: usenames==NA but an out-of-order name has been found in " +#~ "an item with no names or the first item. [%d]" +#~ msgstr "" +#~ "Erreur interne : usenames==NA mais un nom hors ordre a été trouvé dans un " +#~ "élément sans nom ou dans le premier élément. [%d]" + +#, c-format +#~ msgid "" +#~ "Internal error: column %d of result is determined to be integer64 but " +#~ "maxType=='%s' != REALSXP" +#~ msgstr "" +#~ "Erreur interne : la colonne %d du résultat est déterminée comme étant un " +#~ "integer64 mais maxType=='%s' != REALSXP" + +#~ msgid "" +#~ "Internal error in reorder.c: cannot reorder an ALTREP vector. Please see " +#~ "NEWS item 2 in v1.11.4 and report this as a bug." +#~ msgstr "" +#~ "Erreur interne dans reorder.c : impossible de réordonner un vecteur " +#~ "ALTREP. Veuillez consulter le point 2 des NEWS de la version 1.11.4 et " +#~ "signaler cela comme un bug." + +#, c-format +#~ msgid "Internal error: dt passed to setcolorder has %d columns but %d names" +#~ msgstr "" +#~ "Erreur interne : l'objet dt transmis à 'setcolorder' a %d colonnes mais " +#~ "%d noms" + +#~ msgid "" +#~ "Internal error: invalid type for shift(), should have been caught before. " +#~ "please report to data.table issue tracker" +#~ msgstr "" +#~ "Erreur interne : type invalide pour shift(). Ce problème aurait dû être " +#~ "détecté auparavant. Veuillez signaler ce problème au gestionnaire de " +#~ "tickets (issue tracker) de data.table" + +#~ msgid "Internal error: k must be integer" +#~ msgstr "Erreur interne : k doit être un entier" + +#, c-format +#~ msgid "Internal error: subsetVectorRaw length(ans)==%d n=%d" +#~ msgstr "Erreur interne : subsetVectorRaw length(ans)==%d n=%d" + +#, c-format +#~ msgid "" +#~ "Internal error: column type '%s' not supported by data.table subset. All " +#~ "known types are supported so please report as bug." +#~ msgstr "" +#~ "Erreur interne : le type de colonne '%s' n'est pas pris en charge par la " +#~ "fonction subset de data.table. Tous les types connus sont pris en charge, " +#~ "veuillez donc signaler ceci comme un bogue." + +#, c-format +#~ msgid "Internal error. 'idx' is type '%s' not 'integer'" +#~ msgstr "Erreur interne. 'idx' est de type '%s' et non 'integer'" + +#, c-format +#~ msgid "" +#~ "Internal error. 'maxArg' is type '%s' and length %d, should be an integer " +#~ "singleton" +#~ msgstr "" +#~ "Erreur interne. 'maxArg' est de type '%s', de longueur %d, et devrait " +#~ "être un singleton entier" + +#~ msgid "Internal error: allowOverMax must be TRUE/FALSE" +#~ msgstr "Erreur interne : allowOverMax doit être TRUE/FALSE" + +#, c-format +#~ msgid "Internal error. max is %d, must be >= 0." +#~ msgstr "Erreur interne. max est %d, doit être >= 0." + +#~ msgid "Internal error: allowNAArg must be TRUE/FALSE" +#~ msgstr "Erreur interne : allowNAArg doit être TRUE/FALSE" + +#~ msgid "" +#~ "Internal error: NULL can not be subset. It is invalid for a data.table to " +#~ "contain a NULL column." +#~ msgstr "" +#~ "Erreur interne : un sous-ensemble de NULL ne peut pas être créé. Un data." +#~ "table ne peut pas contenir de colonne NULL." + +#~ msgid "" +#~ "Internal error: CsubsetVector is internal-use-only but has received " +#~ "negatives, zeros or out-of-range" +#~ msgstr "" +#~ "Erreur interne : CsubsetVector est à usage interne uniquement mais a reçu " +#~ "des valeurs négatives, des zéros ou des valeurs hors limites" + +#~ msgid "internal error: status, nx, nk must be integer" +#~ msgstr "erreur interne : status, nx, nk must be integer" + +#~ msgid "Internal error: uniqlist has not been passed a list of columns" +#~ msgstr "Erreur interne : 'uniqlist' n'a pas reçu de liste de colonnes" + +#~ msgid "Internal error: uniqlist has been passed a non-integer order" +#~ msgstr "" +#~ "Erreur interne : 'uniqlist' a reçu pour la variable order un autre type " +#~ "qu'un entier" + +#~ msgid "Internal error: uniqlist has been passed a length-0 order" +#~ msgstr "" +#~ "Erreur interne : 'uniqlist' a reçu pour la variable order un élément de " +#~ "longueur 0" + +#, c-format +#~ msgid "" +#~ "Internal error: uniqlist has been passed length(order)==%d but nrow==%d" +#~ msgstr "Erreur interne : 'uniqlist' a reçu length(order)==%d but nrow==%d" + +#~ msgid "Internal error: nestedid was not passed a list length 1 or more" +#~ msgstr "" +#~ "Erreur interne : 'nestedid' n'a pas reçu une liste de longueur 1 ou plus" + +#, c-format +#~ msgid "Internal error: nrows[%d]>0 but ngrps==0" +#~ msgstr "Erreur interne : nrows[%d]>0 mais ngrps==0" + +#, c-format +#~ msgid "Internal error: type '%s' not supported in %s" +#~ msgstr "Erreur interne : le type '%s' n'est pas pris en charge dans %s" + +#, c-format +#~ msgid "Internal error: copyAsPlain returning ALTREP for type '%s'" +#~ msgstr "Erreur interne : copyAsPlain retourne ALTREP pour le type '%s'"