So übersetzen Sie JavaScript-Strings in Rails

Rails I18n und elegante Nachrichtenübergabe an JavaScript

Der Prozess der „Internationalisierung“ bedeutet normalerweise, alle Zeichenfolgen und andere gebietsschemaspezifische Bits (z. B. Datums- oder Währungsformate) aus Ihrer Anwendung zu abstrahieren. Der Prozess der „Lokalisierung“ bedeutet, Übersetzungen und lokalisierte Formate für diese Bits bereitzustellen.

So funktioniert I18n in Ruby on Rails

Die Grenzen meiner Sprache sind die Grenzen meiner Welt. ‒Ludwig Wittgenstein. Da es auf der Welt über 6.909 verschiedene Sprachen gibt und sich die meisten davon auf so viele verschiedene Arten unterscheiden (z. B. in den Pluralisierungsregeln), ist es schwierig, spezifische Werkzeuge für die Internalisierung bereitzustellen. Für uneingeschränkte Sprachbarrieren konzentriert sich die Rails I18n-API jedoch auf Folgendes:

  • Bereitstellung von sofort einsatzbereiter Unterstützung für Englisch und ähnliche Sprachen
  • Dies macht es einfach, alles für andere Sprachen anzupassen und zu erweitern

Als Teil dieser Lösung wird jede statische Zeichenfolge in der Rails-Framework – z. B. Active Record-Validierungsmeldungen, Zeit- und Datumsformate – wurde internationalisiert, also Lokalisierung einer Rails-Anwendung bedeutet das „Überschreiben“ dieser Standardeinstellungen.

 1.1 Die Gesamtarchitektur der Bibliothek

Somit ist der Edelstein Ruby I18n in zwei Teile geteilt:

  • Die öffentliche API des i18n-Frameworks – ein Ruby-Modul mit öffentlichen Methoden, die definieren, wie die Bibliothek funktioniert
  • Ein Standard-Backend (das absichtlich benannt ist Einfach Backend), das diese Methoden implementiert

Als Benutzer sollten Sie immer nur auf die öffentlichen Methoden des I18n-Moduls zugreifen, es ist jedoch hilfreich, die Fähigkeiten des Backends zu kennen.

Hier der einfachste Weg, die Internationalisierung in JavaScript zu implementieren;

a) Verwenden Sie das Skript

<script type=”text/javascript”>
window.I18n = <%= I18n.backend.send(:translations).to_json.html_safe %>
</script>

B) Sie können den folgenden Code hinzufügen JS Datei;

I18n[„en-US“][„alpha“][„willkommen“];

C) Holen Sie sich Hilfe von der Anwendungshelfer durch Hinzufügen der folgenden Methode;

def current_translations

@translations ||= I18n.backend.send(:translations)

@translations[I18n.locale].with_indifferent_access

Ende

D) Das Backend muss initialisiert werden, falls dies noch nicht geschehen ist.

I18n.backend.send(:init_translations), es sei denn, I18n.backend.initialized?

# Jetzt können Sie die Übersetzungen sicher in JSON speichern

e) Rufen Sie das Folgende in Ihrem auf application.html.erb ;

<script type=”text/javascript”>

window.I18n = <%= current_translations.to_json.html_safe %>

</script>

F) Um zu vermeiden, dass Sie das aktuelle Gebietsschema in JavaScript kennen müssen.

I18n[„Alpha“][„Willkommen“]; Oder I18n.alpha.welcome;

G) Verschiedene Bibliotheken und Plugins für Internationalisierung & Lokalisierung:

i18nächster – https://github.com/i18next/i18next

I18n Juwel – https://github.com/svenfuchs/i18n

requirejs-i18n – https://requirejs.org/docs/api.html#i18n

Bei SchienenCarma Wir verwenden die neuesten Tools und Techniken, um einzigartige Anwendungen zu erstellen. Kasse Unser Portfolio um zu verstehen, wie wir dazu beitragen, die Form der Softwareindustrie zu verändern. Um mehr über Ruby on Rails Development zu erfahren, Nehmen Sie jetzt Kontakt mit uns auf!

LUBAIB CEEJEY
Senior Ruby on Rails-Entwickler

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

de_DEGerman