Ir al contenido
Ruby on Rails i18n

Ruby on Rails i18n: gestión de la traducción basada en convenciones

Ruby on Rails incluye una API de internacionalización (I18n) integrada que utiliza archivos de configuración regional en formato YAML para gestionar las traducciones. El marco sigue el principio de «convención sobre configuración», con búsqueda diferida en las vistas, reglas automáticas de pluralización y compatibilidad con la interpolación. Rails ofrece de serie ayudantes que tienen en cuenta la configuración regional para fechas, números y divisas, y su sistema de sustitución garantiza que las traducciones que falten se muestren de forma adecuada.

Funciones de internacionalización (i18n) de Ruby on Rails

Archivos YAML de configuración regional en la carpeta «config/locales» con una estructura de claves anidadas
Las API I18n.t() e I18n.l() para traducciones y formato adaptado a la configuración regional
Pluralización integrada con reglas «one/other» y módulos de pluralización personalizados
Interpolación de variables con la sintaxis % {variable} en las cadenas de traducción
Búsqueda diferida con t('.key') en vistas para la resolución automática del ámbito
Cadenas de configuración regional de reserva para gestionar de forma adecuada las traducciones que faltan
Rutas traducidas y ayudantes de URL con route_translator o gemas similares
Traducciones de modelos ActiveRecord para contenido multilingüe respaldado por una base de datos
Funciones de formato para fecha, hora, números y moneda que tienen en cuenta la configuración regional

Rails i18n en la práctica

Defina las traducciones en archivos de configuración de idioma YAML, utilice la función t() en controladores y vistas con interpolación, y genere contenido localizado en plantillas ERB.

# config/locales/en.yml
en:
  welcome: "Welcome to %{app_name}"
  items:
    one: "%{count} item"
    other: "%{count} items"

# app/controllers/home_controller.rb
class HomeController < ApplicationController
  def index
    @welcome = t('welcome', app_name: 'My App')
    @items = t('items', count: 5)
  end
end

# app/views/home/index.html.erb
<h1><%= @welcome %></h1>
<p><%= @items %></p>

Empiece hoy mismo con la localización de Rails

Gestione sus traducciones YAML de Rails con flujos de trabajo basados en IA, sincronización mediante la interfaz de línea de comandos y entrega a través de CDN en menos de 50 ms.