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 Webapplikations-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 Large Language Models und schreibt die übersetzten Dateien zurück in dein Projekt.
Über diesen Leitfaden
Dieser Leitfaden erklärt, wie man die Lingo.dev CLI in einer Ruby on Rails Anwendung einrichtet. Du lernst, wie man ein Projekt mit Rails erstellt, eine Übersetzungspipeline konfiguriert und die Ergebnisse betrachtet.
Schritt 1. Ein Rails-Projekt einrichten
-
Erstelle eine Rails-Anwendung:
rails new rails-demo
-
Navigiere in das Projektverzeichnis:
cd rails-demo
-
Generiere einen Controller mit einer View:
bin/rails generate controller Home index
Schritt 2. Quellinhalt erstellen
-
Öffne die englische Lokalisierungsdatei unter
config/locales/en.yml
. -
Füge übersetzbaren Inhalt hinzu:
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
Schritt 3. Die CLI konfigurieren
Erstelle im Stammverzeichnis des Projekts eine i18n.json
Datei:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": 1.8,
"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 Ort (z.B. config/locales/en.yml
) gelesen und an einen anderen Ort (z.B. config/locales/es.yml
) geschrieben werden.
Um mehr zu erfahren, siehe i18n.json Konfiguration.
Schritt 4. Übersetzen des Inhalts
-
Melden Sie sich über die CLI bei Lingo.dev an:
npx lingo.dev@latest login
-
Führen Sie die Übersetzungspipeline aus:
npx lingo.dev@latest run
Die CLI erstellt eine
config/locales/es.yml
-Datei zur Speicherung der übersetzten Inhalte und einei18n.lock
-Datei zur Verfolgung der übersetzten Elemente (um unnötige Neuübersetzungen zu vermeiden).
Schritt 5. Verwendung der Übersetzungen
-
Konfigurieren Sie lokalisierungsbasierte Routen in
config/routes.rb
:Rails.application.routes.draw do scope "(:locale)", locale: /en|es/ do root "home#index" end end
-
Richten Sie die Lokalisierungsbehandlung in
app/controllers/application_controller.rb
ein: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
t
-Hilfsmethode, um lokalisierte Zeichenketten innerhalb einer Ansicht zu laden:<h1><%= t("home.title") %></h1> <p><%= t("home.greeting") %></p>
-
Starten Sie den Rails-Server:
bin/rails server
-
Navigieren Sie zu folgenden URLs:
- http://localhost:3000/en für englische Inhalte
- http://localhost:3000/es für spanische Inhalte