2012-02-08 15 views
18

कुछ आईओएस नियंत्रणों में ऐप्पल द्वारा निर्मित स्थानीय तार हैं। "पूर्ण", "संपादित करें", "पीछे" बार बटन आइटम कुछ उदाहरण हैं। क्या इन तारों तक पहुंचने का कोई तरीका है?क्या आप कोको टच में मानक स्थानीय तारों तक प्रोग्रामेटिक रूप से पहुंच सकते हैं?

मैं मानक "हटाएं" या "रद्द करें" विकल्पों के साथ एक यूआईएक्शनशीट बना रहा हूं, जैसे कि जब आप संपर्क ऐप में कोई संपर्क हटाते हैं।

क्या कोड में इन तारों को संदर्भित करने का कोई तरीका है? यदि नहीं, तो क्या कहीं कहीं मैं इन तारों को प्राप्त कर सकता हूं (जैसे उन्हें ऐप्पल ऐप के संसाधनों से निकालना)? यह अतिरिक्त स्थानीयकरण कार्य को बचाएगा और मंच के साथ स्थिरता सुनिश्चित करेगा।

उत्तर

6

यदि आईओएस मैक ओएस की तरह है तो प्रत्येक ऐप में अपनी खुद की Localizable.strings फ़ाइल होती है। और प्रत्येक स्ट्रिंग फ़ाइल में आपके पास उन सभी छोटे तारों जैसे पूर्ण, संपादित, रद्द करें और इसी तरह हैं।

ये कुछ तार मैं Finder.app से अंग्रेजी Localizable.string फ़ाइल से नकल कर रहे हैं:

<key>AL1</key> 
<string>Cancel</string> 
<key>AL4</key> 
<string>OK</string> 
<key>AL9</key> 
<string>Don’t Save</string> 
<key>FF24</key> 
<string>Save</string> 
<key>U32</key> 
<string>Yes</string> 
<key>U33</key> 
<string>No</string> 

आप अंदाजा हो। प्रत्येक छोटी स्ट्रिंग प्रत्येक ऐप में स्थानीयकृत होती है।

यह iTunes.app से है।

/* ===== Ask User Strings ===== */ 
"23987.001" = "Yes"; 
"23987.002" = "No"; 
"23987.003" = "OK"; 
"23987.004" = "Cancel"; 
"23987.005" = "Ignore"; 
"23987.006" = "Quit"; 
"23987.007" = "Don’t Quit"; 
"23987.008" = "Apply"; 
"23987.009" = "Don’t Apply"; 
"23987.010" = "Later"; 
"23987.011" = "Don’t Save"; 
"23987.012" = "Save"; 
"23987.013" = "Stop"; 
"23987.014" = "Continue"; 
"23987.015" = "Delete"; 
"23987.016" = "Remove"; 
"23987.017" = "Replace"; 
"23987.018" = "Don’t Replace"; 
"23987.019" = "Do not ask me again"; 

थोड़ा और अधिक संरचित दिखता है। उनकी फ़ाइलों की प्रतिलिपि शायद अनुमति नहीं है, हालांकि ;-)


एक answer in apples devforum क्विन से एप्पल डेवलपर संबंध (eskimo1) द्वारा।

कुछ यूआई तत्व स्वचालित रूप से आपके लिए स्थानीयकृत होते हैं। उदाहरण के लिए, UIBarButtonItem पर आर्टवर्क। हालांकि, "ओके" और "रद्द करें" जैसे तारों को पाने के लिए कोई समर्थित तरीका नहीं है क्योंकि उनका उपयोग यूआईएक्शनशीट में किया जाता है। हालांकि, आपके स्थानीय अधिकारी के साथ सामना करने के लिए उन्हें छोटा होना चाहिए।

हालांकि 2 साल पुराना है। लेकिन नए धागे का एक ही परिणाम है। उन तारों को पाने का कोई तरीका नहीं है।

4

यह इस स्निपेट के साथ UIKit बंडल से स्थानीय तार का उपयोग किया जा सकता है:

static NSString * UIKitLocalizedString(NSString *string) 
{ 
    NSBundle *UIKitBundle = [NSBundle bundleForClass:[UIApplication class]]; 
    return UIKitBundle ? [UIKitBundle localizedStringForKey:string value:string table:nil] : string; 
} 

पूर्ण क्रेडिट 0xced (Usage in XCDFormInputAccessoryView)

+0

के लिए यह काम नहीं कर रहा हो जाता है – Vyacheslav

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