PDA

View Full Version : Localized messages


Ataros
09-24-2011, 11:15 AM
Since recent beta you can write different messages to players based on their copy language. E.g.

private string GetLocalizedMessage(string lang, string key)
{
switch(key)
{
case "Hello":
{
switch (lang)
{
case "ru": return "Привет!";
case "en": return "Hello!";
case "turtle": return "Cawabanga dude!";
}
} break;
}
return String.Empty;
}

FG28_Kodiak
09-24-2011, 12:14 PM
Thanks!

Ataros
09-25-2011, 10:35 PM
I'm sooo setting my language to "Turtle" next time I log into Repka! ;)

Cawabanga dude! :grin:

podvoxx
01-07-2012, 10:19 PM
My version of the localized messages.
No work on dedi

using System;
using System.Collections;
using maddox.game;
using maddox.game.world;
using maddox.GP;
using System.Collections.Generic;
using System.IO;

public class Mission : AMission
{
//=========================LOCALIZATION============= ================
string[] languageArray = { "en", "ru", "de", "fr", "es", "cs", "it", "pl" };

//******************Localize Message Method*******************
private string getLocalizedMessage(string textTranslate)
{

string[] localizeArray;
string langIndex = GamePlay.gpPlayer().LanguageName();
switch (textTranslate)
{
case "Welcome to our server.":
{
localizeArray = new string[]
{
"Welcome to our server.EN",
"Добро пожаловать на наш сервер.RU",
"Welcome to our server.DE",
"Welcome to our server.FR",
"Welcome to our server.ES",
"Welcome to our server.CS",
"Welcome to our server.IT",
"Welcome to our server.PL"
};
return localizeArray.GetValue(Array.IndexOf(languageArray , langIndex)).ToString();
} break;
}
return textTranslate;
}
//================================================== ====================

//******************Send Chat Message Method*******************
private void sendChatMessageTo(int army, string msg, object[] parms)
{
List<Player> Players = new List<Player>();
//Singleplayer or Dedi Server
if (GamePlay.gpPlayer() != null)
{
if (GamePlay.gpPlayer().Army() == army || army == -1)
Players.Add(GamePlay.gpPlayer());
} // Multiplayer
if (GamePlay.gpRemotePlayers() != null || GamePlay.gpRemotePlayers().Length > 0)
{
foreach (Player p in GamePlay.gpRemotePlayers())
{
if (p.Army() == army || army == -1)
Players.Add(p);
}
}
if (Players != null && Players.Count > 0)
GamePlay.gpLogServer(Players.ToArray(), msg, parms);
}

public override void OnBattleStarted()
{
base.OnBattleStarted();
MissionNumberListener = -1;

sendChatMessageTo(-1, getLocalizedMessage("Welcome to our server."), new object[] { });
}
}

Ataros
01-08-2012, 11:00 AM
Language Manager Class by Small_Bee (see post #6 and below) http://translate.google.com/translate?sl=ru&tl=en&js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&u=http%3A%2F%2Fwww.sukhoi.ru%2Fforum%2Fshowthread. php%3Ft%3D72108%26p%3D1765804%26viewfull%3D1%23pos t1765804