ben
OMÜ , Bilgisayar Mühendisliği, 13'
10 Ocak 2016 Pazar
Globalize translate
Veri Modelinden gelen verilerin sayfadaki dil tercihine göre değişmesi için globalize gemini kullanmamız gerekir. Fakat buraya not düşmekte fayda var. Bu gem sayfayı kendisi translate etmiyor, sayfanın dilini değiştirip yazıları o dilde yazıp güncellediğiniz takdirde arka planda tutulan bir migration dosyasında o dile ait o verinin karşılığı tutuluyor ve siz sayfanın dilini değiştirdiğinizde o migration dosyasındaki dile karşılık gelen alan gösteriliyor.
Bir önceki i18n yazısında kalan projeden devam ediyorum.
eklememiz gereken gem:
gem 'globalize', '~> 5.0.0'
Model/movies.rb
translates :name, :director
Migration dosyamızı oluşturalım:
$ rails g migration create_translate_movies
migrate yapmadan önce dosyamızı düzenlememiz gerekiyor
application.rb
config.i18n.fallbacks = true
db/migration/20160110122957_create_translate_movies.rb
class CreateTranslateMovies < ActiveRecord::Migration
def self.up
Movie.create_translation_table!({
:name => :string,
:director=>:string
}, {
:migrate_data => true
})
end
def self.down
Movie.drop_translation_table! :migrate_data => true
end
end
burada cevrilecek alanları girmemiz gerekiyor, name, director movie modelimin attribute ları.
terminal
$rake db:migrate
index sayfamıza bakalım dil türkçe iken:
Dil ingilizce iken