Skip Ribbon Commands
Skip to main content

गेम्स के लिए Windows फोन लोकलाइजेशन


                             XNA Game Studio गेम प्रोजेक्ट के लोकलाइजेशन के लिए एक मजबूत प्लेटफॉर्म देती है।  डेवलपर के लिए यह ध्यान रखना जरूरी है कि गेम को लोकलाइजेशन योग्य बनाने के लिए क्या चीजें जरूरी हैं।  कोई गेम लोकलाइजेशन योग्य रहे यह सुनिश्चित करने के लिए यह दस्तावेज एक चरणबद्ध गाइड और अनुशंसित पद्धतियों के बारे में बताती हैं।


Catapult Wars का लोकलाइज्ड नमूना

 


यह सामग्री Catapult Wars Lab के App Hub से उपलब्ध नमूने के लोकलाइज किए गए संस्करण का वर्णन करती है।


महत्वपूर्ण टिप्पणियाँ


• अंग्रेजी स्ट्रिंग के अनुवाद के लिए मशीन अनुवाद का उपयोग किया गया था।

सुनिश्चित करना कि स्ट्रिंग लोकलाइज किए जाने योग्य है - संसाधन फाइलों का निर्माण (RESX)
1. Visual Studio के मुख्य मेन्यू में, Project >> Add New Item…को क्लिक करें

 


 
2. Resources File चुनें और फाइल को उचित नाम दें

 

 
3. 1 व 2 के चरण दुहराएँ और भाषा विशेष के लिए संसाधन फाइलें बनाएँ (उदाहरण, जर्मन के लिए CatStrings.de.resx)।
4. नीचे के स्क्रीनशॉट अंग्रेजी के संसाधन फाइल CatStrings.resx, और जर्मन और फ्रांसीसी संसाधन फाइलें – CatStrings.de.resx और CatStrings.fr.resx को क्रमशः दिखाता है।


 
संसाधन फाइलों से स्ट्रिंग का उपयोग


कोड में स्ट्रिंग की हार्ड-कोडिंग से बचें।  संसाधन फाइल (RESX) में उपयोगकर्ता के द्वारा देखने योग्य किसी स्ट्रिंग को रखें।  MainMenuScreen.cs में निम्नलिखित उदाहरण कोड दिखाता है कि कैसे संदर्भ स्ट्रिंग किसी संसाधन फाइल में रखे गए।


MainMenuScreen.cs लोकलाइजेशन के लिए तैयार नहीं
Line 29 // Create our menu entries.
Line 30 MenuEntrystartGameMenuEntry = newMenuEntry("Play");
Line 31 MenuEntryexitMenuEntry = newMenuEntry("Exit");


MainMenuScreen.cs   लोकलाइजेशन के लिए तैयार
Line 32 // Create our menu entries.
Line 33 // LOCALIZATION
Line 34 // string in string table
Line 35 MenuEntrystartGameMenuEntry = newMenuEntry(CatStrings.play_text);
Line 36 MenuEntryexitMenuEntry = newMenuEntry(CatStrings.exit_text);
 


 

फॉन्ट के साथ काम करना


spritefont में गिल्फ समर्थन


फॉन्ट को लक्ष्य भाषाओं के लिए गिल्फ समर्थन जरूर शामिल करने चाहिए। उदाहरण के लिए, यदि गेम टाइटल को पश्चिमी यूरोपीय भाषाओं – फ्रेंच, इतालवी, जर्मन, और स्पैनिश – के लिए लोकलाइज किया जाना है तो â,ë,î,ø,ú जैसे गिल्फ के लिए समर्थन जरूरी हैं।

 

MenuFont.spritefont से नीचे के उदाहरण कोड MoireExtraBold फॉन्ट को Impact फॉन्ट से बदलने को वर्णन करता है।

 

MenuFont.spritefont   लोकलाइजेशन के लिए तैयार नहीं
Line 14 <FontName>MoireExtraBold</FontName>

 
 


 
सभी जरूरी गिल्फ के लिए समर्थन के बिना, गेम अनुप्रयोग को रनटाइम क्रैश का सामना करना होगा।


MenuFont.spritefont   लोकलाइजेशन के लिए तैयार
Line 20    <FontName>Impact</FontName>

 
 

Spritefont सेटिंग


जब spritefont का उपयोग किया जाता है, सभी जरूरी गिल्फ के लिए समुचित वर्ण परिसरों का उपयोग महत्वपूर्ण होता है।  नीचे MenuFont.spritefont से स्रोत कोड लक्ष्य लोकलाइजेशन भाषा के लिए गिल्फ परिसर में परिवर्तन का वर्णन करता है।


वर्ण परिसर केवल लैटिन गिल्फ को शामिल करता है   लोकलाइजेशन के लिए तैयार नहीं

 

MenuFont.spritefont
Line 54 <CharacterRegion>
Line 55  <Start>&#32;</Start>
Line 56  <End>&#126;</End>
Line 57 </CharacterRegion>

 

वर्ण परिसर विस्तारित लैटिन गिल्फ शामिल करता है   लोकलाइजेशन के लिए तैयार

MenuFont.spritefont
Line 60 <CharacterRegion>
Line 61  <Start>&#32;</Start>
Line 62  <!--
Line 63  LOCALIZATION
Line 64  Update range to 255 to include glyphs for Western European glyph support
Line 65  -->
Line 66 <End>&#255;</End>

Line 71 </CharacterRegion>

 

बिटमैप फॉन्ट में गिल्फ समर्थन


जब बिटमैप फॉन्ट बनाने के लिए किसी टूल का उपयोग किया जाता है जैसे कि FontMaker टूल, सुनिश्चित करें कि समुचित परिसर पश्चिमी गिल्फ समर्थन में शामिल किया गया है।  यह टूल Microsoft के गेम डेवलपर नेटवर्क पर उपलब्ध है। पश्चिमी गिल्फ समर्थन के लिए 255 तक का उपयोग करें।

 

टेक्सचर के साथ काम
नीचे की छवि में हार्ड कोडेड स्ट्रिंग हैं।    


Instructions.png       लोकलाइजेशन के लिए तैयार नहीं
 


जेनेरिक पृष्ठभूमि जहाँ स्ट्रिंग को रेंडर किया जा सकता है।  


Instructions.png       लोकलाइजेशन के लिए तैयार


 
नीचे InstructionsScreen.cs से स्रोत कोड वर्णन करता है कि कैसे रन टाइम के दौरान स्क्रीन पर पाठ रेंडर किया जाए।

 

InstructionsScreen.cs
Line 122            Vector2textpos = newVector2(20f,25f);
Line 123            spriteBatch.DrawString(font, CatStrings.instructions_text1, textpos,
Color.DarkOrange);
Line 124            textpos.Y += font.MeasureString(CatStrings.instructions_text1).Y;
Line 125            spriteBatch.DrawString(font, CatStrings.instructions_text2, textpos,
Color.DarkOrange);
Line 126            textpos.Y += font.MeasureString(CatStrings.instructions_text2).Y;
Line 127            spriteBatch.DrawString(font, CatStrings.instructions_text3, textpos,
Color.DarkOrange);
Line 128            textpos.Y += font.MeasureString(CatStrings.instructions_text3).Y;
Line 129            spriteBatch.DrawString(font, CatStrings.instructions_text4, textpos,
Color.DarkOrange);
 

 

UI कल्चर बदलने के लिए डेमो कोड


मुख्य मेन्यू में, लोकलाइज किए नमूना गेम में एक तीसरा मेन्यू विकल्प शामिल है जो मौजूदा UI कल्चर को कार्यशील थ्रेड के लिए प्रदर्शित करता है।  इस पाठ पर क्लिक करना (English (United States)) UI कल्चर को अगले कल्चर में बदल देगा जो फ्रेंच (फ्रांस) है।


 
यह भाषा परिवर्तन सतत चक्र में काम करता है।  फ्रेंच लोड करने के बाद, आगे बढ़ने पर French (France)  German (Germany) को लोड करेगा।  German (Germany) का टैपिंग पुनः English (United States) एसेट की ओर लौटाएगा।
 
MainMenuScreen.cs
Line 107        voidchangeLanguage(object sender, EventArgs e)
Line 108        {
Line 109            // Tell the resource manager what language to use when loading strings.
Line 110            if (Thread.CurrentThread.CurrentUICulture.Name == "en-US")
Line 111            {
Line 112                // Changes the CurrentCulture of the current thread to de-DE.
Line 113                Thread.CurrentThread.CurrentUICulture = newCultureInfo("fr-FR");
Line 114                ScreenManager.AddScreen(newInstructionsScreen("fr-FR"), null);
Line 115            }
Line 116            elseif (Thread.CurrentThread.CurrentUICulture.Name == "fr-FR")
Line 117            {
Line 118                // Changes the CurrentCulture of the current thread to de-DE.
Line 119                Thread.CurrentThread.CurrentUICulture = newCultureInfo("de-DE");
Line 120                ScreenManager.AddScreen(newInstructionsScreen("de-DE"), null);
Line 121            }
Line 122            elseif (Thread.CurrentThread.CurrentUICulture.Name == "de-DE")
Line 123            {
Line 124                // Changes the CurrentCulture of the current thread to fr-FR.
Line 125                Thread.CurrentThread.CurrentUICulture = newCultureInfo("EN-us");
Line 126                ScreenManager.AddScreen(newInstructionsScreen("EN-us"), null);
Line 127            }
Line 128        }

 

नोट करें कि यह कोड किसी फोन रोबोट की बिना जरूरत के विभिन्न भाषा एसेट को केवल दिखाने के लिए है।  XNA प्लेटफॉर्म Windows Phone 7 भाषा सेटिंग्स पर आधारित लोकलाइज्ड एसेट स्वतः लोड करेगा। 


भाषा सेटिंग को Settings >> region & language >> Display language पर और विभिन्न भाषा सेटिंग में से चुनकर बदला जा सकता है।  इस फोन को भाषा परिवर्तन को पुनःआरंभ करने के लिए जरूर फिर आरंभ किया जाना होगा।  यदि display language सेटिंग को WP7 डिवायस पर बदला नहीं जा सकता है, Microsoft kb आलेख आईडी #2413345 - का संदर्भ लें.
 
 


 

 

यह दस्तावेज अंतरराष्ट्रीय उद्देश्यों के लिए “जैसा है” के रूप में केवल दिया गया है। इस दस्तावेज में अभिव्यक्त सूचना और विचार, जिसमें URL और अन्य इंटरनेट वेब साइट संदर्भ शामिल हैं, बिना सूचना के बदले जा सकते हैं। आपको इसे उपयोग करने का जोखिम खुद उठाना होगा। Microsoft कोई वारंटी, गारंटी या शर्तें नहीं देता है।


आप इस दस्तावेज को अपने आंतरिक, संदर्भ उद्देश्यों के लिए कॉपी और उपयोग कर सकते हैं। यह Microsoft का गोपनीय और सांपत्तिक दस्तावेज है। इसे गैर-प्रकटीकरण अनुबंध के अधीन ही केवल उद्घाटित और उपयोग किया जा सकता है।


Microsoft के पास इस दस्तावेज की विषय वस्तु से जुड़े पेटेंट, पेटेंट आवेदन, ट्रेडमार्क, कॉपीराइट या अन्य बौद्धिक संपदा अधिकार हो सकते हैं। Microsoft से प्राप्त किसी लिखित लाइसेंस अनुबंध में उल्लिखित के अलावे, इस दस्तावेज की प्रस्तुति आपको इन पेटेंट, ट्रेडमार्क, कॉपीराइट या अन्य बौद्धिक संपदा का लाइसेंस नहीं देती है।

 

Read More on...

This site uses Unicode and Open Type fonts for Indic Languages. Powered by Microsoft SharePoint
©2017 Microsoft Corporation. All rights reserved.