Traduzca su aplicación Ruby on Rails (RoR) con IA que ofrece resultados de calidad humana. Comience gratis durante 30 días sin necesidad de tarjeta de crédito. PTC traducirá por usted los textos de los archivos de recursos del proyecto, así como los textos generados por los usuarios. Con PTC, puede crear aplicaciones totalmente multilingües, con un presupuesto muy ajustado y con una calidad de traducción humana.
Traduzca su proyecto RoR con PTC por primera vez
PTC le permite automatizar el proceso de traducción integrándose directamente en su repositorio Git o en su flujo de CI. Sin embargo, para esta traducción inicial utilizaremos la carga manual de archivos. De esta forma, puede probar PTC sin darle ningún acceso ni dedicar tiempo a la integración.
Paso 1
Regístrese para una prueba gratuita de 30 días
Cree su cuenta gratuita para empezar a traducir de inmediato. Obtendrá acceso completo a PTC durante 30 días sin necesidad de tarjeta de crédito.
Paso 2
Crear un nuevo proyecto
Desde el asistente de configuración, seleccione la opción Carga manual de archivos. Esto funciona perfectamente para los archivos YAML, que se utilizan comúnmente para gestionar las traducciones de Rails, así como para muchos otros formatos de archivo compatibles.
Paso 3
Describa su proyecto
Añada una breve descripción de su aplicación Rails y su propósito. PTC utiliza este contexto para elegir el estilo de traducción, el tono y la terminología adecuados para su público.

Paso 4
Cargue su archivo YAML
Cargue el archivo i18n de Rails que desea traducir (normalmente config/locales/en.yml
).
Paso 5
Seleccione sus idiomas de destino
Elija los idiomas a los que desea traducir. PTC admite más de 33 idiomas y ofrece traducciones de calidad humana para todos los idiomas hablados en los principales mercados.
Paso 6
Vea y descargue sus traducciones
En cuestión de minutos, verá sus traducciones de Rails en la pestaña Traducciones. Aparecen en una tabla clara organizada por idioma.
Las cadenas largas se marcan en amarillo para que pueda decidir si desea conservarlas o pedir a PTC que genere una versión más corta.
Cuando esté listo, diríjase a la pestaña Archivos de recursos para descargar sus traducciones como un archivo ZIP. Si ha traducido a varios idiomas, cada uno vendrá como su propio archivo YAML (p. ej., fr.yml
, de.yml
).

Paso 7
Añada los archivos traducidos a su aplicación Rails
Coloque los archivos descargados en el directorio config/locales/
de su proyecto Rails. Rails los cargará automáticamente en tiempo de ejecución, para que pueda cambiar la configuración regional utilizando I18n.locale
sin cambiar ningún código.
¡Eso es todo: ha traducido una aplicación Rails con PTC!
Traduzca correos electrónicos, notificaciones y otro texto para su aplicación Rails
Los proyectos de Rails incluyen texto importante fuera de los archivos config/locales/*.yml
; por ejemplo, los correos electrónicos de autenticación de Devise o las notificaciones del sistema. Una vez que haya traducido sus archivos YAML, utilice la función
Pegar para traducir
de PTC para obtener las mismas traducciones contextualizadas para estos textos.
- Vaya a Traducciones → Pegar para traducir
- Pegue el texto que desea traducir (por ejemplo, su correo electrónico de restablecimiento de contraseña)
- Haga clic en traducir

Obtendrá al instante traducciones contextualizadas de alta calidad que podrá copiar en sus vistas de correo, notificaciones de Active Job o documentación.


Automatice sus traducciones de Rails con la integración de Git o CI
Una vez que haya confirmado la calidad de PTC con una carga manual, el siguiente paso es automatizar el flujo de trabajo integrándose con Git o CI. De esta forma, cada actualización que realice se enviará y traducirá automáticamente.
PTC le ofrece dos opciones flexibles para automatizar las traducciones en una aplicación Rails:
- Integración de Git: conecte su repositorio de GitHub, GitLab o Bitbucket. Cada vez que cambien sus archivos i18n de Rails, PTC detectará la actualización y abrirá una solicitud de extracción con las nuevas traducciones.
- Integración de API: Utilice la API para vincular PTC a su canalización de implementación. Su proyecto Rails puede enviar cadenas de origen actualizadas automáticamente y recuperar archivos YAML traducidos, manteniendo su aplicación multilingüe sin esfuerzo manual.
Ejemplo de i18n de Rails: demostración de una aplicación de Rails traducible
Para mostrar cómo funciona en la práctica la internacionalización (i18n) y la traducción de Ruby on Rails, hemos creado una pequeña aplicación de demostración de Rails. La aplicación muestra la hora actual del servidor con un botón de actualización e incluye un simple selector de idiomas. Cada paso a continuación tiene una referencia de confirmación para que pueda seguir los cambios de código.
1
Añada compatibilidad con i18n de Rails
En primer lugar, en config/application.rb
, indique a Rails qué idiomas debe admitir la aplicación y establezca una configuración regional predeterminada.
config.i18n.default_locale = :en
I18n.available_locales = [:en, :es, :de]
A continuación, añada la configuración regional a la URL para que cada idioma tenga su propia ruta, como /en/time
o /es/time
.
scope "/:locale" do
get '/time', to: 'home#index', as: :time_display
end
Por último, en app/controllers/application_controller.rb
, asegúrese de que Rails carga la configuración regional correcta desde la URL y la incluye en todos los enlaces.
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
Referencia de confirmación: configurar i18n
2
Añada un selector de idiomas
Ahora que la aplicación admite varias configuraciones regionales, ofrezca a los usuarios una forma de cambiar entre ellas.
Rails ya incluye la configuración regional actual en todas las URL generadas (debido al método default_url_options
en ApplicationController
). Esto significa que puede crear una interfaz de usuario sencilla que solo actualice el parámetro de configuración regional mientras mantiene al usuario en la misma página.
En nuestra aplicación de demostración, el selector de idiomas se añade en app/views/layouts/application.html.erb
y se le da estilo en 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>
Referencia de confirmación: Añadir un selector de idiomas
3
Haga que todo el texto sea traducible (Ruby y JavaScript)
Antes de que pueda traducir su aplicación, todo el texto visible para el usuario debe residir en los archivos i18n de Rails en lugar de estar codificado. Esto significa:
- Haga lo mismo con cualquier texto JavaScript visible (como alertas o información sobre herramientas)
- Reemplace el texto en las vistas y los controladores con claves de traducción
- Añada esas claves y sus valores de idioma predeterminado a
config/locales/en.yml
Parte a. Reemplace el texto en las vistas y los controladores
Rails utiliza el asistente integrado I18n.t
(o simplemente t
) para buscar cadenas en sus archivos de traducción.
Correcto (utilizando claves de traducción) :
<h1><%= t(:hello) %></h1>
<p><%= t(:current_time, time: @time) %></p>
<button id="click-me"><%= t(:refresh) %></button>
Incorrecto (texto codificado):
<h1>Hello</h1>
<p>Current time: <%= @time %></p>
<button>Refresh</button>
El texto codificado no aparecerá en su archivo YAML, lo que significa que no se podrá traducir más adelante.
Añada estas claves en config/locales/en.yml
:
en:
hello: "Hello"
current_time: "Current time: %{time}"
refresh: "Refresh"
Referencia de confirmación: internacionalizar el código Ruby
Parte b. Añada cadenas de JavaScript a YAML
Rails no extrae automáticamente el texto de los archivos JavaScript. Si tiene alguna cadena que se muestre a los usuarios en el navegador, como alertas, información sobre herramientas o mensajes de confirmación, también deberá colocarlos en su archivo YAML de idioma de origen.
Por ejemplo, para traducir una ventana emergente de confirmación en JavaScript, añada la cadena a config/locales/en.yml
:
en:
confirm: "Are you sure?"
Más adelante, esto se exportará junto con sus traducciones de Ruby para que tanto las vistas como JavaScript utilicen las mismas claves.
Referencia de confirmación: Añadir cadenas para JavaScript
En este punto, su archivo en.yml
contiene todo el texto que aparece en su aplicación. Este archivo es la versión base que PTC utilizará para crear traducciones a otros idiomas.
4
Traduzca archivos YAML con PTC
Ahora que todo el texto de su aplicación está almacenado en config/locales/en.yml
, puede iniciar sesión en su cuenta de PTC y generar traducciones.
- PTC se conectó a nuestro repositorio y detectó automáticamente el archivo en inglés
- Creó versiones traducidas como
fr.yml
yde.yml
- Abrió una solicitud de extracción con los nuevos archivos en la misma carpeta
Cada archivo traducido mantiene las mismas claves y estructura que la versión en inglés, por lo que puede fusionarlos de forma segura en su proyecto.
Referencia de confirmación: Traducciones de IA creadas por PTC
5
Cargue traducciones en JavaScript
Sus archivos .yml
traducidos funcionan automáticamente en las vistas de Rails. Pero JavaScript no puede leer YAML, necesita JSON.
Para que sus traducciones estén disponibles en JavaScript, utilice la gema i18n-js para convertir YAML en un archivo JSON que el navegador pueda leer:
- Añada la gema
i18n-js
a su Gemfile y ejecutebundle install
. - Después de la instalación, ejecute
i18n init
para generar la configuración predeterminada. - Actualice su configuración para establecer el archivo en
public/locales.json
. Esto prepara su aplicación para almacenar traducciones en un archivo JSON al que JavaScript pueda acceder.
Referencia de confirmación: añadiendo i18n-js
Ahora, ejecute el comando i18n export
. Este comando lee sus archivos .yml
y escribe las claves traducidas en public/locales.json
.
Referencia de confirmación: exportar las traducciones
6
Utilice traducciones en JavaScript
Con locales.json
en su lugar, puede cargar traducciones en su código JavaScript y mostrar el texto correcto en función del idioma activo.
Rails 7 incluye Importmap , lo que facilita la gestión de las dependencias de JavaScript sin bundlers.
- Ancle las bibliotecas en
config/importmap.rb
:
pin "i18n-js", to: "https://esm.sh/i18n-js@latest/dist/import/index.js"
pin "load_locale", to: "load_locale.js"
- Cree un archivo en
app/javascript/load_locale.js
y añada un script de carga para obtener el archivo JSON:
export async function loadLocale() {
const response = await fetch('/locales.json');
const data = await response.json();
return data;
}
Ahora su JavaScript puede obtener las traducciones y mostrarlas al igual que las vistas de Rails.
Referencia de confirmación: Añadir i18n-js a JS y crear una función para cargar traducciones
7
Muestre el idioma correcto en JavaScript
En este punto, Rails está exportando traducciones a locales.json
y su JavaScript puede cargarlas. El último paso es asegurarse de que JavaScript utiliza la misma configuración regional que las vistas de Rails.
- Pase la configuración regional actual al frontend añadiéndola a la etiqueta
<body>
:
<!-- app/views/layouts/application.html.erb -->
<body data-locale="<%= I18n.locale %>">
- Importe
i18n-js
y la función de carga en su JavaScript:
import { I18n } from "i18n-js"
import { loadLocale } from "./load_locale"
- Cuando se cargue la página, obtenga las traducciones y establezca la configuración regional:
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
}
})
Ahora, su JavaScript mostrará mensajes en el idioma seleccionado, al igual que sus vistas de Rails.
Referencia de confirmación: internacionalizar JavaScript
Con esto, la aplicación de demostración es totalmente multilingüe: las vistas de Rails y JavaScript muestran el idioma correcto, y PTC mantiene las traducciones actualizadas.

Empiece a traducir su aplicación Rails hoy mismo
Ha visto cómo PTC hace que una aplicación Rails sea multilingüe, comenzando con una rápida evaluación manual y pasando a la automatización completa de Git o CI. Comience hoy mismo su prueba gratuita de 30 días y lleve las traducciones de IA de calidad humana a su proyecto Rails en cuestión de minutos.
