मेरे समाधान नीचे स्थित है (किसी भी बाहरी कोड का उपयोग जैसे ShareKit की जाँच करें) एकांतर रन उपज (केवल अंग्रेज़ी के लिए हालांकि) सही है, तो गलत अनुवाद।
अनुप्रयोग के लिए एक तर्क के रूप "-NSShowNonLocalizedStrings हाँ" जोड़ना झुकेंगे:
Localizable string "MyKey" not found in strings table "Localizable" of bundle CFBundle
तो, मैं कुंजी फ़ाइल सीधे लोड हो रहा है एक स्ट्रिंग के रूप बंडल से और यह डंपिंग की कोशिश की। खैर, यह समय सही ढंग से काम नहीं करता था, यह अंतर्निहित आईओएस संदेशों का एक समूह प्रदर्शित कर रहा था। तो, मैं बनाया गया एपीपी फ़ाइल गया, पैकेज सामग्री खोला, और en.lproj/Localizable.strings फ़ाइल को देखा ... और voila !!! फ़ाइल ऐप्पल आईओएस कुंजी/मूल्य जोड़े से भरा गया था। अगले निर्माण पर, यह उम्मीद के रूप में भरा गया था।
बेशक, इसका फाइलों के एन्कोडिंग (जो यूटीएफ -16 होना चाहिए) के साथ कुछ लेना देना नहीं है। मैं इस विशिष्ट समस्या के उल्लेख के साथ कुछ भी पता लगाने में सक्षम नहीं हूं।
मेरा समाधान:
मैं वैध अंग्रेज़ी Localizable.strings की सामग्री को एप्लिकेशन पैकेज से फाइल कॉपी किया (नहीं मेरे स्रोत से) एक XML फ़ाइल में (जब संकलित, .strings फ़ाइल में बदला जाता है एक्सएमएल) और मेरी परियोजना में जोड़ा गया। फिर मैंने स्टार्टअप पर इस फ़ाइल को एक शब्दकोश में लोड किया, और यदि NSLocalizedString को कॉल ने मूल्य के बदले कुंजी वापस कर दी, तो मैंने लोड किए गए शब्दकोश पर एक लुकअप किया। सिद्धांत रूप में, आप यह सभी भाषाओं के लिए कर सकते हैं, लेकिन मुझे केवल अंग्रेजी के साथ समस्या थी।
हां, यह समस्या का उत्तर नहीं है, लेकिन यह एक कामकाज है।
क्या यह कोई त्रुटि दिखाता है? किसी भी तरह फाइल कॉपी नहीं हो रही है। –
कोई भी त्रुटि संदेश नहीं है। – boreas