PTC

Traduisez des applications Java avec l'IA

PTC (Private Translation Cloud) traduit les fichiers Java .properties et le reste de votre stack technique Java dans plus de 40 langues avec l'IA, s'intègre à Maven ou Gradle, et est certifié ISO 27001 pour un usage en entreprise. La révision visuelle de la traduction vérifie l'application en cours d'exécution dans chaque langue, afin que vous passiez en production sans contrôle qualité manuel par version.

Spring Boot, Quarkus, Micronaut, Jakarta EE, JavaFX, Swing hérité - PTC gère tous les modèles d'i18n Java courants. PTC couvre les recherches de bundles de ressources, les bundles de messages, les chaînes FXML et l'intégration des outils de build que vous utilisez déjà.

Les équipes des secteurs de la banque, de l'assurance, de la santé et des télécommunications qui déploient des applications Java sur des marchés réglementés utilisent PTC car le flux de travail s'intègre à leur pipeline de build et la certification ISO 27001 répond à la question de conformité avant même que le service des achats ne la pose.

Commencez votre essai de 30 jours - traduisez votre application Java dès maintenant

  • 20 000 mots dans 2 langues
  • Plus de 40 langues prises en charge
  • Révision visuelle de la traduction de l'application Java en cours d'exécution incluse
  • Certification ISO 27001 - sécurité et conformité d'entreprise cochées sur votre liste
  • Aucune carte bancaire requise

Commencez votre essai

Traduisez votre projet Java en 3 étapes

  1. Démarrez un projet dans votre tableau de bord PTC. Choisissez votre langue source. PTC utilise la source pour sélectionner le bon moteur de traduction et pour ignorer les chaînes qui ne nécessitent pas de traduction (noms de marque, URL, identifiants non traduisibles).
  2. Téléversez vos fichiers .properties ou connectez votre dépôt Git. PTC analyse chaque bundle de ressources et extrait uniquement les valeurs traduisibles. Il renvoie les traductions sous forme de messages_xx.properties respectant la convention de nommage attendue par Java. Le nombre de mots est affiché avant d'engager le moindre quota d'essai.
  3. Choisissez les langues cibles et confirmez. PTC traduit en arrière-plan. Pour les équipes Maven et Gradle, les bundles traduits arrivent sous forme de merge request sur votre dépôt.

L'essai couvre 20 000 mots dans 2 langues sans carte bancaire. C'est suffisant pour traduire de bout en bout un ensemble conséquent de bundles de ressources avant d'activer le Pay-As-You-Go.

Ce qui distingue PTC pour la traduction Java

Chaque élément ci-dessous renvoie à la section détaillée plus bas sur la page.

PTC apprend le vocabulaire et la voix de marque de votre produit

PTC analyse vos fichiers sources .properties lors du téléversement. Il génère automatiquement une description du produit et utilise cette description pour traduire avec le ton et la terminologie appropriés.

Si votre application bancaire appelle un enregistrement un « Statement » plutôt qu'un « Transaction Summary », PTC conserve cette distinction dans chaque langue cible. La même description est reconduite à chaque version du même projet. Vous pouvez réviser et modifier la description générée automatiquement avant l'exécution de la traduction.

La plupart des outils d'IA génériques voient une clé comme error.user_locked et traduisent la valeur sans savoir si l'utilisateur est une personne ou un titulaire de compte. PTC apprend d'abord le vocabulaire de votre domaine. 99,5 % des traductions passent en production sans modification.

Révision visuelle de la traduction de votre application Java en cours d'exécution - passez en production sans contrôle qualité manuel par langue

Un fichier .properties traduit est nécessaire mais pas suffisant. Le libellé traduit peut déborder d'un bouton à largeur fixe dans une application de bureau JavaFX. Un message d'erreur en allemand peut être lu comme un nom alors que le flux de travail nécessitait un verbe. Une chaîne en dur en anglais en dehors de ResourceBundle.getString() sera rendue non traduite, quel que soit le nombre de langues que vous publiez.

L'AI Visual QA de PTC couvre les deux types d'applications Java courants :

  • Extension de navigateur pour les applications web Spring Boot, les applications web Jakarta EE et tout backend Java qui sert du HTML. Installez-la une fois, enregistrez un parcours guidé des écrans de votre application sur un environnement de préproduction. PTC rejoue l'enregistrement après chaque mise à jour de traduction.
  • Téléversement de captures d'écran pour JavaFX, Swing ou toute application Java hors navigateur. Téléversez une capture d'écran par langue et par écran. L'IA de vision de PTC inspecte le résultat rendu de la même manière.

Les problèmes que PTC peut corriger dans le fichier .properties (incohérence verbe-nom, débordement de mise en page, incohérences de pluriels) sont corrigés automatiquement. Les problèmes qui résident dans votre code Java (wrappers ResourceBundle.getString() manquants, littéraux en dur, concaténation de phrases qui devrait utiliser MessageFormat) reviennent sous forme de prompts prêts à coller pour Cursor ou Claude Code.

Vous ne déployez pas un fichier .properties traduit en espérant que tout fonctionne. Vous déployez une application Java multilingue vérifiée.

Certification ISO 27001 pour un usage en entreprise

PTC traite vos données et celles de vos utilisateurs selon des normes de sécurité internationalement reconnues. Pour les équipes des secteurs de la banque, de l'assurance, de la santé et des télécommunications, la certification répond à la question de la conformité avant même que le service des achats ne la pose.

Vos chaînes sources contiennent souvent des noms de produits, une terminologie orientée client et parfois des exemples impliquant des données clients. La norme ISO 27001 atteste que PTC traite chaque octet de ces informations avec des mesures de sécurité documentées : journalisation des accès, chiffrement en transit et au repos, évaluations des fournisseurs, réponse aux incidents. Votre équipe d'examen de la sécurité voit le certificat ; elle donne son accord ; vous déployez.

Intégration Maven, Gradle et Spring Boot

Pour les projets Maven, configurez une étape de traduction dans votre build :

source_locale: en
files:
  - file: src/main/resources/messages.properties
    output: src/main/resources/messages_{{lang}}.properties
<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <executions>
    <execution>
      <id>ptc-translate</id>
      <phase>prepare-package</phase>
      <goals><goal>exec</goal></goals>
      <configuration>
        <executable>./ptc-cli.sh</executable>
        <arguments>
          <argument>--config-file</argument><argument>.ptc-config.yml</argument>
          <argument>--api-token=${env.PTC_API_TOKEN}</argument>
        </arguments>
      </configuration>
    </execution>
  </executions>
</plugin>

Pour Gradle, le même processus s'exécute depuis build.gradle.kts :

tasks.register<Exec>("ptcTranslate") {
  commandLine(
    "./ptc-cli.sh",
    "--config-file", ".ptc-config.yml",
    "--api-token=${System.getenv("PTC_API_TOKEN")}"
  )
}

tasks.named("processResources") {
  dependsOn("ptcTranslate")
}

Pour Spring Boot, pointez MessageSource vers les bundles de ressources traduits et Spring les charge automatiquement en fonction de Accept-Language :

@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource source = new ReloadableResourceBundleMessageSource();
    source.setBasename("classpath:i18n/messages");
    source.setDefaultEncoding("UTF-8");
    return source;
}

PTC synchronise les nouvelles chaînes, traduit uniquement ce qui a changé et ouvre une merge request avec les bundles de ressources mis à jour. Consultez la référence de l'API PTC pour connaître l'ensemble du flux webhook et REST.

Préservation des ResourceBundles, des pluriels et des formats

PTC prend en charge toutes les conventions i18n de Java sans configuration supplémentaire :

  • Syntaxe .properties. Les commentaires, les paires key = value, les continuations de ligne et les séquences d'échappement Unicode (\u00FC) sont tous préservés.
  • Espaces réservés ChoiceFormat et MessageFormat. Les modèles {0}, {0,number} et {1,date,short} sont conservés dans la bonne position pour chaque langue cible.
  • Formes plurielles via ICU4J. PTC génère les bonnes catégories de pluriel par langue (polonais : one/few/many/other ; japonais : other uniquement ; arabe : six formes).
  • Convention d'arguments positionnels de Spring. {0}, {1} pour les appels MessageSource.getMessage(code, args, locale).
  • Langues écrites de droite à gauche. L'arabe, l'hébreu, le persan et l'ourdou sont traduits correctement. Votre rtl.css et votre travail de mise en page bidirectionnelle prennent ensuite le relais.

Traduisez les notes de version, les fichiers README et d'autres textes en dehors de vos fichiers de ressources

Les notes de version Java, le fichier README sur votre dépôt Maven interne ou GitHub, les e-mails destinés aux clients envoyés depuis votre application, la documentation d'assistance : tous se trouvent en dehors de .properties. La fonctionnalité Paste to Translate de PTC les prend tous en charge. Collez le texte source dans le tableau de bord PTC, choisissez vos langues cibles et obtenez des traductions qui utilisent le même glossaire et la même voix de marque que vos chaînes dans l'application. Une cohérence parfaite, de l'écran de l'application à l'e-mail de version en passant par l'article d'assistance.

Traduisez le contenu dynamique et généré par les utilisateurs avec l'API PTC

Les applications Java d'entreprise gèrent souvent du contenu généré par les utilisateurs qui nécessite une traduction dès sa réception : tickets d'assistance, articles de base de connaissances, pages de wiki interne, avis sur les produits soumis par les clients, chat multilingue. L'API REST PTC traduit ce contenu à la demande :

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("https://app.ptc.wpml.org/api/v1/content_translation"))
    .header("Authorization", "Bearer " + apiKey)
    .header("Content-Type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(
        "{\"data\": {\"ticket\": \"" + ticketText + "\"}, \"name\": \"Support ticket\", \"target_languages\": [\"es\", \"de\"]}"
    ))
    .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
// Poll GET /api/v1/content_translation/{id}/status until completeness == 100,
// then GET /api/v1/content_translation/{id} to retrieve the translated fields.

Authentification par jeton (Bearer), requêtes et réponses JSON, et le même entraînement sur le glossaire et la voix de marque que celui utilisé par vos fichiers .properties. Consultez la référence de l'API PTC pour découvrir le catalogue complet des points de terminaison, les limites de débit et les conventions de codes de langue.

Automatisez la traduction depuis votre dépôt Git

PTC s'intègre à GitHub, GitLab et Bitbucket. Les nouvelles chaînes dans votre messages.properties déclenchent une exécution de traduction automatique. Les bundles de ressources traduits qui en résultent reviennent sous forme de merge request. Révisez et fusionnez-les dans le cadre de votre processus habituel de révision de code.

Tarification : essai de 30 jours, puis Pay-As-You-Go

L'essai couvre 20 000 mots dans 2 langues sans carte bancaire. À la fin de l'essai, PTC propose le Pay-As-You-Go. Pas d'abonnement. Aucun engagement minimum. Les 500 premiers mots de chaque mois sont gratuits, et vous ne payez que pour le reste. La page de tarification propose un calculateur de coûts. Pour les services des achats d'entreprise nécessitant un contrat annuel, inscrivez-vous avec une adresse e-mail professionnelle pour bénéficier d'un essai commercial prolongé.

Prêt à déployer une application Java vérifiée ?

Téléversez vos fichiers .properties. PTC les traduit dans plus de 40 langues et révise visuellement l'application Java en cours d'exécution dans chacune d'elles. La norme ISO 27001 se charge de la conformité. Vous déployez en toute confiance.

Commencez votre essai de 30 jours - 20 000 mots offerts, aucune carte bancaire requise.

Pour obtenir toutes les étapes de l'internationalisation d'une application Java, consultez le guide d'internationalisation Java. Pour en savoir plus sur la localisation CI/CD au sens large, consultez Localisation de logiciels par IA conçue pour les pipelines CI/CD.