2011-08-27 18 views
6

अनुवाद करने के लिए कौन सी भाषा का अनुवाद करना है, मेरे पास सामान्य रूप से मेरी अनुवाद फाइलें स्थानीय हैं।स्पष्ट रूप से बताता है कि

अब मेरे पास विभिन्न भाषाओं में एक निमंत्रण मेल है।

मैं चाहता हूं कि उपयोगकर्ता यह चुनने के लिए कि मेल किस भाषा को भेजा जाना चाहिए, क्योंकि यह ऑपरेटिंग उपयोगकर्ता की भाषा के बारे में नहीं है, यह मेल रिसीवर को पढ़ने वाली भाषा के बारे में है।

क्या रेलवे को स्पष्ट रूप से बताए जाने का कोई तरीका है कि t(:my_string, :en) की तरह कौन सी भाषा चुननी है?

लक्ष्य यह है कि इसे t के केवल एक एकल कॉल के लिए अस्थायी अनुवाद किया गया है।

t() कमांड के भीतर यह बताने के लिए मुझे क्या चाहिए, किस भाषा का उपयोग किया जाना है।

धन्यवाद।

आपका, जोर्न।

उत्तर

3

मुझे लगता है कि आपको स्पष्ट रूप से I18n पर उचित भाषा सेट करने की आवश्यकता होगी।
आप जिस भाषा की आवश्यकता है उसे सेट करने के लिए आप I18n.locale = :en का उपयोग कर सकते हैं।
इसके अलावा यहाँ देखो: I18n

+0

मुझे यह पता है, लेकिन यह मेरे प्रश्न का उत्तर नहीं है। मैं अस्थायी फ़ाइल से चुनने के लिए अस्थायी चाहता हूं, छद्म कोड में 't (: my_sentence,: en) 'का अनुवाद करने के लिए' my_sentence' 'का अनुवाद करने के लिए केवल एक बार: en' –

+0

आप इस तरह का अनुवाद नहीं कर सकते,' t' या ' l' विधियां 'I18n.locale' मान के लिए देखती हैं, इसलिए आपको इसे स्पष्ट रूप से सेट करने की आवश्यकता होगी। या आप 't' विधि को ओवरराइड कर सकते हैं :) – bor1s

+0

बीटीडब्लू, कम से कम नहीं, मुझे – bor1s

0

आप I18n बैकएंड जो पहले तर्क के रूप में स्थान ले उपयोग कर सकते हैं:

I18n.backend.translate(:en, :my_string)

6

यह पारित करने के लिए संभव है :locale विकल्प को t विधि:

t :my_string, locale: :de 
संबंधित मुद्दे