Ruby on Rails
KI-Übersetzung für Ruby on Rails mit Lingo.dev CLI
Was ist Ruby on Rails?
Ruby on Rails ist ein serverseitiges Webanwendungs-Framework, das in Ruby geschrieben wurde. Es bietet Standardstrukturen für Datenbanken, Webservices und Webseiten und folgt dem Model-View-Controller (MVC)-Muster.
Was ist Lingo.dev CLI?
Lingo.dev ist eine KI-gestützte Übersetzungsplattform. Die Lingo.dev CLI liest Quelldateien, sendet übersetzbare Inhalte an große Sprachmodelle und schreibt übersetzte Dateien zurück in Ihr Projekt.
Über diese Anleitung
Diese Anleitung erklärt, wie Sie Lingo.dev CLI in einer Ruby on Rails-Anwendung einrichten. Sie lernen, wie Sie ein Projekt mit Rails erstellen, eine Übersetzungs-Pipeline konfigurieren und die Ergebnisse anzeigen.
Schritt 1. Rails-Projekt einrichten
-
Rails-Anwendung erstellen:
rails new rails-demo -
In das Projektverzeichnis wechseln:
cd rails-demo -
Controller mit View generieren:
bin/rails generate controller Home index
Schritt 2. Quellinhalte erstellen
-
Öffnen Sie die englische Locale-Datei unter
config/locales/en.yml. -
Fügen Sie übersetzbare Inhalte hinzu:
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
Schritt 3. CLI konfigurieren
Erstellen Sie im Projektstamm eine i18n.jsonDatei:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {
"yaml-root-key": {
"include": ["config/locales/[locale].yml"]
}
}
}
Diese Datei definiert:
- die Dateien, die Lingo.dev CLI übersetzen soll
- die Sprachen, zwischen denen übersetzt werden soll
In diesem Fall übersetzt die Konfiguration YAML-Dateien von Englisch nach Spanisch.
[locale] ist ein Platzhalter, der zur Laufzeit ersetzt wird. Er stellt sicher, dass Inhalte von einem Speicherort (z. B. config/locales/en.yml) gelesen und an einen anderen Speicherort (z. B. config/locales/es.yml) geschrieben werden.
Weitere Informationen finden Sie unter i18n.json-Konfiguration.
Schritt 4. Inhalte übersetzen
-
Melden Sie sich über die CLI bei Lingo.dev an:
npx lingo.dev@latest login -
Führen Sie die Übersetzungs-Pipeline aus:
npx lingo.dev@latest runDie CLI erstellt eine
config/locales/es.ymlDatei zur Speicherung der übersetzten Inhalte und einei18n.lockDatei, um nachzuverfolgen, was bereits übersetzt wurde (um unnötige erneute Übersetzungen zu vermeiden).
Schritt 5. Übersetzungen verwenden
-
Konfigurieren Sie locale-basierte Routen in
config/routes.rb:Rails.application.routes.draw do scope "(:locale)", locale: /en|es/ do root "home#index" end end -
Richten Sie die Locale-Verarbeitung in
app/controllers/application_controller.rbein:class ApplicationController < ActionController::Base before_action :set_locale private def set_locale I18n.locale = params[:locale].presence_in(I18n.available_locales.map(&:to_s)) || I18n.default_locale end def default_url_options { locale: I18n.locale } end end -
Verwenden Sie die Hilfsmethode
t, um lokalisierte Strings innerhalb einer View zu laden:<h1><%= t("home.title") %></h1> <p><%= t("home.greeting") %></p> -
Starten Sie den Rails-Server:
bin/rails server -
Navigieren Sie zu den folgenden URLs:
- http://localhost:3000/en für englische Inhalte
- http://localhost:3000/es für spanische Inhalte