2009-09-06 15 views
5

मैंने अपने मॉडल के फ़ील्ड का अनुवाद करने के लिए निर्देशों का उपयोग http://guides.rubyonrails.org/i18n.html में निर्दिष्ट किया है, लेकिन लेबल का अनुवाद नहीं किया गया है। मैं क्या गलत कर रहा हूँ।ActiveRecord त्रुटि संदेश: फ़ील्ड के लिए अनुवाद

मैं क्षेत्र name के साथ एक User मॉडल है और मैं इसे ब्राजील Português (PT_BR) में अनुवाद किया करना चाहते हैं, इसलिए मैं अपने pt_br.yml मिला:

pt_br: 
    errors: "Erro!" 
    activerecord: 
     models: 
      user: "Usuário" 
     attributes: 
      name: "Nome" 
      address: "Endereço" 
     errors: 
      template: 
       body: "Por favor, corrija os campos assinalados" 
       header: "Dados inválidos" 
      messages: 
       blank: "é obrigatório" 
       taken: "já existe" 
       too_short: "incompleto" 

जब मैं पृष्ठ के लिए मिला एक फॉर्म के साथ:

<% form_for(@usuario) do |f| %> 
<%= f.error_messages %> 
<%= f.label :name %> 
<%= f.text_field :name %> 
<% end %> 

मेरे पास "नाम" के रूप में लेबल किया गया फ़ील्ड है और जैसा कि "नोम" नहीं है, जैसा कि मैं चाहता हूं। मैं भी क्या याद आ रही है मेरी environment.rb

में

config.i18n.default_locale = :pt_br 

है?

उत्तर

5

आप user के तहत अपने गुण नाम स्थान के लिए, यानी की जरूरत है .:

pt_br: 
    activerecord: 
    attributes: 
     user: 
     name: "Nome" 
     address: "Endereço" 

तुम भी i18n_label plugin स्थापित कर सकते हैं स्वचालित रूप से लेबल अनुवाद करने के लिए।

+0

बहुत बढ़िया! यह काम करता है, लेकिन आपके लिंक (शायद डी अंडरस्कोर) में कुछ गड़बड़ है –

+0

खुशी है कि यह काम करता है, लिंक अब तय किया जाना चाहिए। – eremite

0

आप <%= f.label :name, t('activerecord.attributes.name') %> को आजमा सकते हैं।

+0

यह क्षेत्र के लिए काम करता है, लेकिन मैं अभी भी त्रुटियों फ्रेम में अनुवाद नहीं किया गया ग्रंथों प्राप्त (जब मैं उदाहरण के लिए खाली एक अनिवार्य फ़ील्ड छोड़ देते हैं,) –

0

human_attribute_name के बारे में क्या? रेल 2.1.0 के बाद से है।

मुझे लगता है कि यह बेहतर तो किसी भी अन्य समाधान है:

<%= f.label :name, User.human_attribute_name(:name) %> 
संबंधित मुद्दे