2016-03-29 17 views
1

Ruby on Rails ile bir araba kiralama uygulaması yapıyorum ve şu anda İngilizce ile kodlama yapıyorum. Temel olarak, kullanıcının giriş yapabileceği, oturum açabileceği, çıkış yapabileceği ve araçlarını listeleyebileceği bir kullanıcı ve araba modelim var.Rails uygulaması ile çoklu dil YML dosyasını hazırlamak için

Kullanıcının bir açılır menüden İngilizce veya İspanyolca'yı seçmesine izin veren başka bir dil uygulamak istiyorum. Varsayılan hata iletileri "boş bırakılamıyor, zaten" vb. Gibi denetleyici eylemlerinden döndüğümde. Ve ayrıca kullanıcı başarıyla bir araba eklerse özel JS iletileri de var, jQuery "aracınız yayınlandı" . Son olarak, Flash mesajlar da var. Ancak, kullanıcının dil seçimine göre YML dosyasındaki hataları, özel JS ve Flash mesajlarını nasıl kullanmalıyım bilmiyorum.

cevap

0

Aslında gerçekten ActiveRecord hata mesajları için, örneğin sizin YAML dosyasının yapısı bağlıdır:

it: 
    errors: 
    format: "%{attribute} %{message}" 

    messages: &errors_messages 
     empty: "non può essere vuoto" 
     blank: "non può essere lasciato in bianco" 

görünümler dışında (aka Internationalization) i18n erişmek istiyorsanız

, sen I18n.t(your_key) kullanabilirsiniz, aslında sizin görüşünüzde erişebildiğiniz yardımcıdır.

def your_action 
    redirect_to other_path, notice: I18n.t("notices.successful_action") 
end 

Ve sonra YAML muhabir yapısında olan: Bir denetleyici bir bildirim çevirmek istiyorsanız Yani, örneğin, gibi bir şey yapıyor olabilir

en: 
    notices: 
    successful_action: "You did it!" 

Umut bu yardımcı olur!

0

ben kullanıcının dil seçimine göre yml dosyasında hata, özel js ve hızlı mesaj işlemesi gerektiğini bilmiyorum

hata mesajları dahil genel olarak Raylar uygulamalarla ilgili çeviriler için
  • , Rails i18n gem kapsamındasınız. the gem's locale file'da hangi dilleri çevrildiğini görebilirsiniz.
  • Özellikle hata mesajlarını geçersiz kılmak veya yenilerini oluşturmak için, YAML dosyalarınızdaki hangi tuşları çevirilerinize koymanız gerektiğini görmek için looking up translations ve translations for ActiveRecord models'daki Raylar Kılavuzu bölümlerine bakın.
  • Hızlı iletiler için, denetleyicilerinizde tembel aramaları (örn. t('.notice')) nasıl kullanabileceğinizi görmek için this StackOverflow question'a bakın.
  • Javascript dosyalarındaki çevirileri Ruby'de yaptığınız gibi kullanabilmeniz için (örn. I18n.t("my_translation")) ve bu çevirileri YAML dosyalarınızda Rails çevirilerinizle yönetebilmeniz için i18n-js gem'a bakın. Kurulum yönergeleri README dosyasındadır
İlgili konular