Ruby on Rails
Traduction IA pour Ruby on Rails avec Lingo.dev CLI
Qu'est-ce que Ruby on Rails ?
Ruby on Rails est un framework d'application web côté serveur écrit en Ruby. Il fournit des structures par défaut pour les bases de données, les services web et les pages web, suivant le modèle modèle-vue-contrôleur (MVC).
Qu'est-ce que Lingo.dev CLI ?
Lingo.dev est une plateforme de traduction alimentée par l'IA. Le CLI Lingo.dev lit les fichiers source, envoie le contenu traduisible aux grands modèles de langage et écrit les fichiers traduits dans votre projet.
À propos de ce guide
Ce guide explique comment configurer Lingo.dev CLI dans une application Ruby on Rails. Vous apprendrez comment structurer un projet avec Rails, configurer un pipeline de traduction et visualiser les résultats.
Étape 1. Configurer un projet Rails
-
Créer une application Rails :
rails new rails-demo
-
Naviguer dans le répertoire du projet :
cd rails-demo
-
Générer un contrôleur avec une vue :
bin/rails generate controller Home index
Étape 2. Créer du contenu source
-
Ouvrir le fichier de localisation anglais à
config/locales/en.yml
. -
Ajouter du contenu traduisible :
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
Étape 3. Configurer le CLI
À la racine du projet, créer un fichier i18n.json
:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": 1.8,
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {
"yaml-root-key": {
"include": ["config/locales/[locale].yml"]
}
}
}
Ce fichier définit :
- les fichiers que Lingo.dev CLI doit traduire
- les langues entre lesquelles traduire
Dans ce cas, la configuration traduit les fichiers YAML de l'anglais vers l'espagnol.
[locale]
est un placeholder qui est remplacé à l'exécution. Il garantit que le contenu est lu à partir d'un emplacement (par exemple, config/locales/en.yml
) et écrit à un emplacement différent (par exemple, config/locales/es.yml
).
Pour en savoir plus, consultez configuration i18n.json.
Étape 4. Traduire le contenu
-
Connectez-vous à Lingo.dev via l'interface CLI :
npx lingo.dev@latest login
-
Exécutez le pipeline de traduction :
npx lingo.dev@latest run
L'interface CLI créera un fichier
config/locales/es.yml
pour stocker le contenu traduit et un fichieri18n.lock
pour suivre ce qui a été traduit (afin d'éviter les traductions inutiles).
Étape 5. Utiliser les traductions
-
Configurez les routes basées sur la locale dans
config/routes.rb
:Rails.application.routes.draw do scope "(:locale)", locale: /en|es/ do root "home#index" end end
-
Configurez la gestion des locales dans
app/controllers/application_controller.rb
:class ApplicationController < ActionController::Base before_action :set_locale private def set_locale I18n.locale = params[:locale].presence_in(I18n.available_locales.map(&:to_s)) || I18n.default_locale end def default_url_options { locale: I18n.locale } end end
-
Utilisez la méthode d'assistance
t
pour charger les chaînes localisées dans une vue :<h1><%= t("home.title") %></h1> <p><%= t("home.greeting") %></p>
-
Démarrez le serveur Rails :
bin/rails server
-
Naviguez vers les URL suivantes :
- http://localhost:3000/en pour le contenu en anglais
- http://localhost:3000/es pour le contenu en espagnol