iOS के में एक पुश सूचना में स्थानीयकृत पाठ प्रदर्शित करने के दो तरीके हैं:
अपने सर्वर
इस मामले में में संदेश का स्थानीयकरण करें, तो आप उपकरण भाषा भेजना होगा आपके सर्वर पर कोड आप अपने iOS एप्लिकेशन को जोड़ने की जरूरत है निम्नलिखित करने के समान होगा:
NSString *preferredLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
const char *langStr = [preferredLanguage UTF8String];
[self sendCurrentLanguage:langStr]; // Method that communicates with your server
तो फिर तुम अधिसूचना JSON पेलोड में alert
कुंजी का उपयोग करके उपयुक्त भाषा में सूचना संदेश भेज सकते हैं।
अधिसूचना पेलोड के साथ एक स्थानीयकरण स्ट्रिंग भेजें
आप पेलोड में स्थानीयकृत स्ट्रिंग भेज सकते हैं। alert
कुंजी एक बच्चे loc-key
महत्वपूर्ण यह है कि आप एक स्थानीय स्ट्रिंग भेजने के लिए उपयोग कर सकते हैं स्वीकार करता है:
"My Localized String" = "The localized string in the language you want.";
हैं: तो
"alert" : {
"loc-key" : "My Localized String",
...
}
और संवाददाता भाषा पहचानकर्ता के अंदर अपने Localizable.strings
फ़ाइल में,, निम्नलिखित जोड़ें आपको अंतिम स्थानीयकृत स्ट्रिंग बनाने के लिए तर्क पारित करने की आवश्यकता है, आप अधिसूचना पेलोड में loc-args
JSON सरणी के रूप में इसे पास कर सकते हैं:
"alert" : {
"loc-key" : "My Localized String",
"loc-args" : [ "First argument", "Second argument" ],
...
}
और, अपनी Localizable.strings
:
"My Localized String" = "The localized string with first argument %@, and second argument %@."
या, यदि आप पदों को बदलने की जरूरत:
"My Localized String" = "The localized string with second argument %[email protected], and first argument %[email protected]";
लेकिन मैं गतिशील पाठ जो व्यक्ति का नाम बहुत तो शामिल है कि यह कैसे प्रबंधनीय हो जाएगा? – iEinstein
@AshutoshMishra मेरा अद्यतन जवाब देखें। आप 'लोक-तर्क' के अंदर तर्क पारित कर सकते हैं और स्थितित्मक प्रतिस्थापन के लिए प्रारूप विनिर्देशों का उपयोग कर सकते हैं। –
क्या यह $ या @ है? और यह कैसे पता चलेगा कि पहले तर्क कहां रखा जाए और दूसरा कहां रखा जाए। संख्याओं से है (1 और 2)? – iEinstein