diff options
28 files changed, 2660 insertions, 366 deletions
diff --git a/BuildTools/SCons/Tools/WindowsBundle.py b/BuildTools/SCons/Tools/WindowsBundle.py index 7d0f4ff..e351884 100644 --- a/BuildTools/SCons/Tools/WindowsBundle.py +++ b/BuildTools/SCons/Tools/WindowsBundle.py @@ -1,19 +1,20 @@ import SCons.Util, os def generate(env) : - def createWindowsBundle(env, bundle, resources = [], qtimageformats = [], qtlibs = []) : + def createWindowsBundle(env, bundle, resources = {}, qtimageformats = [], qtlibs = []) : env.Install(bundle, bundle + ".exe") for lib in qtlibs : env.Install(bundle, os.path.join(env["QTDIR"], "bin", lib + ".dll")) env.Install(os.path.join(bundle, "imageformats"), [os.path.join(env["QTDIR"], "plugins", "imageformats", "q" + codec + "4.dll") for codec in qtimageformats]) - for resource in resources : - e = env.Entry(resource) - if e.isdir() : - for subresource in env.Glob(str(e) + "/*") : - env.Install(os.path.join(bundle, e.name), subresource) - else : - env.Install(bundle, resource) + for dir, resourceFiles in resources.items() : + for resource in resourceFiles : + e = env.Entry(resource) + if e.isdir() : + for subresource in env.Glob(str(e) + "/*") : + env.Install(os.path.join(bundle, dir, e.name), subresource) + else : + env.Install(os.path.join(bundle, dir), resource) env.AddMethod(createWindowsBundle, "WindowsBundle") diff --git a/SwifTools/Application/UnixApplicationPathProvider.cpp b/SwifTools/Application/UnixApplicationPathProvider.cpp index c0d24ab..a68f249 100644 --- a/SwifTools/Application/UnixApplicationPathProvider.cpp +++ b/SwifTools/Application/UnixApplicationPathProvider.cpp @@ -14,6 +14,7 @@ namespace Swift { UnixApplicationPathProvider::UnixApplicationPathProvider(const std::string& name) : ApplicationPathProvider(name) { resourceDirs.push_back(getExecutableDir() / "../resources"); // Development + resourceDirs.push_back(getExecutableDir() / ".." / "share" / boost::to_lower_copy(getApplicationName())); // Local install char* xdgDataDirs = getenv("XDG_DATA_DIRS"); if (xdgDataDirs) { std::vector<std::string> dataDirs = String::split(xdgDataDirs, ':'); @@ -24,8 +25,8 @@ UnixApplicationPathProvider::UnixApplicationPathProvider(const std::string& name return; } } - resourceDirs.push_back("/usr/local/share/swift"); - resourceDirs.push_back("/usr/share/swift"); + resourceDirs.push_back("/usr/local/share/" + boost::to_lower_copy(getApplicationName())); + resourceDirs.push_back("/usr/share/" + boost::to_lower_copy(getApplicationName())); } boost::filesystem::path UnixApplicationPathProvider::getHomeDir() const { diff --git a/Swift/Controllers/Chat/MUCController.cpp b/Swift/Controllers/Chat/MUCController.cpp index ce8c946..aaa9d3a 100644 --- a/Swift/Controllers/Chat/MUCController.cpp +++ b/Swift/Controllers/Chat/MUCController.cpp @@ -122,13 +122,13 @@ void MUCController::receivedActivity() { void MUCController::handleJoinFailed(boost::shared_ptr<ErrorPayload> error) { receivedActivity(); - std::string errorMessage = QT_TRANSLATE_NOOP("", "Unable to join this room"); + std::string errorMessage = QT_TRANSLATE_NOOP("", "Unable to enter this room"); std::string rejoinNick; if (error) { switch (error->getCondition()) { case ErrorPayload::Conflict: rejoinNick = nick_ + "_"; - errorMessage = str(format(QT_TRANSLATE_NOOP("", "Unable to join this room as %1%, retrying as %2%")) % nick_ % rejoinNick); + errorMessage = str(format(QT_TRANSLATE_NOOP("", "Unable to enter this room as %1%, retrying as %2%")) % nick_ % rejoinNick); break; case ErrorPayload::JIDMalformed: errorMessage += ": "; @@ -140,7 +140,7 @@ void MUCController::handleJoinFailed(boost::shared_ptr<ErrorPayload> error) { break; case ErrorPayload::RegistrationRequired: errorMessage += ": "; - errorMessage += QT_TRANSLATE_NOOP("", "Only members may join"); + errorMessage += QT_TRANSLATE_NOOP("", "Only members may enter"); break; case ErrorPayload::Forbidden: errorMessage += ": "; @@ -170,7 +170,7 @@ void MUCController::handleJoinFailed(boost::shared_ptr<ErrorPayload> error) { void MUCController::handleJoinComplete(const std::string& nick) { receivedActivity(); joined_ = true; - std::string joinMessage = str(format(QT_TRANSLATE_NOOP("", "You have joined room %1% as %2%")) % toJID_.toString() % nick); + std::string joinMessage = str(format(QT_TRANSLATE_NOOP("", "You have entered room %1% as a %2%.")) % toJID_.toString() % nick); nick_ = nick; chatWindow_->addSystemMessage(joinMessage); clearPresenceQueue(); @@ -211,10 +211,10 @@ void MUCController::handleOccupantJoined(const MUCOccupant& occupant) { std::string joinString; MUCOccupant::Role role = occupant.getRole(); if (role != MUCOccupant::NoRole && role != MUCOccupant::Participant) { - joinString = str(format(QT_TRANSLATE_NOOP("", "%1% has joined the room as a %2%.")) % occupant.getNick() % roleToFriendlyName(role)); + joinString = str(format(QT_TRANSLATE_NOOP("", "%1% has entered the room as a %2%.")) % occupant.getNick() % roleToFriendlyName(role)); } else { - joinString = str(format(QT_TRANSLATE_NOOP("", "%1% has joined the room.")) % occupant.getNick()); + joinString = str(format(QT_TRANSLATE_NOOP("", "%1% has entered the room.")) % occupant.getNick()); } if (shouldUpdateJoinParts()) { updateJoinParts(); @@ -327,7 +327,7 @@ void MUCController::setOnline(bool online) { processUserPart(); } else { if (shouldJoinOnReconnect_) { - chatWindow_->addSystemMessage(str(format(QT_TRANSLATE_NOOP("", "Trying to join room %1%")) % toJID_.toString())); + chatWindow_->addSystemMessage(str(format(QT_TRANSLATE_NOOP("", "Trying to enter room %1%")) % toJID_.toString())); if (loginCheckTimer_) { loginCheckTimer_->start(); } @@ -454,10 +454,10 @@ std::string MUCController::generateJoinPartString(const std::vector<NickJoinPart switch (i) { case Join: if (sorted[i].size() > 1) { - eventString = QT_TRANSLATE_NOOP("", "%1% have joined the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% have entered the room"); } else { - eventString = QT_TRANSLATE_NOOP("", "%1% has joined the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% has entered the room"); } break; case Part: @@ -470,18 +470,18 @@ std::string MUCController::generateJoinPartString(const std::vector<NickJoinPart break; case JoinThenPart: if (sorted[i].size() > 1) { - eventString = QT_TRANSLATE_NOOP("", "%1% have joined then left the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% have entered then left the room"); } else { - eventString = QT_TRANSLATE_NOOP("", "%1% has joined then left the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% has entered then left the room"); } break; case PartThenJoin: if (sorted[i].size() > 1) { - eventString = QT_TRANSLATE_NOOP("", "%1% have left then rejoined the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% have left then returned to the room"); } else { - eventString = QT_TRANSLATE_NOOP("", "%1% has left then rejoined the room"); + eventString = QT_TRANSLATE_NOOP("", "%1% has left then returned to the room"); } break; } diff --git a/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp b/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp index e66fa9e..5f5e44d 100644 --- a/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp +++ b/Swift/Controllers/Chat/UnitTest/MUCControllerTest.cpp @@ -200,25 +200,25 @@ public: void testJoinPartStringContructionSimple() { std::vector<NickJoinPart> list; list.push_back(NickJoinPart("Kev", Join)); - CPPUNIT_ASSERT_EQUAL(std::string("Kev has joined the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Kev has entered the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Remko", Part)); - CPPUNIT_ASSERT_EQUAL(std::string("Kev has joined the room and Remko has left the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Kev has entered the room and Remko has left the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Bert", Join)); - CPPUNIT_ASSERT_EQUAL(std::string("Kev and Bert have joined the room and Remko has left the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Kev and Bert have entered the room and Remko has left the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Ernie", Join)); - CPPUNIT_ASSERT_EQUAL(std::string("Kev, Bert and Ernie have joined the room and Remko has left the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Kev, Bert and Ernie have entered the room and Remko has left the room"), MUCController::generateJoinPartString(list)); } void testJoinPartStringContructionMixed() { std::vector<NickJoinPart> list; list.push_back(NickJoinPart("Kev", JoinThenPart)); - CPPUNIT_ASSERT_EQUAL(std::string("Kev has joined then left the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Kev has entered then left the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Remko", Part)); - CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room and Kev has joined then left the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room and Kev has entered then left the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Bert", PartThenJoin)); - CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room, Kev has joined then left the room and Bert has left then rejoined the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room, Kev has entered then left the room and Bert has left then returned to the room"), MUCController::generateJoinPartString(list)); list.push_back(NickJoinPart("Ernie", JoinThenPart)); - CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room, Kev and Ernie have joined then left the room and Bert has left then rejoined the room"), MUCController::generateJoinPartString(list)); + CPPUNIT_ASSERT_EQUAL(std::string("Remko has left the room, Kev and Ernie have entered then left the room and Bert has left then returned to the room"), MUCController::generateJoinPartString(list)); } private: diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp index 6263636..adde70a 100644 --- a/Swift/Controllers/MainController.cpp +++ b/Swift/Controllers/MainController.cpp @@ -458,7 +458,7 @@ void MainController::handleDisconnected(const boost::optional<ClientError>& erro case ClientError::CertificateSelfSignedError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate is self-signed"); break; case ClientError::CertificateRejectedError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate has been rejected"); break; case ClientError::CertificateUntrustedError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate is not trusted"); break; - case ClientError::InvalidCertificatePurposeError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate cannot be used for encryptig your connection"); break; + case ClientError::InvalidCertificatePurposeError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate cannot be used for encrypting your connection"); break; case ClientError::CertificatePathLengthExceededError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Certificate path length constraint exceeded"); break; case ClientError::InvalidCertificateSignatureError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Invalid certificate signature"); break; case ClientError::InvalidCAError: certificateErrorMessage = QT_TRANSLATE_NOOP("", "Invalid Certificate Authority"); break; diff --git a/Swift/Controllers/Roster/RosterController.cpp b/Swift/Controllers/Roster/RosterController.cpp index 8a0fd53..83291e4 100644 --- a/Swift/Controllers/Roster/RosterController.cpp +++ b/Swift/Controllers/Roster/RosterController.cpp @@ -247,7 +247,7 @@ void RosterController::handleRosterSetError(ErrorPayload::ref error, boost::shar if (!error) { return; } - std::string text = str(format(QT_TRANSLATE_NOOP("", "Server %1% rejected roster change to item '%2%'")) % myJID_.getDomain() % rosterPayload->getItems()[0].getJID().toString()); + std::string text = str(format(QT_TRANSLATE_NOOP("", "Server %1% rejected contact list change to item '%2%'")) % myJID_.getDomain() % rosterPayload->getItems()[0].getJID().toString()); if (!error->getText().empty()) { text += ": " + error->getText(); } diff --git a/Swift/QtUI/EventViewer/QtEventWindow.cpp b/Swift/QtUI/EventViewer/QtEventWindow.cpp index aa5e27d..fdc0194 100644 --- a/Swift/QtUI/EventViewer/QtEventWindow.cpp +++ b/Swift/QtUI/EventViewer/QtEventWindow.cpp @@ -44,7 +44,7 @@ QtEventWindow::QtEventWindow(UIEventStream* eventStream) : EventWindow(false) { view_->setIndentation(0); view_->setRootIsDecorated(true); - readButton_ = new QPushButton("Display Notice", this); + readButton_ = new QPushButton(tr("Display Notice"), this); layout->addWidget(readButton_); readButton_->setEnabled(false); connect(readButton_, SIGNAL(clicked()), this, SLOT(handleReadClicked())); diff --git a/Swift/QtUI/MUCSearch/QtMUCSearchWindow.cpp b/Swift/QtUI/MUCSearch/QtMUCSearchWindow.cpp index 618ed65..135b4ce 100644 --- a/Swift/QtUI/MUCSearch/QtMUCSearchWindow.cpp +++ b/Swift/QtUI/MUCSearch/QtMUCSearchWindow.cpp @@ -27,7 +27,6 @@ QtMUCSearchWindow::QtMUCSearchWindow() { setWindowIcon(QIcon(":/logo-icon-16.png")); #endif setModal(true); - setWindowTitle(tr("Search Room")); ui_.filter_->hide(); model_ = new MUCSearchModel(); delegate_ = new MUCSearchDelegate(); diff --git a/Swift/QtUI/MUCSearch/QtMUCSearchWindow.ui b/Swift/QtUI/MUCSearch/QtMUCSearchWindow.ui index e078d34..6416042 100644 --- a/Swift/QtUI/MUCSearch/QtMUCSearchWindow.ui +++ b/Swift/QtUI/MUCSearch/QtMUCSearchWindow.ui @@ -11,7 +11,7 @@ </rect> </property> <property name="windowTitle"> - <string>Dialog</string> + <string>Search Room</string> </property> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0"> diff --git a/Swift/QtUI/QtAboutWidget.cpp b/Swift/QtUI/QtAboutWidget.cpp index 2f68769..8bea27a 100644 --- a/Swift/QtUI/QtAboutWidget.cpp +++ b/Swift/QtUI/QtAboutWidget.cpp @@ -39,8 +39,8 @@ QtAboutWidget::QtAboutWidget() : QDialog() { QLabel* versionLabel = new QLabel(QString("<center><font size='-1'>Version ") + QCoreApplication::applicationVersion() + "</font></center>", this); mainLayout->addWidget(versionLabel); - QString buildString = QString("<center><font size='-1'>") + QString(tr("Built with: Qt version %1")).arg(QT_VERSION_STR); - buildString += QString("<br/>") + QString(tr("Running with Qt version ")).arg(qVersion()); + QString buildString = QString("<center><font size='-1'>") + QString(tr("Built with Qt %1")).arg(QT_VERSION_STR); + buildString += QString("<br/>") + QString(tr("Running with Qt %1")).arg(qVersion()); buildString += "</font></center>"; QLabel* buildLabel = new QLabel(buildString, this); mainLayout->addWidget(buildLabel); diff --git a/Swift/QtUI/QtAvatarWidget.cpp b/Swift/QtUI/QtAvatarWidget.cpp index ebdf1a6..173d074 100644 --- a/Swift/QtUI/QtAvatarWidget.cpp +++ b/Swift/QtUI/QtAvatarWidget.cpp @@ -58,7 +58,7 @@ void QtAvatarWidget::setAvatar(const ByteArray& data, const std::string& type) { QFont font = painter.font(); font.setPointSize(14); painter.setFont(font); - painter.drawText(0, 0, image.height(), image.width(), Qt::AlignHCenter | Qt::AlignVCenter, "No picture"); + painter.drawText(0, 0, image.height(), image.width(), Qt::AlignHCenter | Qt::AlignVCenter, tr("No picture")); } if (image.height() > label->height() || image.width() > label->width()) { diff --git a/Swift/QtUI/QtBookmarkDetailWindow.ui b/Swift/QtUI/QtBookmarkDetailWindow.ui index d6df255..a77ac76 100644 --- a/Swift/QtUI/QtBookmarkDetailWindow.ui +++ b/Swift/QtUI/QtBookmarkDetailWindow.ui @@ -47,7 +47,7 @@ <item row="1" column="0"> <widget class="QLabel" name="label_2"> <property name="text"> - <string>Room JID:</string> + <string>Room Address:</string> </property> </widget> </item> diff --git a/Swift/QtUI/QtChatWindow.cpp b/Swift/QtUI/QtChatWindow.cpp index 4b67ef0..3e314e5 100644 --- a/Swift/QtUI/QtChatWindow.cpp +++ b/Swift/QtUI/QtChatWindow.cpp @@ -289,7 +289,7 @@ void QtChatWindow::setAckState(std::string const& id, ChatWindow::AckState state switch (state) { case ChatWindow::Pending: xml = "<img src='qrc:/icons/throbber.gif' alt='" + tr("This message has not been received by your server yet.") + "'/>"; break; case ChatWindow::Received: xml = ""; break; - case ChatWindow::Failed: xml = "<img src='qrc:/icons/error.png' alt='" + tr("This message may not have been transmitted.'") + "/>"; break; + case ChatWindow::Failed: xml = "<img src='qrc:/icons/error.png' alt='" + tr("This message may not have been transmitted.") + "'/>"; break; } messageLog_->setAckXML(P2QSTRING(id), xml); } diff --git a/Swift/QtUI/QtJoinMUCWindow.ui b/Swift/QtUI/QtJoinMUCWindow.ui index 6b718b3..14774d8 100644 --- a/Swift/QtUI/QtJoinMUCWindow.ui +++ b/Swift/QtUI/QtJoinMUCWindow.ui @@ -17,7 +17,7 @@ </sizepolicy> </property> <property name="windowTitle"> - <string>Join Room</string> + <string>Enter Room</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> @@ -86,14 +86,14 @@ <item> <widget class="QCheckBox" name="joinAutomatically"> <property name="text"> - <string>Join automatically in future</string> + <string>Enter automatically in future</string> </property> </widget> </item> <item> <widget class="QPushButton" name="joinButton"> <property name="text"> - <string>Join Room</string> + <string>Enter Room</string> </property> </widget> </item> diff --git a/Swift/QtUI/QtLoginWindow.cpp b/Swift/QtUI/QtLoginWindow.cpp index 24e6d76..ef8ceac 100644 --- a/Swift/QtUI/QtLoginWindow.cpp +++ b/Swift/QtUI/QtLoginWindow.cpp @@ -154,7 +154,11 @@ QtLoginWindow::QtLoginWindow(UIEventStream* uiEventStream) : QMainWindow() { generalMenu_ = swiftMenu_; #endif +#ifdef SWIFTEN_PLATFORM_MACOSX + QAction* aboutAction = new QAction(QString("&About %1").arg("Swift"), this); +#else QAction* aboutAction = new QAction(QString(tr("&About %1")).arg("Swift"), this); +#endif connect(aboutAction, SIGNAL(triggered()), SLOT(handleAbout())); swiftMenu_->addAction(aboutAction); @@ -180,7 +184,11 @@ QtLoginWindow::QtLoginWindow(UIEventStream* uiEventStream) : QMainWindow() { swiftMenu_->addSeparator(); #endif +#ifdef SWIFTEN_PLATFORM_MACOSX + QAction* quitAction = new QAction("&Quit", this); +#else QAction* quitAction = new QAction(tr("&Quit"), this); +#endif connect(quitAction, SIGNAL(triggered()), SLOT(handleQuit())); swiftMenu_->addAction(quitAction); diff --git a/Swift/QtUI/QtMainWindow.cpp b/Swift/QtUI/QtMainWindow.cpp index 0f43f7e..55ceabc 100644 --- a/Swift/QtUI/QtMainWindow.cpp +++ b/Swift/QtUI/QtMainWindow.cpp @@ -85,7 +85,7 @@ QtMainWindow::QtMainWindow(QtSettingsProvider* settings, UIEventStream* uiEventS QAction* editProfileAction = new QAction(tr("Edit Profile"), this); connect(editProfileAction, SIGNAL(triggered()), SLOT(handleEditProfileAction())); actionsMenu->addAction(editProfileAction); - QAction* joinMUCAction = new QAction(tr("&Join Room"), this); + QAction* joinMUCAction = new QAction(tr("&Enter Room"), this); connect(joinMUCAction, SIGNAL(triggered()), SLOT(handleJoinMUCAction())); actionsMenu->addAction(joinMUCAction); addUserAction_ = new QAction(tr("&Add Contact"), this); diff --git a/Swift/QtUI/QtNameWidget.cpp b/Swift/QtUI/QtNameWidget.cpp index 6124c65..96f9c0d 100644 --- a/Swift/QtUI/QtNameWidget.cpp +++ b/Swift/QtUI/QtNameWidget.cpp @@ -44,7 +44,7 @@ void QtNameWidget::mousePressEvent(QMouseEvent* event) { QMenu menu; bool hasNick = !nick.isEmpty(); - QAction* showAsNick = new QAction(hasNick ? tr("Show nickname") : tr("(No Nickname Set)"), this); + QAction* showAsNick = new QAction(hasNick ? tr("Show Nickname") : tr("(No Nickname Set)"), this); showAsNick->setCheckable(true); showAsNick->setEnabled(hasNick); if (mode == ShowNick && hasNick) { @@ -52,7 +52,7 @@ void QtNameWidget::mousePressEvent(QMouseEvent* event) { } menu.addAction(showAsNick); - QAction* showAsJID = new QAction(tr("Show ID"), this); + QAction* showAsJID = new QAction(tr("Show Address"), this); showAsJID->setCheckable(true); if (mode == ShowJID || !hasNick) { showAsJID->setChecked(true); diff --git a/Swift/QtUI/QtStatusWidget.cpp b/Swift/QtUI/QtStatusWidget.cpp index 78bbb03..47f0afe 100644 --- a/Swift/QtUI/QtStatusWidget.cpp +++ b/Swift/QtUI/QtStatusWidget.cpp @@ -26,8 +26,6 @@ namespace Swift { -const QString QtStatusWidget::NO_MESSAGE = QString(QT_TRANSLATE_NOOP("QtStatusWidget", "(No message)")); - QtStatusWidget::QtStatusWidget(QWidget *parent) : QWidget(parent), editCursor_(Qt::IBeamCursor), viewCursor_(Qt::PointingHandCursor) { isClicking_ = false; connecting_ = false; @@ -130,7 +128,7 @@ void QtStatusWidget::generateList() { newStatusText_ = text; menu_->clear(); foreach (StatusShow::Type type, icons_.keys()) { - QListWidgetItem* item = new QListWidgetItem(text == "" ? NO_MESSAGE : text, menu_); + QListWidgetItem* item = new QListWidgetItem(text == "" ? getNoMessage() : text, menu_); item->setIcon(icons_[type]); item->setToolTip(P2QSTRING(statusShowTypeToFriendlyName(type)) + ": " + item->text()); item->setStatusTip(item->toolTip()); @@ -223,7 +221,7 @@ void QtStatusWidget::handleItemClicked(QListWidgetItem* item) { editing_ = false; selectedStatusType_ = static_cast<StatusShow::Type>(item->data(Qt::UserRole).toInt()); QString message = item->data(Qt::DisplayRole).toString(); - newStatusText_ = message == NO_MESSAGE ? "" : message; + newStatusText_ = message == getNoMessage() ? "" : message; statusEdit_->setText(newStatusText_); handleEditComplete(); } @@ -240,7 +238,7 @@ void QtStatusWidget::setStatusText(const QString& text) { connectingMovie_->stop(); statusText_ = text; statusEdit_->setText(text); - QString escapedText(text.isEmpty() ? NO_MESSAGE : text); + QString escapedText(text.isEmpty() ? getNoMessage() : text); escapedText.replace("<","<"); // statusTextLabel_->setText("<i>" + escapedText + "</i>"); statusTextLabel_->setText(escapedText); @@ -261,10 +259,8 @@ void QtStatusWidget::setStatusType(StatusShow::Type type) { setNewToolTip(); } - - +QString QtStatusWidget::getNoMessage() { + return QString(tr("(No message)")); } - - - +} diff --git a/Swift/QtUI/QtStatusWidget.h b/Swift/QtUI/QtStatusWidget.h index f302c64..75bcf52 100644 --- a/Swift/QtUI/QtStatusWidget.h +++ b/Swift/QtUI/QtStatusWidget.h @@ -43,6 +43,7 @@ namespace Swift { protected slots: virtual void mousePressEvent(QMouseEvent* event); void handleItemClicked(QListWidgetItem* item); + static QString getNoMessage(); private: void viewMode(); void setNewToolTip(); diff --git a/Swift/QtUI/SConscript b/Swift/QtUI/SConscript index e52d76a..2255808 100644 --- a/Swift/QtUI/SConscript +++ b/Swift/QtUI/SConscript @@ -161,17 +161,18 @@ commonResources = { } # Translation -translation_sources = [env.File("../Translations/Swift.ts").abspath] +translation_sources = [env.File("../Translations/swift.ts").abspath] for file in os.listdir(Dir("../Translations").abspath) : - if file.startswith("Swift_") and file.endswith(".ts") : + if file.startswith("swift_") and file.endswith(".ts") : lang = file[6:-3] - translation_resource = "../resources/translations/Swift_" + lang + ".qm" - translation_source = "../Translations/Swift_" + lang + ".ts" + translation_resource = "../resources/translations/swift_" + lang + ".qm" + translation_source = "../Translations/swift_" + lang + ".ts" translation_sources.append(env.File(translation_source).abspath) myenv.Qm(translation_resource, translation_source) commonResources["translations"] = commonResources.get("translations", []) + [translation_resource] if ARGUMENTS.get("update_translations", False) : - t = myenv.Command(translation_sources, [], [myenv.Action("$QT4_LUPDATE -I " + env.Dir("#").abspath + " -silent -codecfortr utf-8 -recursive Swift -ts " + " ".join(translation_sources), cmdstr = "$QT4_LUPDATECOMSTR")]) + myenv.Precious(translation_sources) + t = myenv.Command(translation_sources, [], [myenv.Action("$QT4_LUPDATE -I " + env.Dir("#").abspath + " -silent -no-ui-lines -codecfortr utf-8 -recursive Swift -ts " + " ".join(translation_sources), cmdstr = "$QT4_LUPDATECOMSTR")]) myenv.AlwaysBuild(t) if env["PLATFORM"] == "darwin" : diff --git a/Swift/QtUI/UserSearch/QtUserSearchFieldsPage.ui b/Swift/QtUI/UserSearch/QtUserSearchFieldsPage.ui index f2b5916..fa6e376 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchFieldsPage.ui +++ b/Swift/QtUI/UserSearch/QtUserSearchFieldsPage.ui @@ -11,7 +11,7 @@ </rect> </property> <property name="windowTitle"> - <string>WizardPage</string> + <string></string> </property> <layout class="QGridLayout" name="gridLayout"> <item row="0" column="0" colspan="2"> @@ -77,7 +77,7 @@ <item row="5" column="0"> <widget class="QLabel" name="fetchingThrobber_"> <property name="text"> - <string>TextLabel</string> + <string></string> </property> </widget> </item> diff --git a/Swift/QtUI/UserSearch/QtUserSearchFirstPage.ui b/Swift/QtUI/UserSearch/QtUserSearchFirstPage.ui index 3139f66..46a1277 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchFirstPage.ui +++ b/Swift/QtUI/UserSearch/QtUserSearchFirstPage.ui @@ -11,19 +11,19 @@ </rect> </property> <property name="windowTitle"> - <string>WizardPage</string> + <string></string> </property> <property name="title"> <string>Add a user</string> </property> <property name="subTitle"> - <string>Add another user to your roster. If you know their JID you can add them directly, or you can search for them.</string> + <string>Add another user to your contact list. If you know their address you can add them directly, or you can search for them.</string> </property> <layout class="QVBoxLayout" name="verticalLayout"> <item> <widget class="QLabel" name="howLabel_"> <property name="text"> - <string>howLabel_</string> + <string></string> </property> </widget> </item> @@ -32,7 +32,7 @@ <item> <widget class="QRadioButton" name="byJID_"> <property name="text"> - <string>I know their JID:</string> + <string>I know their address:</string> </property> </widget> </item> @@ -88,7 +88,7 @@ <item> <widget class="QLabel" name="errorLabel_"> <property name="text"> - <string><font color='red'>errorLabel_</font></string> + <string></string> </property> <property name="alignment"> <set>Qt::AlignCenter</set> diff --git a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui index e980a2f..f312fde 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui +++ b/Swift/QtUI/UserSearch/QtUserSearchResultsPage.ui @@ -11,7 +11,7 @@ </rect> </property> <property name="windowTitle"> - <string>WizardPage</string> + <string></string> </property> <layout class="QHBoxLayout" name="horizontalLayout"> <item> diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp index a384f5d..e06cd31 100644 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp +++ b/Swift/QtUI/UserSearch/QtUserSearchWindow.cpp @@ -23,7 +23,7 @@ namespace Swift { QtUserSearchFirstPage::QtUserSearchFirstPage(UserSearchWindow::Type type, const QString& title) { setupUi(this); setTitle(title); - setSubTitle(QString(tr("%1. If you know their JID you can enter it directly, or you can search for them.")).arg(type == UserSearchWindow::AddContact ? tr("Add another user to your roster") : tr("Chat to another user"))); + setSubTitle(QString(tr("%1. If you know their address you can enter it directly, or you can search for them.")).arg(type == UserSearchWindow::AddContact ? tr("Add another user to your contact list") : tr("Chat to another user"))); connect(jid_, SIGNAL(textChanged(const QString&)), this, SLOT(emitCompletenessCheck())); connect(service_->lineEdit(), SIGNAL(textChanged(const QString&)), this, SLOT(emitCompletenessCheck())); } @@ -291,10 +291,10 @@ void QtUserSearchWindow::clear() { firstPage_->errorLabel_->setVisible(false); QString howText; if (type_ == AddContact) { - howText = QString("How would you like to find the user to add?"); + howText = QString(tr("How would you like to find the user to add?")); } else { - howText = QString("How would you like to find the user to chat to?"); + howText = QString(tr("How would you like to find the user to chat to?")); } firstPage_->howLabel_->setText(howText); firstPage_->byJID_->setChecked(true); diff --git a/Swift/QtUI/UserSearch/QtUserSearchWindow.ui b/Swift/QtUI/UserSearch/QtUserSearchWindow.ui deleted file mode 100644 index 56047ce..0000000 --- a/Swift/QtUI/UserSearch/QtUserSearchWindow.ui +++ /dev/null @@ -1,292 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>QtUserSearchWindow</class> - <widget class="QWidget" name="QtUserSearchWindow"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>698</width> - <height>569</height> - </rect> - </property> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="windowTitle"> - <string>Find other users</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <property name="sizeConstraint"> - <enum>QLayout::SetNoConstraint</enum> - </property> - <item> - <widget class="QFrame" name="frame"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="frameShape"> - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Service to search:</string> - </property> - </widget> - </item> - <item> - <widget class="QComboBox" name="service_"> - <property name="editable"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <spacer name="horizontalSpacer"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="getSearchForm_"> - <property name="text"> - <string>Get Search Form</string> - </property> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QStackedWidget" name="stack_"> - <property name="currentIndex"> - <number>1</number> - </property> - <widget class="QWidget" name="display"> - <layout class="QHBoxLayout" name="horizontalLayout_6"> - <item> - <widget class="QLabel" name="messageLabel_"> - <property name="text"> - <string>TextLabel</string> - </property> - <property name="alignment"> - <set>Qt::AlignHCenter|Qt::AlignTop</set> - </property> - <property name="wordWrap"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QWidget" name="legacy"> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <item> - <layout class="QGridLayout" name="gridLayout"> - <item row="0" column="0" colspan="2"> - <widget class="QLabel" name="label_4"> - <property name="text"> - <string>Enter search terms</string> - </property> - </widget> - </item> - <item row="1" column="0"> - <widget class="QLabel" name="nickInputLabel_"> - <property name="text"> - <string>Nickname:</string> - </property> - </widget> - </item> - <item row="1" column="1"> - <widget class="QLineEdit" name="nickInput_"/> - </item> - <item row="2" column="0"> - <widget class="QLabel" name="firstInputLabel_"> - <property name="text"> - <string>First name:</string> - </property> - </widget> - </item> - <item row="2" column="1"> - <widget class="QLineEdit" name="firstInput_"/> - </item> - <item row="3" column="0"> - <widget class="QLabel" name="lastInputLabel_"> - <property name="text"> - <string>Last name:</string> - </property> - </widget> - </item> - <item row="3" column="1"> - <widget class="QLineEdit" name="lastInput_"/> - </item> - <item row="4" column="0"> - <widget class="QLabel" name="emailInputLabel_"> - <property name="text"> - <string>E-Mail:</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QLineEdit" name="emailInput_"/> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - </layout> - </widget> - </widget> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <item> - <spacer name="horizontalSpacer_2"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="search_"> - <property name="text"> - <string>Search</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </widget> - </item> - <item> - <widget class="QFrame" name="frame_2"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Expanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="frameShape"> - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Results:</string> - </property> - </widget> - </item> - <item> - <widget class="QTreeView" name="results_"/> - </item> - <item> - <widget class="QLabel" name="label_3"> - <property name="text"> - <string>Address:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="jid_"/> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_4"> - <item> - <widget class="QCheckBox" name="addToRoster_"> - <property name="text"> - <string>Add to Roster. Nickname:</string> - </property> - </widget> - </item> - <item> - <widget class="QLineEdit" name="nickName_"/> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_5"> - <item> - <widget class="QCheckBox" name="startChat_"> - <property name="text"> - <string>Start Chat With Contact</string> - </property> - </widget> - </item> - <item> - <spacer name="horizontalSpacer_4"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>40</width> - <height>20</height> - </size> - </property> - </spacer> - </item> - </layout> - </item> - </layout> - </widget> - </item> - </layout> - </item> - <item> - <widget class="QDialogButtonBox" name="buttonBox_"> - <property name="orientation"> - <enum>Qt::Horizontal</enum> - </property> - <property name="standardButtons"> - <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> diff --git a/Swift/QtUI/main.cpp b/Swift/QtUI/main.cpp index 3cbb170..c98937d 100644 --- a/Swift/QtUI/main.cpp +++ b/Swift/QtUI/main.cpp @@ -32,7 +32,7 @@ int main(int argc, char* argv[]) { QTranslator qtTranslator; if (!someTranslationPath.empty()) { //std::cout << "Loading " << std::string(QLocale::system().name().toUtf8()) << std::endl; - qtTranslator.load("Swift_" + QLocale::system().name(), someTranslationPath.parent_path().string().c_str()); + qtTranslator.load(QString(SWIFT_APPLICATION_NAME).toLower() + "_" + QLocale::system().name(), someTranslationPath.parent_path().string().c_str()); } app.installTranslator(&qtTranslator); QtTranslator swiftTranslator; diff --git a/Swift/Translations/swift.ts b/Swift/Translations/swift.ts new file mode 100644 index 0000000..32ca913 --- /dev/null +++ b/Swift/Translations/swift.ts @@ -0,0 +1,1289 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0"> +<defaultcodec>UTF-8</defaultcodec> +<context> + <name></name> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="46"/> + <source>Starting chat with %1% in chatroom %2%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="49"/> + <source>Starting chat with %1% - %2%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="115"/> + <source>me</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="156"/> + <source>%1% has gone offline</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="160"/> + <source>%1% has become available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="162"/> + <source>%1% has gone away</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="164"/> + <source>%1% is now busy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="56"/> + <source>The day is now %1%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="193"/> + <source>Error sending message</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="199"/> + <source>Bad request</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="200"/> + <source>Conflict</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="201"/> + <source>This feature is not implemented</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="202"/> + <source>Forbidden</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="203"/> + <source>Recipient can no longer be contacted</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="204"/> + <source>Internal server error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="205"/> + <source>Item not found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="206"/> + <source>JID Malformed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="207"/> + <source>Message was rejected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="208"/> + <source>Not allowed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="209"/> + <source>Not authorized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="210"/> + <source>Payment is required</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="211"/> + <source>Recipient is unavailable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="212"/> + <source>Redirect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="213"/> + <source>Registration required</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="214"/> + <source>Recipient's server not found</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="215"/> + <source>Remote server timeout</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="216"/> + <source>The server is low on resources</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="217"/> + <source>The service is unavailable</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="218"/> + <source>A subscription is required</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="219"/> + <source>Undefined condition</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="220"/> + <source>Unexpected request</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="114"/> + <source>Room %1% is not responding. This operation may never complete.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="135"/> + <source>No nickname specified</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="139"/> + <source>A password needed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="147"/> + <source>You are banned from the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="151"/> + <source>The room is full</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="155"/> + <source>The room does not exist</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="125"/> + <source>Unable to enter this room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="131"/> + <source>Unable to enter this room as %1%, retrying as %2%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="143"/> + <source>Only members may enter</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="214"/> + <source>%1% has entered the room as a %2%.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="217"/> + <source>%1% has entered the room.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="243"/> + <source>moderator</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="244"/> + <source>participant</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="245"/> + <source>visitor</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="284"/> + <source>The room subject is now: %1%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="307"/> + <source>%1% is now a %2%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="313"/> + <source>Moderators</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="314"/> + <source>Participants</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="315"/> + <source>Visitors</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="316"/> + <source>Occupants</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="330"/> + <source>Trying to enter room %1%</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="481"/> + <source>%1% have left then returned to the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="484"/> + <source>%1% has left then returned to the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="359"/> + <location filename="../Controllers/Chat/MUCController.cpp" line="468"/> + <source>%1% has left the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="173"/> + <source>You have entered room %1% as a %2%.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="359"/> + <source>You have left the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="433"/> + <location filename="../Controllers/Chat/MUCController.cpp" line="497"/> + <source> and </source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="457"/> + <source>%1% have entered the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="460"/> + <source>%1% has entered the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="473"/> + <source>%1% have entered then left the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="476"/> + <source>%1% has entered then left the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="465"/> + <source>%1% have left the room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="437"/> + <source>Unknown Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="438"/> + <source>Unable to find server</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="439"/> + <source>Error connecting to server</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="440"/> + <source>Error while receiving server data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="441"/> + <source>Error while sending data to the server</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="442"/> + <source>Error parsing server data</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="443"/> + <source>Login/password invalid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="444"/> + <source>Error while compressing stream</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="445"/> + <source>Server verification failed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="446"/> + <source>Authentication mechanisms not supported</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="447"/> + <source>Unexpected response</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="448"/> + <source>Error binding resource</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="449"/> + <source>Error starting session</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="450"/> + <source>Stream error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="451"/> + <source>Encryption error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="452"/> + <source>Error loading certificate (Invalid password?)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="453"/> + <source>Certificate not authorized</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="455"/> + <source>Unknown certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="456"/> + <source>Certificate has expired</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="457"/> + <source>Certificate is not yet valid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="458"/> + <source>Certificate is self-signed</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="459"/> + <source>Certificate has been rejected</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="460"/> + <source>Certificate is not trusted</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="461"/> + <source>Certificate cannot be used for encrypting your connection</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="462"/> + <source>Certificate path length constraint exceeded</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="463"/> + <source>Invalid certificate signature</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="464"/> + <source>Invalid Certificate Authority</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="465"/> + <source>Certificate does not match the host identity</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="475"/> + <source>Certificate error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="489"/> + <source>Reconnect to %1% failed: %2%. Will retry in %3% seconds.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="492"/> + <source>Disconnected from %1%: %2%.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Roster/RosterController.cpp" line="126"/> + <location filename="../Controllers/Roster/RosterController.cpp" line="152"/> + <location filename="../Controllers/Roster/RosterController.cpp" line="213"/> + <source>Contacts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/Roster/RosterController.cpp" line="250"/> + <source>Server %1% rejected contact list change to item '%2%'</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="15"/> + <location filename="../Controllers/StatusUtil.cpp" line="16"/> + <source>Available</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="17"/> + <location filename="../Controllers/StatusUtil.cpp" line="18"/> + <source>Away</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="19"/> + <source>Busy</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="20"/> + <source>Offline</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QObject</name> + <message> + <location filename="../QtUI/MUCSearch/MUCSearchEmptyItem.cpp" line="25"/> + <source>No rooms found</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtBookmarkDetailWindow</name> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="137"/> + <source>Edit Bookmark Details</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="138"/> + <source>Bookmark Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="140"/> + <source>Your Nickname:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="141"/> + <source>Room password:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="142"/> + <source>Join automatically</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="139"/> + <source>Room Address:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtJoinMUCWindow</name> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="125"/> + <source>Room:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="126"/> + <source>Search ...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="127"/> + <source>Nickname:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="124"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="130"/> + <source>Enter Room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="129"/> + <source>Enter automatically in future</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtMUCSearchWindow</name> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="118"/> + <source>Search Room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="119"/> + <source>Service:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="121"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="122"/> + <source>Ok</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="123"/> + <source>List rooms</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtUserSearchFieldsPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="119"/> + <source>Nickname:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="120"/> + <source>First name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="121"/> + <source>Last name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="122"/> + <source>E-Mail:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="124"/> + <source>Fetching search fields</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtUserSearchFirstPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="121"/> + <source>Add a user</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="125"/> + <source>I'd like to search my server</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="126"/> + <source>I'd like to search another server:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="122"/> + <source>Add another user to your contact list. If you know their address you can add them directly, or you can search for them.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="124"/> + <source>I know their address:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>QtUserSearchWizard</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWizard.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchWizard.h" line="39"/> + <source>Find User</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::ChatListModel</name> + <message> + <location filename="../QtUI/ChatList/ChatListModel.cpp" line="15"/> + <source>Bookmarked Rooms</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtAboutWidget</name> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="23"/> + <source>About %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="42"/> + <source>Built with Qt %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="43"/> + <source>Running with Qt %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="48"/> + <source>View License</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtAvatarWidget</name> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="61"/> + <source>No picture</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="73"/> + <source>Select picture ...</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="76"/> + <source>Clear picture</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="81"/> + <source>Select picture</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="81"/> + <source>Image Files (*.png *.jpg *.gif)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="95"/> + <source>Error</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="95"/> + <source>The selected picture is in an unrecognized format</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtBookmarkDetailWindow</name> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.cpp" line="31"/> + <source>Bookmark not valid</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.cpp" line="31"/> + <source>You must specify a valid room address (e.g. myroom@chats.example.com).</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtChatListWindow</name> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="62"/> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="66"/> + <source>Add New Bookmark</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="63"/> + <source>Edit Bookmark</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="64"/> + <source>Remove Bookmark</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtChatView</name> + <message> + <location filename="../QtUI/QtChatView.cpp" line="61"/> + <source>Clear log</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtChatView.cpp" line="62"/> + <source>You are about to clear the contents of your chat log.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtChatView.cpp" line="63"/> + <source>Are you sure?</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtChatWindow</name> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="290"/> + <source>This message has not been received by your server yet.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="292"/> + <source>This message may not have been transmitted.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="312"/> + <source>Couldn't send message: %1</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtContactEditWidget</name> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="28"/> + <source>Name:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="34"/> + <source>Groups:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="56"/> + <source>New Group:</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtContactEditWindow</name> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="26"/> + <source>Edit contact</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="41"/> + <source>Remove contact</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="44"/> + <source>Ok</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="76"/> + <source>Confirm contact deletion</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="77"/> + <source>Are you sure you want to delete this contact?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="78"/> + <source>This will remove the contact '%1' from all groups they may be in.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtEventWindow</name> + <message> + <location filename="../QtUI/EventViewer/QtEventWindow.cpp" line="47"/> + <source>Display Notice</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtLoginWindow</name> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="81"/> + <source>User address:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="86"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="87"/> + <source>User address - looks like someuser@someserver.com</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="91"/> + <source>Example: alice@wonderland.lit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="97"/> + <source>Password:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="118"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="119"/> + <source>Click if you have a personal certificate used for login to the service.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="125"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="299"/> + <source>Connect</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="136"/> + <source>Remember Password?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="138"/> + <source>Login Automatically?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="150"/> + <source>&Swift</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="152"/> + <source>&General</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="160"/> + <source>&About %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="165"/> + <source>&Show Debug Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="169"/> + <source>&Play Sounds</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="175"/> + <source>Show &Notifications</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="190"/> + <source>&Quit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="205"/> + <source>Remove profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="205"/> + <source>Remove the profile '%1'?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="299"/> + <source>Cancel</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="320"/> + <source>Select an authentication certificate</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="420"/> + <source>The certificate presented by the server is not valid.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="421"/> + <source>Would you like to permanently trust this certificate? This must only be done if you know it is correct.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="423"/> + <source>Subject: %1</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="424"/> + <source>SHA-1 Fingerprint: %1</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtMUCSearchWindow</name> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.cpp" line="49"/> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.cpp" line="51"/> + <source>Searching</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtMainWindow</name> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="63"/> + <source>&Contacts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="70"/> + <source>&Notices</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="71"/> + <source>C&hats</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="75"/> + <source>&View</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="77"/> + <source>Show offline contacts</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="83"/> + <source>&Actions</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="85"/> + <source>Edit Profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="88"/> + <source>&Enter Room</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="91"/> + <source>&Add Contact</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="94"/> + <source>Start &Chat</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="98"/> + <source>&Sign Out</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="130"/> + <source>Notices</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtNameWidget</name> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="47"/> + <source>(No Nickname Set)</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="47"/> + <source>Show Nickname</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="55"/> + <source>Show Address</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="62"/> + <source>Edit Profile</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtProfileWindow</name> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="24"/> + <source>Edit Profile</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="43"/> + <source>Nickname:</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="67"/> + <source>Save</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtStatusWidget</name> + <message> + <location filename="../QtUI/QtStatusWidget.cpp" line="232"/> + <source>Connecting</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtStatusWidget.cpp" line="264"/> + <source>(No message)</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtSubscriptionRequestWindow</name> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="24"/> + <source>You have already replied to this request</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="25"/> + <source>Ok</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="30"/> + <source>Yes</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="32"/> + <source>No</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="34"/> + <source>Defer</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtTreeWidget</name> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="86"/> + <source>Edit</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="93"/> + <source>Rename</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="97"/> + <source>Rename group</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="97"/> + <source>New name for %1</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtUserSearchFirstPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>Chat to another user</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>%1. If you know their address you can enter it directly, or you can search for them.</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>Add another user to your contact list</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtUserSearchWindow</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="85"/> + <source>Add Contact</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="85"/> + <source>Chat to User</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="294"/> + <source>How would you like to find the user to add?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="297"/> + <source>How would you like to find the user to chat to?</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="321"/> + <source>Error while searching</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="327"/> + <source>This server doesn't support searching for users.</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtWebView</name> + <message> + <location filename="../QtUI/QtWebView.cpp" line="61"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> +</context> +<context> + <name>Swift::QtXMLConsoleWidget</name> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="22"/> + <source>Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="40"/> + <source>Trace input/output</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="46"/> + <source>Clear</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="50"/> + <source>Debug Console</source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="75"/> + <source><!-- IN --></source> + <translation type="unfinished"></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="79"/> + <source><!-- OUT --></source> + <translation type="unfinished"></translation> + </message> +</context> +</TS> diff --git a/Swift/Translations/swift_nl.ts b/Swift/Translations/swift_nl.ts new file mode 100644 index 0000000..f6d6220 --- /dev/null +++ b/Swift/Translations/swift_nl.ts @@ -0,0 +1,1290 @@ +<?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE TS> +<TS version="2.0" language="nl_NL"> +<defaultcodec>UTF-8</defaultcodec> +<context> + <name></name> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="46"/> + <source>Starting chat with %1% in chatroom %2%</source> + <translation>Conversatie begonnen met %1% in kamer %2%</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="49"/> + <source>Starting chat with %1% - %2%</source> + <translation>Conversatie begonnen met %1% - %2%</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="115"/> + <source>me</source> + <translation>ik</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="156"/> + <source>%1% has gone offline</source> + <translation>%1% is offline gegaan</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="160"/> + <source>%1% has become available</source> + <translation>%1% is beschikbaar geworden</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="162"/> + <source>%1% has gone away</source> + <translation>%1% is afwezig</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatController.cpp" line="164"/> + <source>%1% is now busy</source> + <translation>%1% is nu bezet</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="56"/> + <source>The day is now %1%</source> + <translation>Vandaag is nu %1%</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="193"/> + <source>Error sending message</source> + <translation>Fout tijdens het versturen van bericht</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="199"/> + <source>Bad request</source> + <translation>Ongeldig verzoek</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="200"/> + <source>Conflict</source> + <translation>Conflict</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="201"/> + <source>This feature is not implemented</source> + <translation>Deze functie is niet geïmplementeerd</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="202"/> + <source>Forbidden</source> + <translation>Verboden</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="203"/> + <source>Recipient can no longer be contacted</source> + <translation>Begunstigde is onbereikbaar</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="204"/> + <source>Internal server error</source> + <translation>Interne serverfout</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="205"/> + <source>Item not found</source> + <translation>Element niet gevonden</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="206"/> + <source>JID Malformed</source> + <translation>JID misvormd</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="207"/> + <source>Message was rejected</source> + <translation>Bericht geweigerd</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="208"/> + <source>Not allowed</source> + <translation>Niet toegelaten</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="209"/> + <source>Not authorized</source> + <translation>Niet toegestaan</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="210"/> + <source>Payment is required</source> + <translation>Betaling is vereist</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="211"/> + <source>Recipient is unavailable</source> + <translation>Begunstigde is niet beschikbaar</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="212"/> + <source>Redirect</source> + <translation>Omleiding</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="213"/> + <source>Registration required</source> + <translation>Registratie vereist</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="214"/> + <source>Recipient's server not found</source> + <translation>Server begunstigde niet gevonden</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="215"/> + <source>Remote server timeout</source> + <translation>Server time-out</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="216"/> + <source>The server is low on resources</source> + <translation>De server heeft een tekort aan bronnen</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="217"/> + <source>The service is unavailable</source> + <translation>De server is niet beschikbaar</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="218"/> + <source>A subscription is required</source> + <translation>Inschrijving is vereist</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="219"/> + <source>Undefined condition</source> + <translation>Onbekende fout</translation> + </message> + <message> + <location filename="../Controllers/Chat/ChatControllerBase.cpp" line="220"/> + <source>Unexpected request</source> + <translation>Onverwacht verzoek</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="114"/> + <source>Room %1% is not responding. This operation may never complete.</source> + <translation>Kamer %1% antwoordt niet. Deze operatie kan mogelijk nooit voltooien.</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="135"/> + <source>No nickname specified</source> + <translation>Geen roepnaam gespecifieerd</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="139"/> + <source>A password needed</source> + <translation>Wachtwoord vereist</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="147"/> + <source>You are banned from the room</source> + <translation>U bent verbannen uit de kamer</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="151"/> + <source>The room is full</source> + <translation>De kamer is vol</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="155"/> + <source>The room does not exist</source> + <translation>Deze kamer bestaat niet</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="125"/> + <source>Unable to enter this room</source> + <translation>Kan deze kamer niet betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="131"/> + <source>Unable to enter this room as %1%, retrying as %2%</source> + <translation>Kan deze kamer niet betreden als %1%; als %2% opniew aan het proberen</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="143"/> + <source>Only members may enter</source> + <translation>Enkel leden mogen deze kamer betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="214"/> + <source>%1% has entered the room as a %2%.</source> + <translation>%1% heeft de kamer betreden als %2%.</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="217"/> + <source>%1% has entered the room.</source> + <translation>%1% heeft de kamer betreden.</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="243"/> + <source>moderator</source> + <translation>moderator</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="244"/> + <source>participant</source> + <translation>deelnemer</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="245"/> + <source>visitor</source> + <translation>bezoeker</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="284"/> + <source>The room subject is now: %1%</source> + <translation>Het onderwerp van deze kamer is nu: %1%</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="307"/> + <source>%1% is now a %2%</source> + <translation>%1% is nu een %2%</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="313"/> + <source>Moderators</source> + <translation>Moderators</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="314"/> + <source>Participants</source> + <translation>Deelnemers</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="315"/> + <source>Visitors</source> + <translation>Bezoekers</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="316"/> + <source>Occupants</source> + <translation>Bewoners</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="330"/> + <source>Trying to enter room %1%</source> + <translation>Aan het proberen om de kamer %1% te betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="481"/> + <source>%1% have left then returned to the room</source> + <translation>%1% hebben de kamer verlaten en terug betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="484"/> + <source>%1% has left then returned to the room</source> + <translation>%1% heeft de kamer verlaten en terug betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="359"/> + <location filename="../Controllers/Chat/MUCController.cpp" line="468"/> + <source>%1% has left the room</source> + <translation>%1% heeft de kamer verlaten</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="173"/> + <source>You have entered room %1% as a %2%.</source> + <translation>U heeft de kamer %1% als %2% betreden.</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="359"/> + <source>You have left the room</source> + <translation>U heeft de kamer verlaten</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="433"/> + <location filename="../Controllers/Chat/MUCController.cpp" line="497"/> + <source> and </source> + <translation>en</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="457"/> + <source>%1% have entered the room</source> + <translation>%1% hebben de kamer betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="460"/> + <source>%1% has entered the room</source> + <translation>%1% heeft de kamer betreden</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="473"/> + <source>%1% have entered then left the room</source> + <translation>%1% hebben de kamer betreden en terug verlaten</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="476"/> + <source>%1% has entered then left the room</source> + <translation>%1% heeft de kamer betreden en terug verlaten</translation> + </message> + <message> + <location filename="../Controllers/Chat/MUCController.cpp" line="465"/> + <source>%1% have left the room</source> + <translation>%1% hebben de kamer verlaten</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="437"/> + <source>Unknown Error</source> + <translation>Onbekende fout</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="438"/> + <source>Unable to find server</source> + <translation>Kan server niet vinden</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="439"/> + <source>Error connecting to server</source> + <translation>Fout tijdens het verbinden met de server</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="440"/> + <source>Error while receiving server data</source> + <translation>Fout tijdens het ontvangen van gegevens</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="441"/> + <source>Error while sending data to the server</source> + <translation>Fout tijdens het verzenden van gegevens</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="442"/> + <source>Error parsing server data</source> + <translation>Fout tijdens het ontleden van gegevens</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="443"/> + <source>Login/password invalid</source> + <translation>Gebruikersnaam/wachtwoord ongeldig</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="444"/> + <source>Error while compressing stream</source> + <translation>Fout tijdens het comprimeren</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="445"/> + <source>Server verification failed</source> + <translation>Serververificatie gefaald</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="446"/> + <source>Authentication mechanisms not supported</source> + <translation>Authenticatiemechanismen niet ondersteund</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="447"/> + <source>Unexpected response</source> + <translation>Onverwacht antwoord</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="448"/> + <source>Error binding resource</source> + <translation>Fout tijdens het binden van de resource</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="449"/> + <source>Error starting session</source> + <translation>Fout bij het starten van de sessie</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="450"/> + <source>Stream error</source> + <translation>Stroomfout</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="451"/> + <source>Encryption error</source> + <translation>Beveiligingsfout</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="452"/> + <source>Error loading certificate (Invalid password?)</source> + <translation>Fout bij het laden van het certificaat (Ongeldig wachtwoord?)</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="453"/> + <source>Certificate not authorized</source> + <translation>Certificaat heeft geen toestemming</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="455"/> + <source>Unknown certificate</source> + <translation>Onbekend certificaat</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="456"/> + <source>Certificate has expired</source> + <translation>Certificaat is verstreken</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="457"/> + <source>Certificate is not yet valid</source> + <translation>Certificaat is nog niet geldig</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="458"/> + <source>Certificate is self-signed</source> + <translation>Certificaat is zelfondertekend</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="459"/> + <source>Certificate has been rejected</source> + <translation>Certificaat werd afgewezen</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="460"/> + <source>Certificate is not trusted</source> + <translation>Certificaat wordt niet vertrouwd</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="461"/> + <source>Certificate cannot be used for encrypting your connection</source> + <translation>Certificaat kan niet gebruikt worden om verbinding te beveiligen</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="462"/> + <source>Certificate path length constraint exceeded</source> + <translation>Padlengte certificaat overschreden</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="463"/> + <source>Invalid certificate signature</source> + <translation>Certificaat heeft ongeldige handtekening</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="464"/> + <source>Invalid Certificate Authority</source> + <translation>Ongeldige certificeringsinstantie</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="465"/> + <source>Certificate does not match the host identity</source> + <translation>Certificaat komt niet overeen met identiteit</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="475"/> + <source>Certificate error</source> + <translation>Certificaatfout</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="489"/> + <source>Reconnect to %1% failed: %2%. Will retry in %3% seconds.</source> + <translation>Herverbinding met %1% mislukt: %2%. Zal opnieuw proberen binnen %3% seconden.</translation> + </message> + <message> + <location filename="../Controllers/MainController.cpp" line="492"/> + <source>Disconnected from %1%: %2%.</source> + <translation>Verbinding met %1% verbroken: %2%.</translation> + </message> + <message> + <location filename="../Controllers/Roster/RosterController.cpp" line="126"/> + <location filename="../Controllers/Roster/RosterController.cpp" line="152"/> + <location filename="../Controllers/Roster/RosterController.cpp" line="213"/> + <source>Contacts</source> + <translation>Contacten</translation> + </message> + <message> + <location filename="../Controllers/Roster/RosterController.cpp" line="250"/> + <source>Server %1% rejected contact list change to item '%2%'</source> + <translation>Server %1% heeft de aanpassing van contact '%2' geweigerd</translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="15"/> + <location filename="../Controllers/StatusUtil.cpp" line="16"/> + <source>Available</source> + <translation>Beschikbaar</translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="17"/> + <location filename="../Controllers/StatusUtil.cpp" line="18"/> + <source>Away</source> + <translation>Afwezig</translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="19"/> + <source>Busy</source> + <translation>Bezet</translation> + </message> + <message> + <location filename="../Controllers/StatusUtil.cpp" line="20"/> + <source>Offline</source> + <translation>Offline</translation> + </message> +</context> +<context> + <name>QObject</name> + <message> + <location filename="../QtUI/MUCSearch/MUCSearchEmptyItem.cpp" line="25"/> + <source>No rooms found</source> + <translation>Geen kamers gevonden</translation> + </message> +</context> +<context> + <name>QtBookmarkDetailWindow</name> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="137"/> + <source>Edit Bookmark Details</source> + <translation>Bladwijzerdetails Aanpassen</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="138"/> + <source>Bookmark Name:</source> + <translation>Naam Bladwijzer:</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="140"/> + <source>Your Nickname:</source> + <translation>Uw Roepnaam:</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="141"/> + <source>Room password:</source> + <translation>Wachtwoord Kamer:</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="142"/> + <source>Join automatically</source> + <translation>Automatisch betreden</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.ui"/> + <location filename="../QtUI/ui_QtBookmarkDetailWindow.h" line="139"/> + <source>Room Address:</source> + <translation>Adres Kamer:</translation> + </message> +</context> +<context> + <name>QtJoinMUCWindow</name> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="125"/> + <source>Room:</source> + <translation>Kamer:</translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="126"/> + <source>Search ...</source> + <translation>Zoek ...</translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="127"/> + <source>Nickname:</source> + <translation>Roepnaam:</translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="124"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="130"/> + <source>Enter Room</source> + <translation>Kamer Betreden</translation> + </message> + <message> + <location filename="../QtUI/QtJoinMUCWindow.ui"/> + <location filename="../QtUI/ui_QtJoinMUCWindow.h" line="129"/> + <source>Enter automatically in future</source> + <translation>Automatisch Betreden</translation> + </message> +</context> +<context> + <name>QtMUCSearchWindow</name> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="118"/> + <source>Search Room</source> + <translation>Zoek Kamer</translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="119"/> + <source>Service:</source> + <translation>Dienst:</translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="121"/> + <source>Cancel</source> + <translation>Annuleren</translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="122"/> + <source>Ok</source> + <translation>Ok</translation> + </message> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.ui"/> + <location filename="../QtUI/MUCSearch/ui_QtMUCSearchWindow.h" line="123"/> + <source>List rooms</source> + <translation>Kamerlijst</translation> + </message> +</context> +<context> + <name>QtUserSearchFieldsPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="119"/> + <source>Nickname:</source> + <translation>Roepnaam:</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="120"/> + <source>First name:</source> + <translation>Voornaam:</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="121"/> + <source>Last name:</source> + <translation>Familienaam:</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="122"/> + <source>E-Mail:</source> + <translation>E-Mail:</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFieldsPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFieldsPage.h" line="124"/> + <source>Fetching search fields</source> + <translation>Gegevens aan het ophalen</translation> + </message> +</context> +<context> + <name>QtUserSearchFirstPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="121"/> + <source>Add a user</source> + <translation>Gebruiker toevoegen</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="122"/> + <source>Add another user to your contact list. If you know their address you can add them directly, or you can search for them.</source> + <translation>Voeg een andere gebruiker aan je contactlijst toe. Indien u zijn/haar JID kent kan u hem/haar onmiddelijk toevoegen; anders kan u hem/haar zoeken.</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="125"/> + <source>I'd like to search my server</source> + <translation>Ik wil mijn server doorzoeken</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="126"/> + <source>I'd like to search another server:</source> + <translation>Ik wil een andere server doorzoeken:</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchFirstPage.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchFirstPage.h" line="124"/> + <source>I know their address:</source> + <translation>Ik ken het adres:</translation> + </message> +</context> +<context> + <name>QtUserSearchWizard</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWizard.ui"/> + <location filename="../QtUI/UserSearch/ui_QtUserSearchWizard.h" line="39"/> + <source>Find User</source> + <translation>Zoek Gebruiker</translation> + </message> +</context> +<context> + <name>Swift::ChatListModel</name> + <message> + <location filename="../QtUI/ChatList/ChatListModel.cpp" line="15"/> + <source>Bookmarked Rooms</source> + <translation>Bladwijzers</translation> + </message> +</context> +<context> + <name>Swift::QtAboutWidget</name> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="23"/> + <source>About %1</source> + <translation>Over %1</translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="42"/> + <source>Built with Qt %1</source> + <translation>Gebouwd met Qt %1</translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="43"/> + <source>Running with Qt %1</source> + <translation>Actief met Qt %1</translation> + </message> + <message> + <location filename="../QtUI/QtAboutWidget.cpp" line="48"/> + <source>View License</source> + <translation>Bekijk Licentie</translation> + </message> +</context> +<context> + <name>Swift::QtAvatarWidget</name> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="61"/> + <source>No picture</source> + <translation>Geen +Afbeelding</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="73"/> + <source>Select picture ...</source> + <translation>Selecteer afbeelding ...</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="76"/> + <source>Clear picture</source> + <translation>Verwijder afbeelding</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="81"/> + <source>Select picture</source> + <translation>Selecteer afbeelding</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="81"/> + <source>Image Files (*.png *.jpg *.gif)</source> + <translation>Afbeeldingen (*.png *.jpg *.gif)</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="95"/> + <source>Error</source> + <translation>Fout</translation> + </message> + <message> + <location filename="../QtUI/QtAvatarWidget.cpp" line="95"/> + <source>The selected picture is in an unrecognized format</source> + <translation>De geselecteerde afbeelding is in een ongekend formaat</translation> + </message> +</context> +<context> + <name>Swift::QtBookmarkDetailWindow</name> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.cpp" line="31"/> + <source>Bookmark not valid</source> + <translation>Bladwijzer ongeldig</translation> + </message> + <message> + <location filename="../QtUI/QtBookmarkDetailWindow.cpp" line="31"/> + <source>You must specify a valid room address (e.g. myroom@chats.example.com).</source> + <translation>Specifieer een geldige kamer (bv. mijnkamer@kamers.voorbeeld.com).</translation> + </message> +</context> +<context> + <name>Swift::QtChatListWindow</name> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="62"/> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="66"/> + <source>Add New Bookmark</source> + <translation>Nieuwe Bladwijzer</translation> + </message> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="63"/> + <source>Edit Bookmark</source> + <translation>Bewerk Bladwijzer</translation> + </message> + <message> + <location filename="../QtUI/ChatList/QtChatListWindow.cpp" line="64"/> + <source>Remove Bookmark</source> + <translation>Verwijder Bladwijzer</translation> + </message> +</context> +<context> + <name>Swift::QtChatView</name> + <message> + <location filename="../QtUI/QtChatView.cpp" line="61"/> + <source>Clear log</source> + <translation>Inhoud wissen</translation> + </message> + <message> + <location filename="../QtUI/QtChatView.cpp" line="62"/> + <source>You are about to clear the contents of your chat log.</source> + <translation>De inhoud van dit venster zal gewist worden.</translation> + </message> + <message> + <location filename="../QtUI/QtChatView.cpp" line="63"/> + <source>Are you sure?</source> + <translation>Bent u zeker?</translation> + </message> +</context> +<context> + <name>Swift::QtChatWindow</name> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="290"/> + <source>This message has not been received by your server yet.</source> + <translation>Deze boodschap werd nog niet door uw server ontvangen.</translation> + </message> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="292"/> + <source>This message may not have been transmitted.</source> + <translation>Dit bericht kan mogelijk niet verzonden zijn.</translation> + </message> + <message> + <location filename="../QtUI/QtChatWindow.cpp" line="312"/> + <source>Couldn't send message: %1</source> + <translation>Kon boodschap niet verzenden: %1</translation> + </message> +</context> +<context> + <name>Swift::QtContactEditWidget</name> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="28"/> + <source>Name:</source> + <translation>Naam:</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="34"/> + <source>Groups:</source> + <translation>Groupen:</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWidget.cpp" line="56"/> + <source>New Group:</source> + <translation>Nieuwe Groep:</translation> + </message> +</context> +<context> + <name>Swift::QtContactEditWindow</name> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="26"/> + <source>Edit contact</source> + <translation>Contact bewerken</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="41"/> + <source>Remove contact</source> + <translation>Contact verwijderen</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="44"/> + <source>Ok</source> + <translation>Ok</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="76"/> + <source>Confirm contact deletion</source> + <translation>Bevestig verwijderen van contact</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="77"/> + <source>Are you sure you want to delete this contact?</source> + <translation>Bent u zeker dat u diet contact wil verwijderen?</translation> + </message> + <message> + <location filename="../QtUI/QtContactEditWindow.cpp" line="78"/> + <source>This will remove the contact '%1' from all groups they may be in.</source> + <translation>Dit zal het contact '%1' uit alle groepen verwijderen waar deze zich in bevindt.</translation> + </message> +</context> +<context> + <name>Swift::QtEventWindow</name> + <message> + <location filename="../QtUI/EventViewer/QtEventWindow.cpp" line="47"/> + <source>Display Notice</source> + <translation>Toon Boodschap</translation> + </message> +</context> +<context> + <name>Swift::QtLoginWindow</name> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="81"/> + <source>User address:</source> + <translation>Gebruikersadres:</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="86"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="87"/> + <source>User address - looks like someuser@someserver.com</source> + <translation>Gebruikersadres van de vorm iemand@ergens.com</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="91"/> + <source>Example: alice@wonderland.lit</source> + <translation>Voorbeeld: alice@wonderland.lit</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="97"/> + <source>Password:</source> + <translation>Wachtwoord:</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="118"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="119"/> + <source>Click if you have a personal certificate used for login to the service.</source> + <translation>Klik hier indien u een persoonlijk certificaat gekregen heeft om in te loggen.</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="125"/> + <location filename="../QtUI/QtLoginWindow.cpp" line="299"/> + <source>Connect</source> + <translation>Verbinden</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="136"/> + <source>Remember Password?</source> + <translation>Wachtwoord Onthouden?</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="138"/> + <source>Login Automatically?</source> + <translation>Automatisch Inloggen?</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="150"/> + <source>&Swift</source> + <translation>&Swift</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="152"/> + <source>&General</source> + <translation>&Algemeen</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="160"/> + <source>&About %1</source> + <translation>&Over %1</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="165"/> + <source>&Show Debug Console</source> + <translation>Toon &Debug Console</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="169"/> + <source>&Play Sounds</source> + <translation>&Geluid Aan</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="175"/> + <source>Show &Notifications</source> + <translation>Toon &Schermboodschappen</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="190"/> + <source>&Quit</source> + <translation>&Afsluiten</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="205"/> + <source>Remove profile</source> + <translation>Verwijder profiel</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="205"/> + <source>Remove the profile '%1'?</source> + <translation>Profiel '%1' verwijderen?</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="299"/> + <source>Cancel</source> + <translation>Annuleren</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="320"/> + <source>Select an authentication certificate</source> + <translation>Selecteer een authenticatiecertificaat</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="420"/> + <source>The certificate presented by the server is not valid.</source> + <translation>Het certificaat aangeboden door de server is ongeldig.</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="421"/> + <source>Would you like to permanently trust this certificate? This must only be done if you know it is correct.</source> + <translation>Wilt u dit certificaat permanent vertrouwen? Dit mag enkel gedaan worden als u zeker bent dat het certificaat juist is.</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="423"/> + <source>Subject: %1</source> + <translation>Onderwerp: %1</translation> + </message> + <message> + <location filename="../QtUI/QtLoginWindow.cpp" line="424"/> + <source>SHA-1 Fingerprint: %1</source> + <translation>SHA-1 Vingerafdruk: %1</translation> + </message> +</context> +<context> + <name>Swift::QtMUCSearchWindow</name> + <message> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.cpp" line="49"/> + <location filename="../QtUI/MUCSearch/QtMUCSearchWindow.cpp" line="51"/> + <source>Searching</source> + <translation>Zoeken</translation> + </message> +</context> +<context> + <name>Swift::QtMainWindow</name> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="63"/> + <source>&Contacts</source> + <translation>&Contacten</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="70"/> + <source>&Notices</source> + <translation>&Boodschappen</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="71"/> + <source>C&hats</source> + <translation>C&onversaties</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="75"/> + <source>&View</source> + <translation>&Beeld</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="77"/> + <source>Show offline contacts</source> + <translation>Toon offline contacten</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="83"/> + <source>&Actions</source> + <translation>&Acties</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="85"/> + <source>Edit Profile</source> + <translation>Bewerk Profiel</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="88"/> + <source>&Enter Room</source> + <translation>&Kamer Betreden</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="91"/> + <source>&Add Contact</source> + <translation>Contact &Toevoegen</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="94"/> + <source>Start &Chat</source> + <translation>&Conversatie Starten</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="98"/> + <source>&Sign Out</source> + <translation>&Afmelden</translation> + </message> + <message> + <location filename="../QtUI/QtMainWindow.cpp" line="130"/> + <source>Notices</source> + <translation>Boodschappen</translation> + </message> +</context> +<context> + <name>Swift::QtNameWidget</name> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="47"/> + <source>(No Nickname Set)</source> + <translation>(Geen Roepnaam Ingesteld)</translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="47"/> + <source>Show Nickname</source> + <translation>Toon Roepnaam</translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="55"/> + <source>Show Address</source> + <translation>Toon Gebruikersadres</translation> + </message> + <message> + <location filename="../QtUI/QtNameWidget.cpp" line="62"/> + <source>Edit Profile</source> + <translation>Bewerk Profiel</translation> + </message> +</context> +<context> + <name>Swift::QtProfileWindow</name> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="24"/> + <source>Edit Profile</source> + <translation>Bewerk Profiel</translation> + </message> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="43"/> + <source>Nickname:</source> + <translation>Roepnaam:</translation> + </message> + <message> + <location filename="../QtUI/QtProfileWindow.cpp" line="67"/> + <source>Save</source> + <translation>Bewaar</translation> + </message> +</context> +<context> + <name>Swift::QtStatusWidget</name> + <message> + <location filename="../QtUI/QtStatusWidget.cpp" line="232"/> + <source>Connecting</source> + <translation>Aan het verbinden</translation> + </message> + <message> + <location filename="../QtUI/QtStatusWidget.cpp" line="264"/> + <source>(No message)</source> + <translation>(Geen boodschap)</translation> + </message> +</context> +<context> + <name>Swift::QtSubscriptionRequestWindow</name> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="24"/> + <source>You have already replied to this request</source> + <translation>Dit verzoek is reeds beantwoord</translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="25"/> + <source>Ok</source> + <translation>Ok</translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="30"/> + <source>Yes</source> + <translation>Ja</translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="32"/> + <source>No</source> + <translation>Neen</translation> + </message> + <message> + <location filename="../QtUI/QtSubscriptionRequestWindow.cpp" line="34"/> + <source>Defer</source> + <translation>Uitstellen</translation> + </message> +</context> +<context> + <name>Swift::QtTreeWidget</name> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="86"/> + <source>Edit</source> + <translation>Bewerk</translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="93"/> + <source>Rename</source> + <translation>Naam wijzigen</translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="97"/> + <source>Rename group</source> + <translation>Groepsnaam wijzigen</translation> + </message> + <message> + <location filename="../QtUI/Roster/QtTreeWidget.cpp" line="97"/> + <source>New name for %1</source> + <translation>Niewe naam voor %1</translation> + </message> +</context> +<context> + <name>Swift::QtUserSearchFirstPage</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>Chat to another user</source> + <translation>Start conversatie met andere gebruiker</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>%1. If you know their address you can enter it directly, or you can search for them.</source> + <translation>%1. Indien u het adres kent kan u dit rechtstreeks invoeren, anders kan u het adres opzoeken.</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="26"/> + <source>Add another user to your contact list</source> + <translation>Voeg een andere gebruiker toe aan uw contactenlijst</translation> + </message> +</context> +<context> + <name>Swift::QtUserSearchWindow</name> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="85"/> + <source>Add Contact</source> + <translation>Voeg Contact Toe</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="85"/> + <source>Chat to User</source> + <translation>Start Conversatie met Gebruiker</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="294"/> + <source>How would you like to find the user to add?</source> + <translation>Hoe wilt u de gebruiker toevoegen?</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="297"/> + <source>How would you like to find the user to chat to?</source> + <translation>Hoe wilt u de gebruiker contacteren?</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="321"/> + <source>Error while searching</source> + <translation>Fout tijdens zoeken</translation> + </message> + <message> + <location filename="../QtUI/UserSearch/QtUserSearchWindow.cpp" line="327"/> + <source>This server doesn't support searching for users.</source> + <translation>Deze server ondersteunt het zoeken van gebruikers niet.</translation> + </message> +</context> +<context> + <name>Swift::QtWebView</name> + <message> + <location filename="../QtUI/QtWebView.cpp" line="61"/> + <source>Clear</source> + <translation>Wissen</translation> + </message> +</context> +<context> + <name>Swift::QtXMLConsoleWidget</name> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="22"/> + <source>Console</source> + <translation>Console</translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="40"/> + <source>Trace input/output</source> + <translation>Toon invoer/uitvoer</translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="46"/> + <source>Clear</source> + <translation>Wissen</translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="50"/> + <source>Debug Console</source> + <translation>Debug Console</translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="75"/> + <source><!-- IN --></source> + <translation><!-- IN --></translation> + </message> + <message> + <location filename="../QtUI/QtXMLConsoleWidget.cpp" line="79"/> + <source><!-- OUT --></source> + <translation><!-- UIT --></translation> + </message> +</context> +</TS> |