summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/beingpopup.cpp4
-rw-r--r--src/gui/botcheckerwindow.cpp7
-rw-r--r--src/gui/buydialog.cpp18
-rw-r--r--src/gui/buyselldialog.cpp10
-rw-r--r--src/gui/changeemaildialog.cpp9
-rw-r--r--src/gui/changepassworddialog.cpp11
-rw-r--r--src/gui/charcreatedialog.cpp28
-rw-r--r--src/gui/charselectdialog.cpp20
-rw-r--r--src/gui/chatwindow.cpp20
-rw-r--r--src/gui/confirmdialog.cpp5
-rw-r--r--src/gui/connectiondialog.cpp1
-rw-r--r--src/gui/debugwindow.cpp76
-rw-r--r--src/gui/didyouknowwindow.cpp7
-rw-r--r--src/gui/editdialog.cpp1
-rw-r--r--src/gui/editserverdialog.cpp12
-rw-r--r--src/gui/equipmentwindow.cpp2
-rw-r--r--src/gui/helpwindow.cpp4
-rw-r--r--src/gui/inventorywindow.cpp34
-rw-r--r--src/gui/itemamountwindow.cpp18
-rw-r--r--src/gui/itempopup.cpp12
-rw-r--r--src/gui/killstats.cpp50
-rw-r--r--src/gui/logindialog.cpp22
-rw-r--r--src/gui/minimap.cpp6
-rw-r--r--src/gui/ministatuswindow.cpp33
-rw-r--r--src/gui/npcdialog.cpp10
-rw-r--r--src/gui/npcpostdialog.cpp5
-rw-r--r--src/gui/okdialog.cpp1
-rw-r--r--src/gui/outfitwindow.cpp10
-rw-r--r--src/gui/popupmenu.cpp268
-rw-r--r--src/gui/questswindow.cpp3
-rw-r--r--src/gui/quitdialog.cpp7
-rw-r--r--src/gui/registerdialog.cpp19
-rw-r--r--src/gui/selldialog.cpp9
-rw-r--r--src/gui/serverdialog.cpp21
-rw-r--r--src/gui/setup.cpp7
-rw-r--r--src/gui/setup_audio.cpp30
-rw-r--r--src/gui/setup_chat.cpp34
-rw-r--r--src/gui/setup_colors.cpp23
-rw-r--r--src/gui/setup_input.cpp8
-rw-r--r--src/gui/setup_joystick.cpp10
-rw-r--r--src/gui/setup_other.cpp77
-rw-r--r--src/gui/setup_perfomance.cpp23
-rw-r--r--src/gui/setup_players.cpp15
-rw-r--r--src/gui/setup_relations.cpp19
-rw-r--r--src/gui/setup_theme.cpp45
-rw-r--r--src/gui/setup_touch.cpp19
-rw-r--r--src/gui/setup_video.cpp39
-rw-r--r--src/gui/setup_visual.cpp36
-rw-r--r--src/gui/setupactiondata.h295
-rw-r--r--src/gui/shopwindow.cpp14
-rw-r--r--src/gui/skilldialog.cpp14
-rw-r--r--src/gui/socialwindow.cpp78
-rw-r--r--src/gui/statuswindow.cpp29
-rw-r--r--src/gui/textcommandeditor.cpp33
-rw-r--r--src/gui/textdialog.cpp2
-rw-r--r--src/gui/tradewindow.cpp12
-rw-r--r--src/gui/unregisterdialog.cpp13
-rw-r--r--src/gui/updaterwindow.cpp8
-rw-r--r--src/gui/userpalette.cpp72
-rw-r--r--src/gui/whoisonline.cpp8
-rw-r--r--src/gui/widgets/battletab.cpp1
-rw-r--r--src/gui/widgets/chattab.cpp10
-rw-r--r--src/gui/widgets/extendednamesmodel.cpp3
-rw-r--r--src/gui/widgets/gmtab.cpp1
-rw-r--r--src/gui/widgets/guildchattab.cpp12
-rw-r--r--src/gui/widgets/itemlinkhandler.cpp1
-rw-r--r--src/gui/widgets/langtab.cpp1
-rw-r--r--src/gui/widgets/namesmodel.cpp3
-rw-r--r--src/gui/widgets/setupitem.cpp2
-rw-r--r--src/gui/widgets/tradetab.cpp1
-rw-r--r--src/gui/widgets/whispertab.cpp15
-rw-r--r--src/gui/windowmenu.cpp11
-rw-r--r--src/gui/worldselectdialog.cpp3
73 files changed, 1680 insertions, 110 deletions
diff --git a/src/gui/beingpopup.cpp b/src/gui/beingpopup.cpp
index 7cd797cb2..63e3e1bef 100644
--- a/src/gui/beingpopup.cpp
+++ b/src/gui/beingpopup.cpp
@@ -124,6 +124,7 @@ void BeingPopup::show(const int x, const int y, Being *const b)
if (!(b->getPartyName().empty()))
{
+ // TRANSLATORS: being popup label
label1->setCaption(strprintf(_("Party: %s"),
b->getPartyName().c_str()));
label1->adjustSize();
@@ -138,6 +139,7 @@ void BeingPopup::show(const int x, const int y, Being *const b)
if (!(b->getGuildName().empty()))
{
+ // TRANSLATORS: being popup label
label2->setCaption(strprintf(_("Guild: %s"),
b->getGuildName().c_str()));
label2->adjustSize();
@@ -151,6 +153,7 @@ void BeingPopup::show(const int x, const int y, Being *const b)
if (b->getPvpRank() > 0)
{
+ // TRANSLATORS: being popup label
label3->setCaption(strprintf(_("Pvp rank: %u"), b->getPvpRank()));
label3->adjustSize();
}
@@ -162,6 +165,7 @@ void BeingPopup::show(const int x, const int y, Being *const b)
if (!b->getComment().empty())
{
+ // TRANSLATORS: being popup label
label4->setCaption(strprintf(_("Comment: %s"),
b->getComment().c_str()));
label4->adjustSize();
diff --git a/src/gui/botcheckerwindow.cpp b/src/gui/botcheckerwindow.cpp
index 3cc4b065b..910c9cb06 100644
--- a/src/gui/botcheckerwindow.cpp
+++ b/src/gui/botcheckerwindow.cpp
@@ -265,6 +265,7 @@ protected:
BotCheckerWindow::BotCheckerWindow():
+ // TRANSLATORS: bot checker window header
Window(_("Bot Checker"), false, nullptr, "botchecker.xml"),
gcn::ActionListener(),
mTableModel(new UsersTableModel(this)),
@@ -273,6 +274,7 @@ BotCheckerWindow::BotCheckerWindow():
"bochecker_background.xml")),
mPlayerTableTitleModel(new StaticTableModel(1, COLUMNS_NR)),
mPlayerTitleTable(new GuiTable(this, mPlayerTableTitleModel)),
+ // TRANSLATORS: bot checker window button
mIncButton(new Button(this, _("Reset"), "reset", this)),
mLastUpdateTime(0),
mNeedUpdate(false),
@@ -299,10 +301,15 @@ BotCheckerWindow::BotCheckerWindow():
mPlayerTitleTable->setHeight(1);
+ // TRANSLATORS: bot checker window table header
mPlayerTableTitleModel->set(0, 0, new Label(this, _("Name")));
+ // TRANSLATORS: bot checker window table header
mPlayerTableTitleModel->set(0, 1, new Label(this, _("Attack")));
+ // TRANSLATORS: bot checker window table header
mPlayerTableTitleModel->set(0, 2, new Label(this, _("Talk")));
+ // TRANSLATORS: bot checker window table header
mPlayerTableTitleModel->set(0, 3, new Label(this, _("Move")));
+ // TRANSLATORS: bot checker window table header
mPlayerTableTitleModel->set(0, 4, new Label(this, _("Result")));
mPlayerTitleTable->setLinewiseSelection(true);
diff --git a/src/gui/buydialog.cpp b/src/gui/buydialog.cpp
index 3930ae715..e19a0a8f1 100644
--- a/src/gui/buydialog.cpp
+++ b/src/gui/buydialog.cpp
@@ -51,12 +51,19 @@
static const char *SORT_NAME_BUY[7] =
{
+ // TRANSLATORS: buy dialog sort type.
N_("unsorted"),
+ // TRANSLATORS: buy dialog sort type.
N_("by price"),
+ // TRANSLATORS: buy dialog sort type.
N_("by name"),
+ // TRANSLATORS: buy dialog sort type.
N_("by id"),
+ // TRANSLATORS: buy dialog sort type.
N_("by weight"),
+ // TRANSLATORS: buy dialog sort type.
N_("by amount"),
+ // TRANSLATORS: buy dialog sort type.
N_("by type")
};
@@ -72,8 +79,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return gettext(SORT_NAME_BUY[i]);
}
};
@@ -183,6 +189,7 @@ class SortItemTypeFunctor final
BuyDialog::DialogList BuyDialog::instances;
BuyDialog::BuyDialog(const int npcId) :
+ // TRANSLATORS: buy dialog name
Window(_("Buy"), false, nullptr, "buy.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
@@ -194,6 +201,7 @@ BuyDialog::BuyDialog(const int npcId) :
}
BuyDialog::BuyDialog(std::string nick) :
+ // TRANSLATORS: buy dialog name
Window(_("Buy"), false, nullptr, "buy.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
@@ -226,6 +234,7 @@ void BuyDialog::init()
mQuantityLabel = new Label(this, strprintf(
"%d / %d", mAmountItems, mMaxItems));
mQuantityLabel->setAlignment(gcn::Graphics::CENTER);
+ // TRANSLATORS: buy dialog label
mMoneyLabel = new Label(this, strprintf(
_("Price: %s / Total: %s"), "", ""));
@@ -235,6 +244,7 @@ void BuyDialog::init()
mAmountField->setSendAlwaysEvents(true);
mAmountField->setEnabled(false);
+ // TRANSLATORS: buy dialog label
mAmountLabel = new Label(this, _("Amount:"));
mAmountLabel->adjustSize();
@@ -244,8 +254,11 @@ void BuyDialog::init()
// TRANSLATORS: This is a narrow symbol used to denote 'decreasing'.
// You may change this symbol if your language uses another.
mDecreaseButton = new Button(this, _("-"), "dec", this);
+ // TRANSLATORS: buy dialog button
mBuyButton = new Button(this, _("Buy"), "buy", this);
+ // TRANSLATORS: buy dialog button
mQuitButton = new Button(this, _("Quit"), "quit", this);
+ // TRANSLATORS: buy dialog button
mAddMaxButton = new Button(this, _("Max"), "max", this);
mDecreaseButton->adjustSize();
@@ -499,6 +512,7 @@ void BuyDialog::updateButtonsAndLabels()
// Update quantity and money labels
mQuantityLabel->setCaption(strprintf("%d / %d", mAmountItems, mMaxItems));
+ // TRANSLATORS: buy dialog label
mMoneyLabel->setCaption(strprintf(_("Price: %s / Total: %s"),
Units::formatCurrency(price).c_str(),
Units::formatCurrency(mMoney - price).c_str()));
diff --git a/src/gui/buyselldialog.cpp b/src/gui/buyselldialog.cpp
index ae031fffe..32e762c1d 100644
--- a/src/gui/buyselldialog.cpp
+++ b/src/gui/buyselldialog.cpp
@@ -35,6 +35,7 @@
BuySellDialog::DialogList BuySellDialog::dialogInstances;
BuySellDialog::BuySellDialog(const int npcId) :
+ // TRANSLATORS: shop window name
Window(_("Shop"), false, nullptr, "buysell.xml"),
gcn::ActionListener(),
mNpcId(npcId),
@@ -45,6 +46,7 @@ BuySellDialog::BuySellDialog(const int npcId) :
}
BuySellDialog::BuySellDialog(std::string nick) :
+ // TRANSLATORS: shop window name
Window(_("Shop"), false, nullptr, "buysell.xml"),
gcn::ActionListener(),
mNpcId(-1),
@@ -61,7 +63,13 @@ void BuySellDialog::init()
static const char *buttonNames[] =
{
- N_("Buy"), N_("Sell"), N_("Cancel"), nullptr
+ // TRANSLATORS: shop window button
+ N_("Buy"),
+ // TRANSLATORS: shop window button
+ N_("Sell"),
+ // TRANSLATORS: shop window button
+ N_("Cancel"),
+ nullptr
};
const int buttonPadding = getOption("buttonpadding", 10);
int x = buttonPadding;
diff --git a/src/gui/changeemaildialog.cpp b/src/gui/changeemaildialog.cpp
index 7e23b7918..3840dece3 100644
--- a/src/gui/changeemaildialog.cpp
+++ b/src/gui/changeemaildialog.cpp
@@ -43,19 +43,24 @@
#include "debug.h"
ChangeEmailDialog::ChangeEmailDialog(LoginData *const data):
+ // TRANSLATORS: change email dialog header
Window(_("Change Email Address"), true, nullptr, "changeemail.xml"),
gcn::ActionListener(),
mFirstEmailField(new TextField(this)),
mSecondEmailField(new TextField(this)),
+ // TRANSLATORS: button in change email dialog
mChangeEmailButton(new Button(this, _("Change Email Address"),
"change_email", this)),
+ // TRANSLATORS: button in change email dialog
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
+ // TRANSLATORS: label in change email dialog
Label *const accountLabel = new Label(this, strprintf(_("Account: %s"),
mLoginData->username.c_str()));
Label *const newEmailLabel = new Label(this,
+ // TRANSLATORS: label in change email dialog
_("Type new email address twice:"));
const int width = 200;
@@ -131,6 +136,7 @@ void ChangeEmailDialog::action(const gcn::ActionEvent &event)
if (newFirstEmail.length() < min)
{
// First email address too short
+ // TRANSLATORS: change email error
errorMsg << strprintf(_("The new email address needs to be at "
"least %u characters long."), min);
error = 1;
@@ -138,6 +144,7 @@ void ChangeEmailDialog::action(const gcn::ActionEvent &event)
else if (newFirstEmail.length() > max - 1 )
{
// First email address too long
+ // TRANSLATORS: change email error
errorMsg << strprintf(_("The new email address needs to be "
"less than %u characters long."), max);
error = 1;
@@ -145,6 +152,7 @@ void ChangeEmailDialog::action(const gcn::ActionEvent &event)
else if (newFirstEmail != newSecondEmail)
{
// Second Pass mismatch
+ // TRANSLATORS: change email error
errorMsg << _("The email address entries mismatch.");
error = 2;
}
@@ -156,6 +164,7 @@ void ChangeEmailDialog::action(const gcn::ActionEvent &event)
else if (error == 2)
mWrongDataNoticeListener->setTarget(this->mSecondEmailField);
+ // TRANSLATORS: change email error header
OkDialog *const dlg = new OkDialog(_("Error"),
errorMsg.str(), DIALOG_ERROR);
dlg->addActionListener(mWrongDataNoticeListener);
diff --git a/src/gui/changepassworddialog.cpp b/src/gui/changepassworddialog.cpp
index bf1ebc984..84b21da8b 100644
--- a/src/gui/changepassworddialog.cpp
+++ b/src/gui/changepassworddialog.cpp
@@ -44,23 +44,29 @@
#include "debug.h"
ChangePasswordDialog::ChangePasswordDialog(LoginData *const data):
+ // TRANSLATORS: change password window name
Window(_("Change Password"), true, nullptr, "changepassword.xml"),
gcn::ActionListener(),
mOldPassField(new PasswordField(this)),
mFirstPassField(new PasswordField(this)),
mSecondPassField(new PasswordField(this)),
+ // TRANSLATORS: change password dialog button
mChangePassButton(new Button(this, _("Change Password"),
"change_password", this)),
+ // TRANSLATORS: change password dialog button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mWrongDataNoticeListener(new WrongDataNoticeListener),
mLoginData(data)
{
Label *const accountLabel = new Label(this,
+ // TRANSLATORS: change password dialog label
strprintf(_("Account: %s"), mLoginData->username.c_str()));
place(0, 0, accountLabel, 3);
+ // TRANSLATORS: change password dialog label
place(0, 1, new Label(this, _("Password:")), 3);
place(0, 2, mOldPassField, 3).setPadding(1);
+ // TRANSLATORS: change password dialog label
place(0, 3, new Label(this, _("Type new password twice:")), 3);
place(0, 4, mFirstPassField, 3).setPadding(1);
place(0, 5, mSecondPassField, 3).setPadding(1);
@@ -111,12 +117,14 @@ void ChangePasswordDialog::action(const gcn::ActionEvent &event)
if (oldPassword.empty())
{
// No old password
+ // TRANSLATORS: change password error
errorMsg << _("Enter the old password first.");
error = 1;
}
else if (newFirstPass.length() < min)
{
// First password too short
+ // TRANSLATORS: change password error
errorMsg << strprintf(_("The new password needs to be at least"
" %u characters long."), min);
error = 2;
@@ -124,6 +132,7 @@ void ChangePasswordDialog::action(const gcn::ActionEvent &event)
else if (newFirstPass.length() > max - 1 )
{
// First password too long
+ // TRANSLATORS: change password error
errorMsg << strprintf(_("The new password needs to be less "
"than %u characters long."), max);
error = 2;
@@ -131,6 +140,7 @@ void ChangePasswordDialog::action(const gcn::ActionEvent &event)
else if (newFirstPass != newSecondPass)
{
// Second Pass mismatch
+ // TRANSLATORS: change password error
errorMsg << _("The new password entries mismatch.");
error = 3;
}
@@ -144,6 +154,7 @@ void ChangePasswordDialog::action(const gcn::ActionEvent &event)
else if (error == 3)
mWrongDataNoticeListener->setTarget(this->mSecondPassField);
+ // TRANSLATORS: change password error header
OkDialog *const dlg = new OkDialog(_("Error"),
errorMsg.str(), DIALOG_ERROR);
dlg->addActionListener(mWrongDataNoticeListener);
diff --git a/src/gui/charcreatedialog.cpp b/src/gui/charcreatedialog.cpp
index b8134313e..bbfd08939 100644
--- a/src/gui/charcreatedialog.cpp
+++ b/src/gui/charcreatedialog.cpp
@@ -66,41 +66,57 @@ static const uint8_t directions[] =
CharCreateDialog::CharCreateDialog(CharSelectDialog *const parent,
const int slot) :
+ // TRANSLATORS: char create dialog name
Window(_("New Character"), true, parent, "charcreate.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
mCharSelectDialog(parent),
mNameField(new TextField(this, "")),
+ // TRANSLATORS: char create dialog label
mNameLabel(new Label(this, _("Name:"))),
// TRANSLATORS: This is a narrow symbol used to denote 'next'.
// You may change this symbol if your language uses another.
+ // TRANSLATORS: char create dialog button
mNextHairColorButton(new Button(this, _(">"), "nextcolor", this)),
// TRANSLATORS: This is a narrow symbol used to denote 'previous'.
// You may change this symbol if your language uses another.
+ // TRANSLATORS: char create dialog button
mPrevHairColorButton(new Button(this, _("<"), "prevcolor", this)),
+ // TRANSLATORS: char create dialog label
mHairColorLabel(new Label(this, _("Hair color:"))),
mHairColorNameLabel(new Label(this, "")),
+ // TRANSLATORS: char create dialog button
mNextHairStyleButton(new Button(this, _(">"), "nextstyle", this)),
+ // TRANSLATORS: char create dialog button
mPrevHairStyleButton(new Button(this, _("<"), "prevstyle", this)),
+ // TRANSLATORS: char create dialog label
mHairStyleLabel(new Label(this, _("Hair style:"))),
mHairStyleNameLabel(new Label(this, "")),
mNextRaceButton(nullptr),
mPrevRaceButton(nullptr),
mRaceLabel(nullptr),
mRaceNameLabel(nullptr),
+ // TRANSLATORS: char create dialog button
mActionButton(new Button(this, _("^"), "action", this)),
+ // TRANSLATORS: char create dialog button
mRotateButton(new Button(this, _(">"), "rotate", this)),
+ // TRANSLATORS: char create dialog button
mMale(new RadioButton(this, _("Male"), "gender")),
+ // TRANSLATORS: char create dialog button
mFemale(new RadioButton(this, _("Female"), "gender")),
+ // TRANSLATORS: char create dialog button
mOther(new RadioButton(this, _("Other"), "gender")),
mAttributeSlider(),
mAttributeLabel(),
mAttributeValue(),
mAttributesLeft(new Label(this,
+ // TRANSLATORS: char create dialog label
strprintf(_("Please distribute %d points"), 99))),
mMaxPoints(0),
mUsedPoints(0),
+ // TRANSLATORS: char create dialog button
mCreateButton(new Button(this, _("Create"), "create", this)),
+ // TRANSLATORS: char create dialog button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mRace(0),
mPlayer(new Being(0, ActorSprite::PLAYER, static_cast<uint16_t>(mRace),
@@ -143,8 +159,11 @@ CharCreateDialog::CharCreateDialog(CharSelectDialog *const parent,
if (serverVersion >= 2)
{
+ // TRANSLATORS: char create dialog button
mNextRaceButton = new Button(this, _(">"), "nextrace", this);
+ // TRANSLATORS: char create dialog button
mPrevRaceButton = new Button(this, _("<"), "prevrace", this);
+ // TRANSLATORS: char create dialog label
mRaceLabel = new Label(this, _("Race:"));
mRaceNameLabel = new Label(this, "");
}
@@ -293,7 +312,9 @@ void CharCreateDialog::action(const gcn::ActionEvent &event)
}
else
{
+ // TRANSLATORS: char creation error
new OkDialog(_("Error"),
+ // TRANSLATORS: char creation error
_("Your name needs to be at least 4 characters."),
DIALOG_ERROR, true, this);
}
@@ -380,6 +401,7 @@ void CharCreateDialog::updateSliders()
const int pointsLeft = mMaxPoints - getDistributedPoints();
if (pointsLeft == 0)
{
+ // TRANSLATORS: char create dialog label
mAttributesLeft->setCaption(_("Character stats OK"));
mCreateButton->setEnabled(true);
}
@@ -389,12 +411,14 @@ void CharCreateDialog::updateSliders()
if (pointsLeft > 0)
{
mAttributesLeft->setCaption(
- strprintf(_("Please distribute %d points"), pointsLeft));
+ // TRANSLATORS: char create dialog label
+ strprintf(_("Please distribute %d points"), pointsLeft));
}
else
{
mAttributesLeft->setCaption(
- strprintf(_("Please remove %d points"), -pointsLeft));
+ // TRANSLATORS: char create dialog label
+ strprintf(_("Please remove %d points"), -pointsLeft));
}
}
diff --git a/src/gui/charselectdialog.cpp b/src/gui/charselectdialog.cpp
index 4afe7ae38..63f1524c8 100644
--- a/src/gui/charselectdialog.cpp
+++ b/src/gui/charselectdialog.cpp
@@ -56,7 +56,9 @@ class CharDeleteConfirm final : public ConfirmDialog
{
public:
CharDeleteConfirm(CharSelectDialog *const m, const int index) :
+ // TRANSLATORS: char deletion message
ConfirmDialog(_("Confirm Character Delete"),
+ // TRANSLATORS: char deletion message
_("Are you sure you want to delete this character?"),
false, false, m),
mMaster(m),
@@ -80,6 +82,7 @@ class CharDeleteConfirm final : public ConfirmDialog
};
CharSelectDialog::CharSelectDialog(LoginData *const data):
+ // TRANSLATORS: char select dialog name
Window(strprintf(_("Account %s (last login time %s)"),
data->username.c_str(), data->lastLogin.c_str()),
false, nullptr, "char.xml"),
@@ -87,13 +90,18 @@ CharSelectDialog::CharSelectDialog(LoginData *const data):
gcn::KeyListener(),
mLocked(false),
mLoginData(data),
+ // TRANSLATORS: char select dialog. button.
mSwitchLoginButton(new Button(this, _("Switch Login"), "switch", this)),
+ // TRANSLATORS: char select dialog. button.
mChangePasswordButton(new Button(this, _("Change Password"),
"change_password", this)),
mUnregisterButton(nullptr),
mChangeEmailButton(nullptr),
+ // TRANSLATORS: char select dialog. button.
mPlayButton(new Button(this, _("Play"), "use", this)),
+ // TRANSLATORS: char select dialog. button.
mInfoButton(new Button(this, _("Info"), "info", this)),
+ // TRANSLATORS: char select dialog. button.
mDeleteButton(new Button(this, _("Delete"), "delete", this)),
mCharacterView(nullptr),
mCharacterEntries(0),
@@ -117,6 +125,7 @@ CharSelectDialog::CharSelectDialog(LoginData *const data):
int n = 1;
if (optionalActions & Net::LoginHandler::Unregister)
{
+ // TRANSLATORS: char select dialog. button.
mUnregisterButton = new Button(this, _("Unregister"),
"unregister", this);
placer(n, 0, mUnregisterButton);
@@ -128,6 +137,7 @@ CharSelectDialog::CharSelectDialog(LoginData *const data):
if (optionalActions & Net::LoginHandler::ChangeEmail)
{
+ // TRANSLATORS: char select dialog. button.
mChangeEmailButton = new Button(this, _("Change Email"),
"change_email", this);
placer(n, 0, mChangeEmailButton);
@@ -158,6 +168,7 @@ CharSelectDialog::CharSelectDialog(LoginData *const data):
}
else
{
+ // TRANSLATORS: char select dialog name
setCaption(strprintf(_("Account %s"), mLoginData->username.c_str()));
mCharacterView = new CharacterViewSmall(
this, &mCharacterEntries, mPadding);
@@ -231,6 +242,7 @@ void CharSelectDialog::action(const gcn::ActionEvent &event)
return;
const std::string msg = strprintf(
+ // TRANSLATORS: char select dialog. player info message.
_("Hp: %u/%u\nMp: %u/%u\nLevel: %u\n"
"Experience: %u\nMoney: %s"),
character->data.mAttributes[PlayerInfo::HP],
@@ -272,6 +284,7 @@ void CharSelectDialog::action(const gcn::ActionEvent &event)
}
else
{
+ // TRANSLATORS: error message
new OkDialog(_("Error"), _("Incorrect password"), DIALOG_ERROR);
}
mDeleteIndex = -1;
@@ -400,6 +413,7 @@ void CharSelectDialog::askPasswordForDeletion(const int index)
{
mDeleteIndex = index;
mDeleteDialog = new TextDialog(
+ // TRANSLATORS: char deletion question.
_("Enter password for deleting character"), _("Enter password:"),
this, true);
mDeleteDialog->setActionEventId("try delete character");
@@ -546,7 +560,13 @@ void CharSelectDialog::updateState()
mPlayButton->setEnabled(true);
if (mCharacterEntries[idx]->getCharacter())
+ {
+ // TRANSLATORS: char select dialog. button.
mPlayButton->setCaption(_("Play"));
+ }
else
+ {
+ // TRANSLATORS: char select dialog. button.
mPlayButton->setCaption(_("Create"));
+ }
}
diff --git a/src/gui/chatwindow.cpp b/src/gui/chatwindow.cpp
index cde943c68..1213eb030 100644
--- a/src/gui/chatwindow.cpp
+++ b/src/gui/chatwindow.cpp
@@ -136,19 +136,33 @@ class ChatInput final : public TextField, public gcn::FocusListener
const char *COLOR_NAME[14] =
{
+ // TRANSLATORS: chat color
N_("default"),
+ // TRANSLATORS: chat color
N_("black"),
+ // TRANSLATORS: chat color
N_("red"),
+ // TRANSLATORS: chat color
N_("green"),
+ // TRANSLATORS: chat color
N_("blue"),
+ // TRANSLATORS: chat color
N_("gold"),
+ // TRANSLATORS: chat color
N_("yellow"),
+ // TRANSLATORS: chat color
N_("pink"),
+ // TRANSLATORS: chat color
N_("purple"),
+ // TRANSLATORS: chat color
N_("grey"),
+ // TRANSLATORS: chat color
N_("brown"),
+ // TRANSLATORS: chat color
N_("rainbow 1"),
+ // TRANSLATORS: chat color
N_("rainbow 2"),
+ // TRANSLATORS: chat color
N_("rainbow 3"),
};
@@ -167,8 +181,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return gettext(COLOR_NAME[i]);
}
};
@@ -176,6 +189,7 @@ public:
static const char *const ACTION_COLOR_PICKER = "color picker";
ChatWindow::ChatWindow():
+ // TRANSLATORS: chat window name
Window(_("Chat"), false, nullptr, "chat.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
@@ -717,6 +731,7 @@ void ChatWindow::doPresent() const
}
}
+ // TRANSLATORS: chat message
std::string log = strprintf(_("Present: %s; %d players are present."),
response.c_str(), playercount);
@@ -1146,6 +1161,7 @@ void ChatWindow::addWhisper(const std::string &nick,
{
Net::getChatHandler()->privateMessage(nick, mes);
+ // TRANSLATORS: chat message
localChatTab->chatLog(strprintf(_("Whispering to %s: %s"),
nick.c_str(), mes.c_str()), BY_PLAYER);
}
diff --git a/src/gui/confirmdialog.cpp b/src/gui/confirmdialog.cpp
index 66d7d1375..1351cd89c 100644
--- a/src/gui/confirmdialog.cpp
+++ b/src/gui/confirmdialog.cpp
@@ -46,12 +46,17 @@ ConfirmDialog::ConfirmDialog(const std::string &title, const std::string &msg,
mTextBox->setOpaque(false);
mTextBox->setTextWrapped(msg, 260);
+ // TRANSLATORS: confirm dialog button
Button *const yesButton = new Button(this, _("Yes"), "yes", this);
+ // TRANSLATORS: confirm dialog button
Button *const noButton = new Button(this, _("No"), "no", this);
Button *ignoreButton = nullptr;
if (ignore)
+ {
+ // TRANSLATORS: confirm dialog button
ignoreButton = new Button(this, _("Ignore"), "ignore", this);
+ }
const int numRows = mTextBox->getNumberOfRows();
int inWidth = yesButton->getWidth() + noButton->getWidth() +
diff --git a/src/gui/connectiondialog.cpp b/src/gui/connectiondialog.cpp
index 94a055de5..e5406441b 100644
--- a/src/gui/connectiondialog.cpp
+++ b/src/gui/connectiondialog.cpp
@@ -44,6 +44,7 @@ ConnectionDialog::ConnectionDialog(const std::string &text,
ProgressIndicator *const progressIndicator = new ProgressIndicator;
Label *const label = new Label(this, text);
Button *const cancelButton = new Button(
+ // TRANSLATORS: connection dialog button
this, _("Cancel"), "cancelButton", this);
place(0, 0, progressIndicator);
diff --git a/src/gui/debugwindow.cpp b/src/gui/debugwindow.cpp
index 2c9c40758..a2f970476 100644
--- a/src/gui/debugwindow.cpp
+++ b/src/gui/debugwindow.cpp
@@ -47,6 +47,7 @@
#include "debug.h"
DebugWindow::DebugWindow():
+ // TRANSLATORS: debug window name
Window(_("Debug"), false, nullptr, "debug.xml"),
mTabs(new TabbedArea(this)),
mMapWidget(new MapDebugTab(this)),
@@ -64,8 +65,11 @@ DebugWindow::DebugWindow():
setDefaultSize(400, 300, ImageRect::CENTER);
+ // TRANSLATORS: debug window tab
mTabs->addTab(std::string(_("Map")), mMapWidget);
+ // TRANSLATORS: debug window tab
mTabs->addTab(std::string(_("Target")), mTargetWidget);
+ // TRANSLATORS: debug window tab
mTabs->addTab(std::string(_("Net")), mNetWidget);
mTabs->setDimension(gcn::Rectangle(0, 0, 600, 300));
@@ -143,23 +147,33 @@ void DebugWindow::widgetResized(const gcn::Event &event)
MapDebugTab::MapDebugTab(const Widget2 *const widget) :
DebugTab(widget),
+ // TRANSLATORS: debug window label
mMusicFileLabel(new Label(this, strprintf(_("Music:")))),
+ // TRANSLATORS: debug window label
mMapLabel(new Label(this, strprintf(_("Map:")))),
+ // TRANSLATORS: debug window label
mMinimapLabel(new Label(this, strprintf(_("Minimap:")))),
mTileMouseLabel(new Label(this, strprintf("%s (%d, %d)",
+ // TRANSLATORS: debug window label
_("Cursor:"), 0, 0))),
mParticleCountLabel(new Label(this, strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Particle count:"), 88888))),
mMapActorCountLabel(new Label(this, strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Map actors count:"), 88888))),
+ // TRANSLATORS: debug window label
mXYLabel(new Label(this, strprintf("%s (?,?)", _("Player Position:")))),
mTexturesLabel(nullptr),
mUpdateTime(0),
#ifdef DEBUG_DRAW_CALLS
mDrawCallsLabel(new Label(this, strprintf("%s %s",
+ // TRANSLATORS: debug window label
_("Draw calls:"), "?"))),
#endif
+ // TRANSLATORS: debug window label
mFPSLabel(new Label(this, strprintf(_("%d FPS"), 0))),
+ // TRANSLATORS: debug window label
mLPSLabel(new Label(this, strprintf(_("%d LPS"), 0))),
mFPSText()
{
@@ -170,20 +184,25 @@ MapDebugTab::MapDebugTab(const Widget2 *const widget) :
switch (imageHelper->useOpenGL())
{
case 0:
+ // TRANSLATORS: debug window label
mFPSText = _("%d FPS (Software)");
break;
case 1:
default:
+ // TRANSLATORS: debug window label
mFPSText = _("%d FPS (fast OpenGL)");
break;
case 2:
+ // TRANSLATORS: debug window label
mFPSText = _("%d FPS (old OpenGL)");
break;
case 3:
+ // TRANSLATORS: debug window label
mFPSText = _("%d FPS (mobile OpenGL)");
break;
};
#else
+ // TRANSLATORS: debug window label
mFPSText = _("%d FPS (Software)");
#endif
@@ -202,6 +221,7 @@ MapDebugTab::MapDebugTab(const Widget2 *const widget) :
#endif
#ifdef DEBUG_OPENGL_LEAKS
mTexturesLabel = new Label(this, strprintf("%s %s",
+ // TRANSLATORS: debug window label
_("Textures count:"), "?"));
place(0, n, mTexturesLabel, 2);
n ++;
@@ -219,11 +239,13 @@ void MapDebugTab::logic()
{
if (player_node)
{
+ // TRANSLATORS: debug window label
mXYLabel->setCaption(strprintf("%s (%d, %d)", _("Player Position:"),
player_node->getTileX(), player_node->getTileY()));
}
else
{
+ // TRANSLATORS: debug window label
mXYLabel->setCaption(strprintf("%s (?, ?)", _("Player Position:")));
}
@@ -236,12 +258,16 @@ void MapDebugTab::logic()
const int mouseTileY = (viewport->getMouseY() + viewport->getCameraY())
/ map->getTileHeight();
mTileMouseLabel->setCaption(strprintf("%s (%d, %d)",
+ // TRANSLATORS: debug window label
_("Cursor:"), mouseTileX, mouseTileY));
+ // TRANSLATORS: debug window label
mMusicFileLabel->setCaption(strprintf("%s %s", _("Music:"),
map->getProperty("music").c_str()));
+ // TRANSLATORS: debug window label
mMinimapLabel->setCaption(strprintf("%s %s", _("Minimap:"),
map->getProperty("minimap").c_str()));
+ // TRANSLATORS: debug window label
mMapLabel->setCaption(strprintf("%s %s", _("Map:"),
map->getProperty("_realfilename").c_str()));
@@ -249,21 +275,25 @@ void MapDebugTab::logic()
if (mUpdateTime != cur_time)
{
mUpdateTime = cur_time;
+ // TRANSLATORS: debug window label
mParticleCountLabel->setCaption(strprintf(_("Particle count: %d"),
- Particle::particleCount));
+ Particle::particleCount));
mMapActorCountLabel->setCaption(
+ // TRANSLATORS: debug window label
strprintf("%s %d", _("Map actors count:"),
map->getActorsCount()));
#ifdef USE_OPENGL
#ifdef DEBUG_OPENGL_LEAKS
mTexturesLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Textures count:"), textures_count));
#endif
#ifdef DEBUG_DRAW_CALLS
if (mainGraphics)
{
mDrawCallsLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Draw calls:"), mainGraphics->getDrawCalls()));
}
#endif
@@ -272,13 +302,17 @@ void MapDebugTab::logic()
}
else
{
+ // TRANSLATORS: debug window label
mTileMouseLabel->setCaption(strprintf("%s (?, ?)", _("Cursor:")));
-
+ // TRANSLATORS: debug window label
mMusicFileLabel->setCaption(strprintf("%s ?", _("Music:")));
+ // TRANSLATORS: debug window label
mMinimapLabel->setCaption(strprintf("%s ?", _("Minimap:")));
+ // TRANSLATORS: debug window label
mMapLabel->setCaption(strprintf("%s ?", _("Map:")));
mMapActorCountLabel->setCaption(
+ // TRANSLATORS: debug window label
strprintf("%s ?", _("Map actors count:")));
}
@@ -286,22 +320,34 @@ void MapDebugTab::logic()
mParticleCountLabel->adjustSize();
mFPSLabel->setCaption(strprintf(mFPSText.c_str(), fps));
+ // TRANSLATORS: debug window label
mLPSLabel->setCaption(strprintf(_("%d LPS"), lps));
}
TargetDebugTab::TargetDebugTab(const Widget2 *const widget) :
DebugTab(widget),
+ // TRANSLATORS: debug window label
mTargetLabel(new Label(this, strprintf("%s ?", _("Target:")))),
+ // TRANSLATORS: debug window label
mTargetIdLabel(new Label(this, strprintf("%s ? ", _("Target Id:")))),
mTargetTypeLabel(new Label(this, strprintf(
+ // TRANSLATORS: debug window label
"%s ? ", _("Target type:")))),
+ // TRANSLATORS: debug window label
mTargetLevelLabel(new Label(this, strprintf("%s ?", _("Target level:")))),
+ // TRANSLATORS: debug window label
mTargetRaceLabel(new Label(this, strprintf("%s ?", _("Target race:")))),
+ // TRANSLATORS: debug window label
mTargetPartyLabel(new Label(this, strprintf("%s ?", _("Target party:")))),
+ // TRANSLATORS: debug window label
mTargetGuildLabel(new Label(this, strprintf("%s ?", _("Target guild:")))),
+ // TRANSLATORS: debug window label
mAttackDelayLabel(new Label(this, strprintf("%s ?", _("Attack delay:")))),
+ // TRANSLATORS: debug window label
mMinHitLabel(new Label(this, strprintf("%s ?", _("Minimal hit:")))),
+ // TRANSLATORS: debug window label
mMaxHitLabel(new Label(this, strprintf("%s ?", _("Maximum hit:")))),
+ // TRANSLATORS: debug window label
mCriticalHitLabel(new Label(this, strprintf("%s ?", _("Critical hit:"))))
{
LayoutHelper h(this);
@@ -330,64 +376,87 @@ void TargetDebugTab::logic()
{
const Being *const target = player_node->getTarget();
+ // TRANSLATORS: debug window label
mTargetLabel->setCaption(strprintf("%s %s (%d, %d)", _("Target:"),
target->getName().c_str(), target->getTileX(),
target->getTileY()));
mTargetIdLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Target Id:"), target->getId()));
mTargetTypeLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Target type:"), target->getSubType()));
if (target->getLevel())
{
mTargetLevelLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Target Level:"), target->getLevel()));
}
else
{
mTargetLevelLabel->setCaption(strprintf("%s ?",
+ // TRANSLATORS: debug window label
_("Target Level:")));
}
mTargetRaceLabel->setCaption(strprintf("%s %s",
+ // TRANSLATORS: debug window label
_("Target race:"), target->getRaceName().c_str()));
+ // TRANSLATORS: debug window label
mTargetPartyLabel->setCaption(strprintf("%s %s", _("Target Party:"),
target->getPartyName().c_str()));
+ // TRANSLATORS: debug window label
mTargetGuildLabel->setCaption(strprintf("%s %s", _("Target Guild:"),
target->getGuildName().c_str()));
mMinHitLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Minimal hit:"), target->getMinHit()));
mMaxHitLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Maximum hit:"), target->getMaxHit()));
mCriticalHitLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Critical hit:"), target->getCriticalHit()));
const int delay = target->getAttackDelay();
if (delay)
{
mAttackDelayLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: debug window label
_("Attack delay:"), delay));
}
else
{
mAttackDelayLabel->setCaption(strprintf(
+ // TRANSLATORS: debug window label
"%s ?", _("Attack delay:")));
}
}
else
{
+ // TRANSLATORS: debug window label
mTargetLabel->setCaption(strprintf("%s ?", _("Target:")));
+ // TRANSLATORS: debug window label
mTargetIdLabel->setCaption(strprintf("%s ?", _("Target Id:")));
+ // TRANSLATORS: debug window label
mTargetTypeLabel->setCaption(strprintf("%s ?", _("Target type:")));
+ // TRANSLATORS: debug window label
mTargetLevelLabel->setCaption(strprintf("%s ?", _("Target Level:")));
+ // TRANSLATORS: debug window label
mTargetPartyLabel->setCaption(strprintf("%s ?", _("Target Party:")));
+ // TRANSLATORS: debug window label
mTargetGuildLabel->setCaption(strprintf("%s ?", _("Target Guild:")));
+ // TRANSLATORS: debug window label
mAttackDelayLabel->setCaption(strprintf("%s ?", _("Attack delay:")));
+ // TRANSLATORS: debug window label
mMinHitLabel->setCaption(strprintf("%s ?", _("Minimal hit:")));
+ // TRANSLATORS: debug window label
mMaxHitLabel->setCaption(strprintf("%s ?", _("Maximum hit:")));
+ // TRANSLATORS: debug window label
mCriticalHitLabel->setCaption(strprintf("%s ?", _("Critical hit:")));
}
@@ -420,10 +489,13 @@ NetDebugTab::NetDebugTab(const Widget2 *const widget) :
void NetDebugTab::logic()
{
+ // TRANSLATORS: debug window label
mPingLabel->setCaption(strprintf(_("Ping: %s ms"),
player_node->getPingTime().c_str()));
+ // TRANSLATORS: debug window label
mInPackets1Label->setCaption(strprintf(_("In: %d bytes/s"),
PacketCounters::getInBytes()));
+ // TRANSLATORS: debug window label
mOutPackets1Label->setCaption(strprintf(_("Out: %d bytes/s"),
PacketCounters::getOutBytes()));
}
diff --git a/src/gui/didyouknowwindow.cpp b/src/gui/didyouknowwindow.cpp
index 6227afd7f..56aeb6129 100644
--- a/src/gui/didyouknowwindow.cpp
+++ b/src/gui/didyouknowwindow.cpp
@@ -47,14 +47,18 @@
static const int minTip = 1;
static const int maxTip = 18;
-DidYouKnowWindow::DidYouKnowWindow():
+DidYouKnowWindow::DidYouKnowWindow() :
+ // TRANSLATORS: did you know window name
Window(_("Did You Know?"), false, nullptr, "didyouknow.xml"),
gcn::ActionListener(),
mBrowserBox(new BrowserBox(this)),
mScrollArea(new ScrollArea(mBrowserBox,
true, "didyouknow_background.xml")),
+ // TRANSLATORS: did you know window button
mButtonPrev(new Button(this, _("< Previous"), "prev", this)),
+ // TRANSLATORS: did you know window button
mButtonNext(new Button(this, _("Next >"), "next", this)),
+ // TRANSLATORS: did you know window checkbox
mOpenAgainCheckBox(new CheckBox(this, _("Auto open this window"),
config.getBoolValue("showDidYouKnow"), this, "openagain"))
{
@@ -70,6 +74,7 @@ DidYouKnowWindow::DidYouKnowWindow():
setDefaultSize(500, 400, ImageRect::CENTER);
mBrowserBox->setOpaque(false);
+ // TRANSLATORS: did you know window button
Button *const okButton = new Button(this, _("Close"), "close", this);
mBrowserBox->setLinkHandler(this);
diff --git a/src/gui/editdialog.cpp b/src/gui/editdialog.cpp
index 30e115f88..91d74214d 100644
--- a/src/gui/editdialog.cpp
+++ b/src/gui/editdialog.cpp
@@ -41,6 +41,7 @@ EditDialog::EditDialog(const std::string &title, const std::string &msg,
mTextField(new TextField(this))
{
mTextField->setText(msg);
+ // TRANSLATORS: edit dialog label
Button *const okButton = new Button(this, _("OK"), mEventOk, this);
const int numRows = 1;
diff --git a/src/gui/editserverdialog.cpp b/src/gui/editserverdialog.cpp
index 89ad5e967..34d15c76c 100644
--- a/src/gui/editserverdialog.cpp
+++ b/src/gui/editserverdialog.cpp
@@ -63,6 +63,7 @@ std::string TypeListModel::getElementAt(int elementIndex)
EditServerDialog::EditServerDialog(ServerDialog *const parent,
ServerInfo server,
const int index) :
+ // TRANSLATORS: edit server dialog name
Window(_("Edit Server"), true, parent),
gcn::ActionListener(),
gcn::KeyListener(),
@@ -71,8 +72,11 @@ EditServerDialog::EditServerDialog(ServerDialog *const parent,
mNameField(new TextField(this, std::string())),
mDescriptionField(new TextField(this, std::string())),
mOnlineListUrlField(new TextField(this, std::string())),
+ // TRANSLATORS: edit server dialog button
mConnectButton(new Button(this, _("Connect"), "connect", this)),
+ // TRANSLATORS: edit server dialog button
mOkButton(new Button(this, _("OK"), "addServer", this)),
+ // TRANSLATORS: edit server dialog button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mTypeListModel(new TypeListModel),
mTypeField(new DropDown(this, mTypeListModel, false, true)),
@@ -82,11 +86,17 @@ EditServerDialog::EditServerDialog(ServerDialog *const parent,
{
setWindowName("EditServerDialog");
+ // TRANSLATORS: edit server dialog label
Label *const nameLabel = new Label(this, _("Name:"));
+ // TRANSLATORS: edit server dialog label
Label *const serverAdressLabel = new Label(this, _("Address:"));
+ // TRANSLATORS: edit server dialog label
Label *const portLabel = new Label(this, _("Port:"));
+ // TRANSLATORS: edit server dialog label
Label *const typeLabel = new Label(this, _("Server type:"));
+ // TRANSLATORS: edit server dialog label
Label *const descriptionLabel = new Label(this, _("Description:"));
+ // TRANSLATORS: edit server dialog label
Label *const onlineListUrlLabel = new Label(this, _("Online list url:"));
mPortField->setNumeric(true);
mPortField->setRange(1, 65535);
@@ -206,7 +216,9 @@ void EditServerDialog::action(const gcn::ActionEvent &event)
if (mServerAddressField->getText().empty()
|| mPortField->getText().empty())
{
+ // TRANSLATORS: edit server dialog error header
OkDialog *const dlg = new OkDialog(_("Error"),
+ // TRANSLATORS: edit server dialog error message
_("Please at least type both the address and the port "
"of the server."), DIALOG_ERROR);
dlg->addActionListener(this);
diff --git a/src/gui/equipmentwindow.cpp b/src/gui/equipmentwindow.cpp
index fe6ba0a3d..964181c10 100644
--- a/src/gui/equipmentwindow.cpp
+++ b/src/gui/equipmentwindow.cpp
@@ -52,12 +52,14 @@ static const int BOX_COUNT = 13;
EquipmentWindow::EquipmentWindow(Equipment *const equipment,
Being *const being,
const bool foring):
+ // TRANSLATORS: equipment window name
Window(_("Equipment"), false, nullptr, "equipment.xml"),
gcn::ActionListener(),
mEquipment(equipment),
mItemPopup(new ItemPopup),
mPlayerBox(new PlayerBox("equipment_playerbox.xml",
"equipment_selectedplayerbox.xml")),
+ // TRANSLATORS: equipment window button
mUnequip(new Button(this, _("Unequip"), "unequip", this)),
mSelected(-1),
mForing(foring),
diff --git a/src/gui/helpwindow.cpp b/src/gui/helpwindow.cpp
index 1341a7756..6ad12d6c7 100644
--- a/src/gui/helpwindow.cpp
+++ b/src/gui/helpwindow.cpp
@@ -45,9 +45,11 @@
#include "debug.h"
-HelpWindow::HelpWindow():
+HelpWindow::HelpWindow() :
+ // TRANSLATORS: help window name
Window(_("Help"), false, nullptr, "help.xml"),
gcn::ActionListener(),
+ // TRANSLATORS: help window. button.
mDYKButton(new Button(this, _("Did you know..."), "DYK", this)),
mBrowserBox(new BrowserBox(this)),
mScrollArea(new ScrollArea(mBrowserBox, true, "help_background.xml")),
diff --git a/src/gui/inventorywindow.cpp b/src/gui/inventorywindow.cpp
index fdd3e957a..6ff6506b3 100644
--- a/src/gui/inventorywindow.cpp
+++ b/src/gui/inventorywindow.cpp
@@ -60,11 +60,17 @@
static const char *SORT_NAME_INVENTORY[6] =
{
+ // TRANSLATORS: inventory sort mode
N_("default"),
+ // TRANSLATORS: inventory sort mode
N_("by name"),
+ // TRANSLATORS: inventory sort mode
N_("by id"),
+ // TRANSLATORS: inventory sort mode
N_("by weight"),
+ // TRANSLATORS: inventory sort mode
N_("by amount"),
+ // TRANSLATORS: inventory sort mode
N_("by type")
};
@@ -80,7 +86,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
+ return "???";
return gettext(SORT_NAME_INVENTORY[i]);
}
@@ -127,6 +133,7 @@ InventoryWindow::InventoryWindow(Inventory *const inventory):
}
else
{
+ // TRANSLATORS: inventory window name
setCaption(_("Inventory"));
setWindowName("Inventory");
}
@@ -165,8 +172,11 @@ InventoryWindow::InventoryWindow(Inventory *const inventory):
if (isMainInventory())
{
+ // TRANSLATORS: inventory button
std::string equip = _("Equip");
+ // TRANSLATORS: inventory button
std::string use = _("Use");
+ // TRANSLATORS: inventory button
std::string unequip = _("Unequip");
std::string longestUseString = getFont()->getWidth(equip) >
@@ -179,10 +189,15 @@ InventoryWindow::InventoryWindow(Inventory *const inventory):
}
mUseButton = new Button(this, longestUseString, "use", this);
+ // TRANSLATORS: inventory button
mDropButton = new Button(this, _("Drop..."), "drop", this);
+ // TRANSLATORS: inventory button
mSplitButton = new Button(this, _("Split"), "split", this);
+ // TRANSLATORS: inventory button
mOutfitButton = new Button(this, _("Outfits"), "outfit", this);
+ // TRANSLATORS: inventory button
mShopButton = new Button(this, _("Shop"), "shop", this);
+ // TRANSLATORS: inventory button
mEquipmentButton = new Button(this, _("Equipment"), "equipment", this);
mWeightBar = new ProgressBar(this, 0.0f, 100, 0, Theme::PROG_WEIGHT);
@@ -205,8 +220,11 @@ InventoryWindow::InventoryWindow(Inventory *const inventory):
}
else
{
+ // TRANSLATORS: storage button
mStoreButton = new Button(this, _("Store"), "store", this);
+ // TRANSLATORS: storage button
mRetrieveButton = new Button(this, _("Retrieve"), "retrieve", this);
+ // TRANSLATORS: storage button
mInvCloseButton = new Button(this, _("Close"), "close", this);
mSlotsBarCell = &place(0, 0, mSlotsBar, 6);
@@ -596,12 +614,19 @@ void InventoryWindow::updateButtons(const Item *item)
if (item && item->isEquipment())
{
if (item->isEquipped())
+ {
+ // TRANSLATORS: inventory button
mUseButton->setCaption(_("Unequip"));
+ }
else
+ {
+ // TRANSLATORS: inventory button
mUseButton->setCaption(_("Equip"));
+ }
}
else
{
+ // TRANSLATORS: inventory button
mUseButton->setCaption(_("Use"));
}
}
@@ -689,6 +714,7 @@ void InventoryWindow::updateDropButton()
if (isStorageActive())
{
+ // TRANSLATORS: inventory button
mDropButton->setCaption(_("Store"));
}
else
@@ -696,9 +722,15 @@ void InventoryWindow::updateDropButton()
const Item *const item = mItems->getSelectedItem();
if (item && item->getQuantity() > 1)
+ {
+ // TRANSLATORS: inventory button
mDropButton->setCaption(_("Drop..."));
+ }
else
+ {
+ // TRANSLATORS: inventory button
mDropButton->setCaption(_("Drop"));
+ }
}
}
diff --git a/src/gui/itemamountwindow.cpp b/src/gui/itemamountwindow.cpp
index deeca6df5..7f880dcd0 100644
--- a/src/gui/itemamountwindow.cpp
+++ b/src/gui/itemamountwindow.cpp
@@ -89,8 +89,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i < 0 || i >= getNumberOfElements())
- return _("???");
-
+ return "???";
return mStrings.at(i);
}
private:
@@ -203,10 +202,15 @@ ItemAmountWindow::ItemAmountWindow(const Usage usage, Window *const parent,
// Buttons
+ // TRANSLATORS: item amount window button
Button *const minusAmountButton = new Button(this, _("-"), "dec", this);
+ // TRANSLATORS: item amount window button
Button *const plusAmountButton = new Button(this, _("+"), "inc", this);
+ // TRANSLATORS: item amount window button
Button *const okButton = new Button(this, _("OK"), "ok", this);
+ // TRANSLATORS: item amount window button
Button *const cancelButton = new Button(this, _("Cancel"), "cancel", this);
+ // TRANSLATORS: item amount window button
Button *const addAllButton = new Button(this, _("All"), "all", this);
minusAmountButton->adjustSize();
@@ -232,8 +236,10 @@ ItemAmountWindow::ItemAmountWindow(const Usage usage, Window *const parent,
if (mUsage == ShopBuyAdd || mUsage == ShopSellAdd)
{
Button *const minusPriceButton = new Button(
+ // TRANSLATORS: item amount window button
this, _("-"), "decPrice", this);
Button *const plusPriceButton = new Button(
+ // TRANSLATORS: item amount window button
this, _("+"), "incPrice", this);
minusPriceButton->adjustSize();
minusPriceButton->setWidth(plusPriceButton->getWidth());
@@ -260,27 +266,35 @@ ItemAmountWindow::ItemAmountWindow(const Usage usage, Window *const parent,
switch (usage)
{
case TradeAdd:
+ // TRANSLATORS: amount window message
setCaption(_("Select amount of items to trade."));
break;
case ItemDrop:
+ // TRANSLATORS: amount window message
setCaption(_("Select amount of items to drop."));
break;
case StoreAdd:
+ // TRANSLATORS: amount window message
setCaption(_("Select amount of items to store."));
break;
case StoreRemove:
+ // TRANSLATORS: amount window message
setCaption(_("Select amount of items to retrieve."));
break;
case ItemSplit:
+ // TRANSLATORS: amount window message
setCaption(_("Select amount of items to split."));
break;
case ShopBuyAdd:
+ // TRANSLATORS: amount window message
setCaption(_("Add to buy shop."));
break;
case ShopSellAdd:
+ // TRANSLATORS: amount window message
setCaption(_("Add to sell shop."));
break;
default:
+ // TRANSLATORS: amount window message
setCaption(_("Unknown."));
break;
}
diff --git a/src/gui/itempopup.cpp b/src/gui/itempopup.cpp
index 8be374bf9..0c88939e3 100644
--- a/src/gui/itempopup.cpp
+++ b/src/gui/itempopup.cpp
@@ -166,14 +166,14 @@ void ItemPopup::setItem(const ItemInfo &item, const unsigned char color,
if (serverVersion > 0)
{
- mItemName->setCaption(std::string(item.getName(color)).append(
- _(", ")).append(toString(id)));
+ mItemName->setCaption(strprintf("%s, %d",
+ item.getName(color).c_str(), id));
mItemDesc->setTextWrapped(item.getDescription(color), 196);
}
else
{
- mItemName->setCaption(std::string(item.getName()).append(
- _(", ")).append(toString(id)));
+ mItemName->setCaption(strprintf("%s, %d",
+ item.getName().c_str(), id));
mItemDesc->setTextWrapped(item.getDescription(), 196);
}
@@ -182,9 +182,9 @@ void ItemPopup::setItem(const ItemInfo &item, const unsigned char color,
mItemName->setPosition(space, 0);
mItemEffect->setTextWrapped(item.getEffect(), 196);
+ // TRANSLATORS: popup label
mItemWeight->setTextWrapped(strprintf(_("Weight: %s"),
- Units::formatWeight(item.getWeight()).c_str()),
- 196);
+ Units::formatWeight(item.getWeight()).c_str()), 196);
int minWidth = mItemName->getWidth() + space;
diff --git a/src/gui/killstats.cpp b/src/gui/killstats.cpp
index aa34c6ab8..52a548a6a 100644
--- a/src/gui/killstats.cpp
+++ b/src/gui/killstats.cpp
@@ -38,7 +38,8 @@
#include "debug.h"
-KillStats::KillStats():
+KillStats::KillStats() :
+ // TRANSLATORS: kill stats window name
Window(_("Kill stats"), false, nullptr, "killstats.xml"),
gcn::ActionListener(),
mKillCounter(0),
@@ -46,19 +47,26 @@ KillStats::KillStats():
mKillTCounter(0),
mExpTCounter(0),
mKillTimer(0),
+ // TRANSLATORS: kill stats window button
mResetButton(new Button(this, _("Reset stats"), "reset", this)),
+ // TRANSLATORS: kill stats window button
mTimerButton(new Button(this, _("Reset timer"), "timer", this)),
mLine1(nullptr),
mLine2(nullptr),
mLine3(nullptr),
+ // TRANSLATORS: kill stats window label
mLine4(new Label(this, strprintf(_("Kills: %s, total exp: %s"),
"?", "?"))),
+ // TRANSLATORS: kill stats window label
mLine5(new Label(this, strprintf(_("Avg Exp: %s"), "?"))),
+ // TRANSLATORS: kill stats window label
mLine6(new Label(this, strprintf(_("No. of avg mob to next level: %s"),
"?"))),
+ // TRANSLATORS: kill stats window label
mLine7(new Label(this, strprintf(_("Kills/Min: %s, Exp/Min: %s"),
"?", "?"))),
mExpSpeed1Label(new Label(this, strprintf(ngettext(
+ // TRANSLATORS: kill stats window label
"Exp speed per %d min: %s", "Exp speed per %d min: %s", 1), 1, "?"))),
mExpTime1Label(new Label(this, strprintf(ngettext(
"Time for next level per %d min: %s",
@@ -74,8 +82,10 @@ KillStats::KillStats():
mExpTime15Label(new Label(this, strprintf(ngettext(
"Time for next level per %d min: %s",
"Time for next level per %d min: %s", 15), 15, "?"))),
+ // TRANSLATORS: kill stats window label
mLastKillExpLabel(new Label(this, strprintf("%s ?", _("Last kill exp:")))),
mTimeBeforeJackoLabel(new Label(this, strprintf(
+ // TRANSLATORS: kill stats window label
"%s ?", _("Time before jacko spawn:")))),
m1minExpTime(0),
m1minExpNum(0),
@@ -107,13 +117,16 @@ KillStats::KillStats():
if (!xpNextLevel)
xpNextLevel = 1;
+ // TRANSLATORS: kill stats window label
mLine1 = new Label(this, strprintf(_("Level: %d at %f%%"),
player_node->getLevel(), static_cast<double>(xp)
/ static_cast<double>(xpNextLevel) * 100.0));
+ // TRANSLATORS: kill stats window label
mLine2 = new Label(this, strprintf(_("Exp: %d/%d Left: %d"),
xp, xpNextLevel, xpNextLevel - xp));
+ // TRANSLATORS: kill stats window label
mLine3 = new Label(this, strprintf(_("1%% = %d exp, avg mob for 1%%: %s"),
xpNextLevel / 100, "?"));
@@ -154,9 +167,12 @@ void KillStats::action(const gcn::ActionEvent &event)
mExpCounter = 0;
mLine3->setCaption(strprintf("1%% = %d exp, avg mob for 1%%: %s",
PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED) / 100, "?"));
+ // TRANSLATORS: kill stats window label
mLine4->setCaption(strprintf(_("Kills: %s, total exp: %s"), "?", "?"));
+ // TRANSLATORS: kill stats window label
mLine5->setCaption(strprintf(_("Avg Exp: %s"), "?"));
mLine6->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("No. of avg mob to next level: %s"), "?"));
resetTimes();
@@ -167,6 +183,7 @@ void KillStats::action(const gcn::ActionEvent &event)
mKillTCounter = 0;
mExpTCounter = 0;
mLine7->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("Kills/Min: %s, Exp/Min: %s"), "?", "?"));
resetTimes();
@@ -217,43 +234,54 @@ void KillStats::gainXp(int xp)
timeDiff = 1;
const int exp = PlayerInfo::getAttribute(PlayerInfo::EXP);
+ // TRANSLATORS: kill stats window label
mLine1->setCaption(strprintf(_("Level: %d at %f%%"),
player_node->getLevel(), static_cast<double>(exp)
/ static_cast<double>(xpNextLevel) * 100.0));
+ // TRANSLATORS: kill stats window label
mLine2->setCaption(strprintf(_("Exp: %d/%d Left: %d"), exp,
xpNextLevel, xpNextLevel - exp));
if (AvgExp >= 0.001f && AvgExp <= 0.001f)
{
+ // TRANSLATORS: kill stats window label
mLine3->setCaption(strprintf(_("1%% = %d exp, avg mob for 1%%: %s"),
xpNextLevel / 100, "?"));
+ // TRANSLATORS: kill stats window label
mLine5->setCaption(strprintf(_("Avg Exp: %s"),
toString(AvgExp).c_str()));
mLine6->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("No. of avg mob to next level: %s"), "?"));
}
else
{
+ // TRANSLATORS: kill stats window label
mLine3->setCaption(strprintf(_("1%% = %d exp, avg mob for 1%%: %s"),
xpNextLevel / 100, toString((static_cast<float>(
xpNextLevel) / 100) / AvgExp).c_str()));
+ // TRANSLATORS: kill stats window label
mLine5->setCaption(strprintf(_("Avg Exp: %s"),
toString(AvgExp).c_str()));
+ // TRANSLATORS: kill stats window label
mLine6->setCaption(strprintf(_("No. of avg mob to next level: %s"),
toString(static_cast<float>(xpNextLevel - exp) / AvgExp).c_str()));
}
+ // TRANSLATORS: kill stats window label
mLine4->setCaption(strprintf(_("Kills: %s, total exp: %s"),
toString(mKillCounter).c_str(), toString(mExpCounter).c_str()));
+ // TRANSLATORS: kill stats window label
mLine7->setCaption(strprintf(_("Kills/Min: %s, Exp/Min: %s"),
toString(mKillTCounter / timeDiff).c_str(),
toString(mExpTCounter / timeDiff).c_str()));
+ // TRANSLATORS: kill stats window label
mLastKillExpLabel->setCaption(strprintf("%s %d", _("Last kill exp:"), xp));
recalcStats();
@@ -311,6 +339,7 @@ void KillStats::update()
if (m1minSpeed != 0)
{
+ // TRANSLATORS: kill stats window label
mExpTime1Label->setCaption(strprintf(_(" Time for next level: %s"),
toString(static_cast<float>((PlayerInfo::getAttribute(
PlayerInfo::EXP_NEEDED) - PlayerInfo::getAttribute(
@@ -319,6 +348,7 @@ void KillStats::update()
else
{
mExpTime1Label->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_(" Time for next level: %s"), "?"));
}
mExpTime1Label->adjustSize();
@@ -329,6 +359,7 @@ void KillStats::update()
if (m5minSpeed != 0)
{
+ // TRANSLATORS: kill stats window label
mExpTime5Label->setCaption(strprintf(_(" Time for next level: %s"),
toString(static_cast<float>((PlayerInfo::getAttribute(
PlayerInfo::EXP_NEEDED) - PlayerInfo::getAttribute(
@@ -337,6 +368,7 @@ void KillStats::update()
else
{
mExpTime5Label->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_(" Time for next level: %s"), "?"));
}
mExpTime5Label->adjustSize();
@@ -349,6 +381,7 @@ void KillStats::update()
if (m15minSpeed != 0)
{
+ // TRANSLATORS: kill stats window label
mExpTime15Label->setCaption(strprintf(_(" Time for next level: %s"),
toString(static_cast<float>((PlayerInfo::getAttribute(
PlayerInfo::EXP_NEEDED) - PlayerInfo::getAttribute(
@@ -357,6 +390,7 @@ void KillStats::update()
else
{
mExpTime15Label->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_(" Time for next level: %s"), "?"));
}
@@ -376,23 +410,27 @@ void KillStats::updateJackoLabel()
if (mIsJackoAlive)
{
mTimeBeforeJackoLabel->setCaption(strprintf("%s jacko alive",
+ // TRANSLATORS: kill stats window label
_("Time before jacko spawn:")));
}
else if (mIsJackoSpawnTimeUnknown && mJackoSpawnTime != 0)
{
- // TRANSLATORS: Example: Time before jacko spawn: 10?
+ // TRANSLATORS: kill stats window label
mTimeBeforeJackoLabel->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("%s %d?"), _("Time before jacko spawn:"),
mJackoSpawnTime - cur_time));
}
else if (mIsJackoMustSpawn)
{
mTimeBeforeJackoLabel->setCaption(strprintf("%s %s",
+ // TRANSLATORS: kill stats window label
_("Time before jacko spawn:"), _("jacko spawning")));
}
else
{
mTimeBeforeJackoLabel->setCaption(strprintf("%s %d",
+ // TRANSLATORS: kill stats window label
_("Time before jacko spawn:"), mJackoSpawnTime - cur_time));
}
}
@@ -473,12 +511,16 @@ void KillStats::processEvent(Channels channel A_UNUSED,
mExpTCounter = 0;
mLine3->setCaption(strprintf("1%% = %d exp, avg mob for 1%%: %s",
PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED) / 100, "?"));
- mLine4->setCaption(strprintf(_(
- "Kills: %s, total exp: %s"), "?", "?"));
+ mLine4->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
+ _("Kills: %s, total exp: %s"), "?", "?"));
+ // TRANSLATORS: kill stats window label
mLine5->setCaption(strprintf(_("Avg Exp: %s"), "?"));
mLine6->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("No. of avg mob to next level: %s"), "?"));
mLine7->setCaption(strprintf(
+ // TRANSLATORS: kill stats window label
_("Kills/Min: %s, Exp/Min: %s"), "?", "?"));
resetTimes();
diff --git a/src/gui/logindialog.cpp b/src/gui/logindialog.cpp
index baecf5f27..61a31af61 100644
--- a/src/gui/logindialog.cpp
+++ b/src/gui/logindialog.cpp
@@ -72,8 +72,11 @@ struct OpenUrlListener : public gcn::ActionListener
const char *UPDATE_TYPE_TEXT[3] =
{
+ // TRANSLATORS: update type
N_("Normal"),
+ // TRANSLATORS: update type
N_("Auto Close"),
+ // TRANSLATORS: update type
N_("Skip"),
};
@@ -96,8 +99,7 @@ class UpdateTypeModel final : public gcn::ListModel
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return gettext(UPDATE_TYPE_TEXT[i]);
}
};
@@ -126,31 +128,38 @@ class UpdateListModel final : public gcn::ListModel
virtual std::string getElementAt(int i)
{
if (!mLoginData || i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return mLoginData->updateHosts[i];
}
+
protected:
LoginData *mLoginData;
};
LoginDialog::LoginDialog(LoginData *const data, std::string serverName,
std::string *const updateHost):
+ // TRANSLATORS: login dialog name
Window(_("Login"), false, nullptr, "login.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
mLoginData(data),
mUserField(new TextField(this, mLoginData->username)),
mPassField(new PasswordField(this, mLoginData->password)),
+ // TRANSLATORS: login dialog label
mKeepCheck(new CheckBox(this, _("Remember username"),
mLoginData->remember)),
+ // TRANSLATORS: login dialog label
mUpdateTypeLabel(new Label(this, _("Update:"))),
mUpdateHostLabel(nullptr),
mUpdateTypeModel(new UpdateTypeModel),
mUpdateTypeDropDown(new DropDown(this, mUpdateTypeModel)),
+ // TRANSLATORS: login dialog button
mServerButton(new Button(this, _("Change Server"), "server", this)),
+ // TRANSLATORS: login dialog button
mLoginButton(new Button(this, _("Login"), "login", this)),
+ // TRANSLATORS: login dialog button
mRegisterButton(new Button(this, _("Register"), "register", this)),
+ // TRANSLATORS: login dialog checkbox
mCustomUpdateHost(new CheckBox(this, _("Custom update host"),
mLoginData->updateType & LoginData::Upd_Custom, this, "customhost")),
mUpdateHostText(new TextField(this, serverConfig.getValue(
@@ -164,13 +173,17 @@ LoginDialog::LoginDialog(LoginData *const data, std::string serverName,
Net::getCharServerHandler()->clear();
+ // TRANSLATORS: login dialog label
Label *const serverLabel1 = new Label(this, _("Server:"));
Label *const serverLabel2 = new Label(this, serverName);
serverLabel2->adjustSize();
+ // TRANSLATORS: login dialog label
Label *const userLabel = new Label(this, _("Name:"));
+ // TRANSLATORS: login dialog label
Label *const passLabel = new Label(this, _("Password:"));
if (mLoginData && mLoginData->updateHosts.size() > 1)
{
+ // TRANSLATORS: login dialog label
mUpdateHostLabel = new Label(this, strprintf(_("Update host: %s"),
mLoginData->updateHost.c_str()));
mUpdateListModel = new UpdateListModel(mLoginData);
@@ -280,6 +293,7 @@ void LoginDialog::action(const gcn::ActionEvent &event)
{
const std::string &url = mLoginData->registerUrl;
urlListener.url = url;
+ // TRANSLATORS: question dialog
ConfirmDialog *const confirmDlg = new ConfirmDialog(
_("Open register url"), url, false, true);
confirmDlg->addActionListener(&urlListener);
diff --git a/src/gui/minimap.cpp b/src/gui/minimap.cpp
index 6c7a32a71..80611f25b 100644
--- a/src/gui/minimap.cpp
+++ b/src/gui/minimap.cpp
@@ -44,7 +44,8 @@
bool Minimap::mShow = true;
-Minimap::Minimap():
+Minimap::Minimap() :
+ // TRANSLATORS: mini map window name
Window(_("Map"), false, nullptr, "map.xml"),
mMapImage(nullptr),
mWidthProportion(0.5),
@@ -103,7 +104,10 @@ void Minimap::setMap(const Map *const map)
caption = map->getName();
if (caption.empty())
+ {
+ // TRANSLATORS: mini map window name
caption = _("Map");
+ }
setCaption(caption);
diff --git a/src/gui/ministatuswindow.cpp b/src/gui/ministatuswindow.cpp
index ad5890056..9a06ac259 100644
--- a/src/gui/ministatuswindow.cpp
+++ b/src/gui/ministatuswindow.cpp
@@ -60,24 +60,32 @@ MiniStatusWindow::MiniStatusWindow() :
mIconPadding(mSkin ? mSkin->getOption("iconPadding", 3) : 3),
mIconSpacing(mSkin ? mSkin->getOption("iconSpacing", 2) : 2),
mMaxX(0),
+ // TRANSLATORS: status bar name
mHpBar(createBar(0, 100, 0, Theme::PROG_HP, "hp bar", _("health bar"))),
mMpBar(Net::getGameHandler()->canUseMagicBar()
- ? createBar(0, 100, 0, Net::getPlayerHandler()->canUseMagic()
- ? Theme::PROG_MP : Theme::PROG_NO_MP, "mp bar", _("mana bar"))
- : nullptr),
+ ? createBar(0, 100, 0, Net::getPlayerHandler()->canUseMagic()
+ // TRANSLATORS: status bar name
+ ? Theme::PROG_MP : Theme::PROG_NO_MP, "mp bar", _("mana bar"))
+ : nullptr),
mXpBar(createBar(0, 100, 0, Theme::PROG_EXP,
- "xp bar", _("experience bar"))),
+ // TRANSLATORS: status bar name
+ "xp bar", _("experience bar"))),
mJobBar(nullptr),
mWeightBar(createBar(0, 140, 0, Theme::PROG_WEIGHT,
- "weight bar", _("weight bar"))),
+ // TRANSLATORS: status bar name
+ "weight bar", _("weight bar"))),
mInvSlotsBar(createBar(0, 45, 0, Theme::PROG_INVY_SLOTS,
- "inventory slots bar", _("inventory slots bar"))),
+ // TRANSLATORS: status bar name
+ "inventory slots bar", _("inventory slots bar"))),
mMoneyBar(createBar(0, 130, 0, Theme::PROG_INVY_SLOTS,
- "money bar", _("money bar"))),
+ // TRANSLATORS: status bar name
+ "money bar", _("money bar"))),
mArrowsBar(createBar(0, 50, 0, Theme::PROG_INVY_SLOTS,
- "arrows bar", _("arrows bar"))),
+ // TRANSLATORS: status bar name
+ "arrows bar", _("arrows bar"))),
mStatusBar(createBar(100, 165, 0, Theme::PROG_EXP,
- "status bar", _("status bar"))),
+ // TRANSLATORS: status bar name
+ "status bar", _("status bar"))),
mTextPopup(new TextPopup),
mStatusPopup(new StatusPopup)
{
@@ -96,7 +104,8 @@ MiniStatusWindow::MiniStatusWindow() :
if (job)
{
mJobBar = createBar(0, 100, 0, Theme::PROG_JOB, "job bar",
- _("job bar"));
+ // TRANSLATORS: status bar name
+ _("job bar"));
StatusWindow::updateJobBar(mJobBar);
}
@@ -293,12 +302,14 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event)
std::string level;
if (player_node && player_node->isGM())
{
+ // TRANSLATORS: status bar label
level = strprintf(_("Level: %d (GM %d)"),
PlayerInfo::getAttribute(PlayerInfo::LEVEL),
player_node->getGMLevel());
}
else
{
+ // TRANSLATORS: status bar label
level = strprintf(_("Level: %d"),
PlayerInfo::getAttribute(PlayerInfo::LEVEL));
}
@@ -315,6 +326,7 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event)
mTextPopup->show(x + getX(), y + getY(), level, strprintf("%d/%d",
PlayerInfo::getAttribute(PlayerInfo::EXP),
PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED)),
+ // TRANSLATORS: status bar label
strprintf("%s: %d", _("Need"),
PlayerInfo::getAttribute(PlayerInfo::EXP_NEEDED)
- PlayerInfo::getAttribute(PlayerInfo::EXP)));
@@ -351,6 +363,7 @@ void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event)
mTextPopup->show(x + getX(), y + getY(),
event.getSource()->getId(),
strprintf("%d/%d", exp.first, exp.second),
+ // TRANSLATORS: status bar label
strprintf("%s: %d", _("Need"), exp.second - exp.first));
}
mStatusPopup->hide();
diff --git a/src/gui/npcdialog.cpp b/src/gui/npcdialog.cpp
index 4b9c27357..86755ad41 100644
--- a/src/gui/npcdialog.cpp
+++ b/src/gui/npcdialog.cpp
@@ -55,9 +55,13 @@
#include "debug.h"
+// TRANSLATORS: npc dialog button
#define CAPTION_WAITING _("Stop waiting")
+// TRANSLATORS: npc dialog button
#define CAPTION_NEXT _("Next")
+// TRANSLATORS: npc dialog button
#define CAPTION_CLOSE _("Close")
+// TRANSLATORS: npc dialog button
#define CAPTION_SUBMIT _("Submit")
NpcDialog::DialogList NpcDialog::instances;
@@ -65,6 +69,7 @@ NpcDialog::DialogList NpcDialog::instances;
typedef std::vector<Image *>::iterator ImageVectorIter;
NpcDialog::NpcDialog(const int npcId) :
+ // TRANSLATORS: npc dialog name
Window(_("NPC"), false, nullptr, "npc.xml"),
gcn::ActionListener(),
mNpcId(npcId),
@@ -84,11 +89,16 @@ NpcDialog::NpcDialog(const int npcId) :
mItemLinkHandler(new ItemLinkHandler),
mTextField(new TextField(this, "")),
mIntField(new IntTextField(this)),
+ // TRANSLATORS: npc dialog button
mPlusButton(new Button(this, _("+"), "inc", this)),
+ // TRANSLATORS: npc dialog button
mMinusButton(new Button(this, _("-"), "dec", this)),
+ // TRANSLATORS: npc dialog button
mClearButton(new Button(this, _("Clear"), "clear", this)),
mButton(new Button(this, "", "ok", this)),
+ // TRANSLATORS: npc dialog button
mButton2(new Button(this, _("Close"), "close", this)),
+ // TRANSLATORS: npc dialog button
mResetButton(new Button(this, _("Reset"), "reset", this)),
mInputState(NPC_INPUT_NONE),
mActionState(NPC_ACTION_WAIT),
diff --git a/src/gui/npcpostdialog.cpp b/src/gui/npcpostdialog.cpp
index bb5ab3528..c76869980 100644
--- a/src/gui/npcpostdialog.cpp
+++ b/src/gui/npcpostdialog.cpp
@@ -39,6 +39,7 @@
NpcPostDialog::DialogList NpcPostDialog::instances;
NpcPostDialog::NpcPostDialog(const int npcId):
+ // TRANSLATORS: npc post dialog caption
Window(_("NPC"), false, nullptr, "npcpost.xml"),
gcn::ActionListener(),
mNpcId(npcId),
@@ -48,15 +49,18 @@ NpcPostDialog::NpcPostDialog(const int npcId):
setContentSize(400, 180);
// create text field for receiver
+ // TRANSLATORS: label in npc post dialog
Label *const senderText = new Label(this, _("To:"));
senderText->setPosition(5, 5);
mSender->setPosition(senderText->getWidth() + 5, 5);
mSender->setWidth(65);
// create button for sending
+ // TRANSLATORS: button in npc post dialog
Button *const sendButton = new Button(this, _("Send"), "send", this);
sendButton->setPosition(400 - sendButton->getWidth(),
170 - sendButton->getHeight());
+ // TRANSLATORS: button in npc post dialog
Button *const cancelButton = new Button(this, _("Cancel"), "cancel", this);
cancelButton->setPosition(sendButton->getX()
- (cancelButton->getWidth() + 2), sendButton->getY());
@@ -99,6 +103,7 @@ void NpcPostDialog::action(const gcn::ActionEvent &event)
{
if (localChatTab)
{
+ // TRANSLATORS: npc post message error
localChatTab->chatLog(_("Failed to send as sender or letter "
"invalid."));
}
diff --git a/src/gui/okdialog.cpp b/src/gui/okdialog.cpp
index 243805538..6c0856f3b 100644
--- a/src/gui/okdialog.cpp
+++ b/src/gui/okdialog.cpp
@@ -47,6 +47,7 @@ OkDialog::OkDialog(const std::string &title, const std::string &msg,
mTextBox->setOpaque(false);
mTextBox->setTextWrapped(msg, minWidth);
+ // TRANSLATORS: ok dialog button
Button *const okButton = new Button(this, _("OK"), "ok", this);
int width = getFont()->getWidth(title);
diff --git a/src/gui/outfitwindow.cpp b/src/gui/outfitwindow.cpp
index f43f1ba54..281355a58 100644
--- a/src/gui/outfitwindow.cpp
+++ b/src/gui/outfitwindow.cpp
@@ -55,17 +55,25 @@
float OutfitWindow::mAlpha = 1.0;
OutfitWindow::OutfitWindow():
+ // TRANSLATORS: outfits window name
Window(_("Outfits"), false, nullptr, "outfits.xml"),
gcn::ActionListener(),
+ // TRANSLATORS: outfits window button
mPreviousButton(new Button(this, _("<"), "previous", this)),
+ // TRANSLATORS: outfits window button
mNextButton(new Button(this, _(">"), "next", this)),
+ // TRANSLATORS: outfits window button
mEquipButtom(new Button(this, _("Equip"), "equip", this)),
+ // TRANSLATORS: outfits window label
mCurrentLabel(new Label(this, strprintf(_("Outfit: %d"), 1))),
+ // TRANSLATORS: outfits window checkbox
mUnequipCheck(new CheckBox(this, _("Unequip first"),
serverConfig.getValueBool("OutfitUnequip0", true))),
+ // TRANSLATORS: outfits window checkbox
mAwayOutfitCheck(new CheckBox(this, _("Away outfit"),
serverConfig.getValue("OutfitAwayIndex", OUTFITS_COUNT - 1))),
mCurrentOutfit(0),
+ // TRANSLATORS: outfits window label
mKeyLabel(new Label(this, strprintf(_("Key: %s"),
keyName(mCurrentOutfit).c_str()))),
mBoxWidth(33),
@@ -542,11 +550,13 @@ void OutfitWindow::previous()
void OutfitWindow::showCurrentOutfit()
{
+ // TRANSLATORS: outfits window label
mCurrentLabel->setCaption(strprintf(_("Outfit: %d"), mCurrentOutfit + 1));
if (mCurrentOutfit < static_cast<int>(OUTFITS_COUNT))
mUnequipCheck->setSelected(mItemsUnequip[mCurrentOutfit]);
else
mUnequipCheck->setSelected(false);
+ // TRANSLATORS: outfits window label
mKeyLabel->setCaption(strprintf(_("Key: %s"),
keyName(mCurrentOutfit).c_str()));
mAwayOutfitCheck->setSelected(mAwayOutfit == mCurrentOutfit);
diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp
index 0b56b300a..120c32eb1 100644
--- a/src/gui/popupmenu.cpp
+++ b/src/gui/popupmenu.cpp
@@ -139,12 +139,16 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
{
case ActorSprite::PLAYER:
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("trade", _("Trade"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack", _("Attack"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("whisper", _("Whisper"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("heal", _("Heal"));
mBrowserBox->addRow("##3---");
@@ -164,11 +168,13 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
if (guild1->getId() == guild2->getId())
{
mBrowserBox->addRow("guild-kick",
+ // TRANSLATORS: popup menu item
_("Kick from guild"));
if (guild2->getServerGuild())
{
mBrowserBox->addRow(strprintf(
"@@guild-pos|%s >@@",
+ // TRANSLATORS: popup menu item
_("Change pos in guild")));
}
}
@@ -176,11 +182,13 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
else if (guild2->getMember(mNick))
{
mBrowserBox->addRow("guild-kick",
+ // TRANSLATORS: popup menu item
_("Kick from guild"));
if (guild2->getServerGuild())
{
mBrowserBox->addRow(strprintf(
"@@guild-pos|%s >@@",
+ // TRANSLATORS: popup menu item
_("Change pos in guild")));
}
}
@@ -189,6 +197,7 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
if (guild2->getServerGuild()
|| (guildManager && guildManager->havePower()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("guild", _("Invite to guild"));
}
}
@@ -197,9 +206,12 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
if (player_node->isGM())
{
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("admin-kick", _("Kick player"));
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("nuke", _("Nuke"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
addPlayerMisc();
addBuySell(being);
@@ -209,22 +221,29 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
case ActorSprite::NPC:
// NPCs can be talked to (single option, candidate for removal
// unless more options would be added)
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("talk", _("Talk"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("buy", _("Buy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("sell", _("Sell"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addcomment", _("Add comment"));
break;
case ActorSprite::MONSTER:
{
// Monsters can be attacked
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack", _("Attack"));
if (player_node->isGM())
{
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("admin-kick", _("Kick"));
}
@@ -236,15 +255,19 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
|| actorSpriteManager->isInPriorityAttackList(name))
{
mBrowserBox->addRow("remove attack",
+ // TRANSLATORS: popup menu item
_("Remove from attack list"));
}
else
{
mBrowserBox->addRow("add attack priority",
+ // TRANSLATORS: popup menu item
_("Add to priority attack list"));
mBrowserBox->addRow("add attack",
+ // TRANSLATORS: popup menu item
_("Add to attack list"));
mBrowserBox->addRow("add attack ignore",
+ // TRANSLATORS: popup menu item
_("Add to ignore list"));
}
}
@@ -259,9 +282,11 @@ void PopupMenu::showPopup(const int x, const int y, const Being *const being)
/* Other beings aren't interesting... */
return;
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("name", _("Add name to chat"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -273,6 +298,7 @@ void PopupMenu::showPopup(const int x, const int y,
mX = x;
mY = y;
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Players"));
FOR_EACH (std::vector<ActorSprite*>::const_iterator, it, beings)
{
@@ -294,6 +320,7 @@ void PopupMenu::showPopup(const int x, const int y,
}
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
}
@@ -314,6 +341,7 @@ void PopupMenu::showPlayerPopup(const int x, const int y, std::string nick)
mBrowserBox->addRow(name);
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("whisper", _("Whisper"));
mBrowserBox->addRow("##3---");
@@ -321,6 +349,7 @@ void PopupMenu::showPlayerPopup(const int x, const int y, std::string nick)
mBrowserBox->addRow("##3---");
addFollow();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addcomment", _("Add comment"));
if (player_node->isInParty())
@@ -331,12 +360,16 @@ void PopupMenu::showPlayerPopup(const int x, const int y, std::string nick)
const PartyMember *const member = party->getMember(mNick);
if (member)
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("kick party", _("Kick from party"));
mBrowserBox->addRow("##3---");
const PartyMember *const o = party->getMember(
player_node->getName());
if (o && member->getMap() == o->getMap())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
+ }
}
}
}
@@ -349,10 +382,12 @@ void PopupMenu::showPlayerPopup(const int x, const int y, std::string nick)
if (guild2->getServerGuild() || (guildManager
&& guildManager->havePower()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("guild-kick", _("Kick from guild"));
}
if (guild2->getServerGuild())
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow(strprintf(
"@@guild-pos|%s >@@", _("Change pos in guild")));
}
@@ -362,14 +397,17 @@ void PopupMenu::showPlayerPopup(const int x, const int y, std::string nick)
if (guild2->getServerGuild() || (guildManager
&& guildManager->havePower()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("guild", _("Invite to guild"));
}
}
}
addBuySellDefault();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("name", _("Add name to chat"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -397,6 +435,7 @@ void PopupMenu::showPopup(const int x, const int y,
|| (actorSpriteManager->isInPickupList("")
&& !actorSpriteManager->isInIgnorePickupList(name)))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("pickup", _("Pick up"));
mBrowserBox->addRow("##3---");
}
@@ -404,11 +443,14 @@ void PopupMenu::showPopup(const int x, const int y,
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("pickup", _("Pick up"));
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat", _("Add to chat"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -425,16 +467,21 @@ void PopupMenu::showPopup(const int x, const int y, MapItem *const mapItem)
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Map Item"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("rename map", _("Rename"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("remove map", _("Remove"));
if (player_node && player_node->isGM())
{
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("warp map", _("Warp"));
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -448,13 +495,20 @@ void PopupMenu::showMapPopup(const int x, const int y,
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Map Item"));
if (player_node && player_node->isGM())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("warp map", _("Warp"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("movecamera", _("Move camera"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -467,10 +521,13 @@ void PopupMenu::showOutfitsPopup(const int x, const int y)
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Outfits"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("clear outfit", _("Clear outfit"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -488,10 +545,13 @@ void PopupMenu::showSpellPopup(const int x, const int y,
mX = x;
mY = y;
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Spells"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("edit spell", _("Edit spell"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -509,30 +569,54 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
mBrowserBox->clearRows();
if (tab->getType() == static_cast<int>(ChatTab::TAB_WHISPER))
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat close", _("Close"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat clear", _("Clear"));
mBrowserBox->addRow("##3---");
if (tab->getAllowHighlight())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disable highlight", _("Disable highlight"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("enable highlight", _("Enable highlight"));
+ }
if (tab->getRemoveNames())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("dont remove name", _("Don't remove name"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("remove name", _("Remove name"));
+ }
if (tab->getNoAway())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("enable away", _("Enable away"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disable away", _("Disable away"));
+ }
mBrowserBox->addRow("##3---");
if (tab->getType() == static_cast<int>(ChatTab::TAB_PARTY))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("leave party", _("Leave"));
mBrowserBox->addRow("##3---");
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat clipboard", _("Copy to clipboard"));
mBrowserBox->addRow("##3---");
@@ -550,11 +634,14 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
mNick = being->getName();
mType = static_cast<int>(being->getType());
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("trade", _("Trade"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack", _("Attack"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("heal", _("Heal"));
mBrowserBox->addRow("##3---");
@@ -562,6 +649,7 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
mBrowserBox->addRow("##3---");
addFollow();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
addPlayerMisc();
addBuySell(being);
@@ -573,10 +661,12 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
{
if (!player_node->getParty()->isMember(wTab->getNick()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("party", _("Invite to party"));
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("kick party",
_("Kick from party"));
}
@@ -594,11 +684,13 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
if (guild2->getServerGuild() || (guildManager
&& guildManager->havePower()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow(strprintf(
"@@guild-kick|%s@@", _("Kick from guild")));
}
if (guild2->getServerGuild())
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow(strprintf("@@guild-pos|%s >@@",
_("Change pos in guild")));
}
@@ -609,6 +701,7 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
if (guild2->getServerGuild() || (guildManager
&& guildManager->havePower()))
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("guild", _("Invite to guild"));
}
}
@@ -629,7 +722,10 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
{
const PartyMember *const m = party->getMember(mNick);
if (m)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("move", _("Move"));
+ }
}
}
addPlayerMisc();
@@ -637,6 +733,7 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
mBrowserBox->addRow("##3---");
}
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -645,6 +742,7 @@ void PopupMenu::showChatPopup(const int x, const int y, ChatTab *const tab)
void PopupMenu::showChangePos(const int x, const int y)
{
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Change guild position"));
if (!player_node)
@@ -658,9 +756,11 @@ void PopupMenu::showChangePos(const int x, const int y)
PositionsMap map = guild->getPositions();
FOR_EACH (PositionsMap::const_iterator, itr, map)
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow(strprintf("@@guild-pos-%u|%s@@",
itr->first, itr->second.c_str()));
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1195,7 +1295,7 @@ void PopupMenu::handleLink(const std::string &link,
// TRANSLATORS: number of chars in string should be near original
TextDialog *const dialog = new TextDialog(
_("Player comment "),
- // TRANSLATORS: number of chars in string should be near original
+ // TRANSLATORS: number of chars in string should be near original
_("Comment: "));
mPlayerListener.setDialog(dialog);
mPlayerListener.setNick(mNick);
@@ -1685,26 +1785,40 @@ void PopupMenu::showPopup(Window *const parent, const int x, const int y,
{
if (tradeWindow && tradeWindow->isWindowVisible())
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addtrade", _("Add to trade"));
if (cnt > 1)
{
if (cnt > 10)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addtrade 10", _("Add to trade 10"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addtrade half", _("Add to trade half"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addtrade all-1", _("Add to trade all-1"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addtrade all", _("Add to trade all"));
}
mBrowserBox->addRow("##3---");
}
if (InventoryWindow::isStorageActive())
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store", _("Store"));
if (cnt > 1)
{
if (cnt > 10)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store 10", _("Store 10"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store half", _("Store half"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store all-1", _("Store all-1"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store all", _("Store all"));
}
mBrowserBox->addRow("##3---");
@@ -1713,38 +1827,58 @@ void PopupMenu::showPopup(Window *const parent, const int x, const int y,
if (item->isEquipment())
{
if (item->isEquipped())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Unequip"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Equip"));
+ }
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Use"));
}
if (cnt > 1)
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop..."));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop all", _("Drop all"));
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop"));
}
if (Net::getInventoryHandler()->canSplit(item))
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("split", _("Split"));
+ }
}
// Assume in storage for now
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("retrieve", _("Retrieve"));
if (cnt > 1)
{
if (cnt > 10)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("retrieve 10", _("Retrieve 10"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("retrieve half", _("Retrieve half"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("retrieve all-1", _("Retrieve all-1"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("retrieve all", _("Retrieve all"));
}
}
@@ -1754,8 +1888,10 @@ void PopupMenu::showPopup(Window *const parent, const int x, const int y,
mBrowserBox->addRow("##3---");
addPickupFilter(mNick);
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat", _("Add to chat"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1782,8 +1918,10 @@ void PopupMenu::showItemPopup(const int x, const int y, const int itemId,
mY = y;
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Use"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1813,30 +1951,47 @@ void PopupMenu::showItemPopup(const int x, const int y, Item *const item)
if (item->isEquipment())
{
if (item->isEquipped())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Unequip"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Equip"));
+ }
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Use"));
}
if (item->getQuantity() > 1)
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop..."));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop all", _("Drop all"));
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop"));
}
if (Net::getInventoryHandler()->canSplit(item))
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("split", _("Split"));
+ }
if (InventoryWindow::isStorageActive())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store", _("Store"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat", _("Add to chat"));
if (config.getBoolValue("enablePickupFilter"))
@@ -1848,6 +2003,7 @@ void PopupMenu::showItemPopup(const int x, const int y, Item *const item)
}
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1869,30 +2025,47 @@ void PopupMenu::showDropPopup(const int x, const int y, Item *const item)
if (item->isEquipment())
{
if (item->isEquipped())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Unequip"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Equip"));
+ }
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("use", _("Use"));
}
if (item->getQuantity() > 1)
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop..."));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop all", _("Drop all"));
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("drop", _("Drop"));
}
if (Net::getInventoryHandler()->canSplit(item))
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("split", _("Split"));
+ }
if (InventoryWindow::isStorageActive())
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("store", _("Store"));
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("chat", _("Add to chat"));
if (config.getBoolValue("enablePickupFilter"))
{
@@ -1902,8 +2075,10 @@ void PopupMenu::showDropPopup(const int x, const int y, Item *const item)
}
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("clear drops", _("Clear drop window"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1930,17 +2105,20 @@ void PopupMenu::showPopup(const int x, const int y, Button *const button)
if (btn->isVisible())
{
mBrowserBox->addRow(strprintf("@@hide button_%s|%s %s (%s)@@",
+ // TRANSLATORS: popup menu item
btn->getActionEventId().c_str(), _("Hide"),
btn->getDescription().c_str(), btn->getCaption().c_str()));
}
else
{
mBrowserBox->addRow(strprintf("@@show button_%s|%s %s (%s)@@",
+ // TRANSLATORS: popup menu item
btn->getActionEventId().c_str(), _("Show"),
btn->getDescription().c_str(), btn->getCaption().c_str()));
}
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -1987,21 +2165,26 @@ void PopupMenu::showPopup(const int x, const int y, const ProgressBar *const b)
if (bar->isVisible())
{
mBrowserBox->addRow(strprintf("@@hide bar_%s|%s %s@@",
+ // TRANSLATORS: popup menu item
bar->getActionEventId().c_str(), _("Hide"),
bar->getId().c_str()));
}
else
{
mBrowserBox->addRow(strprintf("@@show bar_%s|%s %s@@",
+ // TRANSLATORS: popup menu item
bar->getActionEventId().c_str(), _("Show"),
bar->getId().c_str()));
}
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("reset yellow", _("Reset yellow bar"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("bar to chat", _("Copy to chat"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2021,9 +2204,14 @@ void PopupMenu::showAttackMonsterPopup(const int x, const int y,
mBrowserBox->clearRows();
if (name.empty())
+ {
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("(default)"));
+ }
else
+ {
mBrowserBox->addRow(name);
+ }
switch (type)
{
case MapItem::ATTACK:
@@ -2031,9 +2219,15 @@ void PopupMenu::showAttackMonsterPopup(const int x, const int y,
const int idx = actorSpriteManager->getAttackMobIndex(name);
const int size = actorSpriteManager->getAttackMobsSize();
if (idx > 0)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack moveup", _("Move up"));
+ }
if (idx + 1 < size)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack movedown", _("Move down"));
+ }
break;
}
case MapItem::PRIORITY:
@@ -2042,9 +2236,15 @@ void PopupMenu::showAttackMonsterPopup(const int x, const int y,
getPriorityAttackMobIndex(name);
const int size = actorSpriteManager->getPriorityAttackMobsSize();
if (idx > 0)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("priority moveup", _("Move up"));
+ }
if (idx + 1 < size)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("priority movedown", _("Move down"));
+ }
break;
}
case MapItem::IGNORE_:
@@ -2053,8 +2253,10 @@ void PopupMenu::showAttackMonsterPopup(const int x, const int y,
break;
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("attack remove", _("Remove"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2073,12 +2275,19 @@ void PopupMenu::showPickupItemPopup(const int x, const int y, std::string name)
mBrowserBox->clearRows();
if (name.empty())
+ {
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("(default)"));
+ }
else
+ {
mBrowserBox->addRow(name);
+ }
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("pickup remove", _("Remove"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2099,9 +2308,11 @@ void PopupMenu::showUndressPopup(const int x, const int y,
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("undress item", _("Undress"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2115,9 +2326,12 @@ void PopupMenu::showTextFieldPopup(int x, int y, TextField *input)
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("clipboard copy", _("Copy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("clipboard paste", _("Paste"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2132,9 +2346,12 @@ void PopupMenu::showLinkPopup(const int x, const int y,
mBrowserBox->clearRows();
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("open link", _("Open link"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("clipboard link", _("Copy to clipboard"));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2147,6 +2364,7 @@ void PopupMenu::showWindowsPopup(const int x, const int y)
mBrowserBox->clearRows();
const std::vector<ButtonText*> &names = windowMenu->getButtonTexts();
+ // TRANSLATORS: popup menu header
mBrowserBox->addRow(_("Show window"));
FOR_EACH (std::vector<ButtonText*>::const_iterator, it, names)
@@ -2159,6 +2377,7 @@ void PopupMenu::showWindowsPopup(const int x, const int y)
btn->text.c_str());
}
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
@@ -2202,27 +2421,43 @@ void PopupMenu::addPlayerRelation(std::string name)
switch (player_relations.getRelation(name))
{
case PlayerRelation::NEUTRAL:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("friend", _("Be friend"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disregard", _("Disregard"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("ignore", _("Ignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("blacklist", _("Black list"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("enemy", _("Set as enemy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("erase", _("Erase"));
break;
case PlayerRelation::FRIEND:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disregard", _("Disregard"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("ignore", _("Ignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("blacklist", _("Black list"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("enemy", _("Set as enemy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("erase", _("Erase"));
break;
case PlayerRelation::BLACKLISTED:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("unignore", _("Unignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disregard", _("Disregard"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("ignore", _("Ignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("enemy", _("Set as enemy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("erase", _("Erase"));
break;
@@ -2233,21 +2468,31 @@ void PopupMenu::addPlayerRelation(std::string name)
break;
case PlayerRelation::IGNORED:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("unignore", _("Unignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("erase", _("Erase"));
break;
case PlayerRelation::ENEMY2:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("unignore", _("Unignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disregard", _("Disregard"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("ignore", _("Ignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("blacklist", _("Black list"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("erase", _("Erase"));
break;
case PlayerRelation::ERASED:
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("unignore", _("Unignore"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("disregard", _("Disregard"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("ignore", _("Completely ignore"));
break;
@@ -2258,7 +2503,9 @@ void PopupMenu::addPlayerRelation(std::string name)
void PopupMenu::addFollow()
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("follow", _("Follow"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("imitation", _("Imitation"));
}
@@ -2271,13 +2518,17 @@ void PopupMenu::addBuySell(const Being *const being)
{
if (being->isShopEnabled())
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("buy", _("Buy"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("sell", _("Sell"));
}
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("buy", _("Buy (?)"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("sell", _("Sell (?)"));
}
}
@@ -2288,7 +2539,9 @@ void PopupMenu::addBuySellDefault()
if (player_relations.getDefault() & PlayerRelation::TRADE)
{
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("buy", _("Buy (?)"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("sell", _("Sell (?)"));
}
}
@@ -2300,9 +2553,15 @@ void PopupMenu::addParty(const std::string &partyName)
if (player_node->getParty())
{
if (player_node->getParty()->getName() != partyName)
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("party", _("Invite to party"));
+ }
else
+ {
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("kick party", _("Kick from party"));
+ }
mBrowserBox->addRow("##3---");
}
}
@@ -2310,8 +2569,11 @@ void PopupMenu::addParty(const std::string &partyName)
void PopupMenu::addPlayerMisc()
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("items", _("Show Items"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("undress", _("Undress"));
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("addcomment", _("Add comment"));
}
@@ -2321,12 +2583,15 @@ void PopupMenu::addPickupFilter(const std::string &name)
|| actorSpriteManager->isInIgnorePickupList(name))
{
mBrowserBox->addRow("remove pickup",
+ // TRANSLATORS: popup menu item
_("Remove from pickup list"));
}
else
{
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("add pickup", _("Add to pickup list"));
mBrowserBox->addRow("add pickup ignore",
+ // TRANSLATORS: popup menu item
_("Add to ignore list"));
}
}
@@ -2342,6 +2607,7 @@ void PopupMenu::showPopup(const int x, const int y, gcn::ListModel *model)
mBrowserBox->addRow(strprintf("dropdown_%d", f),
model->getElementAt(f).c_str());
}
+ // TRANSLATORS: popup menu item
mBrowserBox->addRow("cancel", _("Cancel"));
showPopup(x, y);
}
diff --git a/src/gui/questswindow.cpp b/src/gui/questswindow.cpp
index b3e96fd4f..639d4c358 100644
--- a/src/gui/questswindow.cpp
+++ b/src/gui/questswindow.cpp
@@ -122,6 +122,7 @@ struct QuestEffect final
};
QuestsWindow::QuestsWindow() :
+ // TRANSLATORS: quests window name
Window(_("Quests"), false, nullptr, "quests.xml"),
gcn::ActionListener(),
mQuestsModel(new QuestsModel),
@@ -133,6 +134,7 @@ QuestsWindow::QuestsWindow() :
mText(new BrowserBox(this, BrowserBox::AUTO_WRAP)),
mTextScrollArea(new ScrollArea(mText,
getOptionBool("showtextbackground"), "quests_text_background.xml")),
+ // TRANSLATORS: quests window button
mCloseButton(new Button(this, _("Close"), "close", this)),
mVars(),
mQuests(),
@@ -246,6 +248,7 @@ void QuestsWindow::loadXml()
void QuestsWindow::loadQuest(const int var, const XmlNodePtr node)
{
QuestItem *quest = new QuestItem();
+ // TRANSLATORS: quests window quest name
quest->name = XML::langProperty(node, "name", _("unknown"));
quest->group = XML::getProperty(node, "group", "");
std::string incompleteStr = XML::getProperty(node, "incomplete", "");
diff --git a/src/gui/quitdialog.cpp b/src/gui/quitdialog.cpp
index dc3851b01..973883466 100644
--- a/src/gui/quitdialog.cpp
+++ b/src/gui/quitdialog.cpp
@@ -50,18 +50,25 @@
#include "debug.h"
QuitDialog::QuitDialog(QuitDialog **const pointerToMe):
+ // TRANSLATORS: quit dialog name
Window(_("Quit"), true, nullptr, "quit.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
mOptions(),
+ // TRANSLATORS: quit dialog button
mLogoutQuit(new RadioButton(this, _("Quit"), "quitdialog")),
+ // TRANSLATORS: quit dialog button
mForceQuit(new RadioButton(this, _("Quit"), "quitdialog")),
mSwitchAccountServer(new RadioButton(this,
+ // TRANSLATORS: quit dialog button
_("Switch server"), "quitdialog")),
mSwitchCharacter(new RadioButton(this,
+ // TRANSLATORS: quit dialog button
_("Switch character"), "quitdialog")),
mRate(nullptr),
+ // TRANSLATORS: quit dialog button
mOkButton(new Button(this, _("OK"), "ok", this)),
+ // TRANSLATORS: quit dialog button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mMyPointer(pointerToMe),
mNeedForceQuit(false)
diff --git a/src/gui/registerdialog.cpp b/src/gui/registerdialog.cpp
index 8628e4010..e9f381444 100644
--- a/src/gui/registerdialog.cpp
+++ b/src/gui/registerdialog.cpp
@@ -62,7 +62,8 @@ void WrongDataNoticeListener::action(const gcn::ActionEvent &event)
mTarget->requestFocus();
}
-RegisterDialog::RegisterDialog(LoginData *const data):
+RegisterDialog::RegisterDialog(LoginData *const data) :
+ // TRANSLATORS: register dialog name
Window(_("Register"), false, nullptr, "register.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
@@ -71,7 +72,9 @@ RegisterDialog::RegisterDialog(LoginData *const data):
mPasswordField(new PasswordField(this, mLoginData->password)),
mConfirmField(new PasswordField(this)),
mEmailField(nullptr),
+ // TRANSLATORS: register dialog. button.
mRegisterButton(new Button(this, _("Register"), "register", this)),
+ // TRANSLATORS: register dialog. button.
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mMaleButton(nullptr),
mFemaleButton(nullptr),
@@ -83,8 +86,11 @@ RegisterDialog::RegisterDialog(LoginData *const data):
const int optionalActions = Net::getLoginHandler()->
supportedOptionalActions();
+ // TRANSLATORS: register dialog. label.
Label *const userLabel = new Label(this, _("Name:"));
+ // TRANSLATORS: register dialog. label.
Label *const passwordLabel = new Label(this, _("Password:"));
+ // TRANSLATORS: register dialog. label.
Label *const confirmLabel = new Label(this, _("Confirm:"));
ContainerPlacer placer;
@@ -101,10 +107,13 @@ RegisterDialog::RegisterDialog(LoginData *const data):
if (optionalActions & Net::LoginHandler::SetGenderOnRegister)
{
+ // TRANSLATORS: register dialog. button.
mMaleButton = new RadioButton(this, _("Male"), "sex", true);
+ // TRANSLATORS: register dialog. button.
mFemaleButton = new RadioButton(this, _("Female"), "sex", false);
if (serverVersion >= 5)
{
+ // TRANSLATORS: register dialog. button.
mOtherButton = new RadioButton(this, _("Other"), "sex", false);
placer(0, row, mMaleButton);
placer(1, row, mFemaleButton);
@@ -121,11 +130,11 @@ RegisterDialog::RegisterDialog(LoginData *const data):
if (optionalActions & Net::LoginHandler::SetEmailOnRegister)
{
+ // TRANSLATORS: register dialog. label.
Label *const emailLabel = new Label(this, _("Email:"));
mEmailField = new TextField(this);
placer(0, row, emailLabel);
placer(1, row, mEmailField, 3).setPadding(2);
-
// row++;
}
@@ -194,6 +203,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
{
// Name too short
errorMsg = strprintf
+ // TRANSLATORS: error message
(_("The username needs to be at least %u characters long."),
minUser);
error = 1;
@@ -202,6 +212,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
{
// Name too long
errorMsg = strprintf
+ // TRANSLATORS: error message
(_("The username needs to be less than %u characters long."),
maxUser);
error = 1;
@@ -210,6 +221,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
{
// Pass too short
errorMsg = strprintf
+ // TRANSLATORS: error message
(_("The password needs to be at least %u characters long."),
minPass);
error = 2;
@@ -218,6 +230,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
{
// Pass too long
errorMsg = strprintf
+ // TRANSLATORS: error message
(_("The password needs to be less than %u characters long."),
maxPass);
error = 2;
@@ -225,6 +238,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
else if (mPasswordField->getText() != mConfirmField->getText())
{
// Password does not match with the confirmation one
+ // TRANSLATORS: error message
errorMsg = _("Passwords do not match.");
error = 2;
}
@@ -245,6 +259,7 @@ void RegisterDialog::action(const gcn::ActionEvent &event)
}
OkDialog *const dlg = new OkDialog(
+ // TRANSLATORS: error message
_("Error"), errorMsg, DIALOG_ERROR);
dlg->addActionListener(mWrongDataNoticeListener);
}
diff --git a/src/gui/selldialog.cpp b/src/gui/selldialog.cpp
index d0d9809ac..5963d8dff 100644
--- a/src/gui/selldialog.cpp
+++ b/src/gui/selldialog.cpp
@@ -48,6 +48,7 @@
SellDialog::DialogList SellDialog::instances;
SellDialog::SellDialog(const int npcId) :
+ // TRANSLATORS: sell dialog name
Window(_("Sell"), false, nullptr, "sell.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
@@ -57,6 +58,7 @@ SellDialog::SellDialog(const int npcId) :
}
SellDialog::SellDialog(std::string nick):
+ // TRANSLATORS: sell dialog name
Window(_("Sell"), false, nullptr, "sell.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
@@ -88,13 +90,19 @@ void SellDialog::init()
mQuantityLabel = new Label(this, strprintf(
"%d / %d", mAmountItems, mMaxItems));
mQuantityLabel->setAlignment(gcn::Graphics::CENTER);
+ // TRANSLATORS: sell dialog label
mMoneyLabel = new Label(this, strprintf(_("Price: %s / Total: %s"),
"", ""));
+ // TRANSLATORS: sell dialog button
mIncreaseButton = new Button(this, _("+"), "inc", this);
+ // TRANSLATORS: sell dialog button
mDecreaseButton = new Button(this, _("-"), "dec", this);
+ // TRANSLATORS: sell dialog button
mSellButton = new Button(this, _("Sell"), "sell", this);
+ // TRANSLATORS: sell dialog button
mQuitButton = new Button(this, _("Quit"), "quit", this);
+ // TRANSLATORS: sell dialog button
mAddMaxButton = new Button(this, _("Max"), "max", this);
mDecreaseButton->adjustSize();
@@ -330,6 +338,7 @@ void SellDialog::updateButtonsAndLabels()
// Update the quantity and money labels
mQuantityLabel->setCaption(strprintf("%d / %d", mAmountItems, mMaxItems));
+ // TRANSLATORS: sell dialog label
mMoneyLabel->setCaption(strprintf(_("Price: %s / Total: %s"),
Units::formatCurrency(income).c_str(),
Units::formatCurrency(mPlayerMoney + income).c_str()));
diff --git a/src/gui/serverdialog.cpp b/src/gui/serverdialog.cpp
index 9e3a46bf4..8bc1ad804 100644
--- a/src/gui/serverdialog.cpp
+++ b/src/gui/serverdialog.cpp
@@ -244,17 +244,24 @@ private:
ServerDialog::ServerDialog(ServerInfo *const serverInfo,
const std::string &dir) :
+ // TRANSLATORS: servers dialog name
Window(_("Choose Your Server"), false, nullptr, "server.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
gcn::SelectionListener(),
mMutex(),
mDescription(new Label(this, std::string())),
+ // TRANSLATORS: servers dialog button
mQuitButton(new Button(this, _("Quit"), "quit", this)),
+ // TRANSLATORS: servers dialog button
mConnectButton(new Button(this, _("Connect"), "connect", this)),
+ // TRANSLATORS: servers dialog button
mAddEntryButton(new Button(this, _("Add"), "addEntry", this)),
+ // TRANSLATORS: servers dialog button
mEditEntryButton(new Button(this, _("Edit"), "editEntry", this)),
+ // TRANSLATORS: servers dialog button
mDeleteButton(new Button(this, _("Delete"), "remove", this)),
+ // TRANSLATORS: servers dialog button
mLoadButton(new Button(this, _("Load"), "load", this)),
mServers(ServerInfos()),
mServersListModel(new ServersListModel(&mServers, this)),
@@ -267,13 +274,17 @@ ServerDialog::ServerDialog(ServerInfo *const serverInfo,
mPersistentIPCheckBox(nullptr)
{
if (isSafeMode)
+ {
+ // TRANSLATORS: servers dialog name
setCaption(_("Choose Your Server *** SAFE MODE ***"));
+ }
setWindowName("ServerDialog");
setCloseButton(true);
mPersistentIPCheckBox = new CheckBox(this,
+ // TRANSLATORS: servers dialog checkbox
_("Use same ip for game sub servers"),
config.getBoolValue("usePersistentIP"),
this, "persitent ip");
@@ -503,19 +514,23 @@ void ServerDialog::logic()
}
else if (mDownloadStatus == DOWNLOADING_IN_PROGRESS)
{
+ // TRANSLATORS: servers dialog label
mDescription->setCaption(strprintf(_("Downloading server list..."
"%2.2f%%"), static_cast<double>(mDownloadProgress * 100)));
}
else if (mDownloadStatus == DOWNLOADING_IDLE)
{
+ // TRANSLATORS: servers dialog label
mDescription->setCaption(_("Waiting for server..."));
}
else if (mDownloadStatus == DOWNLOADING_PREPARING)
{
+ // TRANSLATORS: servers dialog label
mDescription->setCaption(_("Preparing download"));
}
else if (mDownloadStatus == DOWNLOADING_ERROR)
{
+ // TRANSLATORS: servers dialog label
mDescription->setCaption(_("Error retreiving server list!"));
}
}
@@ -606,9 +621,15 @@ void ServerDialog::loadServers(const bool addNew)
if (meetsMinimumVersion)
version.clear();
else if (version.empty())
+ {
+ // TRANSLATORS: servers dialog label
version = _("requires a newer version");
+ }
else
+ {
+ // TRANSLATORS: servers dialog label
version = strprintf(_("requires v%s"), version.c_str());
+ }
gcn::Font *font = gui->getFont();
diff --git a/src/gui/setup.cpp b/src/gui/setup.cpp
index 16aa2219a..344899723 100644
--- a/src/gui/setup.cpp
+++ b/src/gui/setup.cpp
@@ -51,7 +51,8 @@
extern Window *statusWindow;
-Setup::Setup():
+Setup::Setup() :
+ // TRANSLATORS: setup window name
Window(_("Setup"), false, nullptr, "setup.xml"),
gcn::ActionListener(),
mTabs(),
@@ -77,9 +78,13 @@ Setup::Setup():
static const char *buttonNames[] =
{
+ // TRANSLATORS: setup button
N_("Apply"),
+ // TRANSLATORS: setup button
N_("Cancel"),
+ // TRANSLATORS: setup button
N_("Store"),
+ // TRANSLATORS: setup button
N_("Reset Windows"),
nullptr
};
diff --git a/src/gui/setup_audio.cpp b/src/gui/setup_audio.cpp
index 9209bc731..435c4ba4e 100644
--- a/src/gui/setup_audio.cpp
+++ b/src/gui/setup_audio.cpp
@@ -56,6 +56,7 @@ Setup_Audio::Setup_Audio(const Widget2 *const widget) :
mSoundModel(new SoundsModel),
mChannelsList(new SetupItemNames)
{
+ // TRANSLATORS: audio tab in settings
setName(_("Audio"));
// Do the layout
@@ -63,79 +64,106 @@ Setup_Audio::Setup_Audio(const Widget2 *const widget) :
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mScroll, 10, 10);
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Basic settings"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable Audio"), "", "sound", this, "soundEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable music"), "",
"playMusic", this, "playMusicEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable game sfx"), "",
"playBattleSound", this, "playBattleSoundEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable gui sfx"), "",
"playGuiSound", this, "playGuiSoundEvent");
+ // TRANSLATORS: settings option
new SetupItemSlider(_("Sfx volume"), "", "sfxVolume",
this, "sfxVolumeEvent", 0, soundManager.getMaxVolume(), 150, true);
+ // TRANSLATORS: settings option
new SetupItemSlider(_("Music volume"), "", "musicVolume",
this, "musicVolumeEvent", 0, soundManager.getMaxVolume(), 150, true);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable music fade out"), "",
"fadeoutmusic", this, "fadeoutmusicEvent");
-
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Audio frequency"), "",
"audioFrequency", this, "audioFrequencyEvent", 14000, 192000);
+ // TRANSLATORS: audio type
mChannelsList->push_back(_("mono"));
+ // TRANSLATORS: audio type
mChannelsList->push_back(_("stereo"));
+ // TRANSLATORS: audio type
mChannelsList->push_back(_("surround"));
+ // TRANSLATORS: audio type
mChannelsList->push_back(_("surround+center+lfe"));
+ // TRANSLATORS: settings option
new SetupItemSlider2(_("Audio channels"), "", "audioChannels", this,
"audioChannels", 1, 4, mChannelsList);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Sound effects"), "", this);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Information dialog sound"), "",
"soundinfo", this, "soundinfoEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Request dialog sound"), "",
"soundrequest", this, "soundrequestEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Whisper message sound"), "",
"soundwhisper", this, "soundwhisperEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Guild / Party message sound"), "",
"soundguild", this, "soundguildEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Highlight message sound"), "",
"soundhighlight", this, "soundhighlightEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Global message sound"), "",
"soundglobal", this, "soundglobalEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Error message sound"), "",
"sounderror", this, "sounderrorEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Trade request sound"), "",
"soundtrade", this, "soundtradeEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Show window sound"), "",
"soundshowwindow", this, "soundshowwindowEvent", mSoundModel);
+ // TRANSLATORS: settings option
new SetupItemSound(_("Hide window sound"), "",
"soundhidewindow", this, "soundhidewindowEvent", mSoundModel);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Other"), "", this);
#ifdef USE_MUMBLE
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable mumble voice chat"), "",
"enableMumble", this, "enableMumbleEvent");
#endif
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Download music"), "",
"download-music", this, "download-musicEvent");
diff --git a/src/gui/setup_chat.cpp b/src/gui/setup_chat.cpp
index 207ac7464..a953ab4df 100644
--- a/src/gui/setup_chat.cpp
+++ b/src/gui/setup_chat.cpp
@@ -46,6 +46,7 @@ extern int serverVersion;
Setup_Chat::Setup_Chat(const Widget2 *const widget) :
SetupTabScroll(widget)
{
+ // TRANSLATORS: settings tab name
setName(_("Chat"));
// Do the layout
@@ -53,100 +54,133 @@ Setup_Chat::Setup_Chat(const Widget2 *const widget) :
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mScroll, 10, 10);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Window"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto hide chat window."), "",
"autohideChat", this, "autohideChatEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Protect chat focus."), "",
"protectChatFocus", this, "protectChatFocusEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Colors"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Remove colors from received chat messages"), "",
"removeColors", this, "removeColorsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show chat colors list"), "",
"showChatColorsList", this, "showChatColorsListEvent");
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Commands"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Allow magic and GM commands in all chat tabs"),
"", "allowCommandsInChatTabs", this, "allowCommandsInChatTabsEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Limits"), "", this);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Limit max chars in chat line"), "",
"chatMaxCharLimit", this, "chatMaxCharLimitEvent", 0, 500);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Limit max lines in chat"), "",
"chatMaxLinesLimit", this, "chatMaxLinesLimitEvent", 0, 500);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Logs"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable chat Log"), "",
"enableChatLog", this, "enableChatLogEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show chat history"), "",
"showChatHistory", this, "showChatHistoryEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show guild online messages"), "",
"showGuildOnline", this, "showGuildOnlineEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Messages"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Hide shop messages"), "",
"hideShopMessages", this, "hideShopMessagesEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Tabs"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Put all whispers in tabs"), "",
"whispertab", this, "whispertabEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Log magic messages in debug tab"), "",
"showMagicInDebug", this, "showMagicInDebugEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show server messages in debug tab"), "",
"serverMsgInDebug", this, "serverMsgInDebugEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable trade tab"), "",
"enableTradeTab", this, "enableTradeTabEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable gm tab"), "",
"enableGmTab", this, "enableGmTabEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable language tab"), "",
"enableLangTab", this, "enableLangTabEvent", false);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show all languages messages"), "",
"showAllLang", this, "showAllLangEvent", false);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable battle tab"), "",
"enableBattleTab", this, "enableBattleTabEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show battle events"), "",
"showBattleEvents", this, "showBattleEventsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Resize chat tabs if need"), "",
"hideChatInput", this, "hideChatInputEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Time"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Use local time"), "",
"useLocalTime", this, "useLocalTimeEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Other"), "", this);
+ // TRANSLATORS: settings option
new SetupItemTextField(_("Highlight words (separated by comma)"), "",
"highlightWords", this, "highlightWordsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show MVP messages"), "",
"showMVP", this, "showMVPEvent");
diff --git a/src/gui/setup_colors.cpp b/src/gui/setup_colors.cpp
index a46e8d5bd..ec0a74cec 100644
--- a/src/gui/setup_colors.cpp
+++ b/src/gui/setup_colors.cpp
@@ -44,6 +44,7 @@
#include "debug.h"
+// TRANSLATORS: color selection preview message
const std::string Setup_Colors::rawmsg =
_("This is what the color looks like");
@@ -57,25 +58,31 @@ Setup_Colors::Setup_Colors(const Widget2 *const widget) :
mPreviewBox(new ScrollArea(mPreview, true,
"setup_colors_preview_background.xml")),
mSelected(-1),
+ // TRANSLATORS: colors tab. label.
mGradTypeLabel(new Label(this, _("Type:"))),
mGradTypeSlider(new Slider(0, 3)),
mGradTypeText(new Label(this)),
+ // TRANSLATORS: colors tab. label.
mGradDelayLabel(new Label(this, _("Delay:"))),
mGradDelaySlider(new Slider(20, 100)),
mGradDelayText(new TextField(this)),
+ // TRANSLATORS: colors tab. label.
mRedLabel(new Label(this, _("Red:"))),
mRedSlider(new Slider(0, 255)),
mRedText(new TextField(this)),
mRedValue(0),
+ // TRANSLATORS: colors tab. label.
mGreenLabel(new Label(this, _("Green:"))),
mGreenSlider(new Slider(0, 255)),
mGreenText(new TextField(this)),
mGreenValue(0),
+ // TRANSLATORS: colors tab. label.
mBlueLabel(new Label(this, _("Blue:"))),
mBlueSlider(new Slider(0, 255)),
mBlueText(new TextField(this)),
mBlueValue(0)
{
+ // TRANSLATORS: settings colors tab name
setName(_("Colors"));
mColorBox->addSelectionListener(this);
mScroll->setHorizontalScrollPolicy(gcn::ScrollArea::SHOW_NEVER);
@@ -94,14 +101,24 @@ Setup_Colors::Setup_Colors(const Widget2 *const widget) :
mGradTypeSlider->addActionListener(this);
mGradTypeSlider->setEnabled(false);
+ // TRANSLATORS: color type
std::string longText = _("Static");
if (getFont()->getWidth(_("Pulse")) > getFont()->getWidth(longText))
+ {
+ // TRANSLATORS: color type
longText = _("Pulse");
+ }
if (getFont()->getWidth(_("Rainbow")) > getFont()->getWidth(longText))
+ {
+ // TRANSLATORS: color type
longText = _("Rainbow");
+ }
if (getFont()->getWidth(_("Spectrum")) > getFont()->getWidth(longText))
+ {
+ // TRANSLATORS: color type
longText = _("Spectrum");
+ }
mGradTypeText->setCaption(longText);
@@ -307,11 +324,13 @@ void Setup_Colors::valueChanged(const gcn::SelectionEvent &event A_UNUSED)
case UserPalette::MONSTER_HP2:
case UserPalette::PLAYER_HP:
case UserPalette::PLAYER_HP2:
+ // TRANSLATORS: colors tab. label.
mGradDelayLabel->setCaption(_("Alpha:"));
mGradDelayText->setRange(0, 255);
mGradDelaySlider->setScale(0, 255);
break;
default:
+ // TRANSLATORS: colors tab. label.
mGradDelayLabel->setCaption(_("Delay:"));
mGradDelayText->setRange(20, 100);
mGradDelaySlider->setScale(20, 100);
@@ -397,12 +416,14 @@ void Setup_Colors::updateGradType()
const Palette::GradientType grad = userPalette->getGradientType(type);
mGradTypeText->setCaption(
+ // TRANSLATORS: color type
(grad == Palette::STATIC) ? _("Static") :
+ // TRANSLATORS: color type
(grad == Palette::PULSE) ? _("Pulse") :
+ // TRANSLATORS: color type
(grad == Palette::RAINBOW) ? _("Rainbow") : _("Spectrum"));
const bool enable = (grad == Palette::STATIC || grad == Palette::PULSE);
-// const bool delayEnable = (grad != Palette::STATIC);
const bool delayEnable = true;
mGradDelayText->setEnabled(delayEnable);
diff --git a/src/gui/setup_input.cpp b/src/gui/setup_input.cpp
index a0eea1d3c..6adbe5d9a 100644
--- a/src/gui/setup_input.cpp
+++ b/src/gui/setup_input.cpp
@@ -95,15 +95,20 @@ Setup_Input::Setup_Input(const Widget2 *const widget) :
SetupTab(widget),
mKeyListModel(new KeyListModel),
mKeyList(new ListBox(this, mKeyListModel, "")),
+ // TRANSLATORS: button in input settings tab
mAssignKeyButton(new Button(this, _("Assign"), "assign", this)),
+ // TRANSLATORS: button in input settings tab
mUnassignKeyButton(new Button(this, _("Unassign"), "unassign", this)),
+ // TRANSLATORS: button in input settings tab
mDefaultButton(new Button(this, _("Default"), "default", this)),
+ // TRANSLATORS: button in input settings tab
mResetKeysButton(new Button(this, _("Reset all keys"), "resetkeys", this)),
mTabs(new TabStrip(this, config.getIntValue("fontSize") + 10)),
mKeySetting(false),
mActionDataSize(new int [9])
{
inputManager.setSetupInput(this);
+ // TRANSLATORS: setting tab name
setName(_("Input"));
selectedData = 0;
@@ -192,7 +197,9 @@ void Setup_Input::apply()
std::string str1 = keyToString(key1);
std::string str2 = keyToString(key2);
+ // TRANSLATORS: input settings error header
new OkDialog(_("Key Conflict(s) Detected."),
+ // TRANSLATORS: input settings error
strprintf(_("Conflict \"%s\" and \"%s\" keys. "
"Resolve them, or gameplay may result in strange behaviour."),
gettext(str1.c_str()), gettext(str2.c_str())), DIALOG_ERROR);
@@ -351,6 +358,7 @@ std::string Setup_Input::keyToString(const int index) const
return key.name;
}
}
+ // TRANSLATORS: unknown key name
return _("unknown");
}
diff --git a/src/gui/setup_joystick.cpp b/src/gui/setup_joystick.cpp
index 6732a3a49..1ac5dae8d 100644
--- a/src/gui/setup_joystick.cpp
+++ b/src/gui/setup_joystick.cpp
@@ -43,16 +43,22 @@ extern Joystick *joystick;
Setup_Joystick::Setup_Joystick(const Widget2 *const widget) :
SetupTab(widget),
mCalibrateLabel(new Label(this,
+ // TRANSLATORS: joystick settings tab label
_("Press the button to start calibration"))),
+ // TRANSLATORS: joystick settings tab button
mCalibrateButton(new Button(this, _("Calibrate"), "calibrate", this)),
+ // TRANSLATORS: joystick settings tab button
mDetectButton(new Button(this, _("Detect joysticks"), "detect", this)),
mOriginalJoystickEnabled(config.getBoolValue("joystickEnabled")),
+ // TRANSLATORS: joystick settings tab checkbox
mJoystickEnabled(new CheckBox(this, _("Enable joystick"))),
mNamesModel(new NamesModel),
mNamesDropDown(new DropDown(this, mNamesModel)),
+ // TRANSLATORS: joystick settings tab checkbox
mUseInactiveCheckBox(new CheckBox(this, _("Use joystick if client "
"window inactive"), config.getBoolValue("useInactiveJoystick")))
{
+ // TRANSLATORS: joystick settings tab name
setName(_("Joystick"));
Joystick::getNames(mNamesModel->getNames());
@@ -125,15 +131,19 @@ void Setup_Joystick::action(const gcn::ActionEvent &event)
if (joystick->isCalibrating())
{
+ // TRANSLATORS: joystick settings tab button
mCalibrateButton->setCaption(_("Calibrate"));
mCalibrateLabel->setCaption
+ // TRANSLATORS: joystick settings tab label
(_("Press the button to start calibration"));
joystick->finishCalibration();
}
else
{
+ // TRANSLATORS: joystick settings tab button
mCalibrateButton->setCaption(_("Stop"));
mCalibrateLabel->setCaption(
+ // TRANSLATORS: joystick settings tab label
_("Rotate the stick and don't press buttons"));
joystick->startCalibration();
}
diff --git a/src/gui/setup_other.cpp b/src/gui/setup_other.cpp
index bc4bf8f24..39df3ca13 100644
--- a/src/gui/setup_other.cpp
+++ b/src/gui/setup_other.cpp
@@ -36,8 +36,11 @@ static const int shortcutsListSize = 3;
static const char *const shortcutsList[] =
{
+ // TRANSLATORS: show buttons at top right corner type
N_("Always show"),
+ // TRANSLATORS: show buttons at top right corner type
N_("Auto hide in small resolution"),
+ // TRANSLATORS: show buttons at top right corner type
N_("Always auto hide")
};
@@ -62,12 +65,19 @@ static const int densityListSize = 7;
static const char *const densityList[] =
{
+ // TRANSLATORS: screen density type
N_("default"),
+ // TRANSLATORS: screen density type
N_("low"),
+ // TRANSLATORS: screen density type
N_("medium"),
+ // TRANSLATORS: screen density type
N_("tv"),
+ // TRANSLATORS: screen density type
N_("high"),
+ // TRANSLATORS: screen density type
N_("xhigh"),
+ // TRANSLATORS: screen density type
N_("xxhigh")
};
@@ -77,117 +87,153 @@ Setup_Other::Setup_Other(const Widget2 *const widget) :
mShortcutsList(new NamesModel),
mDensityList(new NamesModel)
{
+ // TRANSLATORS: misc tab in settings
setName(_("Misc"));
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mScroll, 10, 10);
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Monsters"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show damage inflicted to monsters"), "",
"showMonstersTakedDamage", this, "showMonstersTakedDamageEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto target only reachable monsters"), "",
"targetOnlyReachable", this, "targetOnlyReachableEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Highlight monster attack range"), "",
"highlightMonsterAttackRange", this,
"highlightMonsterAttackRangeEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show monster hp bar"), "",
"showMobHP", this, "showMobHPEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Cycle monster targets"), "",
"cycleMonsters", this, "cycleMonstersEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Map"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show warps particles"), "",
"warpParticle", this, "warpParticleEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Highlight map portals"), "",
"highlightMapPortals", this, "highlightMapPortalsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Highlight floor items"), "",
"floorItemsHighlight", this, "floorItemsHighlightEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Highlight player attack range"), "",
"highlightAttackRange", this, "highlightAttackRangeEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show extended minimaps"), "",
"showExtMinimaps", this, "showExtMinimapsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Draw path"), "", "drawPath",
this, "drawPathEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Draw hotkeys on map"), "", "drawHotKeys",
this, "drawHotKeysEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable lazy scrolling"), "",
"enableLazyScrolling", this, "enableLazyScrollingEvent");
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Scroll laziness"), "", "ScrollLaziness",
this, "ScrollLazinessEvent", 1, 160);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Scroll radius"), "", "ScrollRadius",
this, "ScrollRadiusEvent", 0, 32);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto resize minimaps"), "", "autoresizeminimaps",
this, "autoresizeminimapsEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Moving"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto fix position"), "",
"autofixPos", this, "autofixPosEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Attack while moving"), "",
"attackMoving", this, "attackMovingEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Attack next target"), "",
"attackNext", this, "attackNextEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Sync player move"), "", "syncPlayerMove",
this, "syncPlayerMoveEvent");
+ // TRANSLATORS: settings option
new SetupItemTextField(_("Crazy move A program"), "",
"crazyMoveProgram", this, "crazyMoveProgramEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Mouse relative moves "
"(good for touch interfaces)"), "", "mouseDirectionMove",
this, "mouseDirectionMoveEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Player"), "", this);
new SetupItemCheckBox(_("Show own hp bar"), "",
"showOwnHP", this, "showOwnHPEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable quick stats"), "",
"quickStats", this, "quickStatsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Cycle player targets"), "",
"cyclePlayers", this, "cyclePlayersEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show job exp messages"), "",
"showJobExp", this, "showJobExpEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show players popups"), "",
"showBeingPopup", this, "showBeingPopupEvent");
+ // TRANSLATORS: settings option
new SetupItemTextField(_("Afk message"), "",
"afkMessage", this, "afkMessageEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show job"), "", "showJob",
this, "showJobEvent", false);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable attack filter"), "",
"enableAttackFilter", this, "enableAttackFilterEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable pickup filter"), "",
"enablePickupFilter", this, "enablePickupFilterEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable advert protocol"), "",
"enableAdvert", this, "enableAdvertEvent");
@@ -195,101 +241,132 @@ Setup_Other::Setup_Other(const Widget2 *const widget) :
"weightMsg", this, "weightMsgEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Shop"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Accept sell/buy requests"), "",
"autoShop", this, "autoShopEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable shop mode"), "",
"tradebot", this, "tradebotEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("NPC"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Cycle npc targets"), "",
"cycleNPC", this, "cycleNPCEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Log NPC dialogue"), "", "logNpcInGui",
this, "logNpcInGuiEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Bots support"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable auction bot support"), "",
"enableAuctionBot", this, "enableAuctionBotEvent", false);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable guild bot support and disable native "
"guild support"), "", "enableGuildBot", this,
"enableGuildBotEvent", false);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Keyboard"), "", this);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Repeat delay"), "",
"repeateDelay", this, "repeateDelayEvent", 0, 10000);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Repeat interval"), "",
"repeateInterval", this, "repeateIntervalEvent", 0, 10000);
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Custom repeat interval"), "",
"repeateInterval2", this, "repeateInterval2Event", 0, 10000);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Windows"), "", this);
mShortcutsList->fillFromArray(&shortcutsList[0], shortcutsListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Shortcut buttons"), "", "autohideButtons", this,
"autohideButtonsEvent", mShortcutsList, 200);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Proxy server"), "", this);
mProxyTypeList->fillFromArray(&proxyTypeList[0], proxyTypeListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Proxy type"), "", "downloadProxyType", this,
"downloadProxyTypeEvent", mProxyTypeList, 200);
+ // TRANSLATORS: settings option
new SetupItemTextField(_("Proxy address:port"), "",
"downloadProxy", this, "downloadProxyEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Other"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable server side attack"), "",
"serverAttack", this, "serverAttackEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable bot checker"), "",
"enableBotCheker", this, "enableBotChekerEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable buggy servers protection "
"(do not disable)"), "", "enableBuggyServers", this,
"enableBuggyServersEvent", false);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable debug log"), "",
"debugLog", this, "debugLogEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable OpenGL log"), "",
"debugOpenGL", this, "debugOpenGLEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable input log"), "",
"logInput", this, "logInputEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Low traffic mode"), "", "lowTraffic",
this, "lowTrafficEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Hide shield sprite"), "", "hideShield",
this, "hideShieldEvent");
#ifndef ANDROID
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Use FBO for screenshots (only for opengl)"),
"", "usefbo", this, "usefboEvent");
#endif
+ // TRANSLATORS: settings option
new SetupItemIntTextField(_("Network delay between sub servers"),
"", "networksleep", this, "networksleepEvent", 0, 10000);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show background"), "", "showBackground",
this, "showBackgroundEvent");
mDensityList->fillFromArray(&densityList[0], densityListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Screen density override"), "",
"screenDensity", this, "screenDensityEvent", mDensityList, 100);
diff --git a/src/gui/setup_perfomance.cpp b/src/gui/setup_perfomance.cpp
index 0d924690b..303e14c88 100644
--- a/src/gui/setup_perfomance.cpp
+++ b/src/gui/setup_perfomance.cpp
@@ -46,6 +46,7 @@ static const int texturesListSize = 4;
static const char *const texturesList[] =
{
+ // TRANSLATORS: texture compression type
N_("No"),
"s3tc",
"fxt1",
@@ -56,6 +57,7 @@ Setup_Perfomance::Setup_Perfomance(const Widget2 *const widget) :
SetupTabScroll(widget),
mTexturesList(new NamesModel)
{
+ // TRANSLATORS: settings tab name
setName(_("Perfomance"));
// Do the layout
@@ -63,72 +65,93 @@ Setup_Perfomance::Setup_Perfomance(const Widget2 *const widget) :
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mScroll, 10, 10);
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Better perfomance (enable for better perfomance)"),
"", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto adjust perfomance"), "",
"adjustPerfomance", this, "adjustPerfomanceEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Hw acceleration"), "",
"hwaccel", this, "hwaccelEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable opacity cache (Software, can "
"use many memory)"), "", "alphaCache", this, "alphaCacheEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable map reduce (Software)"), "",
"enableMapReduce", this, "enableMapReduceEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable compound sprite delay (Software)"), "",
"enableCompoundSpriteDelay", this, "enableCompoundSpriteDelayEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable delayed images load (OpenGL)"), "",
"enableDelayedAnimations", this, "enableDelayedAnimationsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable texture sampler (OpenGL)"), "",
"useTextureSampler", this, "useTextureSamplerEvent");
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Better quality (disable for better perfomance)"),
"", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable alpha channel fix (Software, can "
"be very slow)"), "Can slow down drawing", "enableAlphaFix",
this, "enableAlphaFixEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show beings transparency"), "",
"beingopacity", this, "beingopacityEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable reorder sprites."), "",
"enableReorderSprites", this, "enableReorderSpritesEvent");
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Small memory (enable for lower memory usage)"),
"", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Disable advanced beings caching (Software)"), "",
"disableAdvBeingCaching", this, "disableAdvBeingCachingEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Disable beings caching (Software)"), "",
"disableBeingCaching", this, "disableBeingCachingEvent");
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Different options (enable or disable can "
"improve perfomance)"), "", this);
mTexturesList->fillFromArray(&texturesList[0], texturesListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Enable texture compression (fast OpenGL)"), "",
"compresstextures", this, "compresstexturesEvent", mTexturesList, 100);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable rectangular texture extension (OpenGL)"),
"", "rectangulartextures", this, "rectangulartexturesEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Use new texture internal format (OpenGL)"),
"", "newtextures", this, "newtexturesEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable texture atlases (OpenGL)"), "",
"useAtlases", this, "useAtlasesEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Cache all sprites per map (can use "
"additinal memory)"), "", "uselonglivesprites", this,
"uselonglivespritesEvent");
diff --git a/src/gui/setup_players.cpp b/src/gui/setup_players.cpp
index 92e856897..3834703f5 100644
--- a/src/gui/setup_players.cpp
+++ b/src/gui/setup_players.cpp
@@ -44,51 +44,66 @@
Setup_Players::Setup_Players(const Widget2 *const widget) :
SetupTabScroll(widget)
{
+ // TRANSLATORS: settings tab name
setName(_("Players"));
LayoutHelper h(this);
ContainerPlacer place = h.getPlacer(0, 0);
place(0, 0, mScroll, 10, 10);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show gender"), "",
"showgender", this, "showgenderEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show level"), "",
"showlevel", this, "showlevelEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show own name"), "",
"showownname", this, "showownnameEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable extended mouse targeting"), "",
"extMouseTargeting", this, "extMouseTargetingEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Target dead players"), "",
"targetDeadPlayers", this, "targetDeadPlayersEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Visible names"), "",
"visiblenames", this, "visiblenamesEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Auto move names"), "",
"moveNames", this, "moveNamesEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Secure trades"), "",
"securetrades", this, "securetradesEvent");
+ // TRANSLATORS: settings option
new SetupItemTextField(_("Unsecure chars in names"), "",
"unsecureChars", this, "unsecureCharsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show statuses"), "",
"showPlayersStatus", this, "showPlayersStatusEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show ip addresses on screenshots"), "",
"showip", this, "showipEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Allow self heal with mouse click"), "",
"selfMouseHeal", this, "selfMouseHealEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Group friends in who is online window"), "",
"groupFriends", this, "groupFriendsEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Hide erased players nicks"), "",
"hideErased", this, "hideErasedEvent");
diff --git a/src/gui/setup_relations.cpp b/src/gui/setup_relations.cpp
index ccc6d8ce2..5a2f34f5d 100644
--- a/src/gui/setup_relations.cpp
+++ b/src/gui/setup_relations.cpp
@@ -57,18 +57,27 @@ static const unsigned int RELATION_CHOICE_COLUMN_WIDTH = 80;
static const char *const table_titles[COLUMNS_NR] =
{
+ // TRANSLATORS: relations table header
N_("Name"),
+ // TRANSLATORS: relations table header
N_("Relation")
};
static const char *const RELATION_NAMES[PlayerRelation::RELATIONS_NR] =
{
+ // TRANSLATORS: relation type
N_("Neutral"),
+ // TRANSLATORS: relation type
N_("Friend"),
+ // TRANSLATORS: relation type
N_("Disregarded"),
+ // TRANSLATORS: relation type
N_("Ignored"),
+ // TRANSLATORS: relation type
N_("Erased"),
+ // TRANSLATORS: relation type
N_("Blacklisted"),
+ // TRANSLATORS: relation type
N_("Enemy")
};
@@ -225,7 +234,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
+ return "???";
return (*player_relations.getPlayerIgnoreStrategies())
[i]->mDescription;
@@ -244,14 +253,17 @@ Setup_Relations::Setup_Relations(const Widget2 *const widget) :
mPlayerTable(new GuiTable(mPlayerTableModel)),
mPlayerTitleTable(new GuiTable(this, mPlayerTableTitleModel)),
mPlayerScrollArea(new ScrollArea(mPlayerTable)),
+ // TRANSLATORS: relation dialog button
mDefaultTrading(new CheckBox(this, _("Allow trading"),
- player_relations.getDefault() & PlayerRelation::TRADE)),
+ player_relations.getDefault() & PlayerRelation::TRADE)),
+ // TRANSLATORS: relation dialog button
mDefaultWhisper(new CheckBox(this, _("Allow whispers"),
- player_relations.getDefault() & PlayerRelation::WHISPER)),
+ player_relations.getDefault() & PlayerRelation::WHISPER)),
mDeleteButton(new Button(this, _("Delete"), ACTION_DELETE, this)),
mIgnoreActionChoicesModel(new IgnoreChoicesListModel),
mIgnoreActionChoicesBox(new DropDown(widget, mIgnoreActionChoicesModel))
{
+ // TRANSLATORS: relation dialog name
setName(_("Relations"));
mPlayerTable->setOpaque(false);
@@ -275,6 +287,7 @@ Setup_Relations::Setup_Relations(const Widget2 *const widget) :
mPlayerTable->setLinewiseSelection(true);
mPlayerTable->addActionListener(this);
+ // TRANSLATORS: relation dialog label
Label *const ignore_action_label = new Label(this, _("When ignoring:"));
mIgnoreActionChoicesBox->setActionEventId(ACTION_STRATEGY);
diff --git a/src/gui/setup_theme.cpp b/src/gui/setup_theme.cpp
index f0cacf8af..b672085b2 100644
--- a/src/gui/setup_theme.cpp
+++ b/src/gui/setup_theme.cpp
@@ -82,16 +82,27 @@ const int maxFontSizes = 11;
const char *SIZE_NAME[maxFontSizes] =
{
+ // TRANSLATORS: font size
N_("Very small (9)"),
+ // TRANSLATORS: font size
N_("Tiny (10)"),
+ // TRANSLATORS: font size
N_("Small (11)"),
+ // TRANSLATORS: font size
N_("Medium (12)"),
+ // TRANSLATORS: font size
N_("Normal (13)"),
+ // TRANSLATORS: font size
N_("Large (14)"),
+ // TRANSLATORS: font size
N_("Very large (15)"),
+ // TRANSLATORS: font size
N_("Big (16)"),
+ // TRANSLATORS: font size
N_("Very big (17)"),
+ // TRANSLATORS: font size
N_("Huge (18)"),
+ // TRANSLATORS: font size
N_("Very huge (19)"),
};
@@ -107,7 +118,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
+ return "???";
return gettext(SIZE_NAME[i]);
}
@@ -124,22 +135,39 @@ const int langs_count = 17;
const Language LANG_NAME[langs_count] =
{
+ // TRANSLATORS: language
{N_("(default)"), "", ""},
+ // TRANSLATORS: language
{N_("Chinese (China)"), "zh_CN", "cn.png"},
+ // TRANSLATORS: language
{N_("Czech"), "cs_CZ", "cz.png"},
+ // TRANSLATORS: language
{N_("English"), "C", "en.png"},
+ // TRANSLATORS: language
{N_("Finnish"), "fi_FI", "fi.png"},
+ // TRANSLATORS: language
{N_("French"), "fr_FR", "fr.png"},
+ // TRANSLATORS: language
{N_("German"), "de_DE", "de.png"},
+ // TRANSLATORS: language
{N_("Indonesian"), "id_ID", "id.png"},
+ // TRANSLATORS: language
{N_("Italian"), "it_IT", "it.png"},
+ // TRANSLATORS: language
{N_("Polish"), "pl_PL", "pl.png"},
+ // TRANSLATORS: language
{N_("Japanese"), "ja_JP", "jp.png"},
+ // TRANSLATORS: language
{N_("Dutch (Belgium/Flemish)"), "nl_BE", "nl_BE.png"},
+ // TRANSLATORS: language
{N_("Portuguese"), "pt_PT", "pt.png"},
+ // TRANSLATORS: language
{N_("Portuguese (Brazilian)"), "pt_BR", "pt_BR.png"},
+ // TRANSLATORS: language
{N_("Russian"), "ru_RU", "ru.png"},
+ // TRANSLATORS: language
{N_("Spanish (Castilian)"), "es_ES", "es.png"},
+ // TRANSLATORS: language
{N_("Turkish"), "tr_TR", "tr.png"}
};
@@ -174,7 +202,7 @@ public:
std::string getElementAt(int i) override A_WARN_UNUSED
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
+ return "???";
return gettext(LANG_NAME[i].name.c_str());
}
@@ -191,39 +219,49 @@ public:
Setup_Theme::Setup_Theme(const Widget2 *const widget) :
SetupTab(widget),
+ // TRANSLATORS: theme settings label
mThemeLabel(new Label(this, _("Gui theme"))),
mThemesModel(new ThemesModel),
mThemeDropDown(new DropDown(this, mThemesModel)),
mTheme(config.getStringValue("theme")),
mInfo(Theme::loadInfo(mTheme)),
mFontsModel(new FontsModel),
+ // TRANSLATORS: theme settings label
mFontLabel(new Label(this, _("Main Font"))),
mFontDropDown(new DropDown(this, mFontsModel)),
mFont(config.getStringValue("font")),
mLangListModel(new LangListModel),
+ // TRANSLATORS: theme settings label
mLangLabel(new Label(this, _("Language"))),
mLangDropDown(new DropDown(this, mLangListModel, true)),
mLang(config.getStringValue("lang")),
+ // TRANSLATORS: theme settings label
mBoldFontLabel(new Label(this, _("Bold font"))),
mBoldFontDropDown(new DropDown(this, mFontsModel)),
mBoldFont(config.getStringValue("boldFont")),
+ // TRANSLATORS: theme settings label
mParticleFontLabel(new Label(this, _("Particle font"))),
mParticleFontDropDown(new DropDown(this, mFontsModel)),
mParticleFont(config.getStringValue("particleFont")),
+ // TRANSLATORS: theme settings label
mHelpFontLabel(new Label(this, _("Help font"))),
mHelpFontDropDown(new DropDown(this, mFontsModel)),
mHelpFont(config.getStringValue("helpFont")),
+ // TRANSLATORS: theme settings label
mSecureFontLabel(new Label(this, _("Secure font"))),
mSecureFontDropDown(new DropDown(this, mFontsModel)),
mSecureFont(config.getStringValue("secureFont")),
+ // TRANSLATORS: theme settings label
mJapanFontLabel(new Label(this, _("Japanese font"))),
mJapanFontDropDown(new DropDown(this, mFontsModel)),
mJapanFont(config.getStringValue("japanFont")),
mFontSizeListModel(new FontSizeChoiceListModel),
+ // TRANSLATORS: theme settings label
mFontSizeLabel(new Label(this, _("Font size"))),
mFontSize(config.getIntValue("fontSize")),
mFontSizeDropDown(new DropDown(this, mFontSizeListModel)),
mNpcFontSizeListModel(new FontSizeChoiceListModel),
+ // TRANSLATORS: theme settings label
mNpcFontSizeLabel(new Label(this, _("Npc font size"))),
mNpcFontSize(config.getIntValue("npcfontSize")),
mNpcFontSizeDropDown(new DropDown(this, mNpcFontSizeListModel)),
@@ -231,6 +269,7 @@ Setup_Theme::Setup_Theme(const Widget2 *const widget) :
mInfoButton(new Button(this, _("i"), ACTION_INFO, this)),
mThemeInfo()
{
+ // TRANSLATORS: theme settings tab name
setName(_("Theme"));
mThemeDropDown->setActionEventId(ACTION_THEME);
@@ -399,6 +438,7 @@ void Setup_Theme::action(const gcn::ActionEvent &event)
}
else if (eventId == ACTION_INFO)
{
+ // TRANSLATORS: theme info dialog header
new OkDialog(_("Theme info"), mThemeInfo, DIALOG_OK,
false, true, nullptr, 600);
}
@@ -423,6 +463,7 @@ void Setup_Theme::apply()
{
if (config.getStringValue("theme") != mTheme)
{
+ // TRANSLATORS: theme message dialog
new OkDialog(_("Theme Changed"), _("Restart your client for "
"the change to take effect."));
}
diff --git a/src/gui/setup_touch.cpp b/src/gui/setup_touch.cpp
index 8fa3c5a7f..011a27016 100644
--- a/src/gui/setup_touch.cpp
+++ b/src/gui/setup_touch.cpp
@@ -31,9 +31,13 @@ static const int sizeListSize = 4;
static const char *const sizeList[] =
{
+ // TRANSLATORS: onscreen button size
N_("Small"),
+ // TRANSLATORS: onscreen button size
N_("Normal"),
+ // TRANSLATORS: onscreen button size
N_("Medium"),
+ // TRANSLATORS: onscreen button size
N_("Large")
};
@@ -51,6 +55,7 @@ Setup_Touch::Setup_Touch(const Widget2 *const widget) :
mFormatList(new NamesModel),
mActionsList(new TouchActionsModel)
{
+ // TRANSLATORS: touch settings tab
setName(_("Touch"));
LayoutHelper h(this);
@@ -59,48 +64,62 @@ Setup_Touch::Setup_Touch(const Widget2 *const widget) :
mSizeList->fillFromArray(&sizeList[0], sizeListSize);
mFormatList->fillFromArray(&formatList[0], formatListSize);
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Onscreen keyboard"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show onscreen keyboard icon"), "",
"showScreenKeyboard", this, "showScreenKeyboardEvent");
+ // TRANSLATORS: settings option
new SetupActionDropDown(_("Keyboard icon action"), "",
"screenActionKeyboard", this, "screenActionKeyboardEvent",
mActionsList, 250);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Onscreen joystick"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show onscreen joystick"), "",
"showScreenJoystick", this, "showScreenJoystickEvent");
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Joystick size"), "", "screenJoystickSize", this,
"screenJoystickEvent", mSizeList, 100);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Onscreen buttons"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show onscreen buttons"), "",
"showScreenButtons", this, "showScreenButtonsEvent");
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Buttons format"), "", "screenButtonsFormat", this,
"screenButtonsFormatEvent", mFormatList, 100);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Buttons size"), "", "screenButtonsSize", this,
"screenButtonsSizeEvent", mSizeList, 100);
+ // TRANSLATORS: settings option
new SetupActionDropDown(strprintf(_("Button %u action"), 1u), "",
"screenActionButton0", this, "screenActionButton0Event",
mActionsList, 250);
+ // TRANSLATORS: settings option
new SetupActionDropDown(strprintf(_("Button %u action"), 2u), "",
"screenActionButton1", this, "screenActionButton1Event",
mActionsList, 250);
+ // TRANSLATORS: settings option
new SetupActionDropDown(strprintf(_("Button %u action"), 3u), "",
"screenActionButton2", this, "screenActionButton2Event",
mActionsList, 250);
+ // TRANSLATORS: settings option
new SetupActionDropDown(strprintf(_("Button %u action"), 4u), "",
"screenActionButton3", this, "screenActionButton3Event",
mActionsList, 250);
diff --git a/src/gui/setup_video.cpp b/src/gui/setup_video.cpp
index e0054b0e0..65e06d271 100644
--- a/src/gui/setup_video.cpp
+++ b/src/gui/setup_video.cpp
@@ -178,11 +178,15 @@ int ModeListModel::getIndexOf(const std::string &widthXHeightMode)
const char *OPENGL_NAME[4] =
{
+ // TRANSLATORS: draw backend
N_("Software"),
#ifndef ANDROID
+ // TRANSLATORS: draw backend
N_("Fast OpenGL"),
+ // TRANSLATORS: draw backend
N_("Safe OpenGL"),
#endif
+ // TRANSLATORS: draw backend
N_("Mobile OpenGL"),
};
@@ -202,8 +206,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return gettext(OPENGL_NAME[i]);
}
};
@@ -221,28 +224,37 @@ Setup_Video::Setup_Video(const Widget2 *const widget) :
mModeListModel(new ModeListModel),
mOpenGLListModel(new OpenGLListModel),
mModeList(new ListBox(widget, mModeListModel, "")),
+ // TRANSLATORS: video settings checkbox
mFsCheckBox(new CheckBox(this, _("Full screen"), mFullScreenEnabled)),
mOpenGLDropDown(new DropDown(widget, mOpenGLListModel)),
mCustomCursorCheckBox(new CheckBox(this,
#ifdef ANDROID
- _("Show cursor"),
+ // TRANSLATORS: video settings checkbox
+ _("Show cursor"),
#else
- _("Custom cursor"),
+ // TRANSLATORS: video settings checkbox
+ _("Custom cursor"),
#endif
mCustomCursorEnabled)),
+ // TRANSLATORS: video settings checkbox
mEnableResizeCheckBox(new CheckBox(this, _("Enable resize"),
mEnableResize)),
+ // TRANSLATORS: video settings checkbox
mNoFrameCheckBox(new CheckBox(this, _("No frame"), mNoFrame)),
+ // TRANSLATORS: video settings checkbox
mFpsCheckBox(new CheckBox(this, _("FPS limit:"))),
mFpsSlider(new Slider(2, 160)),
mFpsLabel(new Label(this)),
mAltFpsSlider(new Slider(2, 160)),
+ // TRANSLATORS: video settings label
mAltFpsLabel(new Label(this, _("Alt FPS limit: "))),
#if !defined(ANDROID) && !defined(__APPLE__)
+ // TRANSLATORS: video settings button
mDetectButton(new Button(this, _("Detect best mode"), "detect", this)),
#endif
mDialog(nullptr)
{
+ // TRANSLATORS: video settings tab name
setName(_("Video"));
ScrollArea *const scrollArea = new ScrollArea(mModeList,
@@ -262,8 +274,10 @@ Setup_Video::Setup_Video(const Widget2 *const widget) :
mModeList->setEnabled(true);
+ // TRANSLATORS: video settings label
mFpsLabel->setCaption(mFps > 0 ? toString(mFps) : _("None"));
mFpsLabel->setWidth(60);
+ // TRANSLATORS: video settings label
mAltFpsLabel->setCaption(_("Alt FPS limit: ") + (mAltFps > 0
? toString(mAltFps) : _("None")));
mAltFpsLabel->setWidth(150);
@@ -371,12 +385,14 @@ void Setup_Video::apply()
std::stringstream errorMsg;
if (fullscreen)
{
+ // TRANSLATORS: video error message
errorMsg << _("Failed to switch to windowed mode "
"and restoration of old mode also "
"failed!") << std::endl;
}
else
{
+ // TRANSLATORS: video error message
errorMsg << _("Failed to switch to fullscreen mode"
" and restoration of old mode also "
"failed!") << std::endl;
@@ -388,7 +404,9 @@ void Setup_Video::apply()
}
else
{
+ // TRANSLATORS: video settings warning
new OkDialog(_("Switching to Full Screen"),
+ // TRANSLATORS: video settings warning
_("Restart needed for changes to take effect."));
}
#endif
@@ -407,7 +425,9 @@ void Setup_Video::apply()
config.setValue("opengl", mode);
// OpenGL can currently only be changed by restarting, notify user.
+ // TRANSLATORS: video settings warning
new OkDialog(_("Changing to OpenGL"),
+ // TRANSLATORS: video settings warning
_("Applying change to OpenGL requires restart."));
}
@@ -444,7 +464,9 @@ void Setup_Video::cancel()
mAltFpsSlider->setValue(mAltFps);
mAltFpsSlider->setEnabled(mAltFps > 0);
mFpsLabel->setCaption(mFpsCheckBox->isSelected()
+ // TRANSLATORS: video settings label
? toString(mFps) : _("None"));
+ // TRANSLATORS: video settings label
mAltFpsLabel->setCaption(_("Alt FPS limit: ") + toString(mAltFps));
mEnableResizeCheckBox->setSelected(mEnableResize);
mNoFrameCheckBox->setSelected(mNoFrame);
@@ -483,7 +505,9 @@ void Setup_Video::action(const gcn::ActionEvent &event)
else
{
mDialog = new TextDialog(
+ // TRANSLATORS: resolution question dialog
_("Custom resolution (example: 1024x768)"),
+ // TRANSLATORS: resolution question dialog
_("Enter new resolution: "));
mDialog->setActionEventId("videomode");
mDialog->addActionListener(this);
@@ -507,14 +531,18 @@ void Setup_Video::action(const gcn::ActionEvent &event)
if (width < mainGraphics->mWidth
|| height < mainGraphics->mHeight)
{
+ // TRANSLATORS: video settings warning
new OkDialog(_("Screen Resolution Changed"),
+ // TRANSLATORS: video settings warning
_("Restart your client for the change to take effect.")
+ std::string("\n") + _("Some windows may be moved to "
"fit the lowered resolution."));
}
else
{
+ // TRANSLATORS: video settings warning
new OkDialog(_("Screen Resolution Changed"),
+ // TRANSLATORS: video settings warning
_("Restart your client for the change"
" to take effect."));
}
@@ -546,6 +574,7 @@ void Setup_Video::action(const gcn::ActionEvent &event)
else
tempFps = tempFps > 0 ? tempFps : 60;
mFps = mFpsCheckBox->isSelected() ? tempFps : 0;
+ // TRANSLATORS: video settings label
const std::string text = mFps > 0 ? toString(mFps) : _("None");
mFpsLabel->setCaption(text);
@@ -558,8 +587,10 @@ void Setup_Video::action(const gcn::ActionEvent &event)
tempFps = tempFps > 0 ? tempFps : static_cast<int>(
mAltFpsSlider->getScaleStart());
mAltFps = tempFps;
+ // TRANSLATORS: video settings label
const std::string text = mAltFps > 0 ? toString(mAltFps) : _("None");
+ // TRANSLATORS: video settings label
mAltFpsLabel->setCaption(_("Alt FPS limit: ") + text);
mAltFpsSlider->setValue(mAltFps);
mAltFpsSlider->setEnabled(mAltFps > 0);
diff --git a/src/gui/setup_visual.cpp b/src/gui/setup_visual.cpp
index 9cddd5682..cbbe9affa 100644
--- a/src/gui/setup_visual.cpp
+++ b/src/gui/setup_visual.cpp
@@ -35,9 +35,13 @@ static const int speachListSize = 4;
static const char *const speachList[] =
{
+ // TRANSLATORS: speach type
N_("No text"),
+ // TRANSLATORS: speach type
N_("Text"),
+ // TRANSLATORS: speach type
N_("Bubbles, no names"),
+ // TRANSLATORS: speach type
N_("Bubbles with names")
};
@@ -45,8 +49,11 @@ static const int ambientFxListSize = 3;
static const char *const ambientFxList[] =
{
+ // TRANSLATORS: ambient effect type
N_("off"),
+ // TRANSLATORS: ambient effect type
N_("low"),
+ // TRANSLATORS: ambient effect type
N_("high")
};
@@ -54,8 +61,11 @@ static const int particleTypeListSize = 3;
static const char *const particleTypeList[] =
{
+ // TRANSLATORS: patricle effects type
N_("best quality"),
+ // TRANSLATORS: patricle effects type
N_("normal"),
+ // TRANSLATORS: patricle effects type
N_("best perfomance")
};
@@ -63,8 +73,11 @@ static const int vSyncListSize = 3;
static const char *const vSyncList[] =
{
+ // TRANSLATORS: vsync type
N_("default"),
+ // TRANSLATORS: vsync type
N_("off"),
+ // TRANSLATORS: vsync type
N_("on")
};
@@ -76,6 +89,7 @@ Setup_Visual::Setup_Visual(const Widget2 *const widget) :
mParticleTypeList(new NamesModel),
mVSyncList(new NamesModel)
{
+ // TRANSLATORS: settings tab name
setName(_("Visual"));
// Do the layout
LayoutHelper h(this);
@@ -84,41 +98,55 @@ Setup_Visual::Setup_Visual(const Widget2 *const widget) :
mPreferredFirstItemSize = 150;
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Notifications"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show pickup notifications in chat"), "",
"showpickupchat", this, "showpickupchatEvent");
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Show pickup notifications as particle effects"),
"", "showpickupparticle", this, "showpickupparticleEvent");
+ // TRANSLATORS: settings option
new SetupItemLabel(_("Effects"), "", this);
#ifndef ANDROID
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Grab mouse and keyboard input"),
"", "grabinput", this, "grabinputEvent");
#endif
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Blurring textures (OpenGL)"),
"", "blur", this, "blurEvent");
+ // TRANSLATORS: settings option
new SetupItemSlider(_("Gui opacity"), "", "guialpha",
this, "guialphaEvent", 0.1, 1.0, 150, true);
mSpeachList->fillFromArray(&speachList[0], speachListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Overhead text"), "", "speech", this,
"speechEvent", mSpeachList, 200);
mAmbientFxList->fillFromArray(&ambientFxList[0], ambientFxListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Ambient FX"), "", "OverlayDetail", this,
"OverlayDetailEvent", mAmbientFxList, 100);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Particle effects"), "",
"particleeffects", this, "particleeffectsEvent");
+ // TRANSLATORS: particle details
mParticleList->push_back(_("low"));
+ // TRANSLATORS: particle details
mParticleList->push_back(_("medium"));
+ // TRANSLATORS: particle details
mParticleList->push_back(_("high"));
+ // TRANSLATORS: particle details
mParticleList->push_back(_("max"));
(new SetupItemSlider2(_("Particle detail"), "", "particleEmitterSkip",
this, "particleEmitterSkipEvent", 0, 3,
@@ -126,30 +154,38 @@ Setup_Visual::Setup_Visual(const Widget2 *const widget) :
mParticleTypeList->fillFromArray(&particleTypeList[0],
particleTypeListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Particle physics"), "", "particleFastPhysics",
this, "particleFastPhysicsEvent", mParticleTypeList, 200);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Gamma"), "", this);
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Enable gamma control"),
"", "enableGamma", this, "enableGammaEvent");
+ // TRANSLATORS: settings option
new SetupItemSlider(_("Gamma"), "", "gamma",
this, "gammeEvent", 1, 20, 350, true);
+ // TRANSLATORS: settings group
new SetupItemLabel(_("Other"), "", this);
mVSyncList->fillFromArray(&vSyncList[0], vSyncListSize);
+ // TRANSLATORS: settings option
new SetupItemDropDown(_("Vsync"), "", "vsync", this,
"vsyncEvent", mVSyncList, 100);
#if defined(WIN32) || defined(__APPLE__)
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Center game window"),
"", "centerwindow", this, "centerwindowEvent");
#endif
+ // TRANSLATORS: settings option
new SetupItemCheckBox(_("Allow screensaver to run"),
"", "allowscreensaver", this, "allowscreensaverEvent");
diff --git a/src/gui/setupactiondata.h b/src/gui/setupactiondata.h
index b47abace7..fb1df44bb 100644
--- a/src/gui/setupactiondata.h
+++ b/src/gui/setupactiondata.h
@@ -41,126 +41,151 @@ struct SetupActionData final
static SetupActionData setupActionData0[] =
{
{
+ // TRANSLATORS: input action name
N_("Target and attack keys"),
Input::KEY_NO_VALUE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Attack"),
Input::KEY_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Target & Attack"),
Input::KEY_TARGET_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move to Target"),
Input::KEY_MOVE_TO_TARGET,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Move to Target type"),
Input::KEY_CHANGE_MOVE_TO_TARGET,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move to Home location"),
Input::KEY_MOVE_TO_HOME,
"",
},
{
+ // TRANSLATORS: input action name
N_("Set home location"),
Input::KEY_SET_HOME,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move to navigation point"),
Input::KEY_MOVE_TO_POINT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Talk"),
Input::KEY_TALK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Stop Attack"),
Input::KEY_STOP_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Untarget"),
Input::KEY_UNTARGET,
"",
},
{
+ // TRANSLATORS: input action name
N_("Target monster"),
Input::KEY_TARGET_MONSTER,
"",
},
{
+ // TRANSLATORS: input action name
N_("Target NPC"),
Input::KEY_TARGET_NPC,
"",
},
{
+ // TRANSLATORS: input action name
N_("Target Player"),
Input::KEY_TARGET_PLAYER,
"",
},
{
+ // TRANSLATORS: input action name
N_("Other Keys"),
Input::KEY_NO_VALUE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Pickup"),
Input::KEY_PICKUP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Pickup Type"),
Input::KEY_CHANGE_PICKUP_TYPE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Sit"),
Input::KEY_SIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Screenshot"),
Input::KEY_SCREENSHOT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Enable/Disable Trading"),
Input::KEY_TRADE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Map View Mode"),
Input::KEY_PATHFIND,
"",
},
{
+ // TRANSLATORS: input action name
N_("Select OK"),
Input::KEY_OK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quit"),
Input::KEY_QUIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Stop or sit"),
Input::KEY_STOP_SIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Return to safe video mode"),
Input::KEY_SAFE_VIDEO,
"",
@@ -175,116 +200,139 @@ static SetupActionData setupActionData0[] =
static SetupActionData setupActionData1[] =
{
{
+ // TRANSLATORS: input action name
N_("Shortcuts modifiers keys"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
N_("Item Shortcuts Key"),
Input::KEY_SHORTCUTS_KEY,
"",
},
{
+ // TRANSLATORS: input action name
N_("Shortcuts keys"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 1),
Input::KEY_SHORTCUT_1,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 2),
Input::KEY_SHORTCUT_2,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 3),
Input::KEY_SHORTCUT_3,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 4),
Input::KEY_SHORTCUT_4,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 5),
Input::KEY_SHORTCUT_5,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 6),
Input::KEY_SHORTCUT_6,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 7),
Input::KEY_SHORTCUT_7,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 8),
Input::KEY_SHORTCUT_8,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 9),
Input::KEY_SHORTCUT_9,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 10),
Input::KEY_SHORTCUT_10,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 11),
Input::KEY_SHORTCUT_11,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 12),
Input::KEY_SHORTCUT_12,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 13),
Input::KEY_SHORTCUT_13,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 14),
Input::KEY_SHORTCUT_14,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 15),
Input::KEY_SHORTCUT_15,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 16),
Input::KEY_SHORTCUT_16,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 17),
Input::KEY_SHORTCUT_17,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 18),
Input::KEY_SHORTCUT_18,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 19),
Input::KEY_SHORTCUT_19,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Item Shortcut %d"), 20),
Input::KEY_SHORTCUT_20,
"",
@@ -299,126 +347,151 @@ static SetupActionData setupActionData1[] =
static SetupActionData setupActionData2[] =
{
{
+ // TRANSLATORS: input action name
N_("Show Windows Menu"),
Input::KEY_SHOW_WINDOWS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Hide Windows"),
Input::KEY_HIDE_WINDOWS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Help Window"),
Input::KEY_WINDOW_HELP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Status Window"),
Input::KEY_WINDOW_STATUS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Inventory Window"),
Input::KEY_WINDOW_INVENTORY,
"",
},
{
+ // TRANSLATORS: input action name
N_("Equipment Window"),
Input::KEY_WINDOW_EQUIPMENT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Skill Window"),
Input::KEY_WINDOW_SKILL,
"",
},
{
+ // TRANSLATORS: input action name
N_("Minimap Window"),
Input::KEY_WINDOW_MINIMAP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Chat Window"),
Input::KEY_WINDOW_CHAT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Item Shortcut Window"),
Input::KEY_WINDOW_SHORTCUT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Setup Window"),
Input::KEY_WINDOW_SETUP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Debug Window"),
Input::KEY_WINDOW_DEBUG,
"",
},
{
+ // TRANSLATORS: input action name
N_("Social Window"),
Input::KEY_WINDOW_SOCIAL,
"",
},
{
+ // TRANSLATORS: input action name
N_("Emote Shortcut Window"),
Input::KEY_WINDOW_EMOTE_SHORTCUT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Outfits Window"),
Input::KEY_WINDOW_OUTFIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Shop Window"),
Input::KEY_WINDOW_SHOP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quick drop Window"),
Input::KEY_WINDOW_DROP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Kill Stats Window"),
Input::KEY_WINDOW_KILLS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Commands Window"),
Input::KEY_WINDOW_SPELLS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Bot Checker Window"),
Input::KEY_WINDOW_BOT_CHECKER,
"",
},
{
+ // TRANSLATORS: input action name
N_("Who Is Online Window"),
Input::KEY_WINDOW_ONLINE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Did you know Window"),
Input::KEY_WINDOW_DIDYOUKNOW,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quests Window"),
Input::KEY_WINDOW_QUESTS,
"",
},
{
+ // TRANSLATORS: input action name
N_("Previous Social Tab"),
Input::KEY_PREV_SOCIAL_TAB,
"",
},
{
+ // TRANSLATORS: input action name
N_("Next Social Tab"),
Input::KEY_NEXT_SOCIAL_TAB,
"",
@@ -433,256 +506,307 @@ static SetupActionData setupActionData2[] =
static SetupActionData setupActionData3[] =
{
{
+ // TRANSLATORS: input action name
N_("Emote modifiers keys"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
N_("Emote modifier key"),
Input::KEY_EMOTE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Emote shortcuts"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 1),
Input::KEY_EMOTE_1,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 2),
Input::KEY_EMOTE_2,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 3),
Input::KEY_EMOTE_3,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 4),
Input::KEY_EMOTE_4,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 5),
Input::KEY_EMOTE_5,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 6),
Input::KEY_EMOTE_6,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 7),
Input::KEY_EMOTE_7,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 8),
Input::KEY_EMOTE_8,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 9),
Input::KEY_EMOTE_9,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 10),
Input::KEY_EMOTE_10,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 11),
Input::KEY_EMOTE_11,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 12),
Input::KEY_EMOTE_12,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 13),
Input::KEY_EMOTE_13,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 14),
Input::KEY_EMOTE_14,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 15),
Input::KEY_EMOTE_15,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 16),
Input::KEY_EMOTE_16,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 17),
Input::KEY_EMOTE_17,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 18),
Input::KEY_EMOTE_18,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 19),
Input::KEY_EMOTE_19,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 20),
Input::KEY_EMOTE_20,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 21),
Input::KEY_EMOTE_21,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 22),
Input::KEY_EMOTE_22,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 23),
Input::KEY_EMOTE_23,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 24),
Input::KEY_EMOTE_24,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 25),
Input::KEY_EMOTE_25,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 26),
Input::KEY_EMOTE_26,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 27),
Input::KEY_EMOTE_27,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 28),
Input::KEY_EMOTE_28,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 29),
Input::KEY_EMOTE_29,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 30),
Input::KEY_EMOTE_30,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 31),
Input::KEY_EMOTE_31,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 32),
Input::KEY_EMOTE_32,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 33),
Input::KEY_EMOTE_33,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 34),
Input::KEY_EMOTE_34,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 35),
Input::KEY_EMOTE_35,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 36),
Input::KEY_EMOTE_36,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 37),
Input::KEY_EMOTE_37,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 38),
Input::KEY_EMOTE_38,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 39),
Input::KEY_EMOTE_39,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 40),
Input::KEY_EMOTE_40,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 41),
Input::KEY_EMOTE_41,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 42),
Input::KEY_EMOTE_42,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 43),
Input::KEY_EMOTE_43,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 44),
Input::KEY_EMOTE_44,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 45),
Input::KEY_EMOTE_45,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 46),
Input::KEY_EMOTE_46,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 47),
Input::KEY_EMOTE_47,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Emote Shortcut %d"), 48),
Input::KEY_EMOTE_48,
"",
@@ -697,266 +821,319 @@ static SetupActionData setupActionData3[] =
static SetupActionData setupActionData4[] =
{
{
+ // TRANSLATORS: input action name
N_("Outfits keys"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
N_("Wear Outfit"),
Input::KEY_WEAR_OUTFIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Copy Outfit"),
Input::KEY_COPY_OUTFIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Copy equipped to Outfit"),
Input::KEY_COPY_EQUIPED_OUTFIT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Outfits shortcuts"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 1),
Input::KEY_OUTFIT_1,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 2),
Input::KEY_OUTFIT_2,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 3),
Input::KEY_OUTFIT_3,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 4),
Input::KEY_OUTFIT_4,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 5),
Input::KEY_OUTFIT_5,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 6),
Input::KEY_OUTFIT_6,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 7),
Input::KEY_OUTFIT_7,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 8),
Input::KEY_OUTFIT_8,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 9),
Input::KEY_OUTFIT_9,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 10),
Input::KEY_OUTFIT_10,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 11),
Input::KEY_OUTFIT_11,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 12),
Input::KEY_OUTFIT_12,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 13),
Input::KEY_OUTFIT_13,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 14),
Input::KEY_OUTFIT_14,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 15),
Input::KEY_OUTFIT_15,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 16),
Input::KEY_OUTFIT_16,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 17),
Input::KEY_OUTFIT_17,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 18),
Input::KEY_OUTFIT_18,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 19),
Input::KEY_OUTFIT_19,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 20),
Input::KEY_OUTFIT_20,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 21),
Input::KEY_OUTFIT_21,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 22),
Input::KEY_OUTFIT_22,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 23),
Input::KEY_OUTFIT_23,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 24),
Input::KEY_OUTFIT_24,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 25),
Input::KEY_OUTFIT_25,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 26),
Input::KEY_OUTFIT_26,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 27),
Input::KEY_OUTFIT_27,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 28),
Input::KEY_OUTFIT_28,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 29),
Input::KEY_OUTFIT_29,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 30),
Input::KEY_OUTFIT_30,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 31),
Input::KEY_OUTFIT_31,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 32),
Input::KEY_OUTFIT_32,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 33),
Input::KEY_OUTFIT_33,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 34),
Input::KEY_OUTFIT_34,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 35),
Input::KEY_OUTFIT_35,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 36),
Input::KEY_OUTFIT_36,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 37),
Input::KEY_OUTFIT_37,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 38),
Input::KEY_OUTFIT_38,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 39),
Input::KEY_OUTFIT_39,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 40),
Input::KEY_OUTFIT_40,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 41),
Input::KEY_OUTFIT_41,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 42),
Input::KEY_OUTFIT_42,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 43),
Input::KEY_OUTFIT_43,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 44),
Input::KEY_OUTFIT_44,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 45),
Input::KEY_OUTFIT_45,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 46),
Input::KEY_OUTFIT_46,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 47),
Input::KEY_OUTFIT_47,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Outfit Shortcut %d"), 48),
Input::KEY_OUTFIT_48,
"",
@@ -971,46 +1148,55 @@ static SetupActionData setupActionData4[] =
static SetupActionData setupActionData5[] =
{
{
+ // TRANSLATORS: input action name
N_("Toggle Chat"),
Input::KEY_TOGGLE_CHAT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Scroll Chat Up"),
Input::KEY_SCROLL_CHAT_UP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Scroll Chat Down"),
Input::KEY_SCROLL_CHAT_DOWN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Previous Chat Tab"),
Input::KEY_PREV_CHAT_TAB,
"",
},
{
+ // TRANSLATORS: input action name
N_("Next Chat Tab"),
Input::KEY_NEXT_CHAT_TAB,
"",
},
{
+ // TRANSLATORS: input action name
N_("Close current Chat Tab"),
Input::KEY_CLOSE_CHAT_TAB,
"",
},
{
+ // TRANSLATORS: input action name
N_("Previous chat line"),
Input::KEY_CHAT_PREV_HISTORY,
"",
},
{
+ // TRANSLATORS: input action name
N_("Next chat line"),
Input::KEY_CHAT_NEXT_HISTORY,
"",
},
{
+ // TRANSLATORS: input action name
N_("Chat modifier key"),
Input::KEY_CHAT_MOD,
"",
@@ -1025,141 +1211,169 @@ static SetupActionData setupActionData5[] =
static SetupActionData setupActionData6[] =
{
{
+ // TRANSLATORS: input action name
N_("Ignore input 1"),
Input::KEY_IGNORE_INPUT_1,
"",
},
{
+ // TRANSLATORS: input action name
N_("Ignore input 2"),
Input::KEY_IGNORE_INPUT_2,
"",
},
{
+ // TRANSLATORS: input action name
N_("Direct Up"),
Input::KEY_DIRECT_UP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Direct Down"),
Input::KEY_DIRECT_DOWN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Direct Left"),
Input::KEY_DIRECT_LEFT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Direct Right"),
Input::KEY_DIRECT_RIGHT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Crazy moves"),
Input::KEY_CRAZY_MOVES,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Crazy Move mode"),
Input::KEY_CHANGE_CRAZY_MOVES_TYPE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quick Drop N Items from 0 slot"),
Input::KEY_QUICK_DROP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quick Drop N Items"),
Input::KEY_QUICK_DROPN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Switch Quick Drop Counter"),
Input::KEY_SWITCH_QUICK_DROP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Quick heal target or self"),
Input::KEY_MAGIC_INMA1,
"",
},
{
+ // TRANSLATORS: input action name
N_("Use #itenplz spell"),
Input::KEY_MAGIC_ITENPLZ,
"",
},
{
+ // TRANSLATORS: input action name
N_("Use magic attack"),
Input::KEY_MAGIC_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Switch magic attack"),
Input::KEY_SWITCH_MAGIC_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Switch pvp attack"),
Input::KEY_SWITCH_PVP_ATTACK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change move type"),
Input::KEY_INVERT_DIRECTION,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Attack Weapon Type"),
Input::KEY_CHANGE_ATTACK_WEAPON_TYPE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Attack Type"),
Input::KEY_CHANGE_ATTACK_TYPE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Follow mode"),
Input::KEY_CHANGE_FOLLOW_MODE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Change Imitation mode"),
Input::KEY_CHANGE_IMITATION_MODE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Disable / Enable Game modifier keys"),
Input::KEY_DISABLE_GAME_MODIFIERS,
"",
},
{
+ // TRANSLATORS: input action name
N_("On / Off audio"),
Input::KEY_CHANGE_AUDIO,
"",
},
{
+ // TRANSLATORS: input action name
N_("Enable / Disable away mode"),
Input::KEY_AWAY,
"",
},
{
+ // TRANSLATORS: input action name
N_("Emulate right click from keyboard"),
Input::KEY_RIGHT_CLICK,
"",
},
{
+ // TRANSLATORS: input action name
N_("Toggle camera mode"),
Input::KEY_CAMERA,
"",
},
{
+ // TRANSLATORS: input action name
N_("Modifier key"),
Input::KEY_MOD,
"",
},
{
+ // TRANSLATORS: input action name
N_("Show onscreen keyboard"),
Input::KEY_SHOW_KEYBOARD,
"",
@@ -1174,271 +1388,325 @@ static SetupActionData setupActionData6[] =
static SetupActionData setupActionData7[] =
{
{
+ // TRANSLATORS: input action name
N_("Move Keys"),
Input::KEY_NO_VALUE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Up"),
Input::KEY_MOVE_UP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Down"),
Input::KEY_MOVE_DOWN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Left"),
Input::KEY_MOVE_LEFT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Right"),
Input::KEY_MOVE_RIGHT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move to navigation point shortcuts"),
Input::KEY_NO_VALUE,
""
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 1),
Input::KEY_MOVE_TO_POINT_1,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 2),
Input::KEY_MOVE_TO_POINT_2,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 3),
Input::KEY_MOVE_TO_POINT_3,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 4),
Input::KEY_MOVE_TO_POINT_4,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 5),
Input::KEY_MOVE_TO_POINT_5,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 6),
Input::KEY_MOVE_TO_POINT_6,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 7),
Input::KEY_MOVE_TO_POINT_7,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 8),
Input::KEY_MOVE_TO_POINT_8,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 9),
Input::KEY_MOVE_TO_POINT_9,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 10),
Input::KEY_MOVE_TO_POINT_10,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 11),
Input::KEY_MOVE_TO_POINT_11,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 12),
Input::KEY_MOVE_TO_POINT_12,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 13),
Input::KEY_MOVE_TO_POINT_13,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 14),
Input::KEY_MOVE_TO_POINT_14,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 15),
Input::KEY_MOVE_TO_POINT_15,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 16),
Input::KEY_MOVE_TO_POINT_16,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 17),
Input::KEY_MOVE_TO_POINT_17,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 18),
Input::KEY_MOVE_TO_POINT_18,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 19),
Input::KEY_MOVE_TO_POINT_19,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 20),
Input::KEY_MOVE_TO_POINT_20,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 21),
Input::KEY_MOVE_TO_POINT_21,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 22),
Input::KEY_MOVE_TO_POINT_22,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 23),
Input::KEY_MOVE_TO_POINT_23,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 24),
Input::KEY_MOVE_TO_POINT_24,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 25),
Input::KEY_MOVE_TO_POINT_25,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 26),
Input::KEY_MOVE_TO_POINT_26,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 27),
Input::KEY_MOVE_TO_POINT_27,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 28),
Input::KEY_MOVE_TO_POINT_28,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 29),
Input::KEY_MOVE_TO_POINT_29,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 30),
Input::KEY_MOVE_TO_POINT_30,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 31),
Input::KEY_MOVE_TO_POINT_31,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 32),
Input::KEY_MOVE_TO_POINT_32,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 33),
Input::KEY_MOVE_TO_POINT_33,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 34),
Input::KEY_MOVE_TO_POINT_34,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 35),
Input::KEY_MOVE_TO_POINT_35,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 36),
Input::KEY_MOVE_TO_POINT_36,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 37),
Input::KEY_MOVE_TO_POINT_37,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 38),
Input::KEY_MOVE_TO_POINT_38,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 39),
Input::KEY_MOVE_TO_POINT_39,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 40),
Input::KEY_MOVE_TO_POINT_40,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 41),
Input::KEY_MOVE_TO_POINT_41,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 42),
Input::KEY_MOVE_TO_POINT_42,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 43),
Input::KEY_MOVE_TO_POINT_43,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 44),
Input::KEY_MOVE_TO_POINT_44,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 45),
Input::KEY_MOVE_TO_POINT_45,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 46),
Input::KEY_MOVE_TO_POINT_46,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 47),
Input::KEY_MOVE_TO_POINT_47,
"",
},
{
+ // TRANSLATORS: input action name
strprintf(N_("Move to point Shortcut %d"), 48),
Input::KEY_MOVE_TO_POINT_48,
"",
@@ -1453,91 +1721,109 @@ static SetupActionData setupActionData7[] =
static SetupActionData setupActionData8[] =
{
{
+ // TRANSLATORS: input action name
N_("Move & selection"),
Input::KEY_NO_VALUE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Up"),
Input::KEY_GUI_UP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Down"),
Input::KEY_GUI_DOWN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Left"),
Input::KEY_GUI_LEFT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Right"),
Input::KEY_GUI_RIGHT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move Home"),
Input::KEY_GUI_HOME,
"",
},
{
+ // TRANSLATORS: input action name
N_("Move End"),
Input::KEY_GUI_END,
"",
},
{
+ // TRANSLATORS: input action name
N_("Page up"),
Input::KEY_GUI_PAGE_UP,
"",
},
{
+ // TRANSLATORS: input action name
N_("Page down"),
Input::KEY_GUI_PAGE_DOWN,
"",
},
{
+ // TRANSLATORS: input action name
N_("Other"),
Input::KEY_NO_VALUE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Select"),
Input::KEY_GUI_SELECT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Select2"),
Input::KEY_GUI_SELECT2,
"",
},
{
+ // TRANSLATORS: input action name
N_("Cancel"),
Input::KEY_GUI_CANCEL,
"",
},
{
+ // TRANSLATORS: input action name
N_("Delete"),
Input::KEY_GUI_DELETE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Backspace"),
Input::KEY_GUI_BACKSPACE,
"",
},
{
+ // TRANSLATORS: input action name
N_("Insert"),
Input::KEY_GUI_INSERT,
"",
},
{
+ // TRANSLATORS: input action name
N_("Tab"),
Input::KEY_GUI_TAB,
"",
},
{
+ // TRANSLATORS: input action name
N_("Mod"),
Input::KEY_GUI_MOD,
"",
@@ -1564,14 +1850,23 @@ static SetupActionData *const setupActionData[] =
static const char *const pages[] =
{
+ // TRANSLATORS: input tab sub tab name
N_("Basic"),
+ // TRANSLATORS: input tab sub tab name
N_("Move"),
+ // TRANSLATORS: input tab sub tab name
N_("Shortcuts"),
+ // TRANSLATORS: input tab sub tab name
N_("Windows"),
+ // TRANSLATORS: input tab sub tab name
N_("Emotes"),
+ // TRANSLATORS: input tab sub tab name
N_("Outfits"),
+ // TRANSLATORS: input tab sub tab name
N_("Chat"),
+ // TRANSLATORS: input tab sub tab name
N_("Other"),
+ // TRANSLATORS: input tab sub tab name
N_("Gui"),
nullptr
};
diff --git a/src/gui/shopwindow.cpp b/src/gui/shopwindow.cpp
index ea037b93b..5b131fd55 100644
--- a/src/gui/shopwindow.cpp
+++ b/src/gui/shopwindow.cpp
@@ -72,9 +72,11 @@ extern std::string tradePartnerName;
ShopWindow::DialogList ShopWindow::instances;
ShopWindow::ShopWindow():
+ // TRANSLATORS: shop window name
Window(_("Personal Shop"), false, nullptr, "shop.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
+ // TRANSLATORS: shop window button
mCloseButton(new Button(this, _("Close"), "close", this)),
mBuyShopItems(new ShopItems),
mSellShopItems(new ShopItems),
@@ -84,17 +86,26 @@ ShopWindow::ShopWindow():
getOptionBool("showbuybackground"), "shop_buy_background.xml")),
mSellScrollArea(new ScrollArea(mSellShopItemList,
getOptionBool("showsellbackground"), "shop_sell_background.xml")),
+ // TRANSLATORS: shop window label
mBuyLabel(new Label(this, _("Buy items"))),
+ // TRANSLATORS: shop window label
mSellLabel(new Label(this, _("Sell items"))),
+ // TRANSLATORS: shop window label
mBuyAddButton(new Button(this, _("Add"), "add buy", this)),
+ // TRANSLATORS: shop window label
mBuyDeleteButton(new Button(this, _("Delete"), "delete buy", this)),
+ // TRANSLATORS: shop window label
mBuyAnnounceButton(new Button(this, _("Announce"), "announce buy", this)),
mBuyAuctionButton(nullptr),
+ // TRANSLATORS: shop window button
mSellAddButton(new Button(this, _("Add"), "add sell", this)),
+ // TRANSLATORS: shop window button
mSellDeleteButton(new Button(this, _("Delete"), "delete sell", this)),
+ // TRANSLATORS: shop window button
mSellAnnounceButton(new Button(this, _("Announce"),
"announce sell", this)),
mSellAuctionButton(nullptr),
+ // TRANSLATORS: shop window checkbox
mAnnounceLinks(new CheckBox(this, _("Show links in announce"), false,
this, "link announce")),
mSelectedItem(-1),
@@ -148,8 +159,10 @@ ShopWindow::ShopWindow():
if (auctionManager && auctionManager->getEnableAuctionBot())
{
mBuyAuctionButton = new Button(this,
+ // TRANSLATORS: shop window button
_("Auction"), "auction buy", this);
mSellAuctionButton = new Button(this,
+ // TRANSLATORS: shop window button
_("Auction"), "auction sell", this);
placer(4, 6, mBuyAuctionButton);
placer(12, 6, mSellAuctionButton);
@@ -760,6 +773,7 @@ void ShopWindow::processRequest(std::string nick, std::string data,
else
{
ConfirmDialog *const confirmDlg = new ConfirmDialog
+ // TRANSLATORS: shop window dialog
(_("Request for Trade"), strprintf(_("%s wants to %s %s do you "
"accept?"), nick.c_str(), msg.c_str(),
mTradeItem->getInfo().getName().c_str()), true);
diff --git a/src/gui/skilldialog.cpp b/src/gui/skilldialog.cpp
index a6c01cbb5..093db57bc 100644
--- a/src/gui/skilldialog.cpp
+++ b/src/gui/skilldialog.cpp
@@ -266,13 +266,16 @@ class SkillTab final : public Tab
};
SkillDialog::SkillDialog() :
+ // TRANSLATORS: skills dialog name
Window(_("Skills"), false, nullptr, "skills.xml"),
gcn::ActionListener(),
mSkills(),
mTabs(new TabbedArea(this)),
mDeleteTabs(),
mPointsLabel(new Label(this, "0")),
+ // TRANSLATORS: skills dialog button
mUseButton(new Button(this, _("Use"), "use", this)),
+ // TRANSLATORS: skills dialog button
mIncreaseButton(new Button(this, _("Up"), "inc", this)),
mDefaultModel(nullptr)
{
@@ -384,6 +387,7 @@ std::string SkillDialog::update(const int id)
void SkillDialog::update()
{
+ // TRANSLATORS: skills dialog label
mPointsLabel->setCaption(strprintf(_("Skill points available: %d"),
PlayerInfo::getAttribute(PlayerInfo::SKILL_POINTS)));
mPointsLabel->adjustSize();
@@ -436,8 +440,10 @@ void SkillDialog::loadSkills()
SkillInfo *const skill = new SkillInfo;
skill->id = 1;
+ // TRANSLATORS: skills dialog default skills tab
skill->data->name = _("basic");
skill->data->description.clear();
+ // TRANSLATORS: skills dialog default skill name
skill->data->dispName = _("basic, 1");
skill->data->shortName = "bas";
skill->data->setIcon("");
@@ -474,6 +480,7 @@ void SkillDialog::loadSkills()
{
setCount++;
setName = XML::getProperty(set, "name",
+ // TRANSLATORS: skills dialog default skill tab
strprintf(_("Skill Set %d"), setCount));
SkillModel *const model = new SkillModel();
@@ -507,6 +514,7 @@ void SkillDialog::loadSkills()
}
std::string name = XML::langProperty(node, "name",
+ // TRANSLATORS: skills dialog. skill id
strprintf(_("Skill %d"), id));
std::string icon = XML::getProperty(node, "icon", "");
const int level = XML::getProperty(node, "level", 0);
@@ -600,6 +608,7 @@ void SkillDialog::addSkill(const int id, const int level, const int range,
skill->visible = false;
skill->model = mDefaultModel;
skill->level = level;
+ // TRANSLATORS: skills dialog. skill level
skill->skillLevel = strprintf(_("Lvl: %d"), level);
skill->range = range;
skill->update();
@@ -744,9 +753,14 @@ void SkillInfo::update()
visible = true;
if (baseLevel == 0)
+ {
skillLevel.clear();
+ }
else
+ {
+ // TRANSLATORS: skills dialog. skill level
skillLevel = strprintf(_("Lvl: %d"), baseLevel);
+ }
level = baseLevel;
skillLevelWidth = -1;
diff --git a/src/gui/socialwindow.cpp b/src/gui/socialwindow.cpp
index b0a80eaa4..de0f6bd75 100644
--- a/src/gui/socialwindow.cpp
+++ b/src/gui/socialwindow.cpp
@@ -141,6 +141,7 @@ public:
gcn::ActionListener(),
mGuild(guild)
{
+ // TRANSLATORS: tab in social window
setCaption(_("Guild"));
setTabColor(&getThemeColor(Theme::GUILD_SOCIAL_TAB),
@@ -180,6 +181,7 @@ public:
if (localChatTab)
{
localChatTab->chatLog(strprintf(
+ // TRANSLATORS: chat message
_("Invited user %s to guild %s."),
name.c_str(), mGuild->getName().c_str()), BY_SERVER);
}
@@ -194,8 +196,9 @@ public:
Net::getGuildHandler()->leave(mGuild->getId());
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(strprintf(_("Guild %s quit requested."),
- mGuild->getName().c_str()), BY_SERVER);
+ mGuild->getName().c_str()), BY_SERVER);
}
mConfirmDialog = nullptr;
}
@@ -219,20 +222,22 @@ public:
void invite()
{
+ // TRANSLATORS: guild invite message
mInviteDialog = new TextDialog(_("Member Invite to Guild"),
- strprintf(_("Who would you like to invite to guild %s?"),
- mGuild->getName().c_str()),
- socialWindow);
+ // TRANSLATORS: guild invite message
+ strprintf(_("Who would you like to invite to guild %s?"),
+ mGuild->getName().c_str()), socialWindow);
mInviteDialog->setActionEventId("do invite");
mInviteDialog->addActionListener(this);
}
void leave()
{
+ // TRANSLATORS: guild leave message
mConfirmDialog = new ConfirmDialog(_("Leave Guild?"),
- strprintf(_("Are you sure you want to leave guild %s?"),
- mGuild->getName().c_str()),
- socialWindow);
+ // TRANSLATORS: guild leave message
+ strprintf(_("Are you sure you want to leave guild %s?"),
+ mGuild->getName().c_str()), socialWindow);
mConfirmDialog->addActionListener(this);
}
@@ -250,6 +255,7 @@ public:
gcn::ActionListener(),
mGuild(guild)
{
+ // TRANSLATORS: tab in social window
setCaption(_("Guild"));
setTabColor(&getThemeColor(Theme::GUILD_SOCIAL_TAB),
@@ -315,6 +321,7 @@ public:
gcn::ActionListener(),
mParty(party)
{
+ // TRANSLATORS: tab in social window
setCaption(_("Party"));
setTabColor(&getThemeColor(Theme::PARTY_SOCIAL_TAB),
@@ -353,8 +360,9 @@ public:
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(strprintf(_("Invited user %s to party."),
- name.c_str()), BY_SERVER);
+ name.c_str()), BY_SERVER);
}
mInviteDialog = nullptr;
}
@@ -367,8 +375,9 @@ public:
Net::getPartyHandler()->leave();
if (localChatTab)
{
+ // TRANSLATORS: tab in social window
localChatTab->chatLog(strprintf(_("Party %s quit requested."),
- mParty->getName().c_str()), BY_SERVER);
+ mParty->getName().c_str()), BY_SERVER);
}
mConfirmDialog = nullptr;
}
@@ -392,20 +401,22 @@ public:
void invite()
{
+ // TRANSLATORS: party invite message
mInviteDialog = new TextDialog(_("Member Invite to Party"),
- strprintf(_("Who would you like to invite to party %s?"),
- mParty->getName().c_str()),
- socialWindow);
+ // TRANSLATORS: party invite message
+ strprintf(_("Who would you like to invite to party %s?"),
+ mParty->getName().c_str()), socialWindow);
mInviteDialog->setActionEventId("do invite");
mInviteDialog->addActionListener(this);
}
void leave()
{
+ // TRANSLATORS: party leave message
mConfirmDialog = new ConfirmDialog(_("Leave Party?"),
- strprintf(_("Are you sure you want to leave party %s?"),
- mParty->getName().c_str()),
- socialWindow);
+ // TRANSLATORS: party leave message
+ strprintf(_("Are you sure you want to leave party %s?"),
+ mParty->getName().c_str()), socialWindow);
mConfirmDialog->addActionListener(this);
}
@@ -996,8 +1007,11 @@ public:
void updateList()
{
updateAtkListStart();
+ // TRANSLATORS: mobs group name in social window
addAvatars(PriorityAttackMob, _("Priority mobs"), PRIORITY);
+ // TRANSLATORS: mobs group name in social window
addAvatars(AttackMob, _("Attack mobs"), ATTACK);
+ // TRANSLATORS: mobs group name in social window
addAvatars(IgnoreAttackMob, _("Ignore mobs"), IGNORE_);
}
@@ -1055,7 +1069,9 @@ public:
void updateList()
{
updateAtkListStart();
+ // TRANSLATORS: items group name in social window
addAvatars(PickupItem, _("Pickup items"), PICKUP);
+ // TRANSLATORS: items group name in social window
addAvatars(IgnorePickupItem, _("Ignore items"), NOPICKUP);
}
@@ -1181,8 +1197,10 @@ public:
mBrowserBox->setOpaque(false);
mBrowserBox->setLinkHandler(this);
+ // TRANSLATORS: party popup item
mBrowserBox->addRow(strprintf("@@party|%s@@", _("Create Party")));
mBrowserBox->addRow("##3---");
+ // TRANSLATORS: party popup item
mBrowserBox->addRow(strprintf("@@cancel|%s@@", _("Cancel")));
add(mBrowserBox);
@@ -1225,6 +1243,7 @@ private:
};
SocialWindow::SocialWindow() :
+ // TRANSLATORS: social window name
Window(_("Social"), false, nullptr, "social.xml"),
gcn::ActionListener(),
mGuildInvited(0),
@@ -1246,8 +1265,11 @@ SocialWindow::SocialWindow() :
mFriends(new SocialFriendsTab(this, _("F"),
getOptionBool("showtabbackground"))),
mCreatePopup(new CreatePopup),
+ // TRANSLATORS: social window button
mCreateButton(new Button(this, _("Create"), "create", this)),
+ // TRANSLATORS: social window button
mInviteButton(new Button(this, _("Invite"), "invite", this)),
+ // TRANSLATORS: social window button
mLeaveButton(new Button(this, _("Leave"), "leave", this)),
mTabs(new TabbedArea(this)),
mMap(nullptr),
@@ -1433,6 +1455,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (localChatTab)
{
localChatTab->chatLog(
+ // TRANSLATORS: chat message
strprintf(_("Accepted party invite from %s."),
mPartyInviter.c_str()));
}
@@ -1443,6 +1466,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (localChatTab)
{
localChatTab->chatLog(
+ // TRANSLATORS: chat message
strprintf(_("Rejected party invite from %s."),
mPartyInviter.c_str()));
}
@@ -1460,6 +1484,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (localChatTab)
{
localChatTab->chatLog(
+ // TRANSLATORS: chat message
strprintf(_("Accepted guild invite from %s."),
mPartyInviter.c_str()));
}
@@ -1473,6 +1498,7 @@ void SocialWindow::action(const gcn::ActionEvent &event)
if (localChatTab)
{
localChatTab->chatLog(
+ // TRANSLATORS: chat message
strprintf(_("Rejected guild invite from %s."),
mPartyInviter.c_str()));
}
@@ -1509,8 +1535,9 @@ void SocialWindow::action(const gcn::ActionEvent &event)
Net::getGuildHandler()->create(name);
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(strprintf(_("Creating guild called %s."),
- name.c_str()), BY_SERVER);
+ name.c_str()), BY_SERVER);
}
mGuildCreateDialog = nullptr;
@@ -1529,8 +1556,9 @@ void SocialWindow::action(const gcn::ActionEvent &event)
Net::getPartyHandler()->create(name);
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(strprintf(_("Creating party called %s."),
- name.c_str()), BY_SERVER);
+ name.c_str()), BY_SERVER);
}
mPartyCreateDialog = nullptr;
@@ -1543,8 +1571,10 @@ void SocialWindow::action(const gcn::ActionEvent &event)
void SocialWindow::showGuildCreate()
{
+ // TRANSLATORS: guild creation message
mGuildCreateDialog = new TextDialog(_("Guild Name"),
- _("Choose your guild's name."), this);
+ // TRANSLATORS: guild creation message
+ _("Choose your guild's name."), this);
mGuildCreateDialog->setActionEventId("create guild");
mGuildCreateDialog->addActionListener(this);
}
@@ -1558,18 +1588,21 @@ void SocialWindow::showGuildInvite(const std::string &guildName,
{
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(_("Received guild request, but one already "
"exists."), BY_SERVER);
}
return;
}
+ // TRANSLATORS: chat message
std::string msg = strprintf(_("%s has invited you to join the guild %s."),
inviterName.c_str(), guildName.c_str());
if (localChatTab)
localChatTab->chatLog(msg, BY_SERVER);
// show invite
+ // TRANSLATORS: guild invite message
mGuildAcceptDialog = new ConfirmDialog(_("Accept Guild Invite"),
msg, false, false, this);
mGuildAcceptDialog->addActionListener(this);
@@ -1585,6 +1618,7 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
{
if (localChatTab)
{
+ // TRANSLATORS: chat message
localChatTab->chatLog(_("Received party request, but one already "
"exists."), BY_SERVER);
}
@@ -1596,10 +1630,12 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
{
if (partyName.empty())
{
+ // TRANSLATORS: party invite message
msg = _("You have been invited you to join a party.");
}
else
{
+ // TRANSLATORS: party invite message
msg = strprintf(_("You have been invited to join the %s party."),
partyName.c_str());
}
@@ -1608,11 +1644,13 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
{
if (partyName.empty())
{
+ // TRANSLATORS: party invite message
msg = strprintf(_("%s has invited you to join their party."),
inviter.c_str());
}
else
{
+ // TRANSLATORS: party invite message
msg = strprintf(_("%s has invited you to join the %s party."),
inviter.c_str(), partyName.c_str());
}
@@ -1622,6 +1660,7 @@ void SocialWindow::showPartyInvite(const std::string &partyName,
localChatTab->chatLog(msg, BY_SERVER);
// show invite
+ // TRANSLATORS: party invite message
mPartyAcceptDialog = new ConfirmDialog(_("Accept Party Invite"),
msg, false, false, this);
mPartyAcceptDialog->addActionListener(this);
@@ -1636,13 +1675,16 @@ void SocialWindow::showPartyCreate()
if (player_node->getParty())
{
+ // TRANSLATORS: party creation message
new OkDialog(_("Create Party"),
_("Cannot create party. You are already in a party"),
DIALOG_ERROR, true, true, this);
return;
}
+ // TRANSLATORS: party creation message
mPartyCreateDialog = new TextDialog(_("Party Name"),
+ // TRANSLATORS: party creation message
_("Choose your party's name."), this);
mPartyCreateDialog->setActionEventId("create party");
mPartyCreateDialog->addActionListener(this);
diff --git a/src/gui/statuswindow.cpp b/src/gui/statuswindow.cpp
index 6f8255089..cd7a6e6fd 100644
--- a/src/gui/statuswindow.cpp
+++ b/src/gui/statuswindow.cpp
@@ -137,10 +137,14 @@ StatusWindow::StatusWindow() :
Window(player_node ? player_node->getName() :
"?", false, nullptr, "status.xml"),
gcn::ActionListener(),
+ // TRANSLATORS: status window label
mLvlLabel(new Label(this, strprintf(_("Level: %d"), 0))),
+ // TRANSLATORS: status window label
mMoneyLabel(new Label(this, strprintf(_("Money: %s"), ""))),
+ // TRANSLATORS: status window label
mHpLabel(new Label(this, _("HP:"))),
mMpLabel(nullptr),
+ // TRANSLATORS: status window label
mXpLabel(new Label(this, _("Exp:"))),
mHpBar(nullptr),
mMpBar(nullptr),
@@ -154,6 +158,7 @@ StatusWindow::StatusWindow() :
mDAttrScroll(new ScrollArea(mDAttrCont, false)),
mCharacterPointsLabel(new Label(this, "C")),
mCorrectionPointsLabel(nullptr),
+ // TRANSLATORS: status window button
mCopyButton(new Button(this, _("Copy to chat"), "copy", this)),
mAttrs()
{
@@ -194,6 +199,7 @@ StatusWindow::StatusWindow() :
if (magicBar)
{
max = PlayerInfo::getAttribute(PlayerInfo::MAX_MP);
+ // TRANSLATORS: status window label
mMpLabel = new Label(this, _("MP:"));
mMpBar = new ProgressBar(this, max ? static_cast<float>(
PlayerInfo::getAttribute(PlayerInfo::MAX_MP))
@@ -226,7 +232,9 @@ StatusWindow::StatusWindow() :
if (job)
{
+ // TRANSLATORS: status window label
mJobLvlLabel = new Label(this, strprintf(_("Job: %d"), 0));
+ // TRANSLATORS: status window label
mJobLabel = new Label(this, _("Job:"));
mJobBar = new ProgressBar(this, 0.0f, 80, 0, Theme::PROG_JOB);
@@ -275,21 +283,25 @@ StatusWindow::StatusWindow() :
updateMPBar(mMpBar, true);
updateXPBar(mXpBar, false);
+ // TRANSLATORS: status window label
mMoneyLabel->setCaption(strprintf(_("Money: %s"), Units::formatCurrency(
PlayerInfo::getAttribute(PlayerInfo::MONEY)).c_str()));
mMoneyLabel->adjustSize();
+ // TRANSLATORS: status window label
mCharacterPointsLabel->setCaption(strprintf(_("Character points: %d"),
PlayerInfo::getAttribute(PlayerInfo::CHAR_POINTS)));
mCharacterPointsLabel->adjustSize();
if (player_node && player_node->isGM())
{
+ // TRANSLATORS: status window label
mLvlLabel->setCaption(strprintf(_("Level: %d (GM %d)"),
PlayerInfo::getAttribute(PlayerInfo::LEVEL),
player_node->getGMLevel()));
}
else
{
+ // TRANSLATORS: status window label
mLvlLabel->setCaption(strprintf(_("Level: %d"),
PlayerInfo::getAttribute(PlayerInfo::LEVEL)));
}
@@ -323,6 +335,7 @@ void StatusWindow::processEvent(Channels channel A_UNUSED,
break;
case PlayerInfo::MONEY:
+ // TRANSLATORS: status window label
mMoneyLabel->setCaption(strprintf(_("Money: %s"),
Units::formatCurrency(event.getInt("newValue")).c_str()));
mMoneyLabel->adjustSize();
@@ -330,6 +343,7 @@ void StatusWindow::processEvent(Channels channel A_UNUSED,
case PlayerInfo::CHAR_POINTS:
mCharacterPointsLabel->setCaption(strprintf(
+ // TRANSLATORS: status window label
_("Character points: %d"), event.getInt("newValue")));
mCharacterPointsLabel->adjustSize();
@@ -344,6 +358,7 @@ void StatusWindow::processEvent(Channels channel A_UNUSED,
case PlayerInfo::CORR_POINTS:
mCorrectionPointsLabel->setCaption(strprintf(
+ // TRANSLATORS: status window label
_("Correction points: %d"), event.getInt("newValue")));
mCorrectionPointsLabel->adjustSize();
// Update all attributes
@@ -356,8 +371,9 @@ void StatusWindow::processEvent(Channels channel A_UNUSED,
break;
case PlayerInfo::LEVEL:
+ // TRANSLATORS: status window label
mLvlLabel->setCaption(strprintf(_("Level: %d"),
- event.getInt("newValue")));
+ event.getInt("newValue")));
mLvlLabel->adjustSize();
break;
@@ -405,6 +421,7 @@ void StatusWindow::processEvent(Channels channel A_UNUSED,
blocked = false;
}
+ // TRANSLATORS: status window label
mJobLvlLabel->setCaption(strprintf(_("Job: %d"), lvl));
mJobLvlLabel->adjustSize();
@@ -537,6 +554,7 @@ void StatusWindow::updateProgressBar(ProgressBar *const bar, const int value,
if (max == 0)
{
+ // TRANSLATORS: status bar label
bar->setText(_("Max"));
bar->setProgress(1);
bar->setText(toString(value));
@@ -593,6 +611,7 @@ void StatusWindow::updateWeightBar(ProgressBar *const bar)
if (PlayerInfo::getAttribute(PlayerInfo::MAX_WEIGHT) == 0)
{
+ // TRANSLATORS: status bar label
bar->setText(_("Max"));
bar->setProgress(1.0);
}
@@ -807,8 +826,10 @@ ChangeDisplay::ChangeDisplay(const Widget2 *const widget,
AttrDisplay(widget, id, name, shortName),
gcn::ActionListener(),
mNeeded(1),
+ // TRANSLATORS: status window label
mPoints(new Label(this, _("Max"))),
mDec(nullptr),
+ // TRANSLATORS: status window label (plus sign)
mInc(new Button(this, _("+"), "inc", this))
{
// Do the layout
@@ -821,6 +842,7 @@ ChangeDisplay::ChangeDisplay(const Widget2 *const widget,
if (Net::getPlayerHandler()->canCorrectAttributes())
{
+ // TRANSLATORS: status window label (minus sign)
mDec = new Button(this, _("-"), "dec", this);
mDec->setWidth(mInc->getWidth());
@@ -833,9 +855,14 @@ ChangeDisplay::ChangeDisplay(const Widget2 *const widget,
std::string ChangeDisplay::update()
{
if (mNeeded > 0)
+ {
mPoints->setCaption(toString(mNeeded));
+ }
else
+ {
+ // TRANSLATORS: status bar label
mPoints->setCaption(_("Max"));
+ }
if (mDec)
mDec->setEnabled(PlayerInfo::getAttribute(PlayerInfo::CORR_POINTS));
diff --git a/src/gui/textcommandeditor.cpp b/src/gui/textcommandeditor.cpp
index 019d38133..7df02e704 100644
--- a/src/gui/textcommandeditor.cpp
+++ b/src/gui/textcommandeditor.cpp
@@ -94,8 +94,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i < 0 || i >= getNumberOfElements())
- return _("???");
-
+ return "???";
return mStrings.at(i);
}
private:
@@ -105,18 +104,27 @@ private:
const char *TARGET_TYPE_TEXT[3] =
{
+ // TRANSLATORS: target type
N_("No Target"),
+ // TRANSLATORS: target type
N_("Allow Target"),
+ // TRANSLATORS: target type
N_("Need Target"),
};
const char *MAGIC_SCHOOL_TEXT[6] =
{
+ // TRANSLATORS: magic school
N_("General Magic"),
+ // TRANSLATORS: magic school
N_("Life Magic"),
+ // TRANSLATORS: magic school
N_("War Magic"),
+ // TRANSLATORS: magic school
N_("Transmute Magic"),
+ // TRANSLATORS: magic school
N_("Nature Magic"),
+ // TRANSLATORS: magic school
N_("Astral Magic")
};
@@ -134,8 +142,7 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return TARGET_TYPE_TEXT[i];
}
};
@@ -154,44 +161,58 @@ public:
virtual std::string getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return MAGIC_SCHOOL_TEXT[i];
}
};
TextCommandEditor::TextCommandEditor(TextCommand *const command) :
+ // TRANSLATORS: command editor name
Window(_("Command Editor"), false, nullptr, "commandeditor.xml"),
gcn::ActionListener(),
mIsMagicCommand(command->getCommandType() == TEXT_COMMAND_MAGIC),
mCommand(command),
mAdvanced(false),
+ // TRANSLATORS: command editor button
mIsMagic(new RadioButton(this, _("magic"), "magic", mIsMagicCommand)),
+ // TRANSLATORS: command editor button
mIsOther(new RadioButton(this, _("other"), "magic", !mIsMagicCommand)),
+ // TRANSLATORS: command editor label
mSymbolLabel(new Label(this, _("Symbol:"))),
mSymbolTextField(new TextField(this)),
+ // TRANSLATORS: command editor label
mCommandLabel(new Label(this, _("Command:"))),
mCommandTextField(new TextField(this)),
+ // TRANSLATORS: command editor label
mCommentLabel(new Label(this, _("Comment:"))),
mCommentTextField(new TextField(this)),
mTargetTypeModel(new TargetTypeModel),
+ // TRANSLATORS: command editor label
mTypeLabel(new Label(this, _("Target Type:"))),
mTypeDropDown(new DropDown(this, mTargetTypeModel)),
mIconsModal(new IconsModal),
+ // TRANSLATORS: command editor label
mIconLabel(new Label(this, _("Icon:"))),
mIconDropDown(new DropDown(this, mIconsModal)),
+ // TRANSLATORS: command editor label
mManaLabel(new Label(this, _("Mana:"))),
mManaField(new IntTextField(this, 0)),
+ // TRANSLATORS: command editor label
mMagicLvlLabel(new Label(this, _("Magic level:"))),
mMagicLvlField(new IntTextField(this, 0)),
mMagicSchoolModel(new MagicSchoolModel),
+ // TRANSLATORS: command editor label
mSchoolLabel(new Label(this, _("Magic School:"))),
mSchoolDropDown(new DropDown(this, mMagicSchoolModel)),
+ // TRANSLATORS: command editor label
mSchoolLvlLabel(new Label(this, _("School level:"))),
mSchoolLvlField(new IntTextField(this, 0)),
+ // TRANSLATORS: command editor button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
+ // TRANSLATORS: command editor button
mSaveButton(new Button(this, _("Save"), "save", this)),
+ // TRANSLATORS: command editor button
mDeleteButton(new Button(this, _("Delete"), "delete", this)),
mEnabledKeyboard(keyboard.isEnabled())
{
diff --git a/src/gui/textdialog.cpp b/src/gui/textdialog.cpp
index 146bcede5..4df04a2ed 100644
--- a/src/gui/textdialog.cpp
+++ b/src/gui/textdialog.cpp
@@ -42,12 +42,14 @@ TextDialog::TextDialog(const std::string &title, const std::string &msg,
gcn::ActionListener(),
mTextField(nullptr),
mPasswordField(nullptr),
+ // TRANSLATORS: text dialog button
mOkButton(new Button(this, _("OK"), "OK", this)),
mEnabledKeyboard(keyboard.isEnabled())
{
keyboard.setEnabled(false);
Label *const textLabel = new Label(this, msg);
+ // TRANSLATORS: text dialog button
Button *const cancelButton = new Button(this, _("Cancel"), "CANCEL", this);
place(0, 0, textLabel, 4);
diff --git a/src/gui/tradewindow.cpp b/src/gui/tradewindow.cpp
index e77fd3482..948e5f964 100644
--- a/src/gui/tradewindow.cpp
+++ b/src/gui/tradewindow.cpp
@@ -53,12 +53,17 @@
#include "debug.h"
+// TRANSLATORS: trade window button
#define CAPTION_PROPOSE _("Propose trade")
+// TRANSLATORS: trade window button
#define CAPTION_CONFIRMED _("Confirmed. Waiting...")
+// TRANSLATORS: trade window button
#define CAPTION_ACCEPT _("Agree trade")
+// TRANSLATORS: trade window button
#define CAPTION_ACCEPTED _("Agreed. Waiting...")
TradeWindow::TradeWindow():
+ // TRANSLATORS: trade window caption
Window(_("Trade: You"), false, nullptr, "trade.xml"),
gcn::ActionListener(),
gcn::SelectionListener(),
@@ -66,9 +71,12 @@ TradeWindow::TradeWindow():
mPartnerInventory(new Inventory(Inventory::TRADE)),
mMyItemContainer(new ItemContainer(this, mMyInventory.get())),
mPartnerItemContainer(new ItemContainer(this, mPartnerInventory.get())),
+ // TRANSLATORS: trade window money label
mMoneyLabel(new Label(this, strprintf(_("You get %s"), ""))),
+ // TRANSLATORS: trade window button
mAddButton(new Button(this, _("Add"), "add", this)),
mOkButton(new Button(this, "", "", this)), // Will be filled in later
+ // TRANSLATORS: trade window money change button
mMoneyChangeButton(new Button(this, _("Change"), "money", this)),
mMoneyField(new TextField(this)),
mStatus(PROPOSING),
@@ -114,6 +122,7 @@ TradeWindow::TradeWindow():
true, "trade_background.xml");
partnerScroll->setHorizontalScrollPolicy(ScrollArea::SHOW_NEVER);
+ // TRANSLATORS: trade window money label
Label *const moneyLabel2 = new Label(this, _("You give:"));
mMoneyField->setWidth(40);
@@ -169,6 +178,7 @@ void TradeWindow::setMoney(const int amount)
}
mGotMoney = amount;
+ // TRANSLATORS: trade window money label
mMoneyLabel->setCaption(strprintf(_("You get %s"),
Units::formatCurrency(amount).c_str()));
mMoneyLabel->adjustSize();
@@ -379,6 +389,7 @@ void TradeWindow::action(const gcn::ActionEvent &event)
{
if (localChatTab)
{
+ // TRANSLATORS: trade error
localChatTab->chatLog(_("You don't have enough money."),
BY_SERVER);
}
@@ -460,6 +471,7 @@ bool TradeWindow::checkItem(const Item *const item) const
{
if (localChatTab)
{
+ // TRANSLATORS: trade error
localChatTab->chatLog(_("Failed adding item. You can not "
"overlap one kind of item on the window."), BY_SERVER);
}
diff --git a/src/gui/unregisterdialog.cpp b/src/gui/unregisterdialog.cpp
index 49db5175c..eabf13633 100644
--- a/src/gui/unregisterdialog.cpp
+++ b/src/gui/unregisterdialog.cpp
@@ -43,17 +43,22 @@
#include "debug.h"
-UnRegisterDialog::UnRegisterDialog(LoginData *const data):
+UnRegisterDialog::UnRegisterDialog(LoginData *const data) :
+ // TRANSLATORS: unregister dialog name
Window(_("Unregister"), true, nullptr, "unregister.xml"),
gcn::ActionListener(),
mLoginData(data),
mPasswordField(new PasswordField(this, mLoginData->password)),
+ // TRANSLATORS: unregister dialog. button.
mUnRegisterButton(new Button(this, _("Unregister"), "unregister", this)),
+ // TRANSLATORS: unregister dialog. button.
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
mWrongDataNoticeListener(new WrongDataNoticeListener)
{
+ // TRANSLATORS: unregister dialog. label.
Label *const userLabel = new Label(this, strprintf(_("Name: %s"),
mLoginData->username.c_str()));
+ // TRANSLATORS: unregister dialog. label.
Label *const passwordLabel = new Label(this, _("Password:"));
const int width = 210;
@@ -115,17 +120,16 @@ void UnRegisterDialog::action(const gcn::ActionEvent &event)
const unsigned int max = Net::getLoginHandler()
->getMaxPasswordLength();
- // Check password
if (password.length() < min)
{
- // Pass too short
+ // TRANSLATORS: unregister dialog. error message.
errorMsg << strprintf(_("The password needs to be at least %u "
"characters long."), min);
error = true;
}
else if (password.length() > max - 1)
{
- // Pass too long
+ // TRANSLATORS: unregister dialog. error message.
errorMsg << strprintf(_("The password needs to be less than "
"%u characters long."), max);
error = true;
@@ -135,6 +139,7 @@ void UnRegisterDialog::action(const gcn::ActionEvent &event)
{
mWrongDataNoticeListener->setTarget(this->mPasswordField);
+ // TRANSLATORS: unregister dialog. error message.
OkDialog *const dlg = new OkDialog(_("Error"),
errorMsg.str(), DIALOG_ERROR);
dlg->addActionListener(mWrongDataNoticeListener);
diff --git a/src/gui/updaterwindow.cpp b/src/gui/updaterwindow.cpp
index 0542bf6eb..a614b7288 100644
--- a/src/gui/updaterwindow.cpp
+++ b/src/gui/updaterwindow.cpp
@@ -136,6 +136,7 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
const std::string &updatesDir,
const bool applyUpdates,
const int updateType):
+ // TRANSLATORS: updater window name
Window(_("Updating..."), false, nullptr, "update.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
@@ -160,8 +161,11 @@ UpdaterWindow::UpdaterWindow(const std::string &updateHost,
mUpdateIndexOffset(0),
mLoadUpdates(applyUpdates),
mUpdateType(updateType),
+ // TRANSLATORS: updater window label
mLabel(new Label(this, _("Connecting..."))),
+ // TRANSLATORS: updater window button
mCancelButton(new Button(this, _("Cancel"), "cancel", this)),
+ // TRANSLATORS: updater window button
mPlayButton(new Button(this, _("Play"), "play", this)),
mProgressBar(new ProgressBar(this, 0.0, 310, 0)),
mBrowserBox(new BrowserBox(this)),
@@ -648,8 +652,9 @@ void UpdaterWindow::logic()
{
case UPDATE_ERROR:
mBrowserBox->addRow("");
+ // TRANSLATORS: update message
mBrowserBox->addRow(_("##1 The update process is incomplete."));
- // TRANSLATORS: Continues "you try again later.".
+ // TRANSLATORS: Continues "The update process is incomplete.".
mBrowserBox->addRow(_("##1 It is strongly recommended that"));
// TRANSLATORS: Begins "It is strongly recommended that".
mBrowserBox->addRow(_("##1 you try again later."));
@@ -830,6 +835,7 @@ void UpdaterWindow::logic()
case UPDATE_COMPLETE:
mUpdatesDir = mUpdatesDirReal;
enable();
+ // TRANSLATORS: updater window label
setLabel(_("Completed"));
break;
case UPDATE_IDLE:
diff --git a/src/gui/userpalette.cpp b/src/gui/userpalette.cpp
index e378aef6c..4491b63d2 100644
--- a/src/gui/userpalette.cpp
+++ b/src/gui/userpalette.cpp
@@ -112,62 +112,104 @@ UserPalette::UserPalette():
mColors[NPC] = ColorElem();
mColors[MONSTER] = ColorElem();
+ // TRANSLATORS: palette color
addColor(BEING, 0xffffff, STATIC, _("Being"));
+ // TRANSLATORS: palette color
addColor(FRIEND, 0xb0ffb0, STATIC, _("Friend Names"));
+ // TRANSLATORS: palette color
addColor(DISREGARDED, 0xa00000, STATIC, _("Disregarded Names"));
+ // TRANSLATORS: palette color
addColor(IGNORED, 0xff0000, STATIC, _("Ignored Names"));
+ // TRANSLATORS: palette color
addColor(ERASED, 0xff0000, STATIC, _("Erased Names"));
+ // TRANSLATORS: palette color
addColor(PC, 0xffffff, STATIC, _("Other Players' Names"));
+ // TRANSLATORS: palette color
addColor(SELF, 0xff8040, STATIC, _("Own Name"));
+ // TRANSLATORS: palette color
addColor(GM, 0x00ff00, STATIC, _("GM Names"));
+ // TRANSLATORS: palette color
addColor(NPC, 0xc8c8ff, STATIC, _("NPCs"));
+ // TRANSLATORS: palette color
addColor(MONSTER, 0xff4040, STATIC, _("Monsters"));
+ // TRANSLATORS: palette color
addColor(MONSTER_HP, 0x00ff00, STATIC, _("Monster HP bar"), 50);
addColor(MONSTER_HP2, 0xff0000, STATIC,
+ // TRANSLATORS: palette color
_("Monster HP bar (second color)"), 50);
+ // TRANSLATORS: palette color
addColor(PARTY, 0xff00d8, STATIC, _("Party Members"));
+ // TRANSLATORS: palette color
addColor(GUILD, 0xff00d8, STATIC, _("Guild Members"));
+ // TRANSLATORS: palette color
addColor(PARTICLE, 0xffffff, STATIC, _("Particle Effects"));
+ // TRANSLATORS: palette color
addColor(PICKUP_INFO, 0x28dc28, STATIC, _("Pickup Notification"));
+ // TRANSLATORS: palette color
addColor(EXP_INFO, 0xffff00, STATIC, _("Exp Notification"));
+ // TRANSLATORS: palette color
addColor(PLAYER_HP, 0x00ff00, STATIC, _("Player HP bar"), 50);
+ // TRANSLATORS: palette color
addColor(PLAYER_HP2, 0xff0000, STATIC,
+ // TRANSLATORS: palette color
_("Player HP bar (second color)"), 50);
+ // TRANSLATORS: palette color
addColor(HIT_PLAYER_MONSTER, 0x0064ff, STATIC, _("Player Hits Monster"));
+ // TRANSLATORS: palette color
addColor(HIT_MONSTER_PLAYER, 0xff3232, STATIC, _("Monster Hits Player"));
+ // TRANSLATORS: palette color
addColor(HIT_PLAYER_PLAYER, 0xff5050, STATIC,
- _("Other Player Hits Local Player"));
+ // TRANSLATORS: palette color
+ _("Other Player Hits Local Player"));
+ // TRANSLATORS: palette color
addColor(HIT_CRITICAL, 0xff0000, RAINBOW, _("Critical Hit"));
+ // TRANSLATORS: palette color
addColor(HIT_LOCAL_PLAYER_MONSTER, 0x00ff00, STATIC,
- _("Local Player Hits Monster"));
+ // TRANSLATORS: palette color
+ _("Local Player Hits Monster"));
addColor(HIT_LOCAL_PLAYER_CRITICAL, 0xff0000, RAINBOW,
- _("Local Player Critical Hit"));
+ // TRANSLATORS: palette color
+ _("Local Player Critical Hit"));
addColor(HIT_LOCAL_PLAYER_MISS, 0x00ffa6, STATIC,
- _("Local Player Miss"));
+ // TRANSLATORS: palette color
+ _("Local Player Miss"));
+ // TRANSLATORS: palette color
addColor(MISS, 0xffff00, STATIC, _("Misses"));
+ // TRANSLATORS: palette color
addColor(PORTAL_HIGHLIGHT, 0xC80000, STATIC, _("Portal Highlight"));
addColor(COLLISION_HIGHLIGHT, 0x0000C8, STATIC,
- _("Default collision Highlight"), 64);
+ // TRANSLATORS: palette color
+ _("Default collision Highlight"), 64);
addColor(AIR_COLLISION_HIGHLIGHT, 0xe0e0ff, STATIC,
- _("Air collision Highlight"), 64);
+ // TRANSLATORS: palette color
+ _("Air collision Highlight"), 64);
addColor(WATER_COLLISION_HIGHLIGHT, 0x2050e0, STATIC,
- _("Water collision Highlight"), 64);
+ // TRANSLATORS: palette color
+ _("Water collision Highlight"), 64);
addColor(GROUNDTOP_COLLISION_HIGHLIGHT, 0xffff00, STATIC,
- _("Special ground collision Highlight"), 20);
+ // TRANSLATORS: palette color
+ _("Special ground collision Highlight"), 20);
addColor(WALKABLE_HIGHLIGHT, 0x00D000, STATIC,
- _("Walkable Highlight"), 255);
+ // TRANSLATORS: palette color
+ _("Walkable Highlight"), 255);
addColor(ATTACK_RANGE, 0xffffff, STATIC,
- _("Local Player Attack Range"), 5);
+ // TRANSLATORS: palette color
+ _("Local Player Attack Range"), 5);
addColor(ATTACK_RANGE_BORDER, 0x0, STATIC,
- _("Local Player Attack Range Border"), 76);
+ // TRANSLATORS: palette color
+ _("Local Player Attack Range Border"), 76);
addColor(MONSTER_ATTACK_RANGE, 0xff0000, STATIC,
- _("Monster Attack Range"), 20);
+ // TRANSLATORS: palette color
+ _("Monster Attack Range"), 20);
addColor(HOME_PLACE, 0xffffff, STATIC,
- _("Home Place"), 20);
+ // TRANSLATORS: palette color
+ _("Home Place"), 20);
addColor(HOME_PLACE_BORDER, 0xffff00, STATIC,
- _("Home Place Border"), 200);
+ // TRANSLATORS: palette color
+ _("Home Place Border"), 200);
addColor(ROAD_POINT, 0x000000, STATIC,
- _("Road Point"), 100);
+ // TRANSLATORS: palette color
+ _("Road Point"), 100);
commit(true);
}
diff --git a/src/gui/whoisonline.cpp b/src/gui/whoisonline.cpp
index b38218662..81f6a15de 100644
--- a/src/gui/whoisonline.cpp
+++ b/src/gui/whoisonline.cpp
@@ -74,7 +74,8 @@ class NameFunctuator final
}
} nameCompare;
-WhoIsOnline::WhoIsOnline():
+WhoIsOnline::WhoIsOnline() :
+ // TRANSLATORS: who is online window name
Window(_("Who Is Online - Updating"), false, nullptr, "whoisonline.xml"),
mThread(nullptr),
mDownloadStatus(UPDATE_LIST),
@@ -87,6 +88,7 @@ WhoIsOnline::WhoIsOnline():
mUpdateTimer(0),
mOnlinePlayers(),
mOnlineNicks(),
+ // TRANSLATORS: who is online. button.
mUpdateButton(new Button(this, _("Update"), "update", this)),
mAllowUpdate(true),
mShowLevel(false),
@@ -199,6 +201,7 @@ void WhoIsOnline::updateWindow(std::vector<OnlinePlayer*> &friends,
size_t numOnline)
{
// Set window caption
+ // TRANSLATORS: who is online window name
setCaption(_("Who Is Online - ") + toString(numOnline));
// List the online people
@@ -616,6 +619,7 @@ void WhoIsOnline::slowLogic()
{
if (mDownloadComplete == true)
{
+ // TRANSLATORS: who is online window name
setCaption(_("Who Is Online - Updating"));
mUpdateTimer = 0;
mDownloadStatus = UPDATE_LIST;
@@ -630,6 +634,7 @@ void WhoIsOnline::slowLogic()
mBrowserBox->addRow("##1Failed to fetch the online list!");
mBrowserBox->addRow(mCurlError);
mDownloadStatus = UPDATE_COMPLETE;
+ // TRANSLATORS: who is online window name
setCaption(_("Who Is Online - error"));
mUpdateButton->setEnabled(true);
mUpdateTimer = cur_time + 240;
@@ -671,6 +676,7 @@ void WhoIsOnline::action(const gcn::ActionEvent &event)
mUpdateTimer = cur_time - 20;
if (mUpdateButton)
mUpdateButton->setEnabled(false);
+ // TRANSLATORS: who is online window name
setCaption(_("Who Is Online - Update"));
if (mThread && SDL_GetThreadID(mThread))
{
diff --git a/src/gui/widgets/battletab.cpp b/src/gui/widgets/battletab.cpp
index 96e964b67..005cea05a 100644
--- a/src/gui/widgets/battletab.cpp
+++ b/src/gui/widgets/battletab.cpp
@@ -38,6 +38,7 @@
#include "debug.h"
BattleTab::BattleTab(const Widget2 *const widget) :
+ // TRANSLATORS: battle chat tab name
ChatTab(widget, _("Battle"), "")
{
if (config.getBoolValue("showChatHistory"))
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index 95f46385b..09b3bea6b 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -148,11 +148,13 @@ void ChatTab::chatLog(std::string line, Own own,
case BY_GM:
if (tmp.nick.empty())
{
+ // TRANSLATORS: chat message
tmp.nick = std::string(_("Global announcement:")).append(" ");
lineColor = "##G";
}
else
{
+ // TRANSLATORS: chat message
tmp.nick = strprintf(_("Global announcement from %s:"),
tmp.nick.c_str()).append(" ");
lineColor = "##1"; // Equiv. to BrowserBox::RED
@@ -168,6 +170,7 @@ void ChatTab::chatLog(std::string line, Own own,
lineColor = "##C";
break;
case BY_SERVER:
+ // TRANSLATORS: chat message
tmp.nick = std::string(_("Server:")).append(" ");
tmp.text = line;
lineColor = "##S";
@@ -177,6 +180,7 @@ void ChatTab::chatLog(std::string line, Own own,
lineColor = "##2"; // Equiv. to BrowserBox::GREEN
break;
case ACT_WHISPER:
+ // TRANSLATORS: chat message
tmp.nick = strprintf(_("%s whispers: %s"), tmp.nick.c_str(), "");
lineColor = "##W";
break;
@@ -520,7 +524,13 @@ void ChatTab::showOnline(const std::string &nick,
return;
if (isOnline)
+ {
+ // TRANSLATORS: chat message
chatLog(strprintf(_("%s is now Online."), nick.c_str()));
+ }
else
+ {
+ // TRANSLATORS: chat message
chatLog(strprintf(_("%s is now Offline."), nick.c_str()));
+ }
}
diff --git a/src/gui/widgets/extendednamesmodel.cpp b/src/gui/widgets/extendednamesmodel.cpp
index 4b9eabdae..9eca8ffa6 100644
--- a/src/gui/widgets/extendednamesmodel.cpp
+++ b/src/gui/widgets/extendednamesmodel.cpp
@@ -45,8 +45,7 @@ int ExtendedNamesModel::getNumberOfElements()
std::string ExtendedNamesModel::getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return mNames[i];
}
diff --git a/src/gui/widgets/gmtab.cpp b/src/gui/widgets/gmtab.cpp
index 9a28622a9..7c356ec43 100644
--- a/src/gui/widgets/gmtab.cpp
+++ b/src/gui/widgets/gmtab.cpp
@@ -32,6 +32,7 @@
#include "debug.h"
GmTab::GmTab(const Widget2 *const widget) :
+ // TRANSLATORS: gb tab name
ChatTab(widget, _("GM"), "")
{
setTabColor(&getThemeColor(Theme::GM_CHAT_TAB),
diff --git a/src/gui/widgets/guildchattab.cpp b/src/gui/widgets/guildchattab.cpp
index bb85e1a5b..0ce3cda1c 100644
--- a/src/gui/widgets/guildchattab.cpp
+++ b/src/gui/widgets/guildchattab.cpp
@@ -37,6 +37,7 @@
#include "debug.h"
GuildChatTab::GuildChatTab(const Widget2 *const widget) :
+ // TRANSLATORS: guild chat tab name
ChatTab(widget, _("Guild"), "")
{
setTabColor(&getThemeColor(Theme::GUILD_CHAT_TAB),
@@ -61,18 +62,25 @@ bool GuildChatTab::handleCommand(const std::string &type,
{
if (args == "invite")
{
+ // TRANSLATORS: guild chat tab help
chatLog(_("Command: /invite <nick>"));
+ // TRANSLATORS: guild chat tab help
chatLog(_("This command invites <nick> to the guild you're in."));
+ // TRANSLATORS: guild chat tab help
chatLog(_("If the <nick> has spaces in it, enclose it in "
"double quotes (\")."));
}
else if (args == "leave")
{
+ // TRANSLATORS: guild chat tab help
chatLog(_("Command: /leave"));
+ // TRANSLATORS: guild chat tab help
chatLog(_("This command causes the player to leave the guild."));
}
else
+ {
return false;
+ }
}
else if (type == "invite" && guildManager)
{
@@ -111,9 +119,13 @@ void GuildChatTab::handleInput(const std::string &msg)
void GuildChatTab::showHelp()
{
+ // TRANSLATORS: guild chat tab help
chatLog(_("/help > Display this help."));
+ // TRANSLATORS: guild chat tab help
chatLog(_("/invite > Invite a player to your guild"));
+ // TRANSLATORS: guild chat tab help
chatLog(_("/leave > Leave the guild you are in"));
+ // TRANSLATORS: guild chat tab help
chatLog(_("/kick > Kick some one from the guild you are in"));
}
diff --git a/src/gui/widgets/itemlinkhandler.cpp b/src/gui/widgets/itemlinkhandler.cpp
index 78652b4af..d1fbcb5e9 100644
--- a/src/gui/widgets/itemlinkhandler.cpp
+++ b/src/gui/widgets/itemlinkhandler.cpp
@@ -83,6 +83,7 @@ void ItemLinkHandler::handleLink(const std::string &link,
if (button == gcn::MouseInput::LEFT)
{
ConfirmDialog *const confirmDlg = new ConfirmDialog(
+ // TRANSLATORS: dialog message
_("Open url"), url, false, true);
confirmDlg->addActionListener(&listener);
}
diff --git a/src/gui/widgets/langtab.cpp b/src/gui/widgets/langtab.cpp
index f9ae12ebd..f61c7e348 100644
--- a/src/gui/widgets/langtab.cpp
+++ b/src/gui/widgets/langtab.cpp
@@ -27,6 +27,7 @@
#include "debug.h"
LangTab::LangTab(const Widget2 *const widget, const std::string &lang) :
+ // TRANSLATORS: lang chat tab name
ChatTab(widget, _("Lang"), lang + " ")
{
}
diff --git a/src/gui/widgets/namesmodel.cpp b/src/gui/widgets/namesmodel.cpp
index bac8ee0b7..0dc06b05c 100644
--- a/src/gui/widgets/namesmodel.cpp
+++ b/src/gui/widgets/namesmodel.cpp
@@ -46,8 +46,7 @@ int NamesModel::getNumberOfElements()
std::string NamesModel::getElementAt(int i)
{
if (i >= getNumberOfElements() || i < 0)
- return _("???");
-
+ return "???";
return mNames[i];
}
diff --git a/src/gui/widgets/setupitem.cpp b/src/gui/widgets/setupitem.cpp
index ed99061fc..7439e564a 100644
--- a/src/gui/widgets/setupitem.cpp
+++ b/src/gui/widgets/setupitem.cpp
@@ -295,6 +295,7 @@ void SetupItemTextField::createControls()
mLabel = new Label(this, mText);
mTextField = new TextField(this, mValue, true, mParent, mEventName);
+ // TRANSLATORS: setup item button
mButton = new Button(this, _("Edit"), mEventName + "_EDIT", mParent);
mWidget = mTextField;
mTextField->setWidth(200);
@@ -421,6 +422,7 @@ void SetupItemIntTextField::createControls()
mTextField->setActionEventId(mEventName);
mTextField->addActionListener(mParent);
+ // TRANSLATORS: setup item button
mButton = new Button(this, _("Edit"), mEventName + "_EDIT", mParent);
mWidget = mTextField;
mTextField->setWidth(50);
diff --git a/src/gui/widgets/tradetab.cpp b/src/gui/widgets/tradetab.cpp
index 380b11f06..b3fc2dcbe 100644
--- a/src/gui/widgets/tradetab.cpp
+++ b/src/gui/widgets/tradetab.cpp
@@ -36,6 +36,7 @@
#include "debug.h"
TradeTab::TradeTab(const Widget2 *const widget) :
+ // TRANSLATORS: trade chat tab name
ChatTab(widget, _("Trade"), TRADE_CHANNEL)
{
}
diff --git a/src/gui/widgets/whispertab.cpp b/src/gui/widgets/whispertab.cpp
index 95c2fa505..6f3ddbcdb 100644
--- a/src/gui/widgets/whispertab.cpp
+++ b/src/gui/widgets/whispertab.cpp
@@ -48,12 +48,6 @@ WhisperTab::~WhisperTab()
void WhisperTab::handleInput(const std::string &msg)
{
-// if (msg.empty())
-// {
-// chatLog(_("Cannot send empty chat!"), BY_SERVER, false);
-// return;
-// }
-
if (chatWindow)
{
Net::getChatHandler()->privateMessage(mNick,
@@ -100,8 +94,11 @@ void WhisperTab::handleCommand(const std::string &msg)
void WhisperTab::showHelp()
{
+ // TRANSLATORS: whisper tab help
chatLog(_("/ignore > Ignore the other player"));
+ // TRANSLATORS: whisper tab help
chatLog(_("/unignore > Stop ignoring the other player"));
+ // TRANSLATORS: whisper tab help
chatLog(_("/close > Close the whisper tab"));
}
@@ -112,18 +109,24 @@ bool WhisperTab::handleCommand(const std::string &type,
{
if (args == "close")
{
+ // TRANSLATORS: whisper tab help
chatLog(_("Command: /close"));
+ // TRANSLATORS: whisper tab help
chatLog(_("This command closes the current whisper tab."));
}
else if (args == "ignore")
{
+ // TRANSLATORS: whisper tab help
chatLog(_("Command: /ignore"));
+ // TRANSLATORS: whisper tab help
chatLog(_("This command ignores the other player regardless of "
"current relations."));
}
else if (args == "unignore")
{
+ // TRANSLATORS: whisper tab help
chatLog(_("Command: /unignore <player>"));
+ // TRANSLATORS: whisper tab help
chatLog(_("This command stops ignoring the other player if they "
"are being ignored."));
}
diff --git a/src/gui/windowmenu.cpp b/src/gui/windowmenu.cpp
index 9c03d20cc..45db47d58 100644
--- a/src/gui/windowmenu.cpp
+++ b/src/gui/windowmenu.cpp
@@ -123,27 +123,35 @@ WindowMenu::WindowMenu(const Widget2 *const widget) :
// TRANSLATORS: short button name for social window.
addButton(N_("SOC"),
+ // TRANSLATORS: full button name
_("Social"), x, h, Input::KEY_WINDOW_SOCIAL);
// TRANSLATORS: short button name for shortcuts window.
addButton(N_("SH"),
+ // TRANSLATORS: full button name
_("Shortcuts"), x, h, Input::KEY_WINDOW_SHORTCUT);
// TRANSLATORS: short button name for spells window.
addButton(N_("SP"),
+ // TRANSLATORS: full button name
_("Spells"), x, h, Input::KEY_WINDOW_SPELLS);
// TRANSLATORS: short button name for drops window.
addButton(N_("DR"),
+ // TRANSLATORS: full button name
_("Drop"), x, h, Input::KEY_WINDOW_DROP, false);
// TRANSLATORS: short button name for did you know window.
addButton(N_("YK"),
+ // TRANSLATORS: full button name
_("Did you know"), x, h, Input::KEY_WINDOW_DIDYOUKNOW, false);
// TRANSLATORS: short button name for shop window.
addButton(N_("SHP"),
+ // TRANSLATORS: full button name
_("Shop"), x, h, Input::KEY_WINDOW_SHOP, false);
// TRANSLATORS: short button name for outfits window.
addButton(N_("OU"),
+ // TRANSLATORS: full button name
_("Outfits"), x, h, Input::KEY_WINDOW_OUTFIT, false);
// TRANSLATORS: short button name for debug window.
addButton(N_("DBG"),
+ // TRANSLATORS: full button name
_("Debug"), x, h, Input::KEY_WINDOW_DEBUG,
#ifdef ANDROID
true);
@@ -152,9 +160,11 @@ WindowMenu::WindowMenu(const Widget2 *const widget) :
#endif
// TRANSLATORS: short button name for windows list menu.
addButton(N_("WIN"),
+ // TRANSLATORS: full button name
_("Windows"), x, h, Input::KEY_SHOW_WINDOWS, false);
// TRANSLATORS: short button name for setup window.
addButton(N_("SET"),
+ // TRANSLATORS: full button name
_("Setup"), x, h, Input::KEY_WINDOW_SETUP);
x += mPadding - mSpacing;
@@ -279,6 +289,7 @@ void WindowMenu::mouseMoved(gcn::MouseEvent &event)
if (key != Input::KEY_NO_VALUE)
{
mTextPopup->show(x + getX(), y + getY(), btn->getDescription(),
+ // TRANSLATORS: short key name
strprintf(_("Key: %s"), inputManager.getKeyValueString(
key).c_str()));
}
diff --git a/src/gui/worldselectdialog.cpp b/src/gui/worldselectdialog.cpp
index efdc7ba4b..8fe05e2e6 100644
--- a/src/gui/worldselectdialog.cpp
+++ b/src/gui/worldselectdialog.cpp
@@ -82,12 +82,15 @@ class WorldListModel final : public gcn::ListModel
};
WorldSelectDialog::WorldSelectDialog(Worlds worlds):
+ // TRANSLATORS: world select dialog name
Window(_("Select World"), false, nullptr, "world.xml"),
gcn::ActionListener(),
gcn::KeyListener(),
mWorldListModel(new WorldListModel(worlds)),
mWorldList(new ListBox(this, mWorldListModel, "")),
+ // TRANSLATORS: world dialog button
mChangeLoginButton(new Button(this, _("Change Login"), "login", this)),
+ // TRANSLATORS: world dialog button
mChooseWorld(new Button(this, _("Choose World"), "world", this))
{
ScrollArea *const worldsScroll = new ScrollArea(mWorldList,