[RUBY] Unterstützt Mehrsprachigkeit mit Rails!

Ich werde schreiben, was ich getan habe, als ich versucht habe, Englisch in [der Webanwendung, die ich entwickle] zu unterstützen (https://www.code-sell.net/).

Für Details>

Installation

Gemfile


gem 'rails-i18n'

Installation

bundle

In config / application.rb einstellen

config/application.rb


    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.{rb,yml}').to_s]

    #Entsprechende Sprache. Diesmal auf Japanisch(ja)Und Englisch(en)Nur
    config.i18n.available_locales = %i(ja en)

    #Festlegen, ob ein Fehler gemacht werden soll, wenn eine andere Sprache als die oben genannten unterstützten Sprachen angegeben wird
    config.i18n.enforce_available_locales = true

    #Standardsprache
    config.i18n.default_locale = :ja

controller

controller/application_controller.rb


    before_action :set_locale

    def set_locale
        I18n.locale = locale
    end

    def locale
        @locale ||= params[:locale] ||= I18n.default_locale
    end

    def default_url_options(options={})
        options.merge(locale: locale)
    end

routes.rb

routes.rb


  scope '(:locale)', locale: /#{I18n.available_locales.map(&:to_s).join('|')}/ do
    root "posts#index"
    resources :posts
  end

Der vom Gültigkeitsbereich umgebene Teil ist die Seite, die mehrere Sprachen unterstützt.

Mehrsprachig

Erstellen Sie en.yml und ja.yml. Für Sätze, die mehrsprachig sein sollen

views


<%= t(:hello) %>

Schreiben. Fühlen Sie sich frei, Hallo zu ändern

ja.yml


  ja:
    hello:Hallo
      #Alle Modelle starten mit Activerecord.
      #Dies ermöglicht dem Benutzer.model_name.human / User.human_attribute_name({attr_name})Kann mit zugegriffen werden.
    activerecord:
      models:
        user: 'Nutzerinformation'
      attributes:
        user:
          name: 'Name'
          mail: 'Mail Adresse'
          url:  'Website'

en.yml


  en:
     hello: "hello"
    #Alle Modelle starten mit Activerecord.
      #Dies ermöglicht dem Benutzer.model_name.human / User.human_attribute_name({attr_name})Kann mit zugegriffen werden.
    activerecord:
      models:
        user: 'User'
      attributes:
        user:
          name: 'Name'
          mail: 'Email'
          url:  'URL'

Ich werde es so machen.

Referenz http://alfa.hatenablog.jp/entry/2013/12/03/221308

Recommended Posts

Unterstützt Mehrsprachigkeit mit Rails!
[Rails 6] Laufzeitfehler mit $ Rails s
Gerät mit Schienen handhaben
[Rails] Lernen mit Rails Tutorial
[Schienen] Test mit RSpec
[Rails] Entwicklung mit MySQL
Unterstützt Multi-Port mit SpringBoot
[Rails] Polymorph mit graphql-rubin ausdrücken
[Vue Rails] "Hallo Vue!" Wird mit Vue + Rails angezeigt
Japanisieren Sie mit i18n mit Rails
Vorbereitung für die Entwicklung mit Rails
[Docker] Rails 5.2-Umgebungskonstruktion mit Docker
Verwenden Sie mit Rails 6.0 mehrere Datenbanken
[Rails] Geben Sie das Format mit link_to an
[Docker] Wird immer mit Docker + Rails verwendet
Erstellen Sie ein Portfolio mit Rails + Postgres SQL
[Schienen] Getriebe mit LINE Bot schieben
[Rails] Pagenation mit Ajax kompatibel machen
[Grover] PDF mit Rails generieren [Version 2020]
[Rails] Erste Datenerstellung mit Seed
Strg-Z funktioniert, es gibt also eine Möglichkeit zu unterbrechen und zu töten: Dies ist mühsam und kann den falschen töten. Sie können dies in ein Python-Skript schreiben. Verfolgen Sie Rails-App-Fehler mit Python, C-Erweiterung Sentry
[Umgebungskonstruktion mit Docker] Rails 6 & MySQL 8
Stellen Sie mit dem iPhone eine Verbindung zum Rails-Server her
Erstellen Sie meine Seite mit Rails
Einführung in React to Rails mit React-Rails
[Rails] Erste Dateneingabe mit seed_fu!
Zeitlose Suche mit Rails + JavaScript (jQuery)
[Schienen] Machen wir einen Unit-Test mit Rspec!
[Rails] Video wird nicht mit video_tag abgespielt
[Rails] Profitieren Sie mit minimalem Aufwand von Rubocop
[Ruby on Rails] Test mit RSpec anzeigen
[Rails] Verwalten Sie geheime Schlüssel usw. mit credentials.yml
Schienenumgebungskonstruktion mit Docker (persönliche Apokalypse)
Einfache Bereitstellung mit Capistrano + AWS (EC2) + Rails
Erstellen einer Rails 6- und PostgreSQL-Umgebung mit Docker
Stellen Sie Heroku mit Rails6 (Cloud9 + Ubuntu) + MySQL bereit
Mit Docker auf Heroku bereitstellen (Rails 6, MySQL)
Bereiten Sie die Formatumgebung für "Rails" (VScode) vor.
[Schienenentnahme] Erstellen Sie eine einfache Entnahmefunktion mit Schienen
[Ruby on Rails] Controller-Test mit RSpec
[Rails] Verwalten wir Konstanten mit config gem
[Rails 6] Interaktive Grafikzeichnung mit Ajax + chart.js
[Formular mit zwei Argumenten] Schienen, form_for / form_with Argumente
Erstellen Sie trotzdem eine Anmeldefunktion mit Rails