2012-01-11 6 views
11

मैं xib व्यू के अंदर टेक्स्ट को स्थानीयकृत करना चाहता हूं। वर्तमान में मेरे पास प्रत्येक भाषा के लिए कई xibs हैं।मैं प्रत्येक भाषा के लिए xib बनाये बिना xib दृश्यों में टेक्स्ट को कैसे स्थानांतरित कर सकता हूं?

क्या प्रत्येक भाषा के लिए अलग-अलग xibs बनाये बिना xib फ़ाइल के अंदर पाठ को स्थानांतरित करना संभव है?

उत्तर

1

लगता है जैसे आप .string फ़ाइलों के बारे में जानना चाहते हैं।

Here is a tutorial on the subject

And here is a related question आप अधिक जानकारी के लिए देख सकते हैं।

+1

क्या आप xib से किसी .strings फ़ाइल में अनुवादों का संदर्भ ले सकते हैं, या आपको कोड में लेबल (आदि) मान सेट करने की आवश्यकता है यदि आप केवल एक xib प्रति भाषा के बजाय एक xib चाहते हैं? – jrturton

+0

महान सवाल @ jrturton, और मुझे इसका जवाब निश्चित नहीं है। Xib के भीतर से .strings को संदर्भित करने के लिए? मुझे संदेह है कि यह केवीसी के माध्यम से संभव हो सकता है, लेकिन मैंने कभी कोशिश नहीं की है। –

+0

इस ट्यूटोरियल को देखें: http: //www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial –

0

एंड्रॉइड पृष्ठभूमि से आ रहा है, मैं वही सवाल पूछ रहा था। यहां तक ​​कि ऐप्पल recommends प्रत्येक भाषा के लिए अलग-अलग xib फ़ाइलें बनाते हैं। सौभाग्य से, इस प्रक्रिया को बिल्ड स्क्रिप्ट में ibtool का उपयोग करके स्वचालित किया जा सकता है। यह this article में अच्छी तरह से वर्णित है।

0

स्थानीयकरण को टेक्स्ट के लिए ज़िब नहीं किया जाता है। इसलिए, आपको की आवश्यकता नहीं है xib फ़ाइल पर विचार करें। स्थानीयकरण बहुत जटिल नहीं है। इस लिंक की जांच करें यह आपकी मदद करेगा।

http://www.raywenderlich.com/2876/how-to-localize-an-iphone-app-tutorial

-1

यह समस्या मुझे पागल गाड़ी चला रहा था।

मैं इस पोस्ट और कई अन्य लोगों के लिए आया हूं जबकि xib स्थानीयकरण को अपने लिए आसान बनाना है। मैंने इस प्रश्न पर लेबल/बटन के लिए आईबीओटल्स सहित मेरी विधि पोस्ट की, मेरे लिए बहुत अच्छा काम किया, सभी परिवर्तनों को स्थानीयकरण.स्ट्रिंग फ़ाइलों तक सीमित रखता है।

https://stackoverflow.com/a/15485572/1449834

+0

अनामित वोट के लिए कोई कारण? – WiseGuy

0

मैं स्थानीय बनाना xibs सीधे एक अच्छा विकल्प नहीं है लगता है। मैं https://github.com/steipete/Aspects का उपयोग कर UILabel की जागृत FromNib विधि को हुक करने और वहां टेक्स्ट को स्थानीयकृत करने के लिए उपयोग कर रहा हूं। उदाहरण:

#define Localized(_v_) NSLocalizedString(_v_, nil) 
NSError *err = nil; 
[UILabel aspect_hookSelector:@selector(awakeFromNib) 
       withOptions:AspectPositionAfter 
        usingBlock:^(id<AspectInfo> aspectInfo) { 
         UILabel *label = aspectInfo.instance; 
         NSString *lStr = Localized(label.text); 
         if (lStr) { 
          label.text = lStr; 
         } 
} error:&err]; 

आप UIButton और अन्य UIView को संभालने के लिए है, तो आप सिर्फ UIView की awakeFromNib हुक और देखने के प्रत्येक प्रकार के स्थानीय बनाना सकता है।