الوثائق / Ruby on Rails
ترجمة Rails لنماذج ERB، تلقائيًا
نقل النص الثابت في نماذج Rails ERB إلى استدعاءات t() مع ملف YAML في config/locales، الجمع مع count:، اللغات المتاحة ومفتاح تبديل اللغة، في أمر واحد أو طلب سحب.
كيف يعمل
يصبح النص في نماذج ERB <%= t('key', name: @user.name) %>، مع عناصر نائب %{name} في config/locales/<locale>.yml، تحت مفتاح اللغة. تفصل علامات المنطق الجمل؛ <script> و <code> تُترك كما هي.
ثلاثي على عدد يصبح جمعًا مع نماذج one: و other: (وما يلزم كل لغة)، يُستدعى باستخدام count:.
قبل وبعد
المخرجات الحقيقية للمحرك لهذا الملف. في تشغيل حقيقي، يقوم النموذج المستضاف بتسمية المفاتيح من السياق.
<h1>Welcome back, <%= @user.name %>!</h1>
<% if @items.any? %>
<p><%= @items.count %> <%= @items.count == 1 ? 'item' : 'items' %> in your cart</p>
<% end %>
<input placeholder="Search products" type="text"><h1><%= t('show.welcome_back', name: @user.name) %></h1>
<% if @items.any? %>
<p><%= t('show.items_in_your_cart', count: @items.count) %></p>
<% end %>
<input placeholder="<%= t('show.search_products') %>" type="text">en:
show:
welcome_back: Welcome back, %{name}!
items_in_your_cart:
one: "%{count} item in your cart"
other: "%{count} items in your cart"
search_products: Search productsما يضيفه الإعداد
الإعداد الأول يقوم بإعداد ترجمة Rails إذا لم يكن المشروع يحتوي عليه بعد:
config.i18n.available_localesفيconfig/application.rb- إجراء
switch_localeحول الإجراء فيApplicationController:?locale=، ثم ملف تعريف ارتباطlang، ثم Accept-Language
قم بتشغيله
يتطلب CLI إصدار Node.js 22 أو أحدث، لا شيء آخر: npx يقوم بتشغيله دون إضافة package.json إلى المشروع. لا يوجد Node على جهازك؟ إجراء GitHub أدناه يقوم بتشغيله لك.
npx localize-dev login
# Preview, then write the changes
npx localize-dev run --dry-run -l es,fr,de
npx localize-dev run -l es,fr,de
# Or open a pull request instead
npx localize-dev pr -l es,fr,deأو أضف إجراء GitHub واحصل على طلب سحب عند كل دفعة. جربه على الكود الخاص بك أولاً في ملعب.