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

  1. Rails-Anwendung erstellen:

    rails new rails-demo
    
  2. In das Projektverzeichnis wechseln:

    cd rails-demo
    
  3. Controller mit View generieren:

    bin/rails generate controller Home index
    

Schritt 2. Quellinhalte erstellen

  1. Öffnen Sie die englische Locale-Datei unter config/locales/en.yml.

  2. 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

  1. Registrieren Sie sich für ein Lingo.dev-Konto.

  2. Melden Sie sich über die CLI bei Lingo.dev an:

    npx lingo.dev@latest login
    
  3. Führen Sie die Übersetzungs-Pipeline aus:

    npx lingo.dev@latest run
    

    Die CLI erstellt eine config/locales/es.ymlDatei zur Speicherung der übersetzten Inhalte und eine i18n.lockDatei, um nachzuverfolgen, was bereits übersetzt wurde (um unnötige erneute Übersetzungen zu vermeiden).

Schritt 5. Übersetzungen verwenden

  1. 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
    
  2. Richten Sie die Locale-Verarbeitung 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
    
  3. Verwenden Sie die Hilfsmethode t, um lokalisierte Strings innerhalb einer View zu laden:

    <h1><%= t("home.title") %></h1>
    <p><%= t("home.greeting") %></p>
    
  4. Starten Sie den Rails-Server:

    bin/rails server
    
  5. Navigieren Sie zu den folgenden URLs: