Ruby on Rails

ترجمة بالذكاء الاصطناعي لـ Ruby on Rails باستخدام Lingo.dev CLI

ما هو Ruby on Rails؟

Ruby on Rails هو إطار عمل لتطبيقات الويب من جانب الخادم مكتوب بلغة Ruby. يوفر هياكل افتراضية لقواعد البيانات وخدمات الويب وصفحات الويب، متبعاً نمط model-view-controller (MVC).

ما هو Lingo.dev CLI؟

Lingo.dev هي منصة ترجمة مدعومة بالذكاء الاصطناعي. يقرأ Lingo.dev CLI الملفات المصدرية، ويرسل المحتوى القابل للترجمة إلى نماذج اللغة الكبيرة، ويكتب الملفات المترجمة مرة أخرى إلى مشروعك.

حول هذا الدليل

يشرح هذا الدليل كيفية إعداد Lingo.dev CLI في تطبيق Ruby on Rails. ستتعلم كيفية إنشاء مشروع باستخدام Rails، وتكوين خط أنابيب الترجمة، وعرض النتائج.

الخطوة 1. إعداد مشروع Rails

  1. إنشاء تطبيق Rails:

    rails new rails-demo
    
  2. الانتقال إلى دليل المشروع:

    cd rails-demo
    
  3. إنشاء controller مع view:

    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. سجل الدخول إلى Lingo.dev عبر واجهة سطر الأوامر:

    npx lingo.dev@latest login
    
  3. شغّل خط أنابيب الترجمة:

    npx lingo.dev@latest run
    

    ستنشئ واجهة سطر الأوامر ملف 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 التالية: