2009-12-13 10 views
6

हाय मैं "सारांश" में AppStore http://itunes.apple.com/at/app/section-control/id343824642?mt=8iPhone एप्लिकेशन उपलब्ध भाषाओं AppStore में

इस रूप में बोली "अंग्रेजी" प्रदर्शित करता है (Sprachen जर्मन में) करने के लिए मेरा पहला आवेदन प्रस्तुत किया। और यह इस मामले में सही है।

मुझे लगता है कि यह इस तथ्य से आता है कि मेरे पास मेरे आवेदन में स्थानीय संसाधन नहीं हैं। कौन सा प्रश्न है: ऐपस्टोर द्वारा "भाषाएं/स्पैंचन" का पता कैसे लगाया गया है?

यह निश्चित रूप से स्थानीय विवरणों के साथ कुछ भी करने के लिए नहीं है क्योंकि मैंने इस मामले में अंग्रेजी और जर्मन का उपयोग किया था।

उदाहरण के लिए टॉमटॉम http://itunes.apple.com/at/app/tomtom-westeuropa/id326075062?mt=8 कई भाषाओं को दिखाता है।

किसी भी तरह - मुख्य प्रश्न। मेरे अगले आवेदन के लिए मैं "समुदाय संचालित स्थानीयकरण" की योजना बना रहा हूं। विचार वह है जो आपको बहुत सारे एप्लिकेशन में मिलता है जहां आप "भाषा फाइलें" डाउनलोड कर सकते हैं।

मान लें कि मेरे ऐप में उपलब्ध भाषाओं की एक सूची है। यह एक वेब सेवा से आता है और आप (उपयोगकर्ता के रूप में) अपनी पसंदीदा भाषा को लोड कर सकते हैं (यदि उपलब्ध हो)।

और चूंकि चीज गतिशील है तो निम्नलिखित होगा - मैं एप्लिकेशन को अंग्रेजी और जर्मन (मेरी मूल भाषा) में प्रकाशित करता हूं। बाद में कोई फ्रांसीसी ग्रंथों में प्रवेश करता है - इसलिए ऐप पर उस पल से फ्रांसीसी में भी उपलब्ध है।

मुझे ऐप्स में संक्षिप्त भाषा (अवलोकन) में "भाषाएं/स्पैंचन" तत्व सेट करने का कोई तरीका नहीं मिला है या क्या मुझे इसे बदलने के लिए अपने एप्लिकेशन को "पुनः सबमिट" करना है?

अंतिम कम से कम नहीं - अगर मैं सही हूं और आवेदन में निहित संसाधनों द्वारा भाषाएं पाई जाती हैं - क्या यह मेरे आवेदन के साथ खाली (या केवल एक स्ट्रिंग होल्डिंग) "तार फ़ाइल" प्रदान करने के लिए पर्याप्त है?

यह .app फ़ोल्डर की तरह दिखना चाहिए कैसे है:

उत्तर

1

यह आपको क्या करने की जरूरत है

+ MyApp.app

+ en.lproj

+ de.lproj

+ nl.lproj

आदि ...

lproj फ़ोल्डर में, आपको Localizable.strings फ़ाइल रखना चाहिए।

इस Localizable.strings फ़ाइल में, आप इस तरह की भाषा परिवर्तन रख सकते हैं: (एन NL)

"के बारे में" = "से अधिक"

"ErrorSupport" = "कॉन niet डी ondersteuning contacteren । "

तो, "About" जैसी पहली पंक्तियां अंग्रेजी नहीं देते हैं, बल्कि केवल फ़ंक्शन।

मुझे पूरी तरह से यकीन नहीं है कि इसे अपने ऐप में कैसे सेट अप करें, मैं वास्तव में एक अच्छा ऐप कोडर नहीं हूं। आपको ऐप्पल के सहायता दस्तावेज़ों की जांच करनी चाहिए, या अन्य डेवलपर्स से पूछना चाहिए।

भाषाओं के डाउनलोड के लिए, मैं मानता हूं कि आप एक वेब व्यू में बनाते हैं, और इसे अपने डाउनलोड पेज पर निर्देशित करते हैं, और ऐप तब स्वचालित रूप से इसे एक भाषा फ़ोल्डर के रूप में पुनः स्थानांतरित करता है, और इसे MyApp.app/<language>.lproj पर इंस्टॉल करता है। अन्य डाउनलोडरों को इस डाउनलोड सामग्री के बारे में पूछें, या ऐप्पल के सहायता दस्तावेज़ों की जांच करें। (मुझे यकीन नहीं है कि वे वहां उल्लेख करते हैं)

+0

धन्यवाद - मैं स्ट्रिंग संसाधनों के बारे में अवधारणाओं को जानता हूं। क्या आपका मतलब है कि ऐपस्टोर में एक भाषा दिखाने के लिए मुझे हर भाषा के लिए संसाधन जोड़ना होगा? या दूसरे शब्दों में - एक स्थानीय संसाधन की उपस्थिति है जो ऐपस्टोर उपलब्ध भाषाओं को निर्धारित करने के लिए उपयोग करता है? जिसके परिणामस्वरूप - प्रति भाषा पर्याप्त एक स्ट्रिंग है? डाउनलोड भी कोई समस्या नहीं है - और स्थानीयकृत चीजों के "इंजेक्शन" के लिए मैं पहले ही कोड काम कर रहा हूं। सवाल यह है कि - ऐपस्टोर भाषाओं के साथ कैसे व्यवहार करता है। – ManniAT

+0

हां, ऐप स्टोर इन भाषाओं का निर्धारण करने के लिए उपयोग करता है। मुझे पता है कि 99.99% के लिए निश्चित है। अगर आप कुल पुष्टि चाहते हैं, तो आप ऐप्पल से संपर्क करना चाहेंगे। और, जैसा कि आप देखते हैं, यह ऐपस्टोर नहीं है, लेकिन ऐप स्टोर है। आप डेवलपर के रूप में जानना चाहिए। (अगर आपको नाराज लगता है तो मुझे खेद है।) –

+0

और हाँ, एक स्ट्रिंग पर्याप्त होनी चाहिए। –

16

मैंने एप्पल के इस सवाल को सीधे पूछने के लिए तकनीकी सहायता घटना का उपयोग किया। यहां जवाब है:

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

http://developer.apple.com/library/ios/#documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html%23//apple_ref/doc/uid/TP40009249-109552-TPXREF111 "

1

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

cocoapods-prune-localizations

2

मैं एक लील यह कर खो दिया था। मैं आंतरिक रूप से अपने यूनिटी गेम को स्थानीयकृत करता हूं, का उपयोग नहीं करता .lproj या .xliff। जेरेमी का जवाब इस पर कुछ प्रकाश लाता है। मैंने Info.plist को संपादित करने के लिए खोला, लेकिन एक्सकोड स्वचालित रूप से सीएफबंडल लॉकलाइजेशन कुंजी "स्थानीयकरण" में कुंजी बदल रहा था (जो अब समझ में आता है, लेकिन जैसा कि उसका जवाब 2010 में था, मैं सोच रहा था कि क्या एक्सकोड मुझ पर चाल चल रहा था "स्पेनिश" और "पुर्तगाली ब्राजील" "अंग्रेजी" साथ तो मैं द्वारा जोड़े गए नए तार: haha)

स्थानीयकरण कुंजी आइटम 0 के रूप में एक तार के साथ एक सरणी है।

जब मैं टाइप कर रहा था, तो एक्सकोड चीनी और अन्य भाषाओं जैसे कुछ विकल्प पेश करता था जिनकी मुझे आवश्यकता नहीं थी, जिसने अधिक संदेह पैदा किए। तो मैं पाठ के रूप में Info.plist खोला:

<key>CFBundleLocalizations</key> 
    <array> 
     <string>en</string> 
<string>Spanish</string> 
<string>Brazilian Portuguese</string> 
    </array> 

क्या नहीं सही लग रहा है, उह?एक लील अनुसंधान के साथ मुझे लगता है कि मैं ISO 639-1 के रूप में (कुछ पकड़ के साथ) को जोड़ना होगा लगता है:

<key>CFBundleLocalizations</key> 
    <array> 
     <string>en</string> 
     <string>es</string> 
     <string>pt</string> 
    </array> 

पकड़ कि ISO 639-1 में ब्राजीली पुर्तगाली होना चाहिए: pt-BR लेकिन जैसा कि यहां देखी गई: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/LocalizingYourApp/LocalizingYourApp.html

"स्क्रिप्ट या बोलियों के लिए भाषा का आईडी subtags का उपयोग करता है, के रूप में pt-pT जहां pt पुर्तगाली और पीटी के लिए कोड है पुर्तगाल के लिए कोड है। उदाहरण के लिए, के लिए भाषा का आईडी के रूप में उपयोग pt पुर्तगालियों के रूप में इसका उपयोग ब्राजील और पीटी-पीटी पुर्तगाली के लिए भाषा आईडी के रूप में किया जाता है क्योंकि इसका उपयोग पुर्तगाल में किया जाता है। "

यह मेरे लिए काम किया!

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