2015-06-07 4 views
23

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

XCode 6.3.2 project Info tab

मैं ऐसा कैसे सही कर सकते हैं? लक्ष्य आधार अंतर्राष्ट्रीयकरण को सक्रिय करने में सक्षम होना है और इसे फ़्रेंच का उपयोग अंग्रेजी की बजाय बेस भाषा के रूप में करना है।

उत्तर

0

प्रोजेक्ट नेविगेटर (दाईं ओर) Supporting Files समूह के तहत Info.plist फ़ाइल का चयन करें। फिर, Localization native development region में संपादक-दृश्य में 'अंग्रेज़ी' के दाईं ओर ऊपर-नीचे-तीर पर क्लिक करें और France चुनें।

Open base-language selection

यह यह होना चाहिए। हालांकि, एक्सकोड कभी-कभी प्रोजेक्ट सेटिंग्स के "जानकारी" दृश्य को अपडेट नहीं करता है।

+0

मैंने पहले से ही ऐसा किया था लेकिन यह पर्याप्त नहीं था। – Sebastien

+1

इसका "आधार" भाषा से बिल्कुल कुछ लेना देना नहीं है। यह केवल परिभाषित करता है कि उपयोगकर्ता की पसंदीदा भाषा में से कोई भी मौजूद नहीं होने पर कौन सी भाषा का उपयोग किया जाएगा। – geon

+0

@geon: आपने यह कहां पढ़ा? https://developer.apple.com/library/prerelease/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html#//apple_ref/doc/uid/10000171i-CH3-SW2 और https: // डेवलपर। apple.com/library/prerelease/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html#//apple_ref/doc/uid/10000171i-CH3-SW4 उपयोगकर्ता के लिए कोई अनुवाद नहीं होने पर डिफ़ॉल्ट अनुवाद के चयन का उल्लेख नहीं करता है भाषा उपलब्ध है। – dergab

15

मैंने इसे समझ लिया होगा।

मैंने स्वीडिश में एक ऐप बनाया है, लेकिन विकास भाषा अंग्रेजी पर सेट है।

मैंने मैन्युअल रूप से MyProject.xcodeproj/project.pbxproj संपादित किया।

91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 

और इस खंड:

developmentRegion = English; 
hasScannedForEncodings = 0; 
knownRegions = (
     en, 
     Base, 
); 

सभी "एन" के लिए इस तरह "sv" बदलने: वहाँ इस तरह दो लाइनें हैं

91C8245918BDFA6100A9972F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv; path = sv.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 

और

developmentRegion = Swedish; 
hasScannedForEncodings = 0; 
knownRegions = (
     sv, 
     Base, 
); 

और फ़ाइल MyProject/en.lproj/InfoPlist.strings स्थानांतरित करना MyProject/sv.lproj/InfoPlist.strings पर इसे ठीक किया गया प्रतीत होता है। अब "विकास भाषा" स्वीडिश के रूप में दिखाई देती है, और मैं एक अंग्रेजी अनुवाद जोड़ सकता हूं।

अनुवाद जोड़ने के बाद, स्टोरीबोर्ड में एक विस्तार-त्रिकोण है जहां आधार भाषा मौजूदा स्वीडिश संस्करण है, और अनुवाद अंग्रेजी में एक तार-फ़ाइल है।

The storyboard have an English translation. Yay.

18

निम्न प्रक्रिया मेरे लिए काम किया है, लेकिन यह मैन्युअल रूप से संपादित भी शामिल है project.pbxproj फ़ाइल:

  1. XCode
  2. ओपन निम्नलिखित अपने पसंदीदा पाठ संपादक
  3. अद्यतन के साथ project.pbxproj फ़ाइल से बाहर निकलें खंड (developmentRegion के पास):

पुराने:

developmentRegion = English; 
    hasScannedForEncodings = 0; 
    knownRegions = (
     en, 
     Base, 
    ); 

नई:

developmentRegion = fr; 
      hasScannedForEncodings = 0; 
      knownRegions = (
       fr, 
       Base, 
      ); 

मैं एक नमूना परियोजना है कि शुरू में के रूप में डिफ़ॉल्ट विकास भाषा अंग्रेजी साथ बनाया गया था के साथ एक GitHub repository बना लिया है, और उसके बाद विकास भाषा के रूप में फ़्रेंच का उपयोग करने के लिए उपर्युक्त प्रक्रिया द्वारा अपडेट किया गया।

Project ScreenShot

1

मुझे आशा है कि मैं सवाल समझ में आ।

require 'fileutils' 
require 'Xcodeproj' 

filename = ARGV.first 

raise "Argument '#{filename}' is not a valid .xcodeproject" unless filename && File.directory?(filename) && File.extname(filename).downcase == ".xcodeproj" 

puts "Region to set: " 
region = $stdin.gets.chomp 

project = Xcodeproj::Project.open(filename) 
project.root_object.development_region = region 
project.save 

puts "#{project.path}", "development_region = #{project.root_object.development_region}" 

https://www.ralfebert.de/snippets/ios/xcode-change-development-language/: https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPInternational/InternationalizingYourUserInterface/InternationalizingYourUserInterface.html

0

यहाँ cocoapods लाइब्रेरी का उपयोग कर Xcode प्रोजेक्ट में विकास क्षेत्र बदलने के लिए एक रूबी स्क्रिप्ट है: AFAIK, यह तुम क्या चाहते प्राप्त करने के लिए Xcode के GUI का उपयोग कर के रूप में यहाँ वर्णित काफी सरल है

2

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

मैं * .xcodeproj फ़ोल्डर के अंदर सिर्फ खुला * .pbxproj फ़ाइल किया था और में निम्न पंक्ति बदल दिया है: उसके बाद अंग्रेजी में और अधिक विकास भाषा के रूप में नहीं स्थापित किया गया था

developmentRegion = Base; 

और मैं के रूप में यह इलाज करने में सक्षम था कोई और। यह आपको डेवलपर को लघु टेक्स्ट प्लेसहोल्डर्स लिखने की संभावना देता है और आपकी टीम में किसी अन्य को सही वर्तनी का प्रतिनिधित्व करता है।

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

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