2016-02-18 22 views
9

मैं वर्तमान में एक आईओएस ऐप पर काम कर रहा हूं और इसे कई भाषाओं में स्थानांतरित कर रहा हूं लेकिन मुझे एक परेशान (ब्रेकिंग) मुद्दा का सामना करना पड़ा है।एक्सकोड स्टोरीबोर्ड लोकलाइजेशन डुप्लिकेट स्ट्रिंग्स मर्ज?

जब मैं अपने स्टोरीबोर्ड के लिए एक नया स्थानीयकरण जोड़ता हूं तो एक्सकोड स्वचालित रूप से तारों को पॉप्युलेट कर देगा, जो बहुत अच्छा है। मेरे पास यह मुद्दा है कि मेरे पास कई इंटरफेस हैं जिनमें दोनों का बैक बटन है। इन पर पाठ बिल्कुल वही है और उनके अनुवाद भी हैं। प्रश्न मैं सोच रहा था, क्या यह संभव है, तारों का उपयोग किए बिना। Localizable, किसी भी तरह से एकाधिक ऑब्जेक्ट अनुवादों को एक में विलय करने के लिए?

"Pnu-Ec-HAj.normalTitle" = "Back"; 
"Rtx-fT-rdc.normalTitle" = "Back"; 

लेकिन इस तरह के रूप में

"Pnu-Ec-HAj.normalTitle", "Rtx-fT-rdc.normalTitle" = "Back"; (इस वाक्य रचना नहीं सही जाहिर है) अगर वहाँ एक वाक्य रचना था यह रास्ता आसान होगा

:

यह यह वर्तमान में इस तरह दिखाई देंगे है मैंने थोड़ी देर के आसपास देखा है लेकिन अभी तक इस सवाल का कोई जवाब नहीं मिला है।

पढ़ने के लिए धन्यवाद।

उत्तर

0

दुर्भाग्य से .strings फ़ाइलें key-value files हैं और, प्रकृति से, एक कुंजी होनी चाहिए (जो संपत्ति के बाद तत्व के निब आईडी द्वारा रचित है) और संबंधित स्ट्रिंग मान।

एप्पल मिसाल कड़ी में वर्णन करता है के रूप में:

मानक तार फ़ाइल स्वरूप वैकल्पिक टिप्पणी के साथ एक या अधिक कुंजी-मान जोड़ों के होते हैं। किसी दिए गए जोड़ी में कुंजी और मान डबल उद्धरण चिह्नों में संलग्न पाठ के तार होते हैं और बराबर चिह्न से अलग होते हैं।

, तो आपका विचार .strings फ़ाइलों द्वारा समर्थित नहीं है।

उस सुविधा का समर्थन करने का एकमात्र तरीका कोड में NSLocalizedString का उपयोग कर रहा है।

2

मैं कोड में अपने स्टोरीबोर्ड में हर पाठ को संदर्भित, और viewDidLoad पर की तरह पाठ की स्थापना, जैसे की सलाह देते हैं:

buyButton.titleLabel.text = NSLocalizedString(@"SHOP_BUY_BUTTON_TEXT",@"Button for buying product in detail view");

यह काम का भार है कि अगर आप बहुत बड़ा स्टोरीबोर्ड है लेकिन अंत में आपके पास अनुवादक कुंजी और टिप्पणियों के साथ एक साफ Localizable.strings है, जो आपके अनुवादकों के लिए आवश्यक संदर्भ प्रदान करता है।

मैं एप्लिकेशन की धारा के साथ कुंजी उपसर्ग, तो उदाहरण के SHOP_***, USER_SETTINGS_***, आदि के लिए

इसके अलावा, हम OneSky की तरह एक सेवा हमारे अनुवाद ऑनलाइन संगठित करने और उन्हें बादल से अद्यतन (नहीं करने के लिए उपयोग उनके साथ संबद्ध, और यह इसके teething समस्याओं के बिना नहीं है)।

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