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, en suivant le modèle MVC (modèle-vue-contrôleur).
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 sources, envoie le contenu traduisible aux grands modèles de langage et réé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 à créer un projet avec Rails, configurer un pipeline de traduction et visualiser les résultats.
Étape 1. Configurer un projet Rails
-
Créez une application Rails :
rails new rails-demo -
Accédez au répertoire du projet :
cd rails-demo -
Générez un contrôleur avec une vue :
bin/rails generate controller Home index
Étape 2. Créer le contenu source
-
Ouvrez le fichier de locale anglaise situé à
config/locales/en.yml. -
Ajoutez du contenu traduisible :
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
Étape 3. Configurer le CLI
À la racine du projet, créez un fichier i18n.json :
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"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 espace réservé qui est remplacé à l'exécution. Il garantit que le contenu est lu depuis un emplacement (par exemple, config/locales/en.yml) et écrit vers 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 la CLI :
npx lingo.dev@latest login -
Exécutez le pipeline de traduction :
npx lingo.dev@latest runLa CLI créera un fichier
config/locales/es.ymlpour stocker le contenu traduit et un fichieri18n.lockpour suivre ce qui a été traduit (afin d'éviter les retraductions inutiles).
Étape 5. Utiliser les traductions
-
Configurez les routes basées sur les locales 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'aide
tpour 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 -
Accédez aux URL suivantes :
- http://localhost:3000/en pour le contenu en anglais
- http://localhost:3000/es pour le contenu en espagnol