2013-08-07 2 views
10

मैंने सेब डेवलपर पर कुछ अंतर्राष्ट्रीयकरण दस्तावेज और वीडियो देखे हैं, लेकिन मुझे उस प्रश्न का स्पष्ट उत्तर कभी नहीं मिला। ऐप्पल के ट्यूटोरियल्स में मुझे Base.lproj फ़ोल्डर en.lproj और zh.lproj के साथ फ़ोल्डर - उदाहरण अनुवाद (स्थानीयकरण) अंग्रेजी से चीनी तक है। लेकिन वे मुझे बताते हैं कि एक फ़ाइल en.lproj/myStoryboard.strings है, और यह भ्रमित है। मैं स्टोरीबोर्ड के लिए एक अंग्रेजी स्थानीयकरण बनाने में बिंदु नहीं देख सकता (जो पहले से ही अंग्रेजी में है)।क्या मेरा बेस इंटरनेशनललाइजेशन स्टोरीबोर्ड सभी अनौपचारिक भाषाओं और तारों के लिए फ़ॉलबैक भाषा से मेल खाता है?

  1. तो मेरे प्रश्न हैं यदि उपयोगकर्ता कभी भी Base.lproj/myStoryboard.storyboard में तारों को देखेगा?
  2. क्या उस फ़ाइल में स्ट्रिंग्स को डिफ़ॉल्ट स्ट्रिंग होना चाहिए जो उपयोगकर्ता को दिखाए जाते हैं यदि सिस्टम मेरे बंडल में उपयोगकर्ता का पसंदीदा भाषा फ़ोल्डर नहीं ढूंढ सकता है?
  3. क्या मैं स्पष्ट रूप से कह सकता हूं "कभी भी Base.lproj/myStoryboard.storyboard का उपयोग न करें, हमेशा en.lproj/myStoryboard.strings पर वापस आते हैं"?

दूसरे शब्दों में:
चलो कहते हैं कि मैं अपने ऐप अंग्रेजी में प्रदर्शित करने के लिए जब भी उपयोगकर्ता की भाषा उपलब्ध नहीं है चाहता हूँ, लेकिन मेरी Base.lproj/myStoryboard.storyboard स्वीडिश में है कि करते हैं। क्या मैं पर बेस स्टोरीबोर्ड को sv.lproj/myStoryboard.strings पर स्थानांतरित करने और बेस स्टोरीबोर्ड में सभी तारों को अंग्रेजी में पूरा करने के लिए अनुवाद करता हूं?

+0

क्या आप "en.lproj/myStoryboard.strings" समेत ट्यूटोरियल के लिए एक लिंक पोस्ट कर सकते हैं? –

+0

मेरा मानना ​​है कि यह वह है जो मुझे भ्रमित करता है: https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/chapters/InternationalizeYourApp/InternationalizeYourApp/InternationalizeYourApp.html – Andreas

+0

मैंने वहां कुछ गलत समझा होगा, यह 2 महीने पहले था। शायद यह केवल base.lproj और en.lproj फ़ोल्डर्स था जो अनावश्यक लग रहा था। – Andreas

उत्तर

3

मेरे मामले में, एक्सकोड 5 ने en.lproj/myStoryboard.strings नहीं बनाया, Base.lproj फ़ोल्डर में केवल मूल स्टोरीबोर्ड है। शायद यह एक पुराना एक्सकोड मुद्दा है?

उस फ़ाइल को निकालने का प्रयास करें और देखें कि आपका ऐप डिफ़ॉल्ट रूप से अंग्रेजी तारों के आधार पर base.lproj के साथ आता है या नहीं।

आपकी Info.plist फ़ाइल में Localization native development region प्रविष्टि होनी चाहिए, जो आवश्यक स्ट्रिंग में आवश्यक स्ट्रिंग मौजूद नहीं होने पर Lproj फ़ोल्डर को इंगित करने के लिए इंगित करता है।

मैं इस बारे में निश्चित नहीं हूँ, लेकिन मुझे लगता है कि आप एक Base.lproj साथ en और यूआई का उपयोग करने के लिए स्वचालित रूप से Base.lproj पर वापस आने होगा।

क्या इससे आपको किसी भी तरह से मदद मिलती है?

+0

मुझे एक्सकोड में स्थानीयकरण की खोज करने में बहुत परेशानी थी कि मैंने एक्सकोड में कुछ भी कोशिश किए बिना विषय पर पढ़ना चुना था :) (पहली बार मैंने अपना स्टोरीबोर्ड कूड़ेदान में चला गया और मुझे डुप्लिकेट स्थानीयकरण मिल गया जो कि नहीं हो सका हटाया आदि)। प्लिस्ट संपत्ति सिर्फ वैसे ही लगती है जो मैं ढूंढ रहा था, मैं इसे देख लूंगा। – Andreas

3
  1. तो मेरे सवालों का यदि उपयोगकर्ता कभी Base.lproj/myStoryboard.storyboard में तार देखेंगे कर रहे हैं?

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

क्या उस फ़ाइल में स्ट्रिंग्स को डिफ़ॉल्ट स्ट्रिंग होना चाहिए जो उपयोगकर्ता को दिखाए जाते हैं यदि सिस्टम मेरे बंडल में उपयोगकर्ता का पसंदीदा भाषा फ़ोल्डर नहीं ढूंढ सकता है?

ये असंबद्ध अवधारणाएं हैं। स्टोरीबोर्ड में एम्बेडेड स्ट्रिंग en.lproj में होने के बराबर हैं।उसके बाद, भाषा फ़ॉलबैक बेस.एलप्रोज़ के बिना काम करता है।

मैं स्पष्ट रूप से कह सकते हैं "Base.lproj/myStoryboard.storyboard का उपयोग कभी नहीं, हमेशा en.lproj/myStoryboard.strings पर वापस गिर"?

आप en.lproj/myStoryboard.strings है, और अंग्रेज़ी विकास भाषा है, तो वे हमेशा तार अंग्रेजी के लिए Base.lproj/myStoryboard.storyboard में एम्बेडेड अधिक्रमण होगा। जिसमें अंग्रेजी पसंदीदा भाषा नहीं है, लेकिन फॉलबैक भाषा के रूप में चुने जाने पर समाप्त होता है।

+0

क्या आप "विकास में अंग्रेजी" को स्पष्ट कर सकते हैं? – Andreas

+0

निश्चित रूप से, मैंने अंतिम पैराग्राफ अपडेट किया है। –

+0

मुझे याद नहीं है कि "विकास भाषा" को कहीं भी एक विकल्प के रूप में देखा जा रहा है, लेकिन फिर मैंने इसे कभी नहीं देखा। मुझे लगता है कि यह स्थानीयकरण मूल विकास क्षेत्र 'के समान विकल्प है जिसे कोफ का उल्लेख है। कोफ के जवाब को ध्यान में रखते हुए, "विकास भाषा" बेस अंतर्राष्ट्रीयकरण के रूप में एक फॉलबैक भाषा से असंबंधित प्रतीत होता है। मेरे मामले में मेरी देव भाषा स्वीडिश है लेकिन पसंदीदा फॉलबैक भाषा अभी भी अंग्रेजी होगी। भ्रामक! – Andreas

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