Přejít na obsah
Ruby on Rails i18n

Ruby on Rails i18n: Správa překladů založená na konvencích

Ruby on Rails obsahuje integrované rozhraní I18n API, které ke správě překladů využívá soubory locale ve formátu YAML. Tento framework se řídí zásadou „konvence před konfigurací“ a nabízí odložené vyhledávání v zobrazeních, automatická pravidla pro tvorbu množného čísla a podporu interpolace. Rails již ve výchozím nastavení poskytuje pomocné funkce pro práci s daty, čísly a měnami, které zohledňují místní nastavení, a jeho systém náhradních řešení zajišťuje, že v případě chybějících překladů dojde k plynulému přechodu na náhradní řešení.

Capabilities

Funkce i18n v Ruby on Rails

Soubory YAML s národními nastaveními v adresáři config/locales s vnořenou strukturou klíčů
Rozhraní API I18n.t() a I18n.l() pro překlady a formátování s ohledem na národní prostředí
Vestavěná pluralizace s pravidly one/other a vlastními pluralizačními backendy
Variabilní interpolace pomocí syntaxe % {variable} v překladových řetězcích
Lazy lookup s t('.key') v pohledech pro automatické určení rozsahu
Záložní řetězce národních nastavení pro hladké řešení případů chybějících překladů
Přeložené trasy a URL pomocníci s route_translator nebo podobnými gemy
Překlady modelů ActiveRecord pro vícejazyčný obsah založený na databázi
Pomocné funkce pro formátování data, času, čísel a měn s ohledem na lokalitu
Example

Rails i18n v praxi

Definujte překlady v souborech YAML pro jazykové mutace, v řadičích a zobrazeních používejte funkci t() s interpolací a lokalizovaný obsah vykreslujte v šablonách 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>

Prohlédněte si další průvodce po frameworku

Get started

Začněte s lokalizací v Rails ještě dnes

Spravujte překlady YAML pro Rails pomocí pracovních postupů založených na umělé inteligenci, synchronizace přes příkazový řádek a doručování přes CDN s latencí pod 50 ms.