Aller au contenu
Ruby on Rails i18n

Ruby on Rails i18n : Gestion des traductions basée sur les conventions

Ruby on Rails intègre une API I18n qui utilise des fichiers de paramètres régionaux au format YAML pour gérer les traductions. Le framework suit le principe « convention plutôt que configuration », avec une recherche différée dans les vues, des règles de pluralisation automatiques et la prise en charge de l'interpolation. Rails fournit d'emblée des aides tenant compte des paramètres régionaux pour les dates, les nombres et les devises, et son système de repli garantit un affichage correct en cas de traductions manquantes.

Fonctionnalités d'internationalisation (i18n) de Ruby on Rails

Fichiers de paramètres régionaux YAML dans config/locales avec organisation des clés imbriquées
API I18n.t() et I18n.l() pour les traductions et la mise en forme tenant compte des paramètres régionaux
Fonctionnalité intégrée de formation du pluriel avec des règles « one/other » et des modules de gestion du pluriel personnalisés
Interpolation de variables avec la syntaxe % {variable} dans les chaînes de traduction
Recherche différée avec t('.key') dans les vues pour la résolution automatique de la portée
Chaînes de paramètres régionaux de secours pour une gestion élégante des traductions manquantes
Routes traduites et aides d'URL avec route_translator ou des gemmes similaires
Traductions des modèles ActiveRecord pour le contenu multilingue s'appuyant sur une base de données
Aides au formatage de la date, de l'heure, des nombres et des devises tenant compte des paramètres régionaux

Rails i18n en pratique

Définissez les traductions dans des fichiers de paramètres régionaux YAML, utilisez t() dans les contrôleurs et les vues avec interpolation, et affichez le contenu localisé dans les templates 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>

Commencez la localisation Rails aujourd'hui

Gérez vos traductions YAML Rails grâce à des workflows basés sur l'IA, une synchronisation via l'interface de ligne de commande et une diffusion via CDN en moins de 50 ms.