---
title: "Traduire des fichiers Java, INI, Fluent et PHP"
description: "Traduisez des fichiers Java .properties, INI, Joomla, Inno Setup et .lang, des fichiers Mozilla Fluent .ftl et des fichiers de langue PHP jusqu’à 4 MB, tout en conservant les clés, les commentaires et les espaces réservés."
canonical: "https://ai-glot.com/docs/fr/formats/java-ini-fluent-php"
updated: "2026-10-12"
---

# Traduire des fichiers Java, INI, Fluent et PHP

Cette page regroupe quatre formats de ressources qui ont la même promesse : les clés et la structure restent intactes, seules les valeurs changent. La taille maximale est de **4 MB** pour chacun. Chaque format a ses propres règles concernant les guillemets et les espaces réservés, détaillées ci-dessous. Les quatre formats contiennent **une langue par fichier**.

> **Tip: Essayez gratuitement**
>
> Déposez un fichier de 2 MB maximum dans les outils de traduction gratuits pour [Java properties](https://ai-glot.com/file-formats/properties-translation), [INI](https://ai-glot.com/file-formats/ini-translation), [Fluent](https://ai-glot.com/file-formats/fluent-translation) ou [les fichiers de langue PHP](https://ai-glot.com/file-formats/php-translation) pour les essayer sans compte, dans la limite de cinq fichiers par jour. L’application, l’API et la CLI acceptent les fichiers jusqu’à 4 MB.

## Java properties (`.properties`)

Les clés, le séparateur (`=` ou `:`), les commentaires et les lignes vides sont conservés tels quels. Les espaces réservés MessageFormat, tels que `{0}` et `{0,number,currency}`, conservent leur index et leur type de format. Le bundle est lu et écrit en **UTF-8** : convertissez d’abord les anciens bundles ISO-8859-1 en UTF-8. Les valeurs qui se poursuivent sur la ligne suivante à l’aide d’une barre oblique inverse en fin de ligne ne sont pas encore prises en charge. Seule leur première ligne est traduite. Placez donc chaque valeur sur une seule ligne avant l’importation.

**Un bundle Spring**

messages.properties devient `messages_fr.properties.`

Traduisez les valeurs en français. Conservez les espaces réservés MessageFormat tels que \{0} et \{1,number} sans les modifier, et laissez les clés et les commentaires tels quels.

## INI, Joomla, Inno Setup et `.lang` (`.ini`, `.isl`, `.lang`)

Les clés, les `[sections]`, les commentaires et les guillemets sont conservés tels quels. Le fichier est réécrit ligne par ligne. Ainsi, toute ligne qui ne nécessite pas de traduction est restituée octet pour octet. Les valeurs entre guillemets le restent, et les guillemets présents dans une traduction sont échappés selon les règles déjà utilisées sur la ligne, notamment avec `"_QQ_"` dans Joomla. Les valeurs sans guillemets sont écrites littéralement, car dans Inno Setup, un guillemet ferait partie du texte. Une valeur INI tient sur une seule ligne : tout saut de ligne dans une traduction est remplacé par une espace. Les fichiers qui ne sont **pas en UTF-8** (les fichiers Inno Setup sont souvent en Windows-1252) sont refusés plutôt que convertis. Enregistrez-les d’abord en UTF-8.

**Un fichier de langue Joomla**

Conserve les clés `COM_` et les guillemets.

Traduisez les valeurs en allemand. Conservez les espaces réservés tels que %s, %d et \[name] sans les modifier, et laissez toutes les clés et tous les commentaires tels quels.

**Un programme d’installation Inno Setup**

Uniquement les sections de messages d’un fichier .isl.

Traduisez uniquement les sections \[Messages] et \[CustomMessages] en espagnol. Conservez %1 et %n sans les modifier.

## Fluent (`.ftl`)

Ce format est utilisé par Firefox, Thunderbird et de nombreuses applications. Les identifiants de message, les noms d’attributs et les noms de termes sont restitués exactement tels qu’ils ont été fournis. Les variables telles que `{ $count }` sont protégées, et chaque variante de pluriel ou de sélection (`[one]`, `*[other]`) est traduite séparément, sans jamais modifier les clés de variante. Le fichier n’est pas remis en forme : chaque traduction est insérée à l’emplacement du texte d’origine. Les accolades littérales et les lignes commençant par `[`, `*` ou un point sont échappées pour préserver la validité du fichier.

**Un catalogue Fluent**

Traduit les messages, les attributs et chaque variante de pluriel.

Traduisez en italien. Conservez les variables telles que \{ $count } et \{ $name } sans les modifier, et traduisez chaque variante de pluriel en tenant compte du contexte.

## Fichiers de langue PHP (`.php`)

Pour les fichiers de langue Laravel, Symfony, CodeIgniter et PrestaShop : les tableaux de messages `return [ ... ]` ou `array( ... )`, les affectations `$lang[...]` et les chaînes `$_MODULE`. **Seules les valeurs constituées de chaînes simples sont modifiées.** Les clés de tableau, les arguments de fonction, les concaténations, les heredocs et tout autre code sont restitués exactement tels quels, et chaque chaîne conserve ses guillemets. Les espaces réservés tels que `:attribute`, `{field}`, `%s` et `$name` sont conservés. Les fichiers PHP qui ne sont pas des fichiers de langue sont refusés plutôt que traités au hasard : AI Glot ne traduit pas le code. Un pluriel Laravel tel que `"one apple|:count apples"` est une seule chaîne simple. Vérifiez donc que le résultat comporte le nombre de formes requis par votre langue.

**Messages de validation Laravel**

Préserve le fonctionnement des espaces réservés :attribute.

Traduisez les messages en portugais. Conservez :attribute, :min, :max et %s sans les modifier, et ne modifiez pas les clés de tableau.

## À savoir

- **Une langue cible par importation** pour les quatre formats. Si vous en demandez deux, le forfait en traduit une et vous l’indique. Traitez le fichier une fois par langue : votre [glossaire](/docs/platform/glossaries) est réutilisé, de sorte que le fichier allemand reprend les mêmes termes que le fichier français.
- **Plusieurs fichiers à la fois.** Placez un dossier `lang` dans une [ZIP](/docs/formats/zip) pour tout traduire en une seule tâche.
- **Filtre de sortie.** Non disponible pour ces formats : le fichier entier est restitué.
- **Limite.** 4 MB pour les quatre formats.

## Formats associés

- [YAML et TOML](/docs/formats/yaml-and-toml), [JSON](/docs/formats/json) et [gettext PO](/docs/formats/gettext-po) pour d’autres formats de localisation.
- [Tous les formats de fichier](/docs/formats)
