Traduire un fichier CSV
Cet outil traduit le contenu d’un fichier CSV d’une langue vers une autre en respectant la grille : mêmes colonnes, mêmes lignes, même séparateur. Il sert aux personnes qui manipulent des tableaux — libellés, descriptions, listes — et veulent une version étrangère réutilisable dans un tableur ou un import, sans reformater à la main.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
La grille du tableau respectée
Chaque cellule traduite retrouve sa position exacte : le nombre de colonnes, l’ordre des lignes et le séparateur d’origine sont conservés. Les en-têtes techniques et les identifiants peuvent rester tels quels, tandis que les colonnes de texte passent dans la langue voulue. Le fichier rendu s’ouvre dans Excel ou LibreOffice sans décalage de colonnes ni cellules fusionnées par erreur au moment de la réouverture.
Choisir ce qui doit être traduit
Toutes les colonnes ne se traduisent pas : une référence produit, un code postal ou un prix n’ont rien à y gagner. Vous indiquez les colonnes de contenu à traiter et laissez les autres intactes. Les nombres, dates et champs vides sont préservés dans leur format, ce qui évite de convertir par accident un identifiant en texte traduit et de fausser un import ultérieur.
Prix par cellule
La facturation est à l’usage, sans abonnement : $0.003 par requête, puis $0.0135 par cellule traduite. Un tableau de quelques centaines d’entrées revient à quelques dizaines de centimes. Le montant dépend du nombre de cellules retenues et s’affiche avant de lancer, pour éviter toute mauvaise surprise. Le paiement se règle en une fois, et une facture reste disponible pour vos notes de frais.
Cas d’usage
Traduire une liste de produits
Menuiserie Rousseau & Fils exporte sa gamme en CSV pour un salon à l’étranger. Les colonnes « nom » et « description » passent en anglais, la référence et le prix HT restent inchangés.
Localiser un tableau de libellés
Une équipe gère les intitulés d’un formulaire dans un fichier CSV. Elle traduit la colonne de texte en espagnol et réimporte le tout sans retoucher la structure.
Préparer un jeu de données bilingue
Sophie Nguyen doit livrer une liste de catégories en deux langues. Elle traduit une colonne, la place à côté de l’originale, et obtient un tableau bilingue en un import.
Questions fréquentes
Puis-je choisir les colonnes à traduire ?
Oui. Vous désignez les colonnes de contenu à traiter ; les autres — références, prix, codes — restent intactes. Cela évite de traduire des données qui doivent rester à l’identique.
Le séparateur et l’encodage sont-ils conservés ?
Oui. Le séparateur d’origine, l’ordre des lignes et le nombre de colonnes sont préservés, et le fichier est rendu dans un encodage lisible par Excel comme par LibreOffice.
Les nombres et les dates sont-ils modifiés ?
Non. Les cellules numériques, les dates et les champs vides des colonnes non traduites restent tels quels. Seul le texte des colonnes que vous indiquez est traduit.
Comment le prix est-il calculé ?
À la cellule, en dollars : $0.003 par requête et $0.0135 par cellule traduite. Le total dépend du nombre de cellules retenues et s’affiche avant validation.
Mon fichier est-il gardé après la traduction ?
Non. Le CSV est traité puis supprimé, l’échange étant chiffré. Aucune copie n’est conservée une fois le résultat rendu.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/translate/csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/translate/csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.csv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_tokens | 20000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |