यदि आप इसे आधिकारिक तरीके से काम नहीं कर पा रहे हैं, जैसा कि @vikingosegundo द्वारा प्रदान किया गया है, तो आप इसे कुछ रचनात्मक इंजीनियरिंग (क्रिएटिव के रूप में, मेरे भगवान जो खतरनाक है) के साथ कर सकते हैं। जब मैंने गलती से [NSBundle localizedStringForKey:value:tableName:]
ओवरराइड किया तो मैंने इस विधि की खोज की।
1) निम्न विधियों के साथ NSBundle के एक वर्ग जोड़ें:) ब्लॉक:
#import <objc/runtime.h>
+ (void) load {
Method original, swizzled;
original = class_getInstanceMethod(self, @selector(localizedStringForKey:value:table:));
swizzled = class_getInstanceMethod(self, @selector(swizzled_localizedStringForKey:value:table:));
method_exchangeImplementations(original, swizzled);
}
- (NSString*) swizzled_localizedStringForKey:(NSString *)key value:(NSString *)value table:(NSString *)tableName {
NSLog(@"Key: %@. Value: %@", key, value);
return [self swizzled_localizedStringForKey: key value:value table:tableName];
}
2) कहाँ मैं बस कुंजी/मान प्रवेश करें, तो आप एक अगर ([XXX कुंजी isEqualToString] रखना चाहते हैं। वहां, आप निम्न कुंजी मानों (कम से कम कुछ) को पकड़ना चाहते हैं: कट, कॉपी करें [मेनू], चुनें, सभी का चयन करें, पेस्ट करें, हटाएं [मेनू], बदलें ..., परिभाषित करें, बोलें, रोकें। ये डिफ़ॉल्ट मान हैं जो वहां दिखाई दे सकते हैं।
3) जब आप मूल्य पकड़े हैं तो आप एक कस्टम टेबल में देख सकते हैं या हार्डकोडेड मानों का उपयोग कर सकते हैं। यदि आप एक कस्टम टेबल में देखते हैं तो सुनिश्चित करें कि आपकी कस्टम तालिका में अनंत लूपिंग से बचने के लिए आपके स्विजल्ड विधि में कैच है।
एनबी: आपको घूमने की आवश्यकता क्यों है? क्योंकि यह आपके ऐप के लिए सभी ऐप्पल टेक्स्ट से अधिक सवारी करता है। आप अभी भी अन्य सभी तारों के लिए डिफ़ॉल्ट चाहते हैं, इसलिए आपको उन स्ट्रिंग्स के लिए डिफॉल्ट प्राप्त करने की आवश्यकता है, जिनमें आप रुचि नहीं रखते हैं।
शुभकामनाएं। पॉल
स्रोत
2012-07-02 08:28:49
जब आप फोन बदलते हैं तो इसे बदलना चाहिए, यह एक उत्सुक मामला –
सचमुच है। डिवाइस को कई बार पुनरारंभ किया है, और जैसा कि आप कीबोर्ड से देखते हैं, आईफोन के लिए भाषा डैनिश है ... उत्सुक ... –
हे! यह मजाकिया है! शायद आपको इसके बारे में ऐप्पल को एक घटना रिपोर्ट दर्ज करनी चाहिए? – Neeku