Comment préparer un fichier CSV pour la traduction
Un CSV qui se traduit proprement possède des clés stables, des colonnes de texte source claires et un encodage UTF-8 correct. Ce guide couvre chaque étape de préparation. Une fois votre CSV prêt, vous pouvez le traduire en 3 étapes sur PTC (Private Translation Cloud). Pour un aperçu du service CSV autonome, consultez traduire des fichiers CSV en ligne avec l'IA.
Le CSV est le format de traduction au plus petit dénominateur commun. Chaque tableur, chaque plateforme e-commerce, chaque export d'analyses parle le CSV. Cette flexibilité est à double tranchant. Un CSV qui « semble correct » dans Excel peut être impossible à traduire proprement en raison de l'ambiguïté des colonnes, de clés manquantes ou de problèmes d'encodage. Ce guide explique ce qui rend un CSV prêt à traduire.
À quoi ressemble un CSV prêt à traduire
Un CSV prêt à traduire est un CSV dans lequel :
- Chaque chaîne traduisible possède une clé unique et stable.
- La colonne de la langue source est clairement identifiée.
- Les colonnes des langues cibles existent déjà (une colonne par langue) ou un CSV par langue cible est produit.
- Les colonnes d'identifiant (SKU, ID, URL d'image, prix) sont manifestement non traduisibles.
- Le fichier est en UTF-8 valide, sans aucune ambiguïté d'encodage.
Deux formats courants :
Format large (une colonne par langue) :
key,en,es,fr,de
welcome,Welcome,,,
cart.empty,Your cart is empty,,,
cart.items_one,"You have %{count} item",,,
Format long (une ligne par chaîne, un fichier par langue) :
key,source
welcome,Welcome
cart.empty,Your cart is empty
cart.items_one,"You have %{count} item"
Les deux fonctionnent. PTC lit l'un comme l'autre. Choisissez celui qui correspond à votre pipeline existant.
Choisissez des colonnes que les traducteurs et PTC peuvent lire
Faites de la première ligne la ligne d'en-tête. Utilisez des noms de colonnes simples et descriptifs comme key, source_text et context. Votre outil de traduction et tout relecteur humain sauront ainsi exactement ce que contient chaque colonne.
Colonnes requises. Chaque CSV prêt à traduire nécessite au minimum une colonne key et une colonne de texte source.
- La colonne
keycontient un identifiant unique pour chaque chaîne. Votre application l'utilise pour faire correspondre la bonne traduction à l'exécution. Utilisez une convention de nommage cohérente : uniquement des lettres minuscules, des tirets du bas et des points. Formats courants :button.submit,error.invalid_login,onboarding.welcome_message. Ne modifiez jamais une clé une fois la traduction commencée. Modifier une clé crée une nouvelle chaîne et rend orpheline la traduction existante. - La colonne de texte source contient le texte original dans votre langue de base.
Facultatif mais utile : une colonne context. Les chaînes courtes comme « Save » ou « Back » peuvent avoir des significations différentes selon l'endroit où elles apparaissent dans votre interface. Une brève note indique au traducteur (ou à l'IA) à quoi sert la chaîne :
key,source_text,context
button.save,Save,Document editor toolbar
checkout.button.save,Save,Checkout address form
Pour les fichiers volumineux, une colonne namespace ou group vous aide à organiser les chaînes par fonctionnalité ou par section.
Colonnes de langue. Si votre flux de travail conserve la source et la cible dans le même fichier, ajoutez une colonne par langue cible en utilisant les codes de locale comme ligne d'en-tête. Utilisez es_ES pour l'espagnol (Espagne), fr_FR pour le français (France), pt_BR pour le portugais (Brésil).
Utilisez des clés séparées par des points pour la hiérarchie. cart.items.one et cart.items.other se regroupent naturellement. Évitez les espaces dans les clés.
Séparez les colonnes d'identifiant. Si votre CSV est un catalogue de produits, les colonnes sku, handle, price et image_url doivent être manifestement non traduisibles par leurs seuls noms. Ne les noyez pas dans une colonne metadata générique.
Un CSV par périmètre logique. Ne mélangez pas les chaînes d'interface utilisateur d'administration avec le texte marketing dans le même fichier. Des périmètres différents ont des tons différents. La voix de marque de PTC fonctionne mieux lorsque chaque projet couvre un ensemble cohérent de chaînes.
Marquez les espaces réservés pour que PTC les préserve dans toutes les langues
Les espaces réservés sont des jetons à l'intérieur d'une chaîne qui sont substitués à l'exécution. %s, %d, {name}, {{count}}, %{currency}. PTC préserve les espaces réservés textuellement et ne traduit jamais le jeton lui-même.
key,source_text
greeting,"Hello, %{name}!"
cart.total,"Total: %{currency}%{amount}"
notification,"You have %{count} new messages"
Conventions que PTC reconnaît sans configuration supplémentaire :
%s,%d,%f,%1$s,%2$d- style printf (gettext, Rails, Java).{name},{count},{0}- Pythonstr.format, .NET, syntaxe d'index ICU.{{name}},{{count}}- i18next, Mustache, Handlebars.%{name},%{count}- Rails I18n, Ruby.
Si votre texte source inclut des balises HTML (<strong>, <br>, <a href="">), traitez-les de la même manière que les espaces réservés. PTC les détecte et les préserve dans tous les formats, dans la position correcte pour chaque langue cible. Ne traduisez jamais la balise elle-même.
Si vous utilisez une convention personnalisée (par exemple, [[token]]), déclarez-la dans le glossaire du projet PTC et PTC la respectera sur chaque ligne.
Encodez les formes plurielles sur des lignes séparées pour que chaque langue obtienne les bonnes formes
La plupart des langues ont plus de deux formes plurielles. Beaucoup ont des règles qu'aucun anglophone ne pourrait prédire. Le polonais a one / few / many / other. L'arabe a six formes. Le japonais en a une (aucune distinction de pluriel). Un outil de traduction qui ne stocke que le singulier et le pluriel produira un résultat incorrect pour ces langues.
Encodez les pluriels sur des lignes séparées avec une convention de suffixe :
key,source_text,context
cart.items.zero,Your cart is empty,Zero state
cart.items.one,"You have {count} item in your cart.",Singular: count = 1
cart.items.other,"You have {count} items in your cart.",Plural: count > 1
PTC lit les suffixes .zero, .one, .few, .many et .other (catégories de pluriel CLDR) et génère les bonnes catégories de pluriel pour chaque langue cible.
Ne combinez pas les formes plurielles en une seule chaîne avec des barres obliques ou des parenthèses, comme "You have {count} item(s) in your cart.". Cette approche n'est pas traduisible et casse la grammaire de la plupart des langues.
Échappez les caractères spéciaux pour que l'analyseur CSV ne casse pas les lignes
Règles d'échappement CSV (RFC 4180) :
- Virgules à l'intérieur d'un champ : mettez le champ entre guillemets doubles, sinon l'analyseur divise votre chaîne sur plusieurs cellules.
key,source_text
intro,"Welcome to our store, where every product matters"
- Guillemets doubles littéraux : échappez-les en les doublant.
key,source_text
quote,"He said ""hello"" and waved"
- Sauts de ligne à l'intérieur d'un champ : acceptés si le champ est entre guillemets.
key,source_text
address,"123 Main Street
Springfield, IL 62701"
- Guillemets typographiques : utilisez toujours des guillemets droits (
") plutôt que des guillemets typographiques (“”). Les analyseurs CSV ne reconnaissent pas les guillemets typographiques et renverront des erreurs de formatage. - Espaces de fin : supprimez-les de toutes les cellules avant l'envoi. Ils sont invisibles dans la plupart des éditeurs de tableur mais provoquent des échecs de correspondance de chaînes dans votre application.
Pour du HTML ou du balisage à l'intérieur d'une cellule, mettez le champ entre guillemets et laissez PTC ne traduire que le texte :
key,source_text
disclaimer,"<p>By signing up, you agree to our <a href=""/terms"">terms</a>.</p>"
PTC analyse le HTML, traduit uniquement le texte lisible par un humain et préserve chaque balise, attribut et URL.
Enregistrez en UTF-8 pour éviter les caractères accentués corrompus
L'encodage est la cause la plus fréquente des problèmes de traduction de CSV. Sans UTF-8, les caractères extérieurs à l'alphabet latin de base peuvent s'afficher sous forme de ???, de cases vides ou de texte illisible dans votre application.
- Enregistrez votre CSV en UTF-8 (avec ou sans BOM). La plupart des outils modernes l'utilisent par défaut. Historiquement, ce n'était pas le cas d'Excel sur Windows.
- N'utilisez pas l'encodage Windows-1252, ISO-8859-1 ou « ANSI ». Les caractères accentués dans les langues cibles seront corrompus.
- En cas de doute, ouvrez le CSV dans un éditeur de texte comme VS Code ou Notepad++ et vérifiez l'indicateur d'encodage. Réenregistrez-le en UTF-8 si nécessaire.
Conseils spécifiques à Excel :
- Excel pour Mac utilise l'UTF-8 par défaut. Aucune action n'est requise.
- Excel pour Windows : choisissez Fichier > Enregistrer sous et sélectionnez CSV UTF-8 (délimité par des virgules) (*.csv) dans la liste déroulante des formats. Pas le simple « CSV (délimité par des virgules) ».
- Google Sheets : Fichier > Télécharger > Valeurs séparées par des virgules (.csv). UTF-8 par défaut.
Pour les CSV sources qui sont déjà dans le mauvais encodage, convertissez-les avec iconv :
iconv -f WINDOWS-1252 -t UTF-8 source.csv > source-utf8.csv
Un exemple pratique : un CSV e-commerce complet que PTC traduit sans préparation
Un CSV complet et bien préparé pour un site e-commerce :
key,source_text,context
header.welcome,"Welcome to {{shopName}}",Top of page
header.cart.zero,"Your cart is empty",Cart icon - zero state
header.cart.one,"{count} item in cart",Cart icon - singular
header.cart.other,"{count} items in cart",Cart icon - plural
product.add_to_cart,"Add to Cart",Product page CTA
product.out_of_stock,"Out of Stock",Product availability badge
product.price,"{currency}{amount}",Price display
checkout.shipping,"Shipping address",Checkout step heading
checkout.payment,"Payment method",Checkout step heading
checkout.confirm,"Place Order",Final checkout button
errors.email.required,"Email is required",Form validation
errors.email.invalid,"Please enter a valid email address",Form validation
errors.card.declined,"Your card was declined. Please try a different payment method.",Checkout error
promo.tagline,"Sale ends Sunday, grab your deal!",Promo banner - contains comma
tooltip.save,"Click ""Save"" to keep your changes.",Tooltip - contains quotes
disclaimer,"<p>By placing this order, you agree to our <a href=""/terms"">terms and conditions</a>.</p>",Footer legal
Ce fichier :
- Possède des colonnes
key,source_textetcontextclaires. - Utilise des clés hiérarchiques séparées par des points.
- Gère les espaces réservés (
{{shopName}},{count},{currency},{amount}). - Gère les pluriels avec les suffixes
.zero/.one/.other. - Échappe correctement le HTML et les guillemets.
- Est enregistré en UTF-8.
PTC traduit cela directement. Aucune préparation au-delà de ce qui est montré.
Les bonnes pratiques de traduction de CSV en une seule liste
- Utilisez un outil de traduction dédié. Évitez de traduire manuellement les fichiers CSV dans un éditeur de texte ou un tableur. Les outils dédiés comme PTC préservent la structure de votre fichier, gèrent correctement les espaces réservés et gardent vos clés intactes.
- Utilisez des virgules standard comme délimiteur. Certains outils utilisent des points-virgules par défaut. Les virgules sont les plus largement prises en charge et les moins susceptibles de provoquer des erreurs d'importation.
- Conservez une chaîne par ligne. Combiner plusieurs chaînes sur une seule ligne rend les traductions ingérables et casse la plupart des outils de traduction.
- Isolez les colonnes traduisibles. Séparez les colonnes nécessitant une traduction de celles qui doivent rester inchangées (ID numériques, SKU, paramètres techniques). Cela réduit le risque qu'un outil ou un traducteur modifie accidentellement des données qui doivent rester intactes.
- Évitez les cellules fusionnées et le formatage de tableur. Le CSV est du texte brut. Tout formatage appliqué via un logiciel de tableur est supprimé lors du traitement du fichier.
- Supprimez les colonnes et métadonnées inutiles. N'incluez que les colonnes dont votre outil de traduction a besoin.
- Testez d'abord avec un petit échantillon. Avant de soumettre un fichier volumineux à la traduction, testez avec un petit échantillon pour détecter rapidement les problèmes de structure ou d'encodage.
- Validez votre fichier avant de le téléverser. Vérifiez que chaque ligne possède une clé unique sans doublon, qu'aucune clé ne contient d'espaces ou de caractères spéciaux, et qu'il n'y a aucune ligne cassée.
- Conservez une sauvegarde. Gardez toujours une copie de votre CSV original avant de l'envoyer en traduction.
Révision visuelle de la traduction du catalogue ou de l'application rendus
Une fois que PTC a traduit le CSV, les chaînes sont rendues dans ce qui consomme le CSV. Cela couvre votre vitrine, votre application et votre tableau de bord. Un titre de produit traduit qui tient dans le fichier peut déborder de la mise en page d'une carte. Un bouton de paiement en français peut utiliser le mauvais mot pour « Place Order ». Une longue adresse allemande peut casser une colonne à largeur fixe dans une facture imprimée.
L'AI Visual QA de PTC détecte ces problèmes. Pour les vitrines et les tableaux de bord (sur navigateur), installez l'extension de navigateur PTC et enregistrez un parcours guidé de votre boutique. PTC le rejoue dans chaque langue cible et corrige automatiquement les problèmes de mise en page et de contexte dans le CSV. Pour les applications natives qui consomment le CSV, téléversez plutôt des captures d'écran des écrans pertinents.
Traduisez les annonces de lancement de produits et les e-mails aux fournisseurs
Les annonces de lancement de produits et les e-mails destinés aux clients concernant les mises à jour du catalogue vivent en dehors du CSV. La fonctionnalité Paste to Translate de PTC gère ce texte dans le même projet, en utilisant le même glossaire et la même voix de marque que les traductions de votre catalogue.
Traduisez les imports en masse à mesure que les données arrivent avec l'API PTC
Les imports en masse de catalogues qui nécessitent une traduction à l'arrivée peuvent transiter par l'API REST de PTC avec l'authentification par jeton Bearer, en utilisant le même glossaire et la même voix de marque que vos traductions de CSV.
Traduisez maintenant votre CSV avec PTC
Une fois votre CSV préparé, traduisez-le en 3 étapes :
- Téléversez votre CSV et choisissez les langues cibles.
- PTC traduit tout en préservant chaque colonne, clé et espace réservé.
- Téléchargez les CSV traduits et importez-les là où ils doivent aller.
Commencez votre essai de 30 jours - 20 000 mots dans 2 langues, sans carte bancaire.