প্রসঙ্গ: বাইকের ভাড়ার জন্য রবি অন অন রেলস অ্যাপ্লিকেশনটির জন্য, আমি :description
বিভিন্ন ভাষায় ইনপুট নিয়ে কাজ করার জন্য রত্নকে বিশ্বায়নের ব্যবহার করছি ।
কুরেন্ট স্টেট: বিশ্বায়নের বাস্তবায়ন কাজ করেছে, আমার লোকালের উপর নির্ভর করে আমি description
একটি নির্দিষ্ট ভাষায় সঞ্চয় করতে সক্ষম । :description
সম্পূর্ণ ওয়েবপেজের লোকেলের ভিত্তিতে ইনপুটটির জন্য ডিল করা হয়।
এর অর্থ হ'ল সঠিক পৃষ্ঠায় সঞ্চয় করার জন্য এই পৃষ্ঠার প্রতিটি কিছুরই ভাষা পরিবর্তন করতে হবে :description
।
বিকল্পভাবে, আমি সমস্ত উপলব্ধ লোকেলগুলি প্রদর্শন করতে এবং সেগুলির description
প্রত্যেকটির জন্য প্রদর্শন করতে সক্ষম হয়েছি । (নীচে মন্তব্য আউট কোডও দেখুন)।
প্রশ্ন: আমি ব্যবহারকারীর জন্য একটি ভাষা নির্বাচন করতে দেওয়ার একটি উপায় অনুসন্ধান করছি:description
এবং তারপরে :description
পুরো ওয়েবপৃষ্ঠার ভাষা পরিবর্তন না করে সঠিক ভাষায় সংরক্ষণ ।
কোড
ফর্ম
<div class="row">
<%# I18n.available_locales.each do |locale| %>
<!-- <h1><%#= locale %></h1> -->
<%= f.globalize_fields_for locale do |ff| %>
<div class="col-10">
<div class="form-group">
<label class="form-control-label text required" for="accommodation_category_description">Description</label>
<div><%= ff.text_area :description, :rows =>"5", :cols =>"30", class:"form-control is-valid text required" %></div>
</div>
</div>
<% end %>
<%# end %>
</div>
</div>
initializers / globalization.rb
module ActionView
module Helpers
class FormBuilder
#
# Helper that renders translations fields
# on a per-locale basis, so you can use them separately
# in the same form and still saving them all at once
# in the same request.
def globalize_fields_for(locale, *args, &proc)
raise ArgumentError, "Missing block" unless block_given?
@index = @index ? @index + 1 : 1
object_name = "#{@object_name}[translations_attributes][#{@index}]"
object = @object.translations.find_by_locale locale.to_s
@template.concat @template.hidden_field_tag("#{object_name}[id]", object ? object.id : "")
@template.concat @template.hidden_field_tag("#{object_name}[locale]", locale)
@template.fields_for(object_name, object, *args, &proc)
end
end
end
end