मैं यूरोप में एक ग्राहक के लिए एक ऐप विकसित कर रहा हूं। मैं अमेरिका में एक अंग्रेजी स्पीकर हूं। हमारा ऐप कई भाषाओं का समर्थन करने जा रहा है, लेकिन अंग्रेजी नहीं। मेरे पास हमारे ऐप में सभी स्ट्रिंग्स का अनुवाद स्थानीयकृत.स्ट्रिंग्स फाइलों में किया गया है, जो अलग-अलग भाषाओं के लिए सही तरीके से स्थापित होते हैं, और जब डिवाइस सही भाषा पर सेट होता है तो वे सभी ठीक काम करते हैं (डिवाइस की भाषा जर्मन = ऐप जर्मन के लिए सही ढंग से स्थानीयकृत है) ।आईओएस ऐप के लिए गैर-अंग्रेजी डिफ़ॉल्ट भाषा?
कोई समस्या है जब डिवाइस उन भाषाओं में से एक पर सेट नहीं होता है, उदाहरण के लिए, मेरे फोन पर जो अंग्रेजी पर सेट है। हम चाहते हैं कि फोन इस तरह के मामलों में जर्मन वापस आ जाए, लेकिन ऐसा नहीं हो रहा है। हम जो देख रहे हैं वह यह है कि फोन उस भाषा का उपयोग कर रहा है जो सेटिंग.एप के अंतर्राष्ट्रीय अनुभाग में भाषा सूची पर उच्चतम दिखाई देता है। मेरे फोन के लिए, सूची में सबसे ज्यादा गैर-अंग्रेजी भाषा फ़्रेंच है, इसलिए जब मैं ऐप चलाता हूं, तो यह फ्रेंच के लिए स्थानीयकृत होता है। अगर मैं अपना फोन जर्मन में बदलता हूं और फिर वापस अंग्रेजी (जो भाषा सूची में ऑर्डर बदलता है), तो ऐप फिर जर्मन में स्थानांतरित हो जाता है।
मैं कैसे सुनिश्चित कर सकता हूं कि ऐप गैर-समर्थित भाषाओं के लिए जर्मन पर डिफ़ॉल्ट है? मैंने प्रोजेक्ट के लिए लोकेशंस सेट अप करने के लिए this tutorial का उपयोग किया। इसमें डिफ़ॉल्ट "अंग्रेज़ी" लोकेल को हटाया जाता है जिसे पहली बार फ़ाइल को स्थानीयकृत करते समय बनाया जाता है। प्रोजेक्ट फ़ाइल में, मैं जोड़ दिया है:
developmentRegion = de;
इसके अलावा, Info.plist में, मैं
<key>CFBundleDevelopmentRegion</key>
<string>de</string>
है कोई सफलता के साथ।
किसी भी विचार की सराहना की जाएगी!
पास्कल सही जवाब है: आवेदन अगले सबसे उचित स्थानीयकरण करना प्रारंभ कर देगा; यह डिज़ाइन द्वारा है, और जिस तरह से आईओएस और मैक ओएस एक्स पर सभी एप्लिकेशन काम करना चाहते हैं। आपका ऐप विशेष नहीं है। –
मैं अभी भी इस जवाब को हल कर रहा हूं। हालांकि, यह स्पष्ट रूप से दिन के अंत में एक अच्छी तरह से विचार-विमर्श प्रतिक्रिया है, फिर भी व्यापार की आवश्यकता अभी भी है कि इस मामले में ऐप को जर्मन वापस आना चाहिए कि उपयुक्त स्थानीयकरण मौजूद नहीं है; यह ग्राहक के साथ गैर-विचारणीय है। दिलचस्प क्या है, और जो मैं अपने प्रश्न के शीर्षक में बता रहा हूं, वह यह है कि अगर अंग्रेजी में अंग्रेजी.प्रप्रोज फ़ोल्डर रखा जाता है, तो इसका उपयोग अन्य स्थानीयकरण उपलब्ध होने पर पतन के रूप में किया जाता है।अगर मैं कुछ और नहीं समझ सकता, तो मैं बस उस फ़ोल्डर को चारों ओर रखूंगा, और वहां "डी" संपत्तियों की प्रतिलिपि बनाउंगा। –
नहीं, अंग्रेजी भी सिस्टम डिफ़ॉल्ट नहीं है। यह आसान है, ओएस में प्राथमिकताओं में सेट के रूप में स्थानीयकरण की एक सूची है। ऐप शुरू करते समय, यह संबंधित * .lproj फ़ोल्डरों की तलाश करता है और सूची में से किसी एक भाषा से मेल खाता पहला उपयोग करता है। यही कारण है कि यह अंग्रेजी का उपयोग करता है जब कुछ और नहीं होता है। ;) लेकिन मुझे एक और चाल पता है, एक नया जवाब तैयार करेगा ... – Pascal