Go Search

ਖੇਡਾਂ ਲਈ ਵਿੰਡੋਜ਼ ਫੋਨ ਲੋਕਾਲਾਈਜ਼ੇਸ਼ਨ

 


           ਐਕਸਐਨਏ (XNA) ਖੇਡ ਸਟੂਡਿਓ ਖੇਡ ਪ੍ਰੋਜੈਕਟਾਂ ਲਈ ਲੋਕਲਾਈਜ਼ੇਸ਼ਨ ਚਾਲੂ ਕਰਨ ਲਈ ਪਲੇਟਫਾਰਮ ਹੈ। ਡਿਵੈਲਪਰ ਲਈ ਦਿਮਾਗ ਵਿੱਚ ਰੱਖਣਾ ਬਹੁਤ ਹੀ ਨਾਜ਼ੁਕ ਹੈ ਕਿ ਖੇਡ ਦੇ ਲੋਕਾਲਾਈਜ਼ ਹੋਣ ਯੋਗ ਲਈ ਕਿਹੜੇ ਕਦਮ ਲਾਜ਼ਮੀ ਹਨ। ਇਹ ਡੌਕੂਮੈਂਟ ਕਦਮ-ਦਰ-ਕਦਰ ਗਾਈਡ ਅਤੇ ਸਿਫਾਰਸ਼ੀ ਅਭਿਆਸ ਹੈ ਤਾਂ ਕਿ ਖੇਡ ਪ੍ਰੋਜੈਕਟ ਨੂੰ ਲੋਕਾਲਾਈਜ਼ੇਸ਼ਨ ਹੋਣ ਨੂੰ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ।


ਕਾਟਾਪੁਲਟ ਵਾਰਜ਼ ਲੋਕਾਲਾਈਜ਼ੇਸ਼ਨ ਨਮੂਨਾ

 


ਇਹ ਸਮੱਗਰੀ ਐਪ ਹੱਬ ਤੋਂ ਕਾਟਾਪੁਲਟ ਵਾਰ ਲੈਬ ਸੈਪਲ ਦਾ ਵੇਰਵਾ ਹੈ।


ਖਾਸ ਨੋਟ


• ਮਸ਼ੀਨ ਟਰਾਂਸਲੇਸ਼ਨ ਅੰਗਰੇਜ਼ੀ ਲਾਈਨਾਂ ਨੂੰ ਅਨੁਵਾਦ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ।

 

ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਲਾਈਨਾਂ ਲੋਕਲਾਈਜ਼ ਕਰਨ ਯੋਗ ਹਨ – ਰੀਸੋਰਸ ਫਾਇਲਾਂ  (RESX) ਬਣਾਉ
1. 
ਵਿਜ਼ੁਅਲ ਸਟੂਡਿਊ ਵਿੱਚ, 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 shows ਵਿੱਚ ਉਦਾਹਰਨ ਕੋਡ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਰੀਸੋਰਸ ਫਾਇਲ ਵਿੱਚ ਰੈਫਰੈਂਸ ਲਾਈਨਾਂ ਨੂੰ ਕਿਵੇਂ ਰੱਖਣਾ ਹੈ॥


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 details ਤੋਂ ਹੇਠਾਂ ਉਦਾਹਰਨ ਕੋਡ ਨੂੰ 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 ਟੂਲ ਤਾਂ ਪੱਛਮੀ ਗਲਿਫ ਸਹਿਯੋਗ ਲਈ ਠੀਕ ਰੇਜ਼ ਜੋੜਨਾ ਯਕੀਨੀ ਬਣਾਉ। ਇਹ ਟੂਲ ਮਾਈਕਰੋਸਾਫਟ ਦੇ ਖੇਡ ਡਿਵੈਲਪਰ ਨੈੱਵਟਰਕ ਉੱਤੇ ਉਪਲੱਬਧ ਹੈ। ਪੱਛਮੀ ਯੂਰਪ ਗਲਿਫ ਸਹਿਯੋਗ ਲਈ 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) ਕਲਚਰ ਨੂੰ ਵੇਖਾਉਂਦੀ ਹੈ। ਇਹ ਟੈਕਸਟ (English (United States)) ਨੂੰ ਕਲਿੱਕ ਕਰਨ ਨਾਲ ਯੂਆਈ ਕਲਚਰ ਅਗਲੇ ਕਲਚਰ ਵਿੱਚ ਬਦਲ ਜਾਵੇਗਾ, ਜੋ ਕਿ ਫਰਾਂਸ (ਫਰੈਂਚ) ਹੈ।
 


ਭਾਸ਼ਾ ਬਦਲਣਾ ਲਗਾਤਾਰ ਚੱਕਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ। ਫਰੈਂਚ ਲੋਡ ਹੋਣ ਦੇ ਬਾਅਦ, French (France) ਨੂੰ ਛੂਹਣ ਦੇ ਬਾਅਦ ਜਰਮਨ (ਜਰਮਨੀ) ਲੋਡ ਹੁੰਦੀ ਹੈ। German (Germany) ਨੂੰ ਛੂਹਣ ਨਾਲ ਅੰਗਰੇਜ਼ੀ (ਅਮਰੀਕਾ) ਮੁੜ ਕੇ ਫੇਰ ਲੋਡ ਹੋ ਜਾਵੇਗੀ।


 
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) ਪਲੇਟਫਾਰਮ ਆਟੋਮੈਟਿਕ ਹੀ ਵਿੰਡੋਜ਼ ਫੋਨ 7 ਭਾਸ਼ਾ ਸੈਟਿੰਗ ਉੱਤੇ ਲੋਕਾਲਾਈਜ਼ ਕੀਤੀ ਸਮੱਗਰੀ ਲੋਡ ਕਰੇਗਾ।


ਭਾਸ਼ਾ ਸੈਟਿੰਗ ਨੂੰ Settings >> region & language >> Display language ਵਿੱਚ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਵੱਖਰੀ ਭਾਸ਼ਾ ਸੈਟਿੰਗ ਚੁਣੀ ਜਾ ਸਕਦੀ ਹੈ। ਭਾਸ਼ਾ ਬਦਲਾਅ ਨੂੰ ਲਾਗੂ ਕਰਨ ਲਈ ਫੋਨ ਨੂੰ ਮੁੜ-ਚਾਲੂ ਕਰਨਾ ਪਾਵੇਗਾ। ਜੇ  ਡਿਸਪਲੇਅ ਭਾਸ਼ਾ (display language) WP7 ਜੰਤਰ ਉੱਤੇ ਨਹੀਂ ਬਦਲੀ ਜਾ ਸਕੇ ਤਾਂ ਮਾਈਕਰੋਸਾਫਟ ਕੇਬੀ ਲੇਖ  id #2413345 - http://support.microsoft.com/kb/2413345 ਵੇਖੋ।
 


  

ਇਹ ਡੌਕੂਮੈਂਟ ਕੇਵਲ ਜਾਣਕਾਰੀ ਦੇ ਮਕਸਦ ਨਾਲ “ਜਿਵੇਂ ਹੈ ਤਿਵੇਂ ਹੀ” ਢੰਗ ਨਾਲ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਇਸ ਡੌਕੂਮੈਂਟ ਵਿੱਚ ਦਿੱਤੀ ਗਈ ਜਾਣਕਾਰੀ ਅਤੇ ਝਲਕ, ਜਿਸ ਵਿੱਚ URL ਅਤੇ ਹੋਰ ਇੰਟਰਨੈੱਟ ਵੈੱਬ ਸਾਇਟ ਰੈਫਰੈਂਸ, ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਜਾਣਕਾਰੀ ਦੇ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਹ ਨੂੰ ਵਰਤਣ ਲਈ ਖੁਦ ਜ਼ਿੰਮੇਵਾਰ ਹੋ। ਮਾਈਕਰੋਸਾਫਟ ਕੋਈ ਵੀ ਵਾਰੰਟੀ, ਗਾਰੰਟੀ ਜਾਂ ਸ਼ਰਤ ਨਹੀਂ ਦਿੰਦੀ ਹੈ।

 

ਤੁਸੀਂ ਇਹ ਡੌਕੂਮੈਂਟ ਨੂੰ ਆਪਣੇ ਅੰਦਰੂਨੀ, ਹਵਾਲੇ ਦੇ ਮਕਸਦ ਲਈ ਕਾਪੀ ਕਰ ਅਤੇ ਵਰਤ ਸਕਦੇ ਹੋ। ਇਹ ਡੌਕੂਮੈਂਟ ਗੁਪਤ ਹੈ ਅਤੇ ਮਾਈਕਰੋਸਾਫਟ ਲਈ ਪ੍ਰੋਪਰੇਟਰੀ ਹੈ। ਇਹ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਅਤੇ ਕੇਵਲ ਗੁਪਤ ਇਕਰਾਰਨਾਮੇ ਦੇ ਤਹਿਤ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ


ਮਾਈਕਰੋਸਾਫਟ ਇਸ ਡੌਕੂਮੈਂਟ ਵਿੱਚ ਦਿੱਤੇ ਵਿਸ਼ੇ ਲਈ ਪੇਂਟੈਂਟ, ਪੇਂਟੈਂਟ ਐਪਲੀਕੇਸ਼ਨ, ਟਰੇਂਡਮਾਰਕ, ਕਾਪੀਰਾਈਟ, ਜਾਂ ਮਲਕੀਅਤ ਜਾਇਦਾਦ ਹੱਕ ਹੋ ਸਕਦੇ ਹਨ। ਮਾਈਕਰੋਸਾਫਟ ਵਲੋਂ ਲਿਖਤੀ ਰੂਪ ਵਿੱਚ ਕੀਤੇ ਗਏ ਇਕਰਾਰਨਾਮੇ ਨੂੰ ਛੱਡੇ ਕੇ ਇਹ ਡੌਕੂਮੈਂਟ ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਕਿਸੇ ਵੀ ਪੇਟੈਂਟ, ਟਰੇਂਡਮਾਰਕ, ਕਾਪੀਰਾਈਟ ਜਾਂ ਮਲਕੀਅਲ ਲਈ ਕੋਈ ਵੀ ਲਾਇਸੈਂਸ ਨਹੀਂ ਦਿੰਦਾ ਹੈ।

 

Read More on...

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