add internationalization for responses from the masterserver/league server

stable-5.4
Tobias Zwick 2013-11-06 11:47:13 +07:00
parent 780eeb1b95
commit 8da7c6b20f
4 changed files with 33 additions and 16 deletions

View File

@ -39,6 +39,8 @@ if ($link && $db) {
die();
}
$server->cleanUp(true); //Cleanup old stuff
// register new release
if (ParseINI::parseValue('oc_enable_update', $config) == 1 && isset($_REQUEST['action']) && $_REQUEST['action'] == 'release-file' && isset($_REQUEST['file']) && isset($_REQUEST['hash']) && isset($_REQUEST['new_version']) && isset($_REQUEST['platform'])) {
$absolutefile = ParseINI::parseValue('oc_update_path', $config) . $_REQUEST['file'];
if (file_exists($absolutefile)) {
@ -72,7 +74,8 @@ if ($link && $db) {
} else {
C4Network::sendAnswer(C4Network::createError('Specified file not found.'));
}
} else if (isset($GLOBALS['HTTP_RAW_POST_DATA'])) { //data sent from engine?
// prepare data for the engine
} else if (isset($GLOBALS['HTTP_RAW_POST_DATA'])) {
$input = $GLOBALS['HTTP_RAW_POST_DATA'];
$action = ParseINI::parseValue('Action', $input);
$csid = ParseINI::parseValue('CSID', $input);
@ -83,17 +86,17 @@ if ($link && $db) {
switch ($action) {
case 'Start': //start a new round
if (ParseINI::parseValue('LeagueAddress', $reference)) {
C4Network::sendAnswer(C4Network::createError('League not supported!'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_LEAGUENOTSUPPORTED'));
} else {
$csid = $server->addReference($reference);
if ($csid) {
$answer = array('Status' => 'Success', 'CSID' => $csid);
if(!testHostConn($input))
$answer['Message'] = 'Your network failed to pass certain tests. It is unlikely that are you able to host for the public.|To fix that, you need port forwarding in your router.';
$answer['Message'] = 'IDS_MSG_MASTERSERVNATERROR';
C4Network::sendAnswer(C4Network::createAnswer($answer));
unset($answer);
} else {
C4Network::sendAnswer(C4Network::createError('Round signup failed. (To many tries?)'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MATERSERVSIGNUPFAIL'));
}
}
break;
@ -101,26 +104,26 @@ if ($link && $db) {
if ($server->updateReference($csid, $reference)) {
C4Network::sendAnswer(C4Network::createAnswer(array('Status' => 'Success')));
} else {
C4Network::sendAnswer(C4Network::createError('Round update failed.'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVUPDATEFAIL'));
}
break;
case 'End': //remove a round
if ($server->removeReference($csid)) {
C4Network::sendAnswer(C4Network::createAnswer(array('Status' => 'Success')));
} else {
C4Network::sendAnswer(C4Network::createError('Round end failed.'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVENDFAIL'));
}
break;
default:
if (!empty($action)) {
C4Network::sendAnswer(C4Network::createError('Unknown action.'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVNOOP'));
} else {
C4Network::sendAnswer(C4Network::createError('No action defined.'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVNOOP'));
}
break;
}
} else {
C4Network::sendAnswer(C4Network::createError('Wrong engine, "' . ParseINI::parseValue('Game', $input) . '" expected.'));
C4Network::sendAnswer(C4Network::createError('IDS_MSG_MASTERSERVWRONGENGINE'));
}
} else { //list availabe games
$list = array();

View File

@ -538,6 +538,13 @@ IDS_MSG_KICKFROMCLIENTLIST=Rausgeworfen über die Clientliste
IDS_MSG_KICKFROMLOBBY=Rausgeworfen aus der Lobby
IDS_MSG_KICKFROMMSGBOARD=Rausgeworfen über die Konsole
IDS_MSG_KICKFROMSTARTUPDLG=Rausgeworfen aus dem Startwartedialog
IDS_MSG_LEAGUENOTSUPPORTED=Der Masterserver unterstützt keine Liga.
IDS_MSG_MASTERSERVNATERROR=Es wurde festgestellt, dass aus deinem Netzwerk höchstwahrscheinlich keine Internetspiele gehostet werden können.|Um dies zu beheben, müssen bestimmte Ports an deinem Router freigeschaltet werden. Siehe dazu unsere FAQ für weitere Informationen.
IDS_MSG_MASTERSERVSIGNUPFAIL=Anmelden der Runde am Mastererver fehlgeschlagen.
IDS_MSG_MASTERSERVUPDATEFAIL=Aktualisierung der Runde am Masterserver fehlgeschlagen.
IDS_MSG_MASTERSERVENDFAIL=Dem Masterserver konnte nicht mitgeteilt werden, dass die Runde zuende beendet wurde.
IDS_MSG_MASTERSERVNOOP=Der Masterserver unterstützt diese Operation nicht.
IDS_MSG_MASTERSERVWRONGENGINE=Falsche Engine.
IDS_MSG_LEAGUEEVALUATIONSUCCESSFU=Ligaspiel erfolgreich ausgewertet.
IDS_MSG_LEAGUEGAMESIGNUP=Spiel bei Ligaserver %s angemeldet:|%s
IDS_MSG_LEAGUEINVALIDUSERNAME=Der Benutzername enthält ungültige Zeichen.

View File

@ -538,6 +538,13 @@ IDS_MSG_KICKFROMCLIENTLIST=kicked from client list
IDS_MSG_KICKFROMLOBBY=kicked from lobby
IDS_MSG_KICKFROMMSGBOARD=kicked from messageboard
IDS_MSG_KICKFROMSTARTUPDLG=kicked from startup waiting dialog
IDS_MSG_LEAGUENOTSUPPORTED=League not supported by masterserver.
IDS_MSG_MASTERSERVNATERROR=Your network failed to pass certain tests. It is unlikely that you are able to host games in the internet.|To fix that, you need to forward the certain ports on your router. Refer to the FAQ on our website for more information.
IDS_MSG_MASTERSERVSIGNUPFAIL=Round signup at the masterserver failed.
IDS_MSG_MASTERSERVUPDATEFAIL=Round update at the masterserver failed.
IDS_MSG_MASTERSERVENDFAIL=Round end notification at the masterserver failed.
IDS_MSG_MASTERSERVNOOP=Operation not supported by the masterserver.
IDS_MSG_MASTERSERVWRONGENGINE=Wrong engine.
IDS_MSG_LEAGUEEVALUATIONSUCCESSFU=League: evaluation successful.
IDS_MSG_LEAGUEGAMESIGNUP=Game signed up at league server %s:|%s
IDS_MSG_LEAGUEINVALIDUSERNAME=The user name contains invalid characters.

View File

@ -2022,7 +2022,7 @@ bool C4Network2::LeagueStart(bool *pCancel)
!pLeagueClient->GetStartReply(&LeagueServerMessage, &League, &StreamingAddr, &Seed, &MaxPlayersLeague))
{
const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() :
LeagueServerMessage.getLength() ? LeagueServerMessage.getData() :
LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) :
LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY");
StdStrBuf Message = FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_REGGAME"), pError);
// Log message
@ -2046,7 +2046,7 @@ bool C4Network2::LeagueStart(bool *pCancel)
// Show message
if (LeagueServerMessage.getLength())
{
StdStrBuf Message = FormatString(LoadResStr("IDS_MSG_LEAGUEGAMESIGNUP"), pLeagueClient->getServerName(), LeagueServerMessage.getData());
StdStrBuf Message = FormatString(LoadResStr("IDS_MSG_LEAGUEGAMESIGNUP"), pLeagueClient->getServerName(), LoadResStr(LeagueServerMessage.getData()));
// Log message
Log(Message.getData());
// Show message
@ -2132,7 +2132,7 @@ bool C4Network2::LeagueUpdateProcessReply()
if (!fSucc)
{
const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() :
LeagueServerMessage.getLength() ? LeagueServerMessage.getData() :
LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) :
LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY");
StdStrBuf Message = FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_UPDATEGAME"), pError);
// Show message - no dialog, because it's not really fatal and might happen in the running game
@ -2210,7 +2210,7 @@ bool C4Network2::LeagueEnd(const char *szRecordName, const BYTE *pRecordSHA)
if (!pLeagueClient->isSuccess() || !pLeagueClient->GetEndReply(&LeagueServerMessage, &RoundResults))
{
const char *pError = pLeagueClient->GetError() ? pLeagueClient->GetError() :
LeagueServerMessage.getLength() ? LeagueServerMessage.getData() :
LeagueServerMessage.getLength() ? LoadResStr(LeagueServerMessage.getData()) :
LoadResStr("IDS_NET_ERR_LEAGUE_EMPTYREPLY");
sResultMessage.Take(FormatString(LoadResStr("IDS_NET_ERR_LEAGUE_SENDRESULT"), pError));
if (Application.isEditor) continue;
@ -2360,7 +2360,7 @@ bool C4Network2::LeaguePlrAuth(C4PlayerInfo *pInfo)
bool fSuccess;
if (Message.getLength())
fSuccess = ::pGUI->ShowMessageModal(
Message.getData(), LoadResStr("IDS_DLG_LEAGUESIGNUPCONFIRM"),
LoadResStr(Message.getData()), LoadResStr("IDS_DLG_LEAGUESIGNUPCONFIRM"),
C4GUI::MessageDialog::btnOKAbort, C4GUI::Ico_Ex_League);
else if (AccountMaster.getLength())
fSuccess = ::pGUI->ShowMessageModal(
@ -2446,7 +2446,7 @@ bool C4Network2::LeaguePlrAuthCheck(C4PlayerInfo *pInfo)
// Check if league server approves. pInfo will have league info if this call is successful.
if (!pLeagueClient->GetAuthCheckReply(&Message, Game.Parameters.League.getData(), pInfo))
{
LeagueShowError(FormatString(LoadResStr("IDS_MSG_LEAGUEJOINREFUSED"), pInfo->GetName(), Message.getData()).getData());
LeagueShowError(FormatString(LoadResStr("IDS_MSG_LEAGUEJOINREFUSED"), pInfo->GetName(), LoadResStr(Message.getData())).getData());
return false;
}
@ -2481,7 +2481,7 @@ void C4Network2::LeagueNotifyDisconnect(int32_t iClientID, C4LeagueDisconnectRea
szMsg = LoadResStr("IDS_MSG_LEAGUEUNEXPECTEDDISCONNEC");
else
szMsg = LoadResStr("IDS_ERR_LEAGUEERRORREPORTINGUNEXP");
LogF(szMsg, sMessage.getData());
LogF(szMsg, LoadResStr(sMessage.getData()));
}
void C4Network2::LeagueWaitNotBusy()