Traduci la tua app Ruby on Rails (RoR) con l’AI che offre risultati di qualità umana. Inizia gratuitamente per 30 giorni senza bisogno di carta di credito. PTC tradurrà per te i testi nei file di risorse del progetto, così come i testi generati dagli utenti. Con PTC, puoi creare applicazioni completamente multilingue, con un budget minimo e con la qualità di una traduzione umana.
Traduci il tuo progetto RoR con PTC per la prima volta
PTC ti consente di automatizzare il processo di traduzione integrandosi direttamente nel tuo repository Git o nel tuo flusso CI. Tuttavia, per questa traduzione iniziale utilizzeremo il caricamento manuale dei file. In questo modo, puoi provare PTC senza concedergli alcun accesso o perdere tempo nell’integrazione.
Passaggio 1
Iscriviti per una prova gratuita di 30 giorni
Crea il tuo account gratuito per iniziare subito a tradurre. Otterrai l’accesso completo a PTC per 30 giorni senza bisogno di carta di credito.
Passaggio 2
Crea un nuovo progetto
Dal wizard di configurazione, seleziona l’opzione Caricamento manuale del file. Questo funziona perfettamente per i file YAML, comunemente usati per gestire le traduzioni Rails, così come molti altri formati di file supportati.
Passaggio 3
Descrivi il tuo progetto
Aggiungi una breve descrizione della tua app Rails e del suo scopo. Private Translation Cloud utilizza questo contesto per scegliere lo stile di traduzione, il tono e la terminologia giusti per il tuo pubblico.

Passaggio 4
Carica il tuo file YAML
Carica il file i18n di Rails che vuoi tradurre (comunemente config/locales/en.yml
).
Passaggio 5
Seleziona le tue lingue di destinazione
Scegli le lingue in cui desideri tradurre. Private Translation Cloud supporta oltre 33 lingue e offre traduzioni di qualità umana per tutte le lingue parlate nei principali mercati.
Passaggio 6
Visualizza e scarica le tue traduzioni
In pochi minuti, vedrai le tue traduzioni Rails nella scheda Traduzioni. Appaiono in una tabella chiara organizzata per lingua.
Le stringhe lunghe sono contrassegnate in giallo in modo che tu possa decidere se mantenerle o chiedere a Private Translation Cloud di generare una versione più breve.
Quando sei pronto, vai alla scheda File di risorse per scaricare le tue traduzioni come archivio ZIP. Se hai tradotto in più lingue, ognuna sarà disponibile come file YAML separato (ad es. fr.yml
, de.yml
).

Passaggio 7
Aggiungi i file tradotti alla tua app Rails
Inserisci i file scaricati nella directory config/locales/
del tuo progetto Rails. Rails li caricherà automaticamente in fase di esecuzione, in modo da poter cambiare i locale utilizzando I18n.locale
senza modificare alcun codice.
Ecco fatto: hai tradotto un’app Rails con Private Translation Cloud!
Traduci email, notifiche e altro testo per la tua app Rails
I progetti Rails includono testo importante al di fuori dei file config/locales/*.yml
, ad esempio, le email di autenticazione Devise o le notifiche di sistema. Una volta tradotti i tuoi file YAML, usa la funzione
Incolla per tradurre
di Private Translation Cloud per ottenere le stesse traduzioni contestuali per questi testi.
- Vai a Traduzioni → Incolla per tradurre
- Incolla il testo che vuoi tradurre (ad esempio, la tua email di reimpostazione della password)
- Fai clic su traduci

Riceverai immediatamente traduzioni contestuali di alta qualità che puoi copiare nelle tue viste mailer, nelle notifiche di Active Job o nella documentazione.


Automatizza le tue traduzioni Rails con l’integrazione Git o CI
Una volta confermata la qualità di Private Translation Cloud con un caricamento manuale, il passo successivo è automatizzare il flusso di lavoro integrandosi con Git o CI. In questo modo, ogni aggiornamento che fai viene inviato e tradotto automaticamente.
Private Translation Cloud ti offre due opzioni flessibili per automatizzare le traduzioni in un’app Rails:
- Integrazione Git – Connetti il tuo repository GitHub, GitLab o Bitbucket. Ogni volta che i tuoi file i18n di Rails cambiano, Private Translation Cloud rileva l’aggiornamento e apre una pull request con le nuove traduzioni.
- Integrazione API – Usa l’API per collegare Private Translation Cloud alla tua pipeline di deployment. Il tuo progetto Rails può inviare automaticamente stringhe di origine aggiornate e recuperare i file YAML tradotti, mantenendo la tua app multilingue senza alcuno sforzo manuale.
Esempio di i18n di Rails: demo di un’app Rails traducibile
Per mostrare come funziona in pratica l’internazionalizzazione (i18n) e la traduzione di Ruby on Rails, abbiamo creato una piccola applicazione demo Rails. L’app visualizza l’ora corrente del server con un pulsante di aggiornamento e include un semplice selettore di lingua. Ogni passaggio seguente ha un riferimento di commit in modo da poter seguire le modifiche del codice.
1
Aggiungi il supporto i18n di Rails
Innanzitutto, in config/application.rb
, indica a Rails quali lingue deve supportare l’app e imposta un locale predefinito.
config.i18n.default_locale = :en
I18n.available_locales = [:en, :es, :de]
Successivamente, aggiungi il locale all’URL in modo che ogni lingua abbia il suo percorso, come /en/time
o /es/time
.
scope "/:locale" do
get '/time', to: 'home#index', as: :time_display
end
Infine, in app/controllers/application_controller.rb
, assicurati che Rails carichi il locale corretto dall’URL e lo includa in tutti i link.
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
Riferimento commit: configura i18n
2
Aggiungi un selettore di lingua
Ora che l’app supporta più locale, dai agli utenti un modo per passare da uno all’altro.
Rails include già il locale corrente in tutti gli URL generati (a causa del metodo default_url_options
in ApplicationController
). Ciò significa che puoi creare una semplice interfaccia utente che aggiorna solo il parametro locale mantenendo l’utente sulla stessa pagina.
Nella nostra app demo, il selettore di lingua è aggiunto in app/views/layouts/application.html.erb
e stilizzato in 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>
Riferimento commit: Aggiungi un selettore di lingua
3
Rendi tutto il testo traducibile (Ruby e JavaScript)
Prima di poter tradurre la tua app, tutto il testo rivolto all’utente deve risiedere nei file i18n di Rails invece di essere hard-coded. Questo significa:
- Fai lo stesso per qualsiasi testo JavaScript visibile (come avvisi o suggerimenti)
- Sostituisci il testo nelle viste e nei controller con le chiavi di traduzione
- Aggiungi quelle chiavi e i loro valori di lingua predefinita a
config/locales/en.yml
Parte a. Sostituisci il testo nelle viste e nei controller
Rails utilizza l’helper integrato I18n.t
(o semplicemente t
) per cercare le stringhe dai tuoi file di traduzione.
Corretto (utilizzando le chiavi di traduzione) :
<h1><%= t(:hello) %></h1>
<p><%= t(:current_time, time: @time) %></p>
<button id="click-me"><%= t(:refresh) %></button>
Non corretto (testo hard-coded):
<h1>Hello</h1>
<p>Current time: <%= @time %></p>
<button>Refresh</button>
Il testo hard-coded non apparirà nel tuo file YAML, il che significa che non potrà essere tradotto in seguito.
Aggiungi queste chiavi in config/locales/en.yml
:
en:
hello: "Hello"
current_time: "Current time: %{time}"
refresh: "Refresh"
Riferimento commit: internazionalizza il codice Ruby
Parte b. Aggiungi stringhe JavaScript a YAML
Rails non estrae automaticamente il testo dai file JavaScript. Se hai delle stringhe mostrate agli utenti nel browser, come avvisi, suggerimenti o messaggi di conferma, dovrai inserirle anche nel tuo file YAML della lingua di origine.
Ad esempio, per tradurre un popup di conferma in JavaScript, aggiungi la stringa a config/locales/en.yml
:
en:
confirm: "Are you sure?"
Successivamente, questo verrà esportato insieme alle tue traduzioni Ruby in modo che sia le viste che JavaScript utilizzino le stesse chiavi.
Riferimento commit: Aggiungi stringhe per JavaScript
A questo punto, il tuo file en.yml
contiene tutto il testo che appare nella tua app. Questo file è la versione base che Private Translation Cloud utilizzerà per creare traduzioni in altre lingue.
4
Traduci i file YAML con Private Translation Cloud
Ora che tutto il testo della tua app è memorizzato in config/locales/en.yml
, puoi accedere al tuo account Private Translation Cloud e generare traduzioni.
- Private Translation Cloud si è connesso al nostro repository e ha rilevato automaticamente il file inglese
- Ha creato versioni tradotte come
fr.yml
ede.yml
- Ha aperto una pull request con i nuovi file nella stessa cartella
Ogni file tradotto mantiene le stesse chiavi e la stessa struttura della versione inglese, quindi puoi unirli in modo sicuro nel tuo progetto.
Riferimento commit: Traduzioni AI create da Private Translation Cloud
5
Carica le traduzioni in JavaScript
I tuoi file .yml
tradotti funzionano automaticamente nelle viste Rails. Ma JavaScript non può leggere YAML: ha bisogno di JSON.
Per rendere disponibili le tue traduzioni in JavaScript, usa la gem i18n-js per convertire YAML in un file JSON che il browser possa leggere:
- Aggiungi la gem
i18n-js
al tuo Gemfile ed eseguibundle install
. - Dopo l’installazione, esegui
i18n init
per generare la configurazione predefinita. - Aggiorna la tua configurazione per impostare il file su
public/locales.json
. Questo prepara la tua app a memorizzare le traduzioni in un file JSON a cui JavaScript può accedere.
Riferimento commit: aggiunta di i18n-js
Ora, esegui il comando i18n export
. Questo comando legge i tuoi file .yml
e scrive le chiavi tradotte in public/locales.json
.
Riferimento commit: esporta le traduzioni
6
Usa le traduzioni in JavaScript
Con locales.json
in posizione, puoi caricare le traduzioni nel tuo codice JavaScript e visualizzare il testo corretto in base alla lingua attiva.
Rails 7 include Importmap , che semplifica la gestione delle dipendenze JavaScript senza bundler.
- Fissa le librerie in
config/importmap.rb
:
pin "i18n-js", to: "https://esm.sh/i18n-js@latest/dist/import/index.js"
pin "load_locale", to: "load_locale.js"
- Crea un file in
app/javascript/load_locale.js
e aggiungi uno script di caricamento per recuperare il file JSON:
export async function loadLocale() {
const response = await fetch('/locales.json');
const data = await response.json();
return data;
}
Ora il tuo JavaScript può recuperare le traduzioni e visualizzarle proprio come le viste Rails.
Riferimento commit: Aggiungi i18n-js a JS e crea una funzione per caricare le traduzioni
7
Visualizza la lingua giusta in JavaScript
A questo punto, Rails sta esportando le traduzioni in locales.json
e il tuo JavaScript può caricarle. L’ultimo passo è assicurarsi che JavaScript utilizzi lo stesso locale delle viste Rails.
- Passa il locale corrente al frontend aggiungendolo al tag
<body>
:
<!-- app/views/layouts/application.html.erb -->
<body data-locale="<%= I18n.locale %>">
- Importa
i18n-js
e la funzione di caricamento nel tuo JavaScript:
import { I18n } from "i18n-js"
import { loadLocale } from "./load_locale"
- Quando la pagina si carica, recupera le traduzioni e imposta il locale:
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
}
})
Ora, il tuo JavaScript mostrerà i messaggi nella lingua selezionata, proprio come le tue viste Rails.
Riferimento commit: internazionalizza JavaScript
Con questo, l’app demo è completamente multilingue: le viste Rails e JavaScript visualizzano entrambe la lingua giusta e Private Translation Cloud mantiene aggiornate le traduzioni.

Inizia a tradurre la tua app Rails oggi stesso
Hai visto come Private Translation Cloud rende multilingue un’app Rails, iniziando con una rapida valutazione manuale e passando all’automazione completa Git o CI. Inizia oggi la tua prova gratuita di 30 giorni e porta traduzioni AI di qualità umana al tuo progetto Rails in pochi minuti.
