2011-12-18 16 views
6

मैंने नई रेल 3 परियोजना बनाई। मैं इस तरह मेरे विचार में अनुवाद इस्तेमाल करने की कोशिश:विचारों में रेल I18n अनुवाद त्रुटियों को कैसे सक्षम करें?

= t('.translate_test') 

अपने ब्राउज़र में मैं लग रहा है "translate_test" बजाय "my test translation" डायन मैं en.yml में निर्धारित किया है।

मेरा मुख्य प्रश्न - मुझे "Missing translation: en ..." जैसी त्रुटि क्यों नहीं दिखाई दे रही है?

+0

संभावित डुप्लिकेट [रेल: परीक्षण के दौरान त्रुटि के रूप में अनुपलब्ध लोकेल अनुवाद का इलाज कैसे करें] (http://stackoverflow.com/questions/8066901/rails-how-to-treat-locale-translation-missing-as-error -डुरिंग-टेस्ट) – Besi

उत्तर

8

रेल 3 में वे अब आपको यह पाठ नहीं दिखाते हैं। यदि आप एचटीएमएल स्रोत में तत्व का निरीक्षण करते हैं तो आप अनुवाद गायब संदेश देखेंगे।

आप फ़ॉलबैक बंद कर सकते हैं, अपने वातावरण में डाल करने के लिए प्रयास करें या एक प्रारंभकर्ता निम्नलिखित:

config.i18n.fallbacks = false 
11

मैं एक अपवाद raise को यह प्रारंभकर्ता बना लिया है - आर्ग पारित कर रहे हैं तो आप जो i18n कुंजी पता चल जाएगा लापता है!

# only for development and test 
if Rails.env.development? || Rails.env.test? 

    # raises exception when there is a wrong/no i18n key 
    module I18n 
    class JustRaiseExceptionHandler < ExceptionHandler 
     def call(exception, locale, key, options) 
     if exception.is_a?(MissingTranslationData) 
      raise exception.to_exception 
     else 
      super 
     end 
     end 
    end 
    end 

    I18n.exception_handler = I18n::JustRaiseExceptionHandler.new 

end 

Source

+0

इस प्रणाली के साथ बहुत बहुत धन्यवाद परीक्षणों को चलाने वाले सभी _ लापता अनुवादों को जांचना बहुत आसान है .. यदि आपके पास पाठ्यक्रम का अच्छा सहभागिता है। – fguillen

3

मैं सबसे सरल का उपयोग करें और जब अनुवाद अपने application.css.scss या किसी वैश्विक स्टाइलशीट में इस शैली जोड़कर याद आ रही है दृश्य में त्रुटियों को प्रदर्शित करने के लिए विशिष्ट समाधान देखने:

.translation_missing{ 
    font-size: 30px; 
    color: red; 
    font-family: Times; 

    &:before{ 
    content: "Translation Missing :: "; 
    font-size: 30px; 
    font-family: Times; 
    color: red; 
} 
} 
+0

अच्छा और व्यावहारिक। उपरोक्त अन्य दृष्टिकोण रेल 4x के साथ मेरे लिए काम नहीं करते थे। मैंने एक 'debug.css' बनाया है और सशर्त रूप से इसे मेरे टेम्पलेट में शामिल किया है: '= stylesheet_link_tag' डीबग 'जब तक Rails.env.production?' – Besi

संबंधित मुद्दे