Traduzca su aplicación Ruby on Rails (RoR) con IA que ofrece resultados de calidad humana. Comience con una prueba gratuita que no requiere tarjeta de crédito. PTC traducirá por usted los textos de los archivos de recursos del proyecto, así como los textos generados por el usuario. 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
Cree su cuenta gratuita para empezar a traducir de inmediato. Durante la prueba, puede traducir sus proyectos a dos idiomas de su elección.
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 con Git: conecte su repositorio de GitHub, GitLab o Bitbucket. Cada vez que cambian sus archivos i18n de Rails, PTC detecta la actualización y abre una solicitud de extracción con las nuevas traducciones.
- Integración de API: utilice la API para integrar PTC en su canalización de implementación. Su proyecto de Rails puede enviar automáticamente cadenas de origen actualizadas 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
endPor ú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 commit: 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, manteniendo 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 commit: Añadir un selector de idioma
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 (usando 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 commit: 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 cadenas de texto que se muestran a los usuarios en el navegador, como alertas, sugerencias o mensajes de confirmación, también deberá incluirlas en su archivo YAML del 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 commit: 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.ymlyde.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 commit: 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-jsa su Gemfile y ejecutebundle install. - Después de la instalación, ejecute
i18n initpara 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 commit: Añadir 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 commit: Exportar las traducciones
6
Utilice traducciones en JavaScript
Con locales.json implementado, puede cargar traducciones en su código JavaScript y mostrar el texto correcto según el 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.jsy 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 commit: Añadir i18n-js a JS y crear una función para cargar las 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-jsy 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 commit: 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 lo rápido que PTC convierte su aplicación Rails en multilingüe. Comience su prueba gratuita e incorpore traducciones de IA de calidad humana a su proyecto Rails en cuestión de minutos.
