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> </Start>
Line 56 <End>~</End>
Line 57 </CharacterRegion>
ਅੱਖਰ ਰੇਜ਼, ਜਿਸ ਵਿੱਚ ਵਾਧੂ ਲੈਟਿਨ ਗਲਿਫ ਸ਼ਾਮਲ ਹਨ ਲੋਕਾਲਾਈਜ਼ੇਸ਼ਨ ਲਈ ਤਿਆਰ ਹੈ
MenuFont.spritefont
Line 60 <CharacterRegion>
Line 61 <Start> </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>ÿ</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 ਅਤੇ ਹੋਰ ਇੰਟਰਨੈੱਟ ਵੈੱਬ ਸਾਇਟ ਰੈਫਰੈਂਸ, ਨੂੰ ਬਿਨਾਂ ਕਿਸੇ ਜਾਣਕਾਰੀ ਦੇ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਹ ਨੂੰ ਵਰਤਣ ਲਈ ਖੁਦ ਜ਼ਿੰਮੇਵਾਰ ਹੋ। ਮਾਈਕਰੋਸਾਫਟ ਕੋਈ ਵੀ ਵਾਰੰਟੀ, ਗਾਰੰਟੀ ਜਾਂ ਸ਼ਰਤ ਨਹੀਂ ਦਿੰਦੀ ਹੈ।
ਤੁਸੀਂ ਇਹ ਡੌਕੂਮੈਂਟ ਨੂੰ ਆਪਣੇ ਅੰਦਰੂਨੀ, ਹਵਾਲੇ ਦੇ ਮਕਸਦ ਲਈ ਕਾਪੀ ਕਰ ਅਤੇ ਵਰਤ ਸਕਦੇ ਹੋ। ਇਹ ਡੌਕੂਮੈਂਟ ਗੁਪਤ ਹੈ ਅਤੇ ਮਾਈਕਰੋਸਾਫਟ ਲਈ ਪ੍ਰੋਪਰੇਟਰੀ ਹੈ। ਇਹ ਦਰਸਾਇਆ ਗਿਆ ਹੈ ਅਤੇ ਕੇਵਲ ਗੁਪਤ ਇਕਰਾਰਨਾਮੇ ਦੇ ਤਹਿਤ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ
ਮਾਈਕਰੋਸਾਫਟ ਇਸ ਡੌਕੂਮੈਂਟ ਵਿੱਚ ਦਿੱਤੇ ਵਿਸ਼ੇ ਲਈ ਪੇਂਟੈਂਟ, ਪੇਂਟੈਂਟ ਐਪਲੀਕੇਸ਼ਨ, ਟਰੇਂਡਮਾਰਕ, ਕਾਪੀਰਾਈਟ, ਜਾਂ ਮਲਕੀਅਤ ਜਾਇਦਾਦ ਹੱਕ ਹੋ ਸਕਦੇ ਹਨ। ਮਾਈਕਰੋਸਾਫਟ ਵਲੋਂ ਲਿਖਤੀ ਰੂਪ ਵਿੱਚ ਕੀਤੇ ਗਏ ਇਕਰਾਰਨਾਮੇ ਨੂੰ ਛੱਡੇ ਕੇ ਇਹ ਡੌਕੂਮੈਂਟ ਤੁਹਾਨੂੰ ਇਹਨਾਂ ਕਿਸੇ ਵੀ ਪੇਟੈਂਟ, ਟਰੇਂਡਮਾਰਕ, ਕਾਪੀਰਾਈਟ ਜਾਂ ਮਲਕੀਅਲ ਲਈ ਕੋਈ ਵੀ ਲਾਇਸੈਂਸ ਨਹੀਂ ਦਿੰਦਾ ਹੈ।