Ruby on Rails

Lingo.dev CLI를 사용한 Ruby on Rails AI 번역

Ruby on Rails란 무엇인가요?

Ruby on Rails는 Ruby로 작성된 서버 측 웹 애플리케이션 프레임워크입니다. 모델-뷰-컨트롤러(MVC) 패턴을 따르며 데이터베이스, 웹 서비스 및 웹 페이지에 대한 기본 구조를 제공합니다.

Lingo.dev CLI란 무엇인가요?

Lingo.dev는 AI 기반 번역 플랫폼입니다. Lingo.dev CLI는 소스 파일을 읽고, 번역 가능한 콘텐츠를 대규모 언어 모델로 전송한 다음, 번역된 파일을 프로젝트에 다시 작성합니다.

이 가이드에 대하여

이 가이드는 Ruby on Rails 애플리케이션에서 Lingo.dev CLI를 설정하는 방법을 설명합니다. Rails로 프로젝트를 스캐폴딩하고, 번역 파이프라인을 구성하며, 결과를 확인하는 방법을 배우게 됩니다.

1단계. Rails 프로젝트 설정

  1. Rails 애플리케이션을 생성합니다:

    rails new rails-demo
    
  2. 프로젝트 디렉터리로 이동합니다:

    cd rails-demo
    
  3. 뷰가 포함된 컨트롤러를 생성합니다:

    bin/rails generate controller Home index
    

2단계. 소스 콘텐츠 생성

  1. config/locales/en.yml에 있는 영어 로케일 파일을 엽니다.

  2. 번역 가능한 콘텐츠를 추가합니다:

    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]는 런타임에 교체되는 플레이스홀더입니다. 이는 콘텐츠가 한 위치(예: config/locales/en.yml)에서 읽혀지고 다른 위치(예: config/locales/es.yml)에 작성되도록 보장합니다.

자세한 내용은 i18n.json 구성을 참조하세요.

4단계. 콘텐츠 번역하기

  1. Lingo.dev 계정에 가입하세요.

  2. CLI를 통해 Lingo.dev에 로그인하세요:

    npx lingo.dev@latest login
    
  3. 번역 파이프라인을 실행하세요:

    npx lingo.dev@latest run
    

    CLI는 번역된 콘텐츠를 저장하기 위한 config/locales/es.yml 파일과 번역된 내용을 추적하기 위한 i18n.lock 파일을 생성합니다(불필요한 재번역을 방지하기 위해).

5단계. 번역 사용하기

  1. config/routes.rb에서 로케일 기반 라우트를 구성하세요:

    Rails.application.routes.draw do
      scope "(:locale)", locale: /en|es/ do
        root "home#index"
      end
    end
    
  2. 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
    
  3. 뷰 내에서 로컬라이즈된 문자열을 로드하기 위해 t 헬퍼 메서드를 사용하세요:

    <h1><%= t("home.title") %></h1>
    <p><%= t("home.greeting") %></p>
    
  4. Rails 서버를 시작하세요:

    bin/rails server
    
  5. 다음 URL로 이동하세요: