2012-11-30 15 views
5

द्वारा मान्यता प्राप्त नहीं है मैंने मैक ऐप स्टोर के लिए ओएसएक्स प्रोजेक्ट में कई स्थानीयकरण जोड़े हैं, ऐप सबमिट किया है, लेकिन केवल अंग्रेज़ी पहचान लिया गया था (स्थानीयकरण: ("अंग्रेज़ी"), आईटीसी बाइनरी विवरण से लिया गया)। यह उत्पाद आईट्यून्स पर लाइव है, जहां अंग्रेजी एकमात्र भाषा भी प्रदर्शित होती है।CFTundleLocalizations में स्थानीयकरण iTunesConnect (OSX)

स्थानीय तारों को एक कस्टम सिस्टम का उपयोग करके संभाला जाता है, इसलिए हमें अंग्रेजी.एलप्रोज़ जैसे अतिरिक्त फ़ोल्डरों की आवश्यकता नहीं है। आदेश एप्लिकेशन स्थानीय बनाना करने के लिए, मैं सिर्फ सभी भाषा पहचानकर्ता परियोजना की Info.plist अंदर कुंजी CFBundleLocalizations के तहत, के रूप में एप्पल https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html

एक आवेदन प्रणाली है कि इसके माध्यम से अतिरिक्त स्थानीयकरणों का समर्थन करता है सूचित कर सकते हैं पर पता चलता है जोड़ लिया है, इसकी सूचना संपत्ति सूची (Info.plist) फ़ाइल। स्थानीयकरण को निर्दिष्ट करने के लिए अपने बंडल की .lproj निर्देशिका में शामिल नहीं है, इस फ़ाइल में CFBundleLocalizations कुंजी जोड़ें। कुंजी के लिए मान स्ट्रिंग्स की एक सरणी, जिनमें से प्रत्येक एक आईएसओ भाषा डेसिग्नेटर में वर्णित के रूप में शामिल है है

plist फ़ाइल है कि स्थानीयकरणों निर्दिष्ट का हिस्सा होता है "भाषा और लोकेल पदनाम।":

<key>CFBundleLocalizations</key> 
<array> 
    <string>en</string> 
    <string>de</string> 
    <string>fr</string> 
    <string>it</string> 
    <string>es</string> 
    <string>pt</string> 
    <string>nl</string> 
    <string>se</string> 
</array> 

मैंने अतीत में 2 आईओएस ऐप्स पर सटीक उसी विधि का उपयोग किया है, और दोनों ठीक काम कर रहे थे। मुझे समझ में नहीं आता कि इस बार हमें एक अलग व्यवहार क्यों मिलता है। कोई विचार?

धन्यवाद।

उत्तर

4

मुझे अंततः यह मिला।

मेरे सवाल में मैं ने कहा था:

स्थानीय तार एक कस्टम प्रणाली का उपयोग कर नियंत्रित किया जाता है, तो हम English.lproj की तरह अतिरिक्त फ़ोल्डरों जरूरत नहीं है।

यह पता चला है कि यह ठीक है कि मैंने इसे कैसे हल किया। मैं प्रोजेक्ट> इन्फो टैब पर गया, स्थानीयकरण के तहत और ऐप का समर्थन करने वाली प्रत्येक भाषा के लिए एक प्रविष्टि जोड़ा। इसने प्रत्येक के लिए एक फ़ोल्डर बनाया, उदा। es.lproj, fr.lproj आदि मैं एप्लिकेशन प्रस्तुत और iTunesConnect में मैंने देखा कि स्थानीयकरणों मान्यता प्राप्त गया:

स्थानीयकरण: ("डी", "अंग्रेजी", "es", "fr", " यह "," nl "," pt "," sv ")

अद्यतन अभी तक बाहर नहीं है, लेकिन मेरा मानना ​​है कि यह ठीक रहेगा।

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

+0

आपने मुझे एक बहुत ही खुश आदमी बनाया !!! मेरे पास फ़ाइलों को स्वचालित रूप से जोड़ा गया था लेकिन स्थानीयकरण सेटिंग्स के आधार पर भाषाओं में पढ़ने के लिए JSON का उपयोग कर रहा था। वे sporadically काम कर रहे थे। इन्हें प्लास्ट में जोड़ने से उन्हें काम मिल गया! धन्यवाद। वास्तव में इसे हल करने के लिए - मुझे लगता है कि उन्हें पर्यावरण में उपलब्ध कराने के लिए यह चाल है - फ़ोल्डर के साथ संयोजन में। –

1

मेरे साथ भी है लेकिन चूंकि एपिरेटर में सभी एलप्रोज़ फ़ोल्डर्स थे, इसलिए मुझे समझ में नहीं आया कि क्यों सभी भाषाएं आईट्यून्स विवरण में दिखाई नहीं देती हैं।

यह पता चला है कि भले ही आप अपने प्रोजेक्ट नेविगेटर में सभी एलप्रोज़ फ़ोल्डरों को देखते हैं, फिर भी वे आपके बंडल में शामिल नहीं हैं, जब तक आप उन भाषाओं को जोड़ते हैं जिन्हें आप वास्तव में परियोजना -> जानकारी में समर्थन करते हैं।