Ruby on Rails
Traducción con IA para Ruby on Rails con Lingo.dev CLI
¿Qué es Ruby on Rails?
Ruby on Rails es un framework de aplicaciones web del lado del servidor escrito en Ruby. Proporciona estructuras predeterminadas para bases de datos, servicios web y páginas web, siguiendo el patrón modelo-vista-controlador (MVC).
¿Qué es Lingo.dev CLI?
Lingo.dev es una plataforma de traducción impulsada por IA. La CLI de Lingo.dev lee archivos fuente, envía contenido traducible a modelos de lenguaje de gran tamaño y escribe los archivos traducidos de vuelta a tu proyecto.
Acerca de esta guía
Esta guía explica cómo configurar Lingo.dev CLI en una aplicación Ruby on Rails. Aprenderás cómo estructurar un proyecto con Rails, configurar un pipeline de traducción y ver los resultados.
Paso 1. Configurar un proyecto Rails
-
Crea una aplicación Rails:
rails new rails-demo -
Navega al directorio del proyecto:
cd rails-demo -
Genera un controlador con una vista:
bin/rails generate controller Home index
Paso 2. Crear contenido fuente
-
Abre el archivo de configuración regional en inglés en
config/locales/en.yml. -
Añade contenido traducible:
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
Paso 3. Configurar la CLI
En la raíz del proyecto, crea un archivo 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"]
}
}
}
Este archivo define:
- los archivos que Lingo.dev CLI debe traducir
- los idiomas entre los que traducir
En este caso, la configuración traduce archivos YAML del inglés al español.
[locale] es un marcador de posición que se reemplaza en tiempo de ejecución. Garantiza que el contenido se lea desde una ubicación (por ejemplo, config/locales/en.yml) y se escriba en una ubicación diferente (por ejemplo, config/locales/es.yml).
Para obtener más información, consulta configuración de i18n.json.
Paso 4. Traduce el contenido
-
Inicia sesión en Lingo.dev a través de la CLI:
npx lingo.dev@latest login -
Ejecuta el pipeline de traducción:
npx lingo.dev@latest runLa CLI creará un archivo
config/locales/es.ymlpara almacenar el contenido traducido y un archivoi18n.lockpara realizar un seguimiento de lo que se ha traducido (para evitar retraducciones innecesarias).
Paso 5. Usa las traducciones
-
Configura las rutas basadas en locale en
config/routes.rb:Rails.application.routes.draw do scope "(:locale)", locale: /en|es/ do root "home#index" end end -
Configura el manejo de locale en
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 -
Usa el método auxiliar
tpara cargar cadenas localizadas dentro de una vista:<h1><%= t("home.title") %></h1> <p><%= t("home.greeting") %></p> -
Inicia el servidor de Rails:
bin/rails server -
Navega a las siguientes URL:
- http://localhost:3000/en para contenido en inglés
- http://localhost:3000/es para contenido en español