Ruby on Rails-Übersetzungen mit KI in menschlicher Qualität

Übersetzen Sie Ihre Ruby on Rails (RoR)-App mit KI, die Ergebnisse in menschlicher Qualität liefert. Starten Sie kostenlos für 30 Tage, keine Kreditkarte erforderlich. PTC übersetzt für Sie die Texte in den Ressourcendateien des Projekts sowie von Benutzern generierte Texte. Mit PTC können Sie vollständig mehrsprachige Anwendungen mit einem minimalen Budget in der Qualität menschlicher Übersetzungen erstellen.

Übersetzen Sie Ihr RoR-Projekt zum ersten Mal mit PTC

Mit PTC können Sie den Übersetzungsprozess automatisieren, indem Sie es direkt in Ihr Git-Repository oder Ihren CI-Flow integrieren. Für diese erste Übersetzung verwenden wir jedoch den manuellen Datei-Upload. Auf diese Weise können Sie PTC ausprobieren, ohne ihm Zugriff zu gewähren oder Zeit für die Integration aufzuwenden.

Schritt 1

Registrieren Sie sich für eine 30-tägige kostenlose Testversion

Erstellen Sie Ihr kostenloses Konto, um sofort mit der Übersetzung zu beginnen. Sie erhalten 30 Tage lang vollen Zugriff auf PTC, ohne dass eine Kreditkarte erforderlich ist.

Schritt 2

Neues Projekt erstellen

Wählen Sie im Einrichtungs-Assistenten die Option Manueller Dateiupload. Dies funktioniert perfekt für YAML-Dateien, die häufig zur Verwaltung von Rails-Übersetzungen verwendet werden, sowie für viele andere unterstützte Dateiformate.

Schritt 3

Beschreiben Sie Ihr Projekt

Fügen Sie eine kurze Beschreibung Ihrer Rails-App und ihres Zwecks hinzu. PTC verwendet diesen Kontext, um den richtigen Übersetzungsstil, Ton und die richtige Terminologie für Ihr Publikum auszuwählen.

Schritt 4

Laden Sie Ihre YAML-Datei hoch

Laden Sie die Rails i18n-Datei hoch, die Sie übersetzen möchten (üblicherweise config/locales/en.yml).

Schritt 5

Wählen Sie Ihre Zielsprachen aus

Wählen Sie die Sprachen aus, in die Sie übersetzen möchten. PTC unterstützt über 33 Sprachen und liefert Übersetzungen in menschlicher Qualität für alle Sprachen, die in wichtigen Märkten gesprochen werden.

Schritt 6

Ihre Übersetzungen anzeigen und herunterladen

Innerhalb weniger Minuten sehen Sie Ihre Rails-Übersetzungen im Tab Übersetzungen. Sie erscheinen in einer übersichtlichen, nach Sprache geordneten Tabelle.

Lange Zeichenketten werden gelb markiert, damit Sie entscheiden können, ob Sie sie beibehalten oder PTC bitten möchten, eine kürzere Version zu generieren.

Wenn Sie bereit sind, gehen Sie zum Tab Ressourcendateien, um Ihre Übersetzungen als ZIP-Archiv herunterzuladen. Wenn Sie in mehrere Sprachen übersetzt haben, wird jede als eigene YAML-Datei geliefert (z. B. fr.yml, de.yml).

Schritt 7

Fügen Sie die übersetzten Dateien Ihrer Rails-App hinzu

Legen Sie die heruntergeladenen Dateien in das config/locales/-Verzeichnis Ihres Rails-Projekts. Rails lädt sie zur Laufzeit automatisch, sodass Sie die Locales mit I18n.locale wechseln können, ohne Code zu ändern.

Das war’s – Sie haben eine Rails-App mit PTC übersetzt!

E-Mails, Benachrichtigungen und andere Texte für Ihre Rails-App übersetzen

Rails-Projekte enthalten wichtige Texte außerhalb von config/locales/*.yml-Dateien – zum Beispiel Devise-Authentifizierungs-E-Mails oder Systembenachrichtigungen. Sobald Sie Ihre YAML-Dateien übersetzt haben, verwenden Sie die Einfügen zum Übersetzen -Funktion von PTC, um die gleichen kontextsensitiven Übersetzungen für diese Texte zu erhalten.

  1. Gehen Sie zu Übersetzungen → Zum Übersetzen einfügen
  2. Fügen Sie den Text ein, den Sie übersetzen möchten (zum Beispiel Ihre E-Mail zur Passwortrücksetzung)
  3. Klicken Sie auf Übersetzen

Sie erhalten sofort hochwertige, kontextsensitive Übersetzungen zurück, die Sie in Ihre Mailer-Ansichten, Active Job-Benachrichtigungen oder Dokumentationen kopieren können.

Ihre Rails-Übersetzungen mit Git- oder CI-Integration automatisieren

Sobald Sie die Qualität von PTC mit einem manuellen Upload bestätigt haben, besteht der nächste Schritt darin, den Workflow durch die Integration mit Git oder CI zu automatisieren. Auf diese Weise wird jedes von Ihnen vorgenommene Update automatisch gesendet und übersetzt.

PTC bietet Ihnen zwei flexible Optionen zur Automatisierung von Übersetzungen in einer Rails-App:

  1. Git-Integration – Verbinden Sie Ihr GitHub-, GitLab– oder Bitbucket-Repository. Immer wenn sich Ihre Rails i18n-Dateien ändern, erkennt PTC das Update und öffnet einen Pull-Request mit den neuen Übersetzungen.
  2. API-IntegrationNutzen Sie die API, um PTC in Ihre Deployment-Pipeline zu integrieren. Ihr Rails-Projekt kann aktualisierte Quellstrings automatisch senden und übersetzte YAML-Dateien zurückholen, wodurch Ihre App ohne manuellen Aufwand mehrsprachig bleibt.

Rails i18n Beispiel: Demo einer übersetzbaren Rails-App

Um zu zeigen, wie die Internationalisierung (i18n) und Übersetzung von Ruby on Rails in der Praxis funktioniert, haben wir eine kleine Rails-Demoanwendung erstellt. Die App zeigt die aktuelle Serverzeit mit einem Aktualisierungsbutton an und enthält einen einfachen Sprachumschalter. Jeder Schritt unten enthält eine Commit-Referenz, damit Sie die Codeänderungen nachvollziehen können.

1

Rails i18n-Unterstützung hinzufügen

Zuerst, in config/application.rb, teilen Sie Rails mit, welche Sprachen die App unterstützen soll und legen Sie ein Standard-Locale fest.

config.i18n.default_locale = :en
I18n.available_locales = [:en, :es, :de]

Fügen Sie als Nächstes das Locale zur URL hinzu, damit jede Sprache ihren eigenen Pfad hat, wie /en/time oder /es/time.

scope "/:locale" do
  get '/time', to: 'home#index', as: :time_display
end

Stellen Sie schließlich in app/controllers/application_controller.rb sicher, dass Rails das richtige Locale aus der URL lädt und in alle Links aufnimmt.

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

Commit-Referenz: i18n einrichten

2

Sprachumschalter hinzufügen

Da die App nun mehrere Locales unterstützt, geben Sie den Benutzern eine Möglichkeit, zwischen ihnen zu wechseln.

Rails enthält bereits das aktuelle Locale in allen generierten URLs (aufgrund der default_url_options-Methode in ApplicationController). Das bedeutet, Sie können eine einfache Benutzeroberfläche erstellen, die nur den Locale-Parameter aktualisiert, während der Benutzer auf derselben Seite bleibt.

In unserer Demo-App wird der Sprachumschalter in app/views/layouts/application.html.erb hinzugefügt und in app/assets/stylesheets/application.css gestylt.

<nav>
  <%= link_to "English",  url_for(locale: :en) %> |
  <%= link_to "Español",  url_for(locale: :es) %> |
  <%= link_to "Deutsch",  url_for(locale: :de) %>
</nav>

3

Alle Texte übersetzbar machen (Ruby und JavaScript)

Bevor Sie Ihre App übersetzen können, müssen alle benutzerorientierten Texte in Rails i18n-Dateien liegen, anstatt fest codiert zu sein. Das bedeutet:

  • Machen Sie dasselbe für alle sichtbaren JavaScript-Texte (wie Warnungen oder Tooltips)
  • Texte in Ansichten und Controllern durch Übersetzungsschlüssel ersetzen
  • Fügen Sie diese Schlüssel und ihre Standard-Sprachwerte hinzu zu config/locales/en.yml

Teil a. Texte in Ansichten und Controllern ersetzen

Rails verwendet den integrierten I18n.t (oder einfach t) Helfer, um Zeichenketten aus Ihren Übersetzungsdateien nachzuschlagen.

Korrekt (mithilfe von Übersetzungsschlüsseln) :

<h1><%= t(:hello) %></h1>
<p><%= t(:current_time, time: @time) %></p>
<button id="click-me"><%= t(:refresh) %></button>

Inkorrekt (fest codierter Text):

<h1>Hello</h1>
<p>Current time: <%= @time %></p>
<button>Refresh</button>

Fest codierter Text wird nicht in Ihrer YAML-Datei erscheinen, was bedeutet, dass er später nicht übersetzt werden kann.

Fügen Sie diese Schlüssel in config/locales/en.yml hinzu:

en:
  hello: "Hello"
  current_time: "Current time: %{time}"
  refresh: "Refresh"

Teil b. JavaScript-Strings zu YAML hinzufügen

Rails zieht Texte nicht automatisch aus JavaScript-Dateien. Wenn Sie Zeichenketten haben, die Benutzern im Browser angezeigt werden, wie Warnungen, Tooltips oder Bestätigungsmeldungen, müssen Sie diese ebenfalls in Ihre Quellsprachen-YAML-Datei aufnehmen.

Um beispielsweise ein Bestätigungs-Popup in JavaScript zu übersetzen, fügen Sie den String zu config/locales/en.yml hinzu:

en:
  confirm: "Are you sure?"

Später wird dies zusammen mit Ihren Ruby-Übersetzungen exportiert, sodass sowohl Ansichten als auch JavaScript dieselben Schlüssel verwenden.

An diesem Punkt enthält Ihre en.yml-Datei den gesamten Text, der in Ihrer App erscheint. Diese Datei ist die Basisversion, die PTC verwenden wird, um Übersetzungen in andere Sprachen zu erstellen.

4

YAML-Dateien mit PTC übersetzen

Da nun der gesamte Text Ihrer App in config/locales/en.yml gespeichert ist, können Sie sich in Ihr PTC-Konto einloggen und Übersetzungen generieren.

  • PTC hat sich mit unserem Repository verbunden und die englische Datei automatisch erkannt
  • Es wurden übersetzte Versionen wie fr.yml und erstellt. de.yml
  • Es wurde ein Pull-Request mit den neuen Dateien im selben Ordner geöffnet

Jede übersetzte Datei behält dieselben Schlüssel und dieselbe Struktur wie die englische Version, sodass Sie sie sicher in Ihr Projekt integrieren können.

5

Übersetzungen in JavaScript laden

Ihre übersetzten .yml-Dateien funktionieren automatisch in Rails-Ansichten. Aber JavaScript kann YAML nicht lesen – es benötigt JSON.

Um Ihre Übersetzungen in JavaScript verfügbar zu machen, verwenden Sie das i18n-js-Gem, um YAML in eine JSON-Datei zu konvertieren, die der Browser lesen kann:

  1. Fügen Sie das Gem i18n-js zu Ihrer Gemfile hinzu und führen Sie bundle install aus.
  2. Nach der Installation führen Sie i18n init aus, um die Standardkonfiguration zu generieren.
  3. Aktualisieren Sie Ihre Konfiguration, um die Datei auf public/locales.json zu setzen. Dies bereitet Ihre App darauf vor, Übersetzungen in einer JSON-Datei zu speichern, auf die JavaScript zugreifen kann.

Commit-Referenz: i18n-js hinzufügen

Führen Sie nun den Befehl i18n export aus. Dieser Befehl liest Ihre .yml-Dateien und schreibt die übersetzten Schlüssel in public/locales.json.

6

Übersetzungen in JavaScript verwenden

Mit locales.json an Ort und Stelle können Sie Übersetzungen in Ihrem JavaScript-Code laden und den korrekten Text basierend auf der aktiven Sprache anzeigen.

Rails 7 enthält Importmap , was die Verwaltung von JavaScript-Abhängigkeiten ohne Bundler erleichtert.

  1. Pinnen Sie die Bibliotheken 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"
  1. Erstellen Sie eine Datei in app/javascript/load_locale.js und fügen Sie ein Ladeskript hinzu, um die JSON-Datei abzurufen:
export async function loadLocale() {
  const response = await fetch('/locales.json');
  const data = await response.json();
  return data;
}

Nun kann Ihr JavaScript die Übersetzungen abrufen und sie genau wie Rails-Ansichten anzeigen.

7

Die richtige Sprache in JavaScript anzeigen

An diesem Punkt exportiert Rails Übersetzungen nach locales.json und Ihr JavaScript kann sie laden. Der letzte Schritt ist sicherzustellen, dass JavaScript dasselbe Locale wie die Rails-Ansichten verwendet.

  1. Übergeben Sie das aktuelle Locale an das Frontend, indem Sie es zum <body>-Tag hinzufügen:
<!-- app/views/layouts/application.html.erb -->
<body data-locale="<%= I18n.locale %>">
  1. Importieren Sie i18n-js und die Ladefunktion in Ihrem JavaScript:
import { I18n } from "i18n-js"
import { loadLocale } from "./load_locale"
  1. Wenn die Seite geladen wird, rufen Sie die Übersetzungen ab und setzen Sie das 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
  }
})

Nun zeigt Ihr JavaScript Nachrichten in der ausgewählten Sprache an, genau wie Ihre Rails-Ansichten.

Damit ist die Demo-App vollständig mehrsprachig: Rails-Ansichten und JavaScript zeigen beide die richtige Sprache an, und PTC hält die Übersetzungen auf dem neuesten Stand.

Beginnen Sie noch heute mit der Übersetzung Ihrer Rails-App

Sie haben gesehen, wie PTC eine Rails-App mehrsprachig macht, beginnend mit einer schnellen manuellen Evaluierung bis hin zur vollständigen Git- oder CI-Automatisierung. Starten Sie noch heute Ihre kostenlose 30-Tage-Testversion und bringen Sie KI-Übersetzungen in menschlicher Qualität in wenigen Minuten in Ihr Rails-Projekt.

Nach oben scrollen