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

  1. Erstelle eine Rails-Anwendung:

    rails new rails-demo
    
  2. Navigiere in das Projektverzeichnis:

    cd rails-demo
    
  3. Generiere einen Controller mit einer View:

    bin/rails generate controller Home index
    

Schritt 2. Quellinhalt erstellen

  1. Öffne die englische Lokalisierungsdatei unter config/locales/en.yml.

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

  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 Übersetzungspipeline aus:

    npx lingo.dev@latest run
    

    Die CLI erstellt eine config/locales/es.yml-Datei zur Speicherung der übersetzten Inhalte und eine i18n.lock-Datei zur Verfolgung der übersetzten Elemente (um unnötige Neuübersetzungen zu vermeiden).

Schritt 5. Verwendung der Übersetzungen

  1. Konfigurieren Sie lokalisierungsbasierte 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 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
    
  3. Verwenden Sie die t-Hilfsmethode, um lokalisierte Zeichenketten innerhalb einer Ansicht 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 folgenden URLs: