2010-11-02 8 views

उत्तर

-8

नहीं, संभव नहीं है। यदि आप I18 का उपयोग करते हैं तो आपको उस फ़ाइल की आवश्यकता होती है जो भाषा से मेल खाती है अन्यथा I18n शिकायत करेगी।

बेशक आप अपनी पर्यावरण.आरबी फ़ाइल में डिफ़ॉल्ट भाषा सेट कर सकते हैं। नीचे के पास होना चाहिए और आप इसे जो भी भाषा चाहते हैं उसके लिए सेट कर सकते हैं लेकिन आपके locales/ फ़ोल्डर में आपको yml अनुवाद होना चाहिए।

1

अतिरिक्त नोट: इस पता लगाना क्या रेल सोचता है कि वर्तमान क्षेत्र है मदद कर सकता है (उदाहरण के लिए उपयोग करते समय ".something")

http://unixgods.org/~tilo/Rails/which_l10n_strings_is_rails_trying_to_lookup.html

इस तरह से आप बेहतर होने से बच सकते हैं लापता L10n-file/गलत कुंजी

1

डेविड का उत्तर प्रश्न का सही समाधान है, इसे करने के लिए एक और (अधिक verbose) तरीका है फिर से अनुवाद स्ट्रिंग्स के गलत स्थान की वजह से अनुवाद स्कू और कुंजी वापस करें:

def translate_nicely(key) 
    begin 
    I18n.translate!(key) 
    rescue 
    key 
    end 
end 
+1

अपवाद तर्क का उपयोग करने के लिए सशर्त प्रवाह आम तौर पर है बुरा अभ्यास रिफैक्टरिंग पुस्तक से: http://www.refactoring.com/catalog/replaceExceptionWithTest.html –

+0

मैं मानता हूं कि यह आम तौर पर खराब अभ्यास है, मैंने यह भी कहने का एक मुद्दा बना दिया है कि डेविड का समाधान वापस गिरने का सही तरीका है एक डिफ़ॉल्ट मान। निस्संदेह (व्यावहारिक) मामले भी हैं जहां आप नहीं चाहते हैं कि एप्लिकेशन किसी त्रुटि का खुलासा करे और एक बेहतर उपयोगकर्ता अनुभव प्रदान करने के लिए एक समझदार डिफ़ॉल्ट का उपयोग करें। मैं कहूंगा कि दिशानिर्देशों से भटकना उचित है और जब यह मामला है तो त्रुटियों को अच्छी तरह से संभालना उचित है। – Steventux

7

रेल पर 4 आप अपवाद हैंडलर बदल सकते हैं।

जोड़े निम्नलिखित config/initializers/i18n.rb रहे हैं:

module I18n 
    class MissingTranslationExceptionHandler < ExceptionHandler 
    def call(exception, locale, key, options) 
     if exception.is_a?(MissingTranslation) 
     key 
     else 
     super 
     end 
    end 
    end 
end 

I18n.exception_handler = I18n::MissingTranslationExceptionHandler.new 

अब पर आप तुम सिर्फ कर सकते हैं विचार: इस विषय पर

<p><%= t "Not translated!" %></p> 

गाइड: http://guides.rubyonrails.org/i18n.html#using-different-exception-handlers

+0

कोई इसे केवल एक विशिष्ट वातावरण के लिए ही चाहता है। इसे प्रारंभकर्ता सीमा की संभावनाओं के रूप में जोड़ना। लेकिन लिंक के लिए धन्यवाद। –

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