Ruby on Rails
Lingo.dev CLIを使用したRuby on RailsのAI翻訳
Ruby on Railsとは?
Ruby on Railsは、Rubyで記述されたサーバーサイドのWebアプリケーションフレームワークです。モデル・ビュー・コントローラー(MVC)パターンに従い、データベース、Webサービス、Webページのデフォルト構造を提供します。
Lingo.dev CLIとは?
Lingo.devは、AI駆動の翻訳プラットフォームです。Lingo.dev CLIはソースファイルを読み取り、翻訳可能なコンテンツを大規模言語モデルに送信し、翻訳されたファイルをプロジェクトに書き戻します。
このガイドについて
このガイドでは、Ruby on RailsアプリケーションでLingo.dev CLIをセットアップする方法を説明します。Railsでプロジェクトをスキャフォールドし、翻訳パイプラインを設定し、結果を確認する方法を学習します。
ステップ1. Railsプロジェクトをセットアップする
-
Railsアプリケーションを作成します:
rails new rails-demo -
プロジェクトディレクトリに移動します:
cd rails-demo -
ビューを持つコントローラーを生成します:
bin/rails generate controller Home index
ステップ2. ソースコンテンツを作成する
-
config/locales/en.ymlにある英語ロケールファイルを開きます。 -
翻訳可能なコンテンツを追加します:
en: home: title: "Welcome" greeting: "Hello from Rails + Lingo.dev"
ステップ3. CLIを設定する
プロジェクトのルートに、i18n.jsonファイルを作成します:
{
"$schema": "https://lingo.dev/schema/i18n.json",
"version": "1.10",
"locale": {
"source": "en",
"targets": ["es"]
},
"buckets": {
"yaml-root-key": {
"include": ["config/locales/[locale].yml"]
}
}
}
このファイルは以下を定義します:
- Lingo.dev CLIが翻訳すべきファイル
- 翻訳する言語間の設定
この場合、設定はYAMLファイルを英語からスペイン語に翻訳します。
[locale]は実行時に置き換えられるプレースホルダーです。これにより、コンテンツが1つの場所(例:config/locales/en.yml)から読み取られ、別の場所(例:config/locales/es.yml)に書き込まれることが保証されます。
詳細については、i18n.json設定を参照してください。
ステップ4. コンテンツを翻訳する
-
Lingo.devアカウントにサインアップしてください。
-
CLI経由でLingo.devにログインします:
npx lingo.dev@latest login -
翻訳パイプラインを実行します:
npx lingo.dev@latest runCLIは翻訳されたコンテンツを保存するための
config/locales/es.ymlファイルと、翻訳済みの内容を追跡する(不要な再翻訳を防ぐため)i18n.lockファイルを作成します。
ステップ5. 翻訳を使用する
-
config/routes.rbでロケールベースのルートを設定します:Rails.application.routes.draw do scope "(:locale)", locale: /en|es/ do root "home#index" end end -
app/controllers/application_controller.rbでロケール処理を設定します: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 -
ビュー内でローカライズされた文字列を読み込むために
tヘルパーメソッドを使用します:<h1><%= t("home.title") %></h1> <p><%= t("home.greeting") %></p> -
Railsサーバーを起動します:
bin/rails server -
以下のURLにアクセスします:
- 英語コンテンツの場合はhttp://localhost:3000/en
- スペイン語コンテンツの場合はhttp://localhost:3000/es