Traduisez votre application Ruby on Rails (RoR) avec une IA qui fournit des résultats de qualité humaine. Commencez gratuitement pendant 30 jours sans avoir besoin de carte de crédit. PTC traduira pour vous les textes dans les fichiers de ressources du projet, ainsi que les textes générés par les utilisateurs. Avec PTC, vous pouvez créer des applications entièrement multilingues, avec un budget réduit, à la qualité d’une traduction humaine.
Traduisez votre projet RoR avec PTC pour la première fois
PTC vous permet d’automatiser le processus de traduction en s’intégrant directement dans votre dépôt Git ou votre flux CI. Cependant, pour cette traduction initiale, nous utiliserons le téléchargement manuel de fichiers. De cette façon, vous pouvez essayer PTC sans lui donner aucun accès ou passer du temps sur l’intégration.
Étape 1
Inscrivez-vous pour un essai gratuit de 30 jours
Créez votre compte gratuit pour commencer à traduire immédiatement. Vous bénéficierez d’un accès complet à PTC pendant 30 jours sans qu’aucune carte de crédit ne soit requise.
Étape 2
Créer un nouveau projet
Dans l’assistant, sélectionnez l’option Chargement manuel de fichier. Cela fonctionne parfaitement pour les fichiers YAML, couramment utilisés pour gérer les traductions Rails, ainsi que pour de nombreux autres formats de fichiers pris en charge.
Étape 3
Décrivez votre projet
Ajoutez une brève description de votre application Rails et de son objectif. Private Translation Cloud utilise ce contexte pour choisir le style de traduction, le ton et la terminologie appropriés pour votre public.

Étape 4
Chargez votre fichier YAML
Chargez le fichier Rails i18n que vous souhaitez traduire (généralement config/locales/en.yml
).
Étape 5
Sélectionnez vos langues cibles
Choisissez les langues dans lesquelles vous souhaitez traduire. Private Translation Cloud prend en charge plus de 33 langues et fournit des traductions de qualité humaine pour toutes les langues parlées sur les principaux marchés.
Étape 6
Consultez et téléchargez vos traductions
En quelques minutes, vous verrez vos traductions Rails dans l’onglet Traductions. Elles apparaissent dans un tableau clair organisé par langue.
Les chaînes longues sont signalées en jaune afin que vous puissiez décider de les conserver ou de demander à PTC de générer une version plus courte.
Lorsque vous êtes prêt, rendez-vous dans l’onglet Fichiers de ressources pour télécharger vos traductions sous forme d’archive ZIP. Si vous avez traduit dans plusieurs langues, chacune sera fournie sous forme de fichier YAML distinct (par exemple fr.yml
, de.yml
).

Étape 7
Ajoutez les fichiers traduits à votre application Rails
Placez les fichiers téléchargés dans le répertoire config/locales/
de votre projet Rails. Rails les chargera automatiquement au moment de l’exécution, vous pouvez donc changer les paramètres régionaux à l’aide du I18n.locale
sans modifier le code.
Voilà, vous avez traduit une application Rails avec PTC !
Traduisez les e-mails, les notifications et autres textes pour votre application Rails
Les projets Rails incluent du texte important en dehors des fichiers config/locales/*.yml
— par exemple, les e-mails d’authentification Devise ou les notifications système. Une fois que vous avez traduit vos fichiers YAML, utilisez la fonctionnalité
Coller pour traduire
de PTC pour obtenir les mêmes traductions tenant compte du contexte pour ces textes.
- Allez dans Traductions → Coller pour traduire
- Collez le texte que vous souhaitez traduire (par exemple, votre e-mail de réinitialisation de mot de passe)
- Cliquez sur Traduire

Vous obtiendrez instantanément des traductions de haute qualité, tenant compte du contexte, que vous pourrez copier dans vos vues de messagerie, vos notifications Active Job ou votre documentation.


Automatisez vos traductions Rails avec l’intégration Git ou CI
Une fois que vous avez confirmé la qualité de PTC avec un chargement manuel, l’étape suivante consiste à automatiser le flux de travail en l’intégrant à Git ou à CI. De cette façon, chaque mise à jour que vous effectuez est envoyée et traduite automatiquement.
PTC vous offre deux options flexibles pour automatiser les traductions dans une application Rails :
- Intégration Git – Connectez votre référentiel GitHub, GitLab ou Bitbucket. Chaque fois que vos fichiers Rails i18n changent, PTC détecte la mise à jour et ouvre une demande d’extraction avec les nouvelles traductions.
- Intégration API – Utilisez l’API pour intégrer PTC dans votre pipeline de déploiement. Votre projet Rails peut envoyer automatiquement des chaînes sources mises à jour et récupérer les fichiers YAML traduits, ce qui permet de maintenir votre application multilingue sans effort manuel.
Exemple Rails i18n : démonstration d’une application Rails traduisible
Pour montrer comment l’internationalisation (i18n) et la traduction de Ruby on Rails fonctionnent en pratique, nous avons créé une petite application de démonstration Rails. L’application affiche l’heure actuelle du serveur avec un bouton d’actualisation et comprend un simple sélecteur de langue. Chaque étape ci-dessous a une référence de commit afin que vous puissiez suivre les modifications du code.
1
Ajouter la prise en charge de rails i18n
Tout d’abord, dans config/application.rb
, indiquez à Rails les langues que l’application doit prendre en charge et définissez des paramètres régionaux par défaut.
config.i18n.default_locale = :en
I18n.available_locales = [:en, :es, :de]
Ensuite, ajoutez les paramètres régionaux à l’URL afin que chaque langue ait son propre chemin, comme /en/time
ou /es/time
.
scope "/:locale" do
get '/time', to: 'home#index', as: :time_display
end
Enfin, dans app/controllers/application_controller.rb
, assurez-vous que Rails charge les bons paramètres régionaux à partir de l’URL et les inclut dans tous les liens.
class ApplicationController < ActionController::Base
around_action :switch_locale
def switch_locale(&action)
locale = params[:locale] || I18n.default_locale
I18n.with_locale(locale, &action)
end
def default_url_options
{ locale: I18n.locale }
end
end
Référence de commit : configurer i18n
2
Ajoutez un sélecteur de langue
Maintenant que l’application prend en charge plusieurs paramètres régionaux, donnez aux utilisateurs un moyen de basculer entre eux.
Rails inclut déjà les paramètres régionaux actuels dans toutes les URL générées (en raison de la méthode default_url_options
dans ApplicationController
). Cela signifie que vous pouvez créer une interface utilisateur simple qui ne met à jour que le paramètre de paramètres régionaux tout en gardant l’utilisateur sur la même page.
Dans notre application de démonstration, le sélecteur de langue est ajouté dans app/views/layouts/application.html.erb
et stylisé dans app/assets/stylesheets/application.css
.
<nav>
<%= link_to "English", url_for(locale: :en) %> |
<%= link_to "Español", url_for(locale: :es) %> |
<%= link_to "Deutsch", url_for(locale: :de) %>
</nav>
Référence de commit : Ajouter un sélecteur de langue
3
Rendez tout le texte traduisible (Ruby et JavaScript)
Avant de pouvoir traduire votre application, tout le texte visible par l’utilisateur doit se trouver dans les fichiers Rails i18n au lieu d’être codé en dur. Cela signifie :
- Faites de même pour tout texte JavaScript visible (comme les alertes ou les info-bulles)
- Remplacez le texte dans les vues et les contrôleurs par des clés de traduction
- Ajoutez ces clés et leurs valeurs de langue par défaut à
config/locales/en.yml
Partie a. Remplacez le texte dans les vues et les contrôleurs
Rails utilise l’assistant intégré I18n.t
(ou simplement t
) pour rechercher des chaînes dans vos fichiers de traduction.
Correct (en utilisant les clés de traduction) :
<h1><%= t(:hello) %></h1>
<p><%= t(:current_time, time: @time) %></p>
<button id="click-me"><%= t(:refresh) %></button>
Incorrect (texte codé en dur) :
<h1>Hello</h1>
<p>Current time: <%= @time %></p>
<button>Refresh</button>
Le texte codé en dur n’apparaîtra pas dans votre fichier YAML, ce qui signifie qu’il ne pourra pas être traduit ultérieurement.
Ajoutez ces clés dans config/locales/en.yml
:
en:
hello: "Hello"
current_time: "Current time: %{time}"
refresh: "Refresh"
Référence de commit : internationaliser le code Ruby
Partie b. Ajoutez des chaînes JavaScript à YAML
Rails n’extrait pas automatiquement le texte des fichiers JavaScript. Si vous avez des chaînes affichées aux utilisateurs dans le navigateur, comme des alertes, des info-bulles ou des messages de confirmation, vous devrez également les placer dans votre fichier YAML de langue source.
Par exemple, pour traduire une fenêtre contextuelle de confirmation en JavaScript, ajoutez la chaîne à config/locales/en.yml
:
en:
confirm: "Are you sure?"
Plus tard, cela sera exporté avec vos traductions Ruby afin que les vues et JavaScript utilisent les mêmes clés.
Référence de commit : Ajouter des chaînes pour JavaScript
À ce stade, votre fichier en.yml
contient tout le texte qui apparaît dans votre application. Ce fichier est la version de base que Private Translation Cloud utilisera pour créer des traductions dans d’autres langues.
4
Traduisez les fichiers YAML avec PTC
Maintenant que tout le texte de votre application est stocké dans config/locales/en.yml
, vous pouvez vous connecter à votre compte PTC et générer des traductions.
- PTC s’est connecté à notre référentiel et a automatiquement détecté le fichier anglais
- Il a créé des versions traduites comme
fr.yml
etde.yml
- Il a ouvert une demande d’extraction avec les nouveaux fichiers dans le même dossier
Chaque fichier traduit conserve les mêmes clés et la même structure que la version anglaise, vous pouvez donc les fusionner en toute sécurité dans votre projet.
Référence de commit : Traductions IA créées par PTC
5
Chargez les traductions en JavaScript
Vos fichiers .yml
traduits fonctionnent automatiquement dans les vues Rails. Mais JavaScript ne peut pas lire YAML — il a besoin de JSON.
Pour rendre vos traductions disponibles en JavaScript, utilisez la gem i18n-js pour convertir YAML en un fichier JSON que le navigateur peut lire :
- Ajoutez la gem
i18n-js
à votre Gemfile et exécutezbundle install
. - Après l’installation, exécutez
i18n init
pour générer la configuration par défaut. - Mettez à jour votre configuration pour définir le fichier sur
public/locales.json
. Cela prépare votre application à stocker les traductions dans un fichier JSON auquel JavaScript peut accéder.
Référence de commit : ajouter i18n-js
Maintenant, exécutez la commande i18n export
. Cette commande lit vos fichiers .yml
et écrit les clés traduites dans public/locales.json
.
Référence de commit : exporter les traductions
6
Utilisez les traductions en JavaScript
Avec locales.json
en place, vous pouvez charger les traductions dans votre code JavaScript et afficher le texte correct en fonction de la langue active.
Rails 7 inclut Importmap , ce qui facilite la gestion des dépendances JavaScript sans bundlers.
- Épinglez les bibliothèques dans
config/importmap.rb
:
pin "i18n-js", to: "https://esm.sh/i18n-js@latest/dist/import/index.js"
pin "load_locale", to: "load_locale.js"
- Créez un fichier dans
app/javascript/load_locale.js
et ajoutez un script de chargement pour récupérer le fichier JSON :
export async function loadLocale() {
const response = await fetch('/locales.json');
const data = await response.json();
return data;
}
Maintenant, votre JavaScript peut récupérer les traductions et les afficher comme les vues Rails.
Référence de commit : Ajouter i18n-js à JS et créer une fonction pour charger les traductions
7
Affichez la bonne langue en JavaScript
À ce stade, Rails exporte les traductions vers locales.json
et votre JavaScript peut les charger. La dernière étape consiste à s’assurer que JavaScript utilise les mêmes paramètres régionaux que les vues Rails.
- Transmettez les paramètres régionaux actuels au frontend en les ajoutant à la balise
<body>
:
<!-- app/views/layouts/application.html.erb -->
<body data-locale="<%= I18n.locale %>">
- Importez
i18n-js
et la fonction de chargement dans votre JavaScript :
import { I18n } from "i18n-js"
import { loadLocale } from "./load_locale"
- Lorsque la page se charge, récupérez les traductions et définissez les paramètres régionaux :
document.addEventListener('turbo:load', async () => {
const translations = await loadLocale()
const i18n = new I18n(translations)
// use the current locale from the body tag
i18n.locale = document.body.dataset['locale']
// Example: confirmation dialog
if (confirm(i18n.t('confirm'))) {
// user clicked OK
}
})
Maintenant, votre JavaScript affichera les messages dans la langue sélectionnée, tout comme vos vues Rails.
Référence de commit : internationaliser JavaScript
Avec cela, l’application de démonstration est entièrement multilingue : les vues Rails et JavaScript affichent la bonne langue, et Private Translation Cloud maintient les traductions à jour.

Commencez à traduire votre application Rails dès aujourd’hui
Vous avez vu comment PTC rend une application Rails multilingue, en commençant par une évaluation manuelle rapide et en passant à une automatisation complète Git ou CI. Démarrez votre essai gratuit de 30 jours dès aujourd’hui et apportez des traductions IA de qualité humaine à votre projet Rails en quelques minutes.
