diff options
-rw-r--r-- | src/net/ea/charserverhandler.cpp | 18 | ||||
-rw-r--r-- | src/net/ea/chathandler.cpp | 2 | ||||
-rw-r--r-- | src/net/ea/gui/guildtab.cpp | 10 | ||||
-rw-r--r-- | src/net/ea/gui/partytab.cpp | 35 | ||||
-rw-r--r-- | src/net/ea/guildhandler.cpp | 9 | ||||
-rw-r--r-- | src/net/ea/loginhandler.cpp | 17 | ||||
-rw-r--r-- | src/net/ea/network.cpp | 3 | ||||
-rw-r--r-- | src/net/ea/playerhandler.cpp | 32 | ||||
-rw-r--r-- | src/net/ea/skillhandler.cpp | 20 | ||||
-rw-r--r-- | src/net/ea/tradehandler.cpp | 3 | ||||
-rw-r--r-- | src/net/tmwa/generalhandler.cpp | 35 |
11 files changed, 184 insertions, 0 deletions
diff --git a/src/net/ea/charserverhandler.cpp b/src/net/ea/charserverhandler.cpp index 354326e08..c76e9e9b2 100644 --- a/src/net/ea/charserverhandler.cpp +++ b/src/net/ea/charserverhandler.cpp @@ -66,11 +66,17 @@ void CharServerHandler::setCharCreateDialog(CharCreateDialog *const window) return; StringVect attributes; + // TRANSLATORS: playe stat attributes.push_back(_("Strength:")); + // TRANSLATORS: playe stat attributes.push_back(_("Agility:")); + // TRANSLATORS: playe stat attributes.push_back(_("Vitality:")); + // TRANSLATORS: playe stat attributes.push_back(_("Intelligence:")); + // TRANSLATORS: playe stat attributes.push_back(_("Dexterity:")); + // TRANSLATORS: playe stat attributes.push_back(_("Luck:")); const Token &token = @@ -115,13 +121,16 @@ void CharServerHandler::processCharLoginError(Net::MessageIn &msg) const switch (msg.readInt8()) { case 0: + // TRANSLATORS: error message errorMessage = _("Access denied. Most likely, there are " "too many players on this server."); break; case 1: + // TRANSLATORS: error message errorMessage = _("Cannot use this ID."); break; default: + // TRANSLATORS: error message errorMessage = _("Unknown char-server failure."); break; } @@ -152,25 +161,32 @@ void CharServerHandler::processCharCreateFailed(Net::MessageIn &msg) case 1: case 0: default: + // TRANSLATORS: error message errorMessage = _("Failed to create character. Most " "likely the name is already taken."); break; case 2: + // TRANSLATORS: error message errorMessage = _("Wrong name."); break; case 3: + // TRANSLATORS: error message errorMessage = _("Incorrect stats."); break; case 4: + // TRANSLATORS: error message errorMessage = _("Incorrect hair."); break; case 5: + // TRANSLATORS: error message errorMessage = _("Incorrect slot."); break; case 6: + // TRANSLATORS: error message errorMessage = _("Incorrect race."); break; } + // TRANSLATORS: error message header new OkDialog(_("Error"), errorMessage, DIALOG_ERROR); if (mCharCreateDialog) mCharCreateDialog->unlock(); @@ -183,12 +199,14 @@ void CharServerHandler::processCharDelete(Net::MessageIn &msg A_UNUSED) mSelectedCharacter = nullptr; updateCharSelectDialog(); unlockCharSelectDialog(); + // TRANSLATORS: info message new OkDialog(_("Info"), _("Character deleted.")); } void CharServerHandler::processCharDeleteFailed(Net::MessageIn &msg A_UNUSED) { unlockCharSelectDialog(); + // TRANSLATORS: error message new OkDialog(_("Error"), _("Failed to delete character."), DIALOG_ERROR); } diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index a84ab21e0..0fdd7ecf3 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -79,6 +79,7 @@ void ChatHandler::processWhisperResponse(Net::MessageIn &msg) if (chatWindow) { chatWindow->addWhisper(nick, + // TRANSLATORS: chat message strprintf(_("Whisper could not be " "sent, %s is offline."), nick.c_str()), BY_SERVER); } @@ -87,6 +88,7 @@ void ChatHandler::processWhisperResponse(Net::MessageIn &msg) if (chatWindow) { chatWindow->addWhisper(nick, + // TRANSLATORS: chat message strprintf(_("Whisper could not " "be sent, ignored by %s."), nick.c_str()), BY_SERVER); diff --git a/src/net/ea/gui/guildtab.cpp b/src/net/ea/gui/guildtab.cpp index 0a1fb7314..aa89309b1 100644 --- a/src/net/ea/gui/guildtab.cpp +++ b/src/net/ea/gui/guildtab.cpp @@ -44,6 +44,7 @@ namespace Ea extern Guild *taGuild; GuildTab::GuildTab(const Widget2 *const widget) : + // TRANSLATORS: guild chat tab name ChatTab(widget, _("Guild"), "") { setTabColor(&getThemeColor(Theme::GUILD_CHAT_TAB), @@ -67,14 +68,19 @@ bool GuildTab::handleCommand(const std::string &type, const std::string &args) { if (args == "invite") { + // TRANSLATORS: guild chat help chatLog(_("Command: /invite <nick>")); + // TRANSLATORS: guild chat help chatLog(_("This command invites <nick> to the guild you're in.")); + // TRANSLATORS: guild chat help chatLog(_("If the <nick> has spaces in it, enclose it in " "double quotes (\").")); } else if (args == "leave") { + // TRANSLATORS: guild chat help chatLog(_("Command: /leave")); + // TRANSLATORS: guild chat help chatLog(_("This command causes the player to leave the guild.")); } else @@ -135,9 +141,13 @@ void GuildTab::handleInput(const std::string &msg) void GuildTab::showHelp() { + // TRANSLATORS: guild chat help chatLog(_("/help > Display this help.")); + // TRANSLATORS: guild chat help chatLog(_("/invite > Invite a player to your guild")); + // TRANSLATORS: guild chat help chatLog(_("/leave > Leave the guild you are in")); + // TRANSLATORS: guild chat help chatLog(_("/kick > Kick some one from the guild you are in")); } diff --git a/src/net/ea/gui/partytab.cpp b/src/net/ea/gui/partytab.cpp index b8dd6aece..5b3184038 100644 --- a/src/net/ea/gui/partytab.cpp +++ b/src/net/ea/gui/partytab.cpp @@ -44,6 +44,7 @@ namespace Ea { PartyTab::PartyTab(const Widget2 *const widget) : + // TRANSLATORS: party chat tab name ChatTab(widget, _("Party"), "") { setTabColor(&getThemeColor(Theme::PARTY_CHAT_TAB), @@ -68,11 +69,17 @@ void PartyTab::handleInput(const std::string &msg) void PartyTab::showHelp() { + // TRANSLATORS: party help message chatLog(_("/help > Display this help.")); + // TRANSLATORS: party help message chatLog(_("/invite > Invite a player to your party")); + // TRANSLATORS: party help message chatLog(_("/leave > Leave the party you are in")); + // TRANSLATORS: party help message chatLog(_("/kick > Kick some one from the party you are in")); + // TRANSLATORS: party help message chatLog(_("/item > Show/change party item sharing options")); + // TRANSLATORS: party help message chatLog(_("/exp > Show/change party experience sharing options")); } @@ -82,37 +89,52 @@ bool PartyTab::handleCommand(const std::string &type, const std::string &args) { if (args == "invite") { + // TRANSLATORS: party help message chatLog(_("Command: /invite <nick>")); + // TRANSLATORS: party help message chatLog(_("This command invites <nick> to party with you.")); + // TRANSLATORS: party help message chatLog(_("If the <nick> has spaces in it, enclose it in " "double quotes (\").")); } else if (args == "leave") { + // TRANSLATORS: party help message chatLog(_("Command: /leave")); + // TRANSLATORS: party help message chatLog(_("This command causes the player to leave the party.")); } else if (args == "item") { + // TRANSLATORS: party help message chatLog(_("Command: /item <policy>")); + // TRANSLATORS: party help message chatLog( _("This command changes the party's item sharing policy.")); + // TRANSLATORS: party help message chatLog(_("<policy> can be one of \"1\", \"yes\", \"true\" to " "enable item sharing, or \"0\", \"no\", \"false\" to " "disable item sharing.")); + // TRANSLATORS: party help message chatLog(_("Command: /item")); + // TRANSLATORS: party help message chatLog(_("This command displays the party's" " current item sharing policy.")); } else if (args == "exp") { + // TRANSLATORS: party help message chatLog(_("Command: /exp <policy>")); + // TRANSLATORS: party help message chatLog(_("This command changes the party's " "experience sharing policy.")); + // TRANSLATORS: party help message chatLog(_("<policy> can be one of \"1\", \"yes\", \"true\" to " "enable experience sharing, or \"0\"," " \"no\", \"false\" to disable experience sharing.")); + // TRANSLATORS: party help message chatLog(_("Command: /exp")); + // TRANSLATORS: party help message chatLog(_("This command displays the party's current " "experience sharing policy.")); } @@ -124,9 +146,14 @@ bool PartyTab::handleCommand(const std::string &type, const std::string &args) else if (type == "create" || type == "new") { if (args.empty()) + { + // TRANSLATORS: chat error message chatLog(_("Party name is missing."), BY_SERVER); + } else + { Net::getPartyHandler()->create(args); + } } else if (type == "invite") { @@ -147,15 +174,19 @@ bool PartyTab::handleCommand(const std::string &type, const std::string &args) switch (Net::getPartyHandler()->getShareItems()) { case PARTY_SHARE: + // TRANSLATORS: chat message chatLog(_("Item sharing enabled."), BY_SERVER); return true; case PARTY_SHARE_NO: + // TRANSLATORS: chat message chatLog(_("Item sharing disabled."), BY_SERVER); return true; case PARTY_SHARE_NOT_POSSIBLE: + // TRANSLATORS: chat message chatLog(_("Item sharing not possible."), BY_SERVER); return true; case PARTY_SHARE_UNKNOWN: + // TRANSLATORS: chat message chatLog(_("Item sharing unknown."), BY_SERVER); return true; default: @@ -187,15 +218,19 @@ bool PartyTab::handleCommand(const std::string &type, const std::string &args) switch (Net::getPartyHandler()->getShareExperience()) { case PARTY_SHARE: + // TRANSLATORS: chat message chatLog(_("Experience sharing enabled."), BY_SERVER); return true; case PARTY_SHARE_NO: + // TRANSLATORS: chat message chatLog(_("Experience sharing disabled."), BY_SERVER); return true; case PARTY_SHARE_NOT_POSSIBLE: + // TRANSLATORS: chat message chatLog(_("Experience sharing not possible."), BY_SERVER); return true; case PARTY_SHARE_UNKNOWN: + // TRANSLATORS: chat message chatLog(_("Experience sharing unknown."), BY_SERVER); return true; default: diff --git a/src/net/ea/guildhandler.cpp b/src/net/ea/guildhandler.cpp index 3f0375fea..b2a78f7da 100644 --- a/src/net/ea/guildhandler.cpp +++ b/src/net/ea/guildhandler.cpp @@ -172,20 +172,29 @@ void GuildHandler::processGuildBasicInfo(Net::MessageIn &msg) if (guildTab && showBasicInfo) { showBasicInfo = false; + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild name: %s"), name.c_str()), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild master: %s"), master.c_str()), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild level: %d"), level), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Online members: %d"), members), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Max members: %d"), maxMembers), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Average level: %d"), avgLevel), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild exp: %d"), exp), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild next exp: %d"), nextExp), BY_SERVER); + // TRANSLATORS: guild info message guildTab->chatLog(strprintf(_("Guild castle: %s"), castle.c_str()), BY_SERVER); } diff --git a/src/net/ea/loginhandler.cpp b/src/net/ea/loginhandler.cpp index c50f76cdd..2632aeb3b 100644 --- a/src/net/ea/loginhandler.cpp +++ b/src/net/ea/loginhandler.cpp @@ -148,15 +148,19 @@ void LoginHandler::procecessCharPasswordResponse(Net::MessageIn &msg) const { case 0: errorMessage = + // TRANSLATORS: error message _("Account was not found. Please re-login."); break; case 2: + // TRANSLATORS: error message errorMessage = _("Old password incorrect."); break; case 3: + // TRANSLATORS: error message errorMessage = _("New password too short."); break; default: + // TRANSLATORS: error message errorMessage = _("Unknown error."); break; } @@ -229,26 +233,33 @@ void LoginHandler::processLoginError(Net::MessageIn &msg) const switch (code) { case 0: + // TRANSLATORS: error message errorMessage = _("Unregistered ID."); break; case 1: + // TRANSLATORS: error message errorMessage = _("Wrong password."); LoginDialog::savedPassword.clear(); break; case 2: + // TRANSLATORS: error message errorMessage = _("Account expired."); break; case 3: + // TRANSLATORS: error message errorMessage = _("Rejected from server."); break; case 4: + // TRANSLATORS: error message errorMessage = _("You have been permanently banned from " "the game. Please contact the GM team."); break; case 5: + // TRANSLATORS: error message errorMessage = _("Client too old."); break; case 6: + // TRANSLATORS: error message errorMessage = strprintf(_("You have been temporarily " "banned from the game until " "%s.\nPlease contact the GM " @@ -256,21 +267,27 @@ void LoginHandler::processLoginError(Net::MessageIn &msg) const msg.readString(20).c_str()); break; case 7: + // TRANSLATORS: error message errorMessage = _("Server overpopulated."); break; case 9: + // TRANSLATORS: error message errorMessage = _("This user name is already taken."); break; case 10: + // TRANSLATORS: error message errorMessage = _("Wrong name."); break; case 11: + // TRANSLATORS: error message errorMessage = _("Incorrect email."); break; case 99: + // TRANSLATORS: error message errorMessage = _("Username permanently erased."); break; default: + // TRANSLATORS: error message errorMessage = _("Unknown error."); break; } diff --git a/src/net/ea/network.cpp b/src/net/ea/network.cpp index 9f1bdabe0..2b9c048f7 100644 --- a/src/net/ea/network.cpp +++ b/src/net/ea/network.cpp @@ -96,6 +96,7 @@ bool Network::connect(ServerInfo server) if (server.hostname.empty()) { + // TRANSLATORS: error message setError(_("Empty address given to Network::connect()!")); return false; } @@ -190,6 +191,7 @@ bool Network::realConnect() mServer.port) == -1) { const std::string errorMessage = std::string( + // TRANSLATORS: error message _("Unable to resolve host \"")).append( mServer.hostname).append("\""); setError(errorMessage); @@ -265,6 +267,7 @@ void Network::receive() } else if (ret < 0) { + // TRANSLATORS: error message setError(_("Connection to server terminated. ") + std::string(TcpNet::getError())); } diff --git a/src/net/ea/playerhandler.cpp b/src/net/ea/playerhandler.cpp index 3c8627f4b..309888d50 100644 --- a/src/net/ea/playerhandler.cpp +++ b/src/net/ea/playerhandler.cpp @@ -91,43 +91,70 @@ static const char *randomDeathMessage() { static const char *const deadMsg[] = { + // TRANSLATORS: death message N_("You are dead."), + // TRANSLATORS: death message N_("We regret to inform you that your character was killed in " "battle."), + // TRANSLATORS: death message N_("You are not that alive anymore."), + // TRANSLATORS: death message N_("The cold hands of the grim reaper are grabbing for your soul."), + // TRANSLATORS: death message N_("Game Over!"), + // TRANSLATORS: death message N_("Insert coin to continue."), + // TRANSLATORS: death message N_("No, kids. Your character did not really die. It... " "err... went to a better place."), + // TRANSLATORS: death message N_("Your plan of breaking your enemies weapon by " "bashing it with your throat failed."), + // TRANSLATORS: death message N_("I guess this did not run too well."), // NetHack reference: + // TRANSLATORS: death message N_("Do you want your possessions identified?"), // Secret of Mana reference: + // TRANSLATORS: death message N_("Sadly, no trace of you was ever found..."), // Final Fantasy VI reference: + // TRANSLATORS: death message N_("Annihilated."), // Earthbound reference: + // TRANSLATORS: death message N_("Looks like you got your head handed to you."), // Leisure Suit Larry 1 reference: + // TRANSLATORS: death message N_("You screwed up again, dump your body down the tubes " "and get you another one."), // Monty Python references (Dead Parrot sketch mostly): + // TRANSLATORS: death message N_("You're not dead yet. You're just resting."), + // TRANSLATORS: death message N_("You are no more."), + // TRANSLATORS: death message N_("You have ceased to be."), + // TRANSLATORS: death message N_("You've expired and gone to meet your maker."), + // TRANSLATORS: death message N_("You're a stiff."), + // TRANSLATORS: death message N_("Bereft of life, you rest in peace."), + // TRANSLATORS: death message N_("If you weren't so animated, you'd be pushing up the daisies."), + // TRANSLATORS: death message N_("Your metabolic processes are now history."), + // TRANSLATORS: death message N_("You're off the twig."), + // TRANSLATORS: death message N_("You've kicked the bucket."), + // TRANSLATORS: death message N_("You've shuffled off your mortal coil, run down the " "curtain and joined the bleedin' choir invisibile."), + // TRANSLATORS: death message N_("You are an ex-player."), + // TRANSLATORS: death message N_("You're pining for the fjords.") }; @@ -332,7 +359,9 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) const if (value >= max && total < max) { weightNoticeTime = cur_time + 5; + // TRANSLATORS: message header weightNotice = new OkDialog(_("Message"), + // TRANSLATORS: weight message _("You are carrying more than " "half your weight. You are " "unable to regain health."), DIALOG_OK, false); @@ -342,7 +371,9 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) const else if (value < max && total >= max) { weightNoticeTime = cur_time + 5; + // TRANSLATORS: message header weightNotice = new OkDialog(_("Message"), + // TRANSLATORS: weight message _("You are carrying less than " "half your weight. You " "can regain health."), DIALOG_OK, false); @@ -424,6 +455,7 @@ void PlayerHandler::processPlayerStatUpdate1(Net::MessageIn &msg) const if (PlayerInfo::getAttribute(PlayerInfo::HP) == 0 && !deathNotice) { + // TRANSLATORS: message header deathNotice = new OkDialog(_("Message"), randomDeathMessage(), DIALOG_OK, false); deathNotice->addActionListener(&deathListener); diff --git a/src/net/ea/skillhandler.cpp b/src/net/ea/skillhandler.cpp index 7fe37be95..68597dd85 100644 --- a/src/net/ea/skillhandler.cpp +++ b/src/net/ea/skillhandler.cpp @@ -147,21 +147,27 @@ void SkillHandler::processSkillFailed(Net::MessageIn &msg) const switch (bskill) { case BSKILL_TRADE: + // TRANSLATORS: error message txt = _("Trade failed!"); break; case BSKILL_EMOTE: + // TRANSLATORS: error message txt = _("Emote failed!"); break; case BSKILL_SIT: + // TRANSLATORS: error message txt = _("Sit failed!"); break; case BSKILL_CREATECHAT: + // TRANSLATORS: error message txt = _("Chat creating failed!"); break; case BSKILL_JOINPARTY: + // TRANSLATORS: error message txt = _("Could not join party!"); break; case BSKILL_SHOUT: + // TRANSLATORS: error message txt = _("Cannot shout!"); break; default: @@ -175,37 +181,48 @@ void SkillHandler::processSkillFailed(Net::MessageIn &msg) const switch (reason) { case RFAIL_SKILLDEP: + // TRANSLATORS: error message txt.append(_("You have not yet reached a high enough lvl!")); break; case RFAIL_INSUFHP: + // TRANSLATORS: error message txt.append(_("Insufficient HP!")); break; case RFAIL_INSUFSP: + // TRANSLATORS: error message txt.append(_("Insufficient SP!")); break; case RFAIL_NOMEMO: + // TRANSLATORS: error message txt.append(_("You have no memos!")); break; case RFAIL_SKILLDELAY: + // TRANSLATORS: error message txt.append(_("You cannot do that right now!")); break; case RFAIL_ZENY: + // TRANSLATORS: error message txt.append(_("Seems you need more money... ;-)")); break; case RFAIL_WEAPON: + // TRANSLATORS: error message txt.append(_("You cannot use this skill with that " "kind of weapon!")); break; case RFAIL_REDGEM: + // TRANSLATORS: error message txt.append(_("You need another red gem!")); break; case RFAIL_BLUEGEM: + // TRANSLATORS: error message txt.append(_("You need another blue gem!")); break; case RFAIL_OVERWEIGHT: + // TRANSLATORS: error message txt.append(_("You're carrying to much to do this!")); break; default: + // TRANSLATORS: error message txt.append(_("Huh? What's that?")); logger->log("QQQ SMSG_SKILL_FAILED: reason " + toString(reason)); @@ -217,12 +234,15 @@ void SkillHandler::processSkillFailed(Net::MessageIn &msg) const switch (skillId) { case SKILL_WARP : + // TRANSLATORS: error message txt = _("Warp failed..."); break; case SKILL_STEAL : + // TRANSLATORS: error message txt = _("Could not steal anything..."); break; case SKILL_ENVENOM : + // TRANSLATORS: error message txt = _("Poison had no effect..."); break; default: diff --git a/src/net/ea/tradehandler.cpp b/src/net/ea/tradehandler.cpp index 91bd4de69..03dc1bcac 100644 --- a/src/net/ea/tradehandler.cpp +++ b/src/net/ea/tradehandler.cpp @@ -99,7 +99,9 @@ void TradeHandler::processTradeRequest(Net::MessageIn &msg) != tradePartnerName) { tradeWindow->clear(); + // TRANSLATORS: trade message confirmDlg = new ConfirmDialog(_("Request for Trade"), + // TRANSLATORS: trade message strprintf(_("%s wants to trade with you, do" " you accept?"), tradePartnerName.c_str()), true); confirmDlg->addActionListener(&listener); @@ -144,6 +146,7 @@ void TradeHandler::processTradeResponse(Net::MessageIn &msg) if (tradeWindow) { tradeWindow->reset(); + // TRANSLATORS: trade header tradeWindow->setCaption(strprintf(_("Trade: You and %s"), tradePartnerName.c_str())); tradeWindow->initTrade(tradePartnerName); diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp index 01a012ee0..fa625b76f 100644 --- a/src/net/tmwa/generalhandler.cpp +++ b/src/net/tmwa/generalhandler.cpp @@ -101,11 +101,17 @@ GeneralHandler::GeneralHandler() : generalHandler = this; std::vector<ItemDB::Stat> stats; + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("str", _("Strength %+d"))); + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("agi", _("Agility %+d"))); + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("vit", _("Vitality %+d"))); + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("int", _("Intelligence %+d"))); + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("dex", _("Dexterity %+d"))); + // TRANSLATORS: player stat stats.push_back(ItemDB::Stat("luck", _("Luck %+d"))); ItemDB::setStatsList(stats); @@ -131,29 +137,36 @@ void GeneralHandler::handleMessage(Net::MessageIn &msg) switch (code) { case 0: + // TRANSLATORS: error message errorMessage = _("Authentication failed."); break; case 1: + // TRANSLATORS: error message errorMessage = _("No servers available."); break; case 2: if (Client::getState() == STATE_GAME) { + // TRANSLATORS: error message errorMessage = _("Someone else is trying to use this " "account."); } else { + // TRANSLATORS: error message errorMessage = _("This account is already logged in."); } break; case 3: + // TRANSLATORS: error message errorMessage = _("Speed hack detected."); break; case 8: + // TRANSLATORS: error message errorMessage = _("Duplicated login."); break; default: + // TRANSLATORS: error message errorMessage = _("Unknown connection error."); break; } @@ -229,9 +242,14 @@ void GeneralHandler::flushNetwork() if (mNetwork->getState() == Network::NET_ERROR) { if (!mNetwork->getError().empty()) + { errorMessage = mNetwork->getError(); + } else + { + // TRANSLATORS: error message errorMessage = _("Got disconnected from server!"); + } Client::setState(STATE_ERROR); } @@ -257,26 +275,43 @@ void GeneralHandler::gameStarted() const // protection against double addition attributes. statusWindow->clearAttributes(); + // TRANSLATORS: player stat statusWindow->addAttribute(STR, _("Strength"), "str", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(AGI, _("Agility"), "agi", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(VIT, _("Vitality"), "vit", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(INT, _("Intelligence"), "int", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(DEX, _("Dexterity"), "dex", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(LUK, _("Luck"), "luk", true, ""); + // TRANSLATORS: player stat statusWindow->addAttribute(ATK, _("Attack")); + // TRANSLATORS: player stat statusWindow->addAttribute(DEF, _("Defense")); + // TRANSLATORS: player stat statusWindow->addAttribute(MATK, _("M.Attack")); + // TRANSLATORS: player stat statusWindow->addAttribute(MDEF, _("M.Defense")); + // TRANSLATORS: player stat // xgettext:no-c-format statusWindow->addAttribute(HIT, _("% Accuracy")); + // TRANSLATORS: player stat // xgettext:no-c-format statusWindow->addAttribute(FLEE, _("% Evade")); + // TRANSLATORS: player stat // xgettext:no-c-format statusWindow->addAttribute(CRIT, _("% Critical")); + // TRANSLATORS: player stat statusWindow->addAttribute(PlayerInfo::ATTACK_DELAY, _("Attack Delay")); + // TRANSLATORS: player stat statusWindow->addAttribute(PlayerInfo::WALK_SPEED, _("Walk Delay")); + // TRANSLATORS: player stat statusWindow->addAttribute(PlayerInfo::ATTACK_RANGE, _("Attack Range")); + // TRANSLATORS: player stat statusWindow->addAttribute(PlayerInfo::ATTACK_SPEED, _("Damage per sec.")); } |