diff --git a/.gitignore b/.gitignore index 6fd33b2..2440d13 100644 --- a/.gitignore +++ b/.gitignore @@ -14,10 +14,14 @@ debug/ release/ tests/build/ tests/Testing/ +build-test/ # Compiled translations *.qm +# Deepwork session state +.slim/deepwork/ + # IDE .idea/ .vscode/ diff --git a/.ignore b/.ignore new file mode 100644 index 0000000..a704baf --- /dev/null +++ b/.ignore @@ -0,0 +1,2 @@ +!.slim/deepwork/ +!.slim/deepwork/** diff --git a/README.md b/README.md index 1a20491..8d94b57 100644 --- a/README.md +++ b/README.md @@ -6,15 +6,14 @@ Unofficial Pushover client for SailfishOS. Real-time notifications via WebSocket, background daemon with systemd integration. -## Deep Sleep +## Background Delivery & Battery -SailfishOS has no system-level push service. WebSocket connections break in deep sleep. For reliable notifications: +- **Screen on:** persistent WebSocket for instant delivery. +- **Screen off:** polls Pushover on the configured interval (1–30 min, default 5). Messages are queued server-side, so nothing is lost. -```bash -mcetool --set-suspend-policy=early -``` +Want real-time delivery while the screen is off? Enable **Keep Connection Alive When Screen Off** in Settings — it uses a per-app keepalive (higher battery use, but scoped to SailPush rather than the whole device). -This keeps the CPU and network alive when the screen is off. Without it, notifications arrive when the device wakes up (delayed up to the polling interval). +> Note: while the screen is off, polling only fires while the device is awake; wake-from-deep-sleep polling is not yet supported. After a daemon restart, open the app to catch any messages that didn't notify. ## Install @@ -37,6 +36,13 @@ qmake5 && make # local build mb2 build # RPM build ``` +The unit tests under `tests/` build and run on a regular Linux box with Qt5 +(no Sailfish SDK needed for the pure-Qt suites): + +```bash +cmake -S tests -B tests/build && cmake --build tests/build && ctest --test-dir tests/build +``` + ## Architecture Two-process model: **UI** (QML) communicates with **daemon** (background, systemd) over D-Bus (`com.zackslash.sailpush`). The daemon maintains a persistent WebSocket to Pushover servers and handles notifications. diff --git a/qml/pages/SettingsPage.qml b/qml/pages/SettingsPage.qml index 10f7304..3d45155 100644 --- a/qml/pages/SettingsPage.qml +++ b/qml/pages/SettingsPage.qml @@ -59,7 +59,6 @@ Page { text: qsTr("Status: %1").arg(rootDaemon.connectionState) color: { if (rootDaemon.connectionState === "ready" || rootDaemon.connectionState === "connected") return Theme.highlightColor - if (rootDaemon.connectionState === "error") return "#CC0000" return Theme.secondaryColor } } @@ -115,13 +114,13 @@ Page { } SectionHeader { - text: qsTr("Deep Sleep") + text: qsTr("Power") } TextSwitch { x: Theme.horizontalPageMargin width: page.width - 2 * Theme.horizontalPageMargin - text: qsTr("Prevent Deep Sleep During Sync") + text: qsTr("Keep Connection Alive When Screen Off") checked: page.preventDeepSleep onCheckedChanged: { page.preventDeepSleep = checked @@ -133,16 +132,7 @@ Page { Label { x: Theme.horizontalPageMargin width: page.width - 2 * Theme.horizontalPageMargin - text: qsTr("Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API.") - color: Theme.secondaryColor - wrapMode: Text.WordWrap - font.pixelSize: Theme.fontSizeSmall - } - - Label { - x: Theme.horizontalPageMargin - width: page.width - 2 * Theme.horizontalPageMargin - text: qsTr("Note: For persistent WebSocket in deep sleep, run:\nmcetool --set-suspend-policy=early") + text: qsTr("Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use.") color: Theme.secondaryColor wrapMode: Text.WordWrap font.pixelSize: Theme.fontSizeSmall @@ -169,7 +159,6 @@ Page { } TextSwitch { - id: autoStartSwitch x: Theme.horizontalPageMargin width: page.width - 2 * Theme.horizontalPageMargin text: qsTr("Start on boot") diff --git a/qml/sailpush.qml b/qml/sailpush.qml index 5c7a273..4255e02 100644 --- a/qml/sailpush.qml +++ b/qml/sailpush.qml @@ -9,6 +9,7 @@ ApplicationWindow { cover: Qt.resolvedUrl("cover/CoverPage.qml") property bool hasCredentials: loginHelper ? loginHelper.hasCredentials : false + property bool credentialsLoading: loginHelper ? loginHelper.credentialsLoading : false property string pendingMessageId: "" property string lastNavigatedMessageId: "" @@ -35,7 +36,9 @@ ApplicationWindow { } onHasCredentialsChanged: { - if (hasCredentials && pageStack.currentPage != null) { + // Skip during initial async credential load — the initial page is + // pushed by onCredentialsLoadingChanged once the load finishes. + if (hasCredentials && !credentialsLoading && pageStack.currentPage != null) { daemonConnector.reloadCredentials() pageStack.replace(Qt.resolvedUrl("pages/MainPage.qml"), {rootDaemon: daemonConnector}) } @@ -70,6 +73,21 @@ ApplicationWindow { } Component.onCompleted: { + // If credentials are still loading asynchronously, defer the initial + // page push until onCredentialsLoadingChanged fires. This avoids a + // LoginPage → MainPage flicker when stored credentials are found. + if (!credentialsLoading) { + pushInitialPage() + } + } + + onCredentialsLoadingChanged: { + if (!credentialsLoading) { + pushInitialPage() + } + } + + function pushInitialPage() { if (hasCredentials) { pageStack.push(Qt.resolvedUrl("pages/MainPage.qml"), {rootDaemon: daemonConnector}) checkPendingOpenMessage() @@ -149,7 +167,6 @@ ApplicationWindow { } } - // When messages are refreshed (e.g., after daemon sync), check for pending message Connections { target: daemonConnector onMessagesChanged: { @@ -162,11 +179,6 @@ ApplicationWindow { } } - function navigateToMainPage() { - pageStack.clear() - pageStack.push(Qt.resolvedUrl("pages/MainPage.qml"), {rootDaemon: daemonConnector}) - } - function navigateToLoginPage() { pageStack.clear() pageStack.push(Qt.resolvedUrl("pages/LoginPage.qml")) diff --git a/sailpush.pro b/sailpush.pro index ec10ba4..3560b96 100644 --- a/sailpush.pro +++ b/sailpush.pro @@ -1,7 +1,7 @@ TARGET = sailpush CONFIG += sailfishapp -QT += core gui quick qml network websockets dbus multimedia +QT += core gui quick qml network websockets dbus multimedia concurrent PKGCONFIG += sailfishsecrets # Auto-detect version from git. CI builds (tarball, no .git) use sed-replaced @@ -20,6 +20,7 @@ SOURCES += src/main.cpp \ src/notificationmanager.cpp \ src/networkmonitor.cpp \ src/cpukeepalive.cpp \ + src/displaymonitor.cpp \ src/loginhelper.cpp \ src/soundplayer.cpp @@ -31,11 +32,12 @@ HEADERS += src/message.h \ src/messagestore.h \ src/dbusinterface.h \ src/notificationmanager.h \ - src/networkmonitor.h \ - src/cpukeepalive.h \ - src/loginhelper.h \ - src/soundplayer.h \ - src/daemon.h + src/networkmonitor.h \ + src/cpukeepalive.h \ + src/displaymonitor.h \ + src/loginhelper.h \ + src/soundplayer.h \ + src/daemon.h DISTFILES += qml/sailpush.qml \ qml/cover/CoverPage.qml \ @@ -53,6 +55,14 @@ DISTFILES += qml/sailpush.qml \ SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172 # Translations — European languages +# lupdate_only is read by lupdate but ignored by qmake/make, so QML sources +# are scanned for qsTr() without affecting the build. +lupdate_only { + SOURCES += qml/sailpush.qml \ + qml/cover/CoverPage.qml \ + qml/pages/*.qml \ + qml/components/*.qml +} TRANSLATIONS += \ translations/sailpush_de.ts \ translations/sailpush_fr.ts \ diff --git a/src/daemon.cpp b/src/daemon.cpp index e45763b..751d842 100644 --- a/src/daemon.cpp +++ b/src/daemon.cpp @@ -45,6 +45,7 @@ Daemon::Daemon(QObject *parent) , m_notificationManager(new NotificationManager(cachePath(), this)) , m_networkMonitor(new NetworkMonitor(this)) , m_cpuKeepalive(new CpuKeepalive(this)) + , m_displayMonitor(new DisplayMonitor(this)) , m_soundPlayer(new SoundPlayer(this)) , m_pollingTimer(new QTimer(this)) , m_wsDisconnectTimer(new QTimer(this)) @@ -53,6 +54,7 @@ Daemon::Daemon(QObject *parent) , m_pollingEnabled(true) , m_pollingIntervalMs(DEFAULT_POLLING_INTERVAL_MS) , m_syncInProgress(false) + , m_syncHoldsKeepalive(false) , m_preventDeepSleep(false) , m_systemNotifications(true) { @@ -96,6 +98,9 @@ Daemon::Daemon(QObject *parent) connect(m_networkMonitor, &NetworkMonitor::networkAvailable, this, &Daemon::onNetworkAvailable); connect(m_networkMonitor, &NetworkMonitor::networkLost, this, &Daemon::onNetworkLost); + connect(m_displayMonitor, &DisplayMonitor::displayOff, this, &Daemon::onDisplayOff); + connect(m_displayMonitor, &DisplayMonitor::displayOn, this, &Daemon::onDisplayOn); + connect(m_pollingTimer, &QTimer::timeout, this, &Daemon::onPollingTimeout); connect(m_wsDisconnectTimer, &QTimer::timeout, this, &Daemon::onWsDisconnectTimeout); @@ -106,7 +111,6 @@ Daemon::Daemon(QObject *parent) Daemon::~Daemon() { stop(); - // Zero sensitive credentials from memory for (auto *s : { &m_secret, &m_deviceId }) { if (!s->isEmpty()) { s->fill(QChar(0)); @@ -142,6 +146,8 @@ void Daemon::stop() m_pollingTimer->stop(); m_wsDisconnectTimer->stop(); m_wsManager->disconnectFromServer(); + // CpuKeepalive is released best-effort by its destructor on process exit; + // MCE reaps the cookie when the D-Bus connection drops. m_dbus->unregisterService(); m_store->save(); } @@ -175,8 +181,13 @@ void Daemon::performSync() qCInfo(lcDaemon) << "Performing message sync"; m_syncInProgress = true; updateDiagnostics(); - if (m_preventDeepSleep) { + // Hold a keepalive ref for the duration of this sync, tracked independently + // of m_preventDeepSleep so the matching stop() in onMessagesDownloaded/ + // onMessagesDownloadFailed always releases it even if the flag is toggled + // mid-sync (otherwise the ref leaks and suspend is held forever). + if (m_preventDeepSleep && !m_syncHoldsKeepalive) { m_cpuKeepalive->start(); + m_syncHoldsKeepalive = true; } m_client->downloadMessages(m_secret, m_deviceId); } @@ -223,8 +234,9 @@ void Daemon::onMessagesDownloaded(const QList &messages) { m_syncInProgress = false; qCInfo(lcDaemon) << "Downloaded" << messages.size() << "messages"; - if (m_preventDeepSleep) { + if (m_syncHoldsKeepalive) { m_cpuKeepalive->stop(); + m_syncHoldsKeepalive = false; } QList newMessages; @@ -260,8 +272,12 @@ void Daemon::onMessagesDownloaded(const QList &messages) } if (!m_wsManager->isConnected()) { - qCInfo(lcDaemon) << "Connecting WebSocket after sync"; - m_wsManager->connectToServer(m_deviceId, m_secret); + if (shouldHoldWebSocket()) { + ensureWsConnected(); + } else if (m_pollingEnabled) { + qCInfo(lcDaemon) << "Display off at sync; starting polling instead of WS"; + m_pollingTimer->start(m_pollingIntervalMs); + } } m_startupSyncDone = true; updateDiagnostics(); @@ -271,28 +287,18 @@ void Daemon::onMessagesDownloadFailed(const QString &error) { m_syncInProgress = false; qCWarning(lcDaemon) << "Message download failed:" << error; - if (m_preventDeepSleep) { + if (m_syncHoldsKeepalive) { m_cpuKeepalive->stop(); + m_syncHoldsKeepalive = false; } // Detect invalid credentials (Pushover returns 401/403 for bad secret/device) if (error.contains("credentials rejected", Qt::CaseInsensitive)) { - m_credentialError = tr("Credentials rejected by server. Please re-login."); - qCWarning(lcDaemon) << m_credentialError; - // Clear stored credentials so UI shows login page - m_credentials->clear(); - m_credentialsLoaded = false; - m_secret.clear(); - m_deviceId.clear(); - m_wsManager->disconnectFromServer(); - m_dbus->notifyCredentialsInvalidated(m_credentialError); + invalidateCredentials(tr("Credentials rejected by server. Please re-login.")); } // WebSocket connection is independent of message download — try connecting anyway - if (m_credentialsLoaded && !m_wsManager->isConnected()) { - qCInfo(lcDaemon) << "Connecting WebSocket despite download failure"; - m_wsManager->connectToServer(m_deviceId, m_secret); - } + ensureWsConnected(); updateDiagnostics(); } @@ -345,15 +351,7 @@ void Daemon::onWsError(const QString &error) { qCWarning(lcDaemon) << "WebSocket error:" << error; if (error.contains("Permanent", Qt::CaseInsensitive) || error.contains("re-login", Qt::CaseInsensitive)) { - m_credentialError = tr("Session expired. Please re-login."); - qCWarning(lcDaemon) << m_credentialError; - // Clear stored credentials so UI shows login page - m_credentials->clear(); - m_credentialsLoaded = false; - m_secret.clear(); - m_deviceId.clear(); - m_wsManager->disconnectFromServer(); - m_dbus->notifyCredentialsInvalidated(m_credentialError); + invalidateCredentials(tr("Session expired. Please re-login.")); } updateDiagnostics(); } @@ -372,12 +370,9 @@ void Daemon::onWsReloadRequested() void Daemon::onNetworkAvailable() { qCInfo(lcDaemon) << "Network available"; - if (m_credentialsLoaded && !m_wsManager->isConnected()) { - qCInfo(lcDaemon) << "Reconnecting WebSocket"; - m_wsManager->connectToServer(m_deviceId, m_secret); - if (m_pollingEnabled) { - m_pollingTimer->start(m_pollingIntervalMs); - } + ensureWsConnected(); + if (m_pollingEnabled && m_credentialsLoaded) { + m_pollingTimer->start(m_pollingIntervalMs); } } @@ -404,6 +399,51 @@ void Daemon::onWsDisconnectTimeout() } } +void Daemon::onDisplayOff() +{ + // TODO: a plain QTimer does not wake the device from deep sleep, so the + // polling path below only fires while the device is awake. True deep-sleep + // polling needs libiphb / Nemo.KeepAlive.BackgroundJob (SFOS-only; not + // implemented here — see README "Limitations"). + if (!m_credentialsLoaded) { + return; + } + + if (m_preventDeepSleep) { + qCInfo(lcDaemon) << "Display off: holding CPU keepalive for real-time WS"; + m_cpuKeepalive->start(); + } else { + qCInfo(lcDaemon) << "Display off: dropping WS, switching to polling"; + m_wsDisconnectTimer->stop(); + m_wsManager->disconnectFromServer(); + if (m_pollingEnabled) { + m_pollingTimer->start(m_pollingIntervalMs); + } + } + updateDiagnostics(); +} + +void Daemon::onDisplayOn() +{ + if (!m_credentialsLoaded) { + return; + } + + if (m_preventDeepSleep) { + qCInfo(lcDaemon) << "Display on: releasing display-off CPU keepalive"; + m_cpuKeepalive->stop(); + } + + // Reconnect the WebSocket for instant delivery. Gated on network to avoid + // a connect/teardown loop while offline; onNetworkAvailable handles it. + if (m_networkMonitor->isOnline() && !m_wsManager->isConnected()) { + qCInfo(lcDaemon) << "Display on: reconnecting WebSocket"; + m_pollingTimer->stop(); + m_wsManager->connectToServer(m_deviceId, m_secret); + } + updateDiagnostics(); +} + void Daemon::onDbusRequestSync() { qCInfo(lcDaemon) << "D-Bus: manual sync requested"; @@ -430,15 +470,7 @@ void Daemon::onDbusRequestReloadSettings() qCInfo(lcDaemon) << "D-Bus: reloading settings"; loadSettings(); - // Apply updated polling settings immediately - if (m_pollingEnabled && m_pollingTimer->isActive()) { - m_pollingTimer->setInterval(m_pollingIntervalMs); - qCInfo(lcDaemon) << "Polling timer interval updated to" << m_pollingIntervalMs; - } - if (!m_pollingEnabled && m_pollingTimer->isActive()) { - m_pollingTimer->stop(); - qCInfo(lcDaemon) << "Polling disabled, timer stopped"; - } + applyPollingSettings(); } void Daemon::onDbusRequestUpdateSettings(const QVariantMap &settings) @@ -452,7 +484,22 @@ void Daemon::onDbusRequestUpdateSettings(const QVariantMap &settings) m_pollingIntervalMs = pollingIntervalFromIndex(settings.value("pollingIntervalIndex").toInt()); } if (settings.contains("preventDeepSleep")) { + bool wasPreventDeepSleep = m_preventDeepSleep; m_preventDeepSleep = settings.value("preventDeepSleep").toBool(); + // Reconcile the display-off keepalive if the toggle changed while the + // screen is already off (otherwise the ref leaks / never starts). + if (m_credentialsLoaded && !m_displayMonitor->isDisplayOn()) { + if (m_preventDeepSleep && !wasPreventDeepSleep) { + m_cpuKeepalive->start(); + } else if (!m_preventDeepSleep && wasPreventDeepSleep) { + m_cpuKeepalive->stop(); + m_wsDisconnectTimer->stop(); + m_wsManager->disconnectFromServer(); + if (m_pollingEnabled) { + m_pollingTimer->start(m_pollingIntervalMs); + } + } + } } if (settings.contains("systemNotifications")) { m_systemNotifications = settings.value("systemNotifications").toBool(); @@ -463,13 +510,7 @@ void Daemon::onDbusRequestUpdateSettings(const QVariantMap &settings) << "preventDeepSleep=" << m_preventDeepSleep << "systemNotifications=" << m_systemNotifications; - // Apply updated polling settings immediately - if (m_pollingEnabled && m_pollingTimer->isActive()) { - m_pollingTimer->setInterval(m_pollingIntervalMs); - } - if (!m_pollingEnabled && m_pollingTimer->isActive()) { - m_pollingTimer->stop(); - } + applyPollingSettings(); } void Daemon::onDbusRequestAcknowledge(const QString &receipt) @@ -561,3 +602,50 @@ void Daemon::updateDiagnostics() } m_dbus->setExtraDiagnostics(diag); } + +void Daemon::invalidateCredentials(const QString &reason) +{ + m_credentialError = reason; + qCWarning(lcDaemon) << m_credentialError; + m_credentials->clear(); + m_credentialsLoaded = false; + m_secret.clear(); + m_deviceId.clear(); + m_wsManager->resetCredentials(); + m_wsManager->disconnectFromServer(); + // Release the display-off keepalive hold if active — we're tearing down + // everything it was protecting (creds gone, WS dropped). + if (m_preventDeepSleep && !m_displayMonitor->isDisplayOn()) { + m_cpuKeepalive->stop(); + } + m_pollingTimer->stop(); + m_dbus->notifyCredentialsInvalidated(m_credentialError); +} + +bool Daemon::shouldHoldWebSocket() const +{ + // WebSocket stays up with the screen off only when the user opted into keepalive-while-off. + return m_displayMonitor->isDisplayOn() || m_preventDeepSleep; +} + +void Daemon::ensureWsConnected() +{ + if (m_credentialsLoaded && !m_wsManager->isConnected() && shouldHoldWebSocket()) { + qCInfo(lcDaemon) << "Connecting WebSocket"; + m_wsManager->connectToServer(m_deviceId, m_secret); + } +} + +void Daemon::applyPollingSettings() +{ + if (!m_pollingTimer->isActive()) { + return; + } + if (m_pollingEnabled) { + m_pollingTimer->setInterval(m_pollingIntervalMs); + qCInfo(lcDaemon) << "Polling timer interval updated to" << m_pollingIntervalMs; + } else { + m_pollingTimer->stop(); + qCInfo(lcDaemon) << "Polling disabled, timer stopped"; + } +} diff --git a/src/daemon.h b/src/daemon.h index d06cb6e..304c03b 100644 --- a/src/daemon.h +++ b/src/daemon.h @@ -13,6 +13,7 @@ #include "notificationmanager.h" #include "networkmonitor.h" #include "cpukeepalive.h" +#include "displaymonitor.h" #include "soundplayer.h" class Daemon : public QObject { @@ -53,6 +54,8 @@ private slots: void onDbusRequestOpenMessage(const QString &messageId); void onPollingTimeout(); void onWsDisconnectTimeout(); + void onDisplayOff(); + void onDisplayOn(); void onNotificationAction(const QString &messageId, const QString &action, const QString &receipt); private: @@ -61,6 +64,10 @@ private slots: void deleteMessagesUpTo(const QString &highestId); void publishNotificationForMessage(const Message &msg, bool isNew); bool isUiRunning(); + void invalidateCredentials(const QString &reason); + bool shouldHoldWebSocket() const; + void ensureWsConnected(); + void applyPollingSettings(); void updateDiagnostics(); SailPushClient *m_client; @@ -71,6 +78,7 @@ private slots: NotificationManager *m_notificationManager; NetworkMonitor *m_networkMonitor; CpuKeepalive *m_cpuKeepalive; + DisplayMonitor *m_displayMonitor; SoundPlayer *m_soundPlayer; QTimer *m_pollingTimer; @@ -84,6 +92,7 @@ private slots: bool m_pollingEnabled; int m_pollingIntervalMs; bool m_syncInProgress; + bool m_syncHoldsKeepalive; bool m_preventDeepSleep; bool m_systemNotifications; QString m_credentialError; diff --git a/src/dbusinterface.cpp b/src/dbusinterface.cpp index 353be6a..99d5a1c 100644 --- a/src/dbusinterface.cpp +++ b/src/dbusinterface.cpp @@ -311,8 +311,6 @@ QString DbusInterface::wsStateToString(WebSocketManager::ConnectionState state) case WebSocketManager::ConnectionState::Connecting: return "connecting"; case WebSocketManager::ConnectionState::Connected: return "connected"; case WebSocketManager::ConnectionState::LoginSent: return "ready"; - case WebSocketManager::ConnectionState::Error: return "error"; - case WebSocketManager::ConnectionState::SessionClosed: return "session_closed"; default: return "unknown"; } } diff --git a/src/displaymonitor.cpp b/src/displaymonitor.cpp new file mode 100644 index 0000000..fc7a358 --- /dev/null +++ b/src/displaymonitor.cpp @@ -0,0 +1,87 @@ +#include "displaymonitor.h" +#include +#include +#include + +Q_LOGGING_CATEGORY(lcDisplayMonitor, "com.zackslash.sailpush.display") + +// MCE D-Bus constants (verified against sailfishos/mce-dev dbus-names.h + +// mode-names.h): signal "display_status_ind" emits one string arg whose value +// is "on", "dimmed", or "off". Service com.nokia.mce is on the system bus. +static const char *MCE_SERVICE = "com.nokia.mce"; +static const char *MCE_SIGNAL_PATH = "/com/nokia/mce/signal"; +static const char *MCE_SIGNAL_IF = "com.nokia.mce.signal"; +static const char *MCE_DISPLAY_SIG = "display_status_ind"; +static const char *MCE_REQUEST_PATH = "/com/nokia/mce/request"; +static const char *MCE_REQUEST_IF = "com.nokia.mce.request"; +static const char *MCE_DISPLAY_GET = "get_display_status"; + +DisplayMonitor::DisplayMonitor(QObject *parent) + : QObject(parent) + , m_conn(QDBusConnection::systemBus()) + , m_displayOn(true) // safe default: assume on if MCE unavailable (no regression) +{ + if (!m_conn.connect(MCE_SERVICE, MCE_SIGNAL_PATH, MCE_SIGNAL_IF, + MCE_DISPLAY_SIG, this, + SLOT(onDisplayStatusInd(QString)))) { + qCWarning(lcDisplayMonitor) << "Failed to subscribe to" << MCE_DISPLAY_SIG; + } + + // Defer the initial query via a queued invocation so any displayOff signal + // is emitted AFTER the daemon has wired its signal connections (which + // happen later in the Daemon constructor body). Without this, a startup + // with the screen already off would emit to zero receivers. + QMetaObject::invokeMethod(this, &DisplayMonitor::queryInitialState, Qt::QueuedConnection); +} + +DisplayMonitor::~DisplayMonitor() +{ + m_conn.disconnect(MCE_SERVICE, MCE_SIGNAL_PATH, MCE_SIGNAL_IF, + MCE_DISPLAY_SIG, this, + SLOT(onDisplayStatusInd(QString))); +} + +bool DisplayMonitor::isDisplayOn() const +{ + return m_displayOn; +} + +void DisplayMonitor::onDisplayStatusInd(const QString &status) +{ + applyStatus(status); +} + +void DisplayMonitor::queryInitialState() +{ + QDBusInterface mce(MCE_SERVICE, MCE_REQUEST_PATH, MCE_REQUEST_IF, m_conn); + if (!mce.isValid()) { + qCWarning(lcDisplayMonitor) << "MCE request interface not available, assuming display on"; + return; + } + + QDBusReply reply = mce.call(MCE_DISPLAY_GET); + if (!reply.isValid()) { + qCWarning(lcDisplayMonitor) << "get_display_status failed:" << reply.error().message(); + return; + } + + applyStatus(reply.value()); +} + +void DisplayMonitor::applyStatus(const QString &status) +{ + // "on" and "dimmed" both mean the screen is active enough to keep the WS + // alive; only "off" triggers the sleep-mode polling path. + bool nowOn = (status != QLatin1String("off")); + if (nowOn == m_displayOn) { + return; + } + + qCInfo(lcDisplayMonitor) << "Display status:" << status << "-> on=" << nowOn; + m_displayOn = nowOn; + if (nowOn) { + emit displayOn(); + } else { + emit displayOff(); + } +} diff --git a/src/displaymonitor.h b/src/displaymonitor.h new file mode 100644 index 0000000..ca66ae6 --- /dev/null +++ b/src/displaymonitor.h @@ -0,0 +1,35 @@ +#ifndef DISPLAYMONITOR_H +#define DISPLAYMONITOR_H + +#include +#include + +// Monitors MCE display status (screen on/off) so the daemon can drop the +// WebSocket when the screen is off and rely on polling, then reconnect for +// instant delivery when the screen comes back on. Mirrors the CpuKeepalive / +// NetworkMonitor pattern: system bus, com.nokia.mce service. +class DisplayMonitor : public QObject { + Q_OBJECT + +public: + explicit DisplayMonitor(QObject *parent = nullptr); + ~DisplayMonitor(); + + bool isDisplayOn() const; + +signals: + void displayOn(); + void displayOff(); + +private slots: + void onDisplayStatusInd(const QString &status); + +private: + void queryInitialState(); + void applyStatus(const QString &status); + + QDBusConnection m_conn; + bool m_displayOn; +}; + +#endif // DISPLAYMONITOR_H diff --git a/src/filecredentialstore.cpp b/src/filecredentialstore.cpp deleted file mode 100644 index 5eb69e7..0000000 --- a/src/filecredentialstore.cpp +++ /dev/null @@ -1,240 +0,0 @@ -#include "filecredentialstore.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -Q_LOGGING_CATEGORY(lcFileCredentialStore, "com.zackslash.sailpush.filecredentials") - -static const QString CREDENTIALS_FILE = QStringLiteral("credentials.json"); -static const int IV_SIZE = 16; - -FileCredentialStore::FileCredentialStore(const QString &dataPath, QObject *parent) - : ICredentialStore(parent) - , m_dataPath(dataPath) - , m_lastError(LoadError::None) - , m_keyCached(false) -{ -} - -FileCredentialStore::~FileCredentialStore() -{ - m_cachedKey.fill(0); -} - -bool FileCredentialStore::save(const QString &secret, const QString &deviceId) -{ - QJsonObject obj; - obj.insert("version", 2); - obj.insert("secret", QString::fromUtf8(encrypt(secret.toUtf8()))); - obj.insert("device_id", QString::fromUtf8(encrypt(deviceId.toUtf8()))); - - QJsonDocument doc(obj); - QFile file(storagePath()); - QDir dir = QFileInfo(file).dir(); - if (!dir.exists()) { - if (!dir.mkpath(".")) { - qCWarning(lcFileCredentialStore) << "Failed to create directory:" << dir.path(); - return false; - } - } - - if (!file.open(QIODevice::WriteOnly)) { - qCWarning(lcFileCredentialStore) << "Failed to save credentials:" << file.errorString(); - return false; - } - - file.write(doc.toJson(QJsonDocument::Compact)); - file.close(); - - if (!QFile::setPermissions(storagePath(), QFile::ReadOwner | QFile::WriteOwner)) { - qCWarning(lcFileCredentialStore) << "Failed to set file permissions"; - } - - qCInfo(lcFileCredentialStore) << "Credentials saved"; - return true; -} - -bool FileCredentialStore::load(QString &secret, QString &deviceId) -{ - m_lastError = LoadError::None; - - QFile file(storagePath()); - if (!file.exists()) { - qCInfo(lcFileCredentialStore) << "No credentials file found"; - m_lastError = LoadError::SecretNotFound; - return false; - } - - if (!file.open(QIODevice::ReadOnly)) { - qCWarning(lcFileCredentialStore) << "Failed to open credentials:" << file.errorString(); - m_lastError = LoadError::DecryptionFailed; - return false; - } - - QByteArray data = file.readAll(); - file.close(); - - QJsonParseError parseError; - QJsonDocument doc = QJsonDocument::fromJson(data, &parseError); - if (parseError.error != QJsonParseError::NoError) { - qCWarning(lcFileCredentialStore) << "Failed to parse credentials:" << parseError.errorString(); - m_lastError = LoadError::DecryptionFailed; - return false; - } - - QJsonObject obj = doc.object(); - - int version = obj.value("version").toInt(0); - if (version < 2) { - qCWarning(lcFileCredentialStore) << "Credentials encrypted with old format (v" << version << "), need re-login"; - m_lastError = LoadError::InvalidFormat; - return false; - } - - bool ok = true; - auto decryptField = [&](const QString &key) -> QString { - QByteArray encrypted = obj.value(key).toString().toUtf8(); - QByteArray decrypted = decrypt(encrypted); - if (decrypted.isEmpty() && !encrypted.isEmpty()) { - ok = false; - } - return QString::fromUtf8(decrypted); - }; - - secret = decryptField("secret"); - deviceId = decryptField("device_id"); - - if (!ok) { - qCWarning(lcFileCredentialStore) << "Failed to decrypt some credential fields"; - m_lastError = LoadError::DecryptionFailed; - return false; - } - - m_lastError = LoadError::None; - qCInfo(lcFileCredentialStore) << "Credentials loaded"; - return true; -} - -bool FileCredentialStore::clear() -{ - QFile file(storagePath()); - if (file.exists()) { - if (!file.remove()) { - qCWarning(lcFileCredentialStore) << "Failed to remove credentials:" << file.errorString(); - return false; - } - } - - qCInfo(lcFileCredentialStore) << "Credentials cleared"; - return true; -} - -bool FileCredentialStore::hasCredentials() const -{ - return QFile::exists(storagePath()); -} - -QString FileCredentialStore::storagePath() const -{ - return QDir(m_dataPath).filePath(CREDENTIALS_FILE); -} - -QString FileCredentialStore::machineId() const -{ - QFile f(QStringLiteral("/etc/machine-id")); - if (f.open(QIODevice::ReadOnly)) { - return QString::fromUtf8(f.readAll()).trimmed(); - } - QString fallbackPath = QDir(m_dataPath).filePath(".machine-id"); - QFile fallback(fallbackPath); - if (fallback.open(QIODevice::ReadOnly)) { - return QString::fromUtf8(fallback.readAll()).trimmed(); - } - QString id = QUuid::createUuid().toString(); - if (fallback.open(QIODevice::WriteOnly)) { - fallback.write(id.toUtf8()); - fallback.close(); - } - return id; -} - -QByteArray FileCredentialStore::deriveKey() const -{ - if (!m_keyCached) { - QString seed = machineId() + m_dataPath + QStringLiteral("sailpush-sailfish-key"); - m_cachedKey = QCryptographicHash::hash(seed.toUtf8(), QCryptographicHash::Sha256); - m_keyCached = true; - } - return m_cachedKey; -} - -QByteArray FileCredentialStore::encrypt(const QByteArray &data) const -{ - QByteArray iv = QUuid::createUuid().toRfc4122().left(IV_SIZE); - QByteArray key = deriveKey(); - - QByteArray keystream; - keystream.reserve(data.size()); - int counter = 0; - while (keystream.size() < data.size()) { - QByteArray counterBytes = QByteArray::number(counter, 16).rightJustified(8, '0'); - QByteArray hmacInput = iv + counterBytes; - QByteArray block = QMessageAuthenticationCode::hash(hmacInput, key, QCryptographicHash::Sha256); - keystream.append(block); - counter++; - } - - QByteArray encrypted; - encrypted.reserve(data.size()); - for (int i = 0; i < data.size(); ++i) { - encrypted.append(data[i] ^ keystream[i]); - } - - QByteArray mac = QMessageAuthenticationCode::hash(iv + encrypted, key, QCryptographicHash::Sha256); - QByteArray result = iv + encrypted + mac; - return result.toBase64(); -} - -QByteArray FileCredentialStore::decrypt(const QByteArray &data) const -{ - QByteArray decoded = QByteArray::fromBase64(data); - if (decoded.size() < IV_SIZE + 1 + 32) { - return QByteArray(); - } - - QByteArray iv = decoded.left(IV_SIZE); - QByteArray mac = decoded.right(32); - QByteArray ciphertext = decoded.mid(IV_SIZE, decoded.size() - IV_SIZE - 32); - QByteArray key = deriveKey(); - - QByteArray expectedMac = QMessageAuthenticationCode::hash(iv + ciphertext, key, QCryptographicHash::Sha256); - if (mac != expectedMac) { - qCWarning(lcFileCredentialStore) << "HMAC verification failed — credentials may be tampered"; - return QByteArray(); - } - - QByteArray keystream; - keystream.reserve(ciphertext.size()); - int counter = 0; - while (keystream.size() < ciphertext.size()) { - QByteArray counterBytes = QByteArray::number(counter, 16).rightJustified(8, '0'); - QByteArray hmacInput = iv + counterBytes; - QByteArray block = QMessageAuthenticationCode::hash(hmacInput, key, QCryptographicHash::Sha256); - keystream.append(block); - counter++; - } - - QByteArray decrypted; - decrypted.reserve(ciphertext.size()); - for (int i = 0; i < ciphertext.size(); ++i) { - decrypted.append(ciphertext[i] ^ keystream[i]); - } - return decrypted; -} diff --git a/src/filecredentialstore.h b/src/filecredentialstore.h deleted file mode 100644 index b5b68d5..0000000 --- a/src/filecredentialstore.h +++ /dev/null @@ -1,33 +0,0 @@ -#ifndef FILECREDENTIALSTORE_H -#define FILECREDENTIALSTORE_H - -#include "icredentialstore.h" - -class FileCredentialStore : public ICredentialStore { - Q_OBJECT - -public: - explicit FileCredentialStore(const QString &dataPath, QObject *parent = nullptr); - ~FileCredentialStore() override; - - bool save(const QString &secret, const QString &deviceId) override; - bool load(QString &secret, QString &deviceId) override; - bool clear() override; - bool hasCredentials() const override; - LoadError lastError() const override { return m_lastError; } - -private: - QString storagePath() const; - QByteArray encrypt(const QByteArray &data) const; - QByteArray decrypt(const QByteArray &data) const; - QByteArray deriveKey() const; - QString machineId() const; - - QString m_dataPath; - LoadError m_lastError; - - mutable QByteArray m_cachedKey; - mutable bool m_keyCached; -}; - -#endif // FILECREDENTIALSTORE_H diff --git a/src/loginhelper.cpp b/src/loginhelper.cpp index 0747eba..da462ea 100644 --- a/src/loginhelper.cpp +++ b/src/loginhelper.cpp @@ -2,39 +2,87 @@ #include "credentialstore.h" #include "daemon.h" #include +#include +#include Q_LOGGING_CATEGORY(lcLoginHelper, "com.zackslash.sailpush.login") -static QString generateDeviceName() +namespace { +struct LoadResult { + bool hasCreds = false; + ICredentialStore::LoadError error = ICredentialStore::LoadError::None; +}; + +QString generateDeviceName() { return QStringLiteral("SailfishOS"); } +} // namespace LoginHelper::LoginHelper(QObject *parent) : QObject(parent) , m_client(new SailPushClient(this)) - , m_store(new CredentialStore(Daemon::dataPath(), this)) , m_loggingIn(false) , m_registering(false) , m_needsTwoFactor(false) + , m_hasCredentials(false) + , m_credentialsLoading(true) { - QString secret, deviceId; - if (!m_store->load(secret, deviceId)) { - ICredentialStore::LoadError err = m_store->lastError(); - if (err == ICredentialStore::LoadError::InvalidFormat) { - m_migrationReason = tr("App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again."); - } else if (err == ICredentialStore::LoadError::DecryptionFailed) { - m_migrationReason = tr("Saved credentials could not be decrypted. This can happen after a system update. Please log in again."); - } else if (err == ICredentialStore::LoadError::BackendUnavailable) { - m_migrationReason = tr("Secrets service is not available. Please restart the device and try again."); - } - } - connect(m_client, &SailPushClient::loginSuccess, this, &LoginHelper::onLoginSuccess); connect(m_client, &SailPushClient::loginFailed, this, &LoginHelper::onLoginFailed); connect(m_client, &SailPushClient::twoFactorRequired, this, &LoginHelper::onTwoFactorRequired); connect(m_client, &SailPushClient::deviceRegistered, this, &LoginHelper::onDeviceRegistered); connect(m_client, &SailPushClient::deviceRegistrationFailed, this, &LoginHelper::onDeviceRegistrationFailed); + + loadCredentialsAsync(); +} + +void LoginHelper::loadCredentialsAsync() +{ + qCInfo(lcLoginHelper) << "Loading credentials asynchronously"; + const QString dataPath = Daemon::dataPath(); + + auto *watcher = new QFutureWatcher(this); + connect(watcher, &QFutureWatcher::finished, this, [this, watcher]() { + const LoadResult result = watcher->result(); + watcher->deleteLater(); + + m_hasCredentials = result.hasCreds; + + if (!result.hasCreds) { + const auto err = result.error; + if (err == ICredentialStore::LoadError::InvalidFormat) { + m_migrationReason = tr("App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again."); + } else if (err == ICredentialStore::LoadError::DecryptionFailed) { + m_migrationReason = tr("Saved credentials could not be decrypted. This can happen after a system update. Please log in again."); + } else if (err == ICredentialStore::LoadError::BackendUnavailable) { + m_migrationReason = tr("Secrets service is not available. Please restart the device and try again."); + } + if (!m_migrationReason.isEmpty()) { + emit migrationReasonChanged(); + } + } + + // Emit credentialsChanged BEFORE flipping credentialsLoading so QML's + // onHasCredentialsChanged guard (!credentialsLoading) skips the page + // replace; the actual initial page push happens in + // onCredentialsLoadingChanged → pushInitialPage(). + emit credentialsChanged(); + setCredentialsLoading(false); + }); + + watcher->setFuture(QtConcurrent::run([dataPath]() { + LoadResult r; + // CredentialStore is created and destroyed entirely on this worker + // thread. waitForFinished() spins its own local QEventLoop (via + // QDBusPendingCall) so no pre-existing event loop is needed. The UI + // thread stays responsive throughout. + CredentialStore store(dataPath); + QString secret, deviceId; + r.hasCreds = store.load(secret, deviceId); + r.error = store.lastError(); + return r; + })); } void LoginHelper::login(const QString &email, const QString &password, const QString &twofa) @@ -60,8 +108,15 @@ void LoginHelper::cancel() void LoginHelper::logout() { qCInfo(lcLoginHelper) << "Logging out, clearing credentials"; - m_store->clear(); - emit credentialsChanged(); + // Optimistic UI update — flip immediately so the user sees feedback. + setHasCredentials(false); + + // Fire-and-forget the blocking clear() on a worker thread. + const QString dataPath = Daemon::dataPath(); + QtConcurrent::run([dataPath]() { + CredentialStore store(dataPath); + store.clear(); + }); } void LoginHelper::setMigrationReason(const QString &reason) @@ -89,7 +144,6 @@ void LoginHelper::onLoginFailed(const QString &error) setLoggingIn(false); setErrorString(error); emit loginFailed(error); - } void LoginHelper::onTwoFactorRequired() @@ -104,21 +158,34 @@ void LoginHelper::onDeviceRegistered(const QString &deviceId) qCInfo(lcLoginHelper) << "Device registered:" << deviceId; setRegistering(false); - bool saved = m_store->save(m_pendingSecret, deviceId); - if (saved) { - qCInfo(lcLoginHelper) << "Credentials saved successfully"; - if (!m_migrationReason.isEmpty()) { - m_migrationReason.clear(); - emit migrationReasonChanged(); + // Save credentials on a worker thread to avoid blocking the UI. + const QString secret = m_pendingSecret; + m_pendingSecret.clear(); + const QString dataPath = Daemon::dataPath(); + + auto *watcher = new QFutureWatcher(this); + connect(watcher, &QFutureWatcher::finished, this, [this, watcher]() { + const bool saved = watcher->result(); + watcher->deleteLater(); + + if (saved) { + qCInfo(lcLoginHelper) << "Credentials saved successfully"; + if (!m_migrationReason.isEmpty()) { + m_migrationReason.clear(); + emit migrationReasonChanged(); + } + setHasCredentials(true); + emit credentialsSaved(); + } else { + setErrorString(tr("Failed to save credentials")); + emit loginFailed(tr("Failed to save credentials")); } - emit credentialsChanged(); - emit credentialsSaved(); - } else { - setErrorString(tr("Failed to save credentials")); - emit loginFailed(tr("Failed to save credentials")); - } + }); - m_pendingSecret.clear(); + watcher->setFuture(QtConcurrent::run([dataPath, secret, deviceId]() { + CredentialStore store(dataPath); + return store.save(secret, deviceId); + })); } void LoginHelper::onDeviceRegistrationFailed(const QString &error) @@ -162,3 +229,19 @@ void LoginHelper::setErrorString(const QString &value) emit errorStringChanged(); } } + +void LoginHelper::setHasCredentials(bool value) +{ + if (m_hasCredentials != value) { + m_hasCredentials = value; + emit credentialsChanged(); + } +} + +void LoginHelper::setCredentialsLoading(bool value) +{ + if (m_credentialsLoading != value) { + m_credentialsLoading = value; + emit credentialsLoadingChanged(); + } +} diff --git a/src/loginhelper.h b/src/loginhelper.h index 5823135..17ca78f 100644 --- a/src/loginhelper.h +++ b/src/loginhelper.h @@ -12,6 +12,7 @@ class LoginHelper : public QObject { Q_PROPERTY(bool registering READ registering NOTIFY registeringChanged) Q_PROPERTY(bool needsTwoFactor READ needsTwoFactor NOTIFY needsTwoFactorChanged) Q_PROPERTY(bool hasCredentials READ hasCredentials NOTIFY credentialsChanged) + Q_PROPERTY(bool credentialsLoading READ credentialsLoading NOTIFY credentialsLoadingChanged) Q_PROPERTY(QString errorString READ errorString NOTIFY errorStringChanged) Q_PROPERTY(QString migrationReason READ migrationReason NOTIFY migrationReasonChanged) @@ -21,7 +22,8 @@ class LoginHelper : public QObject { bool loggingIn() const { return m_loggingIn; } bool registering() const { return m_registering; } bool needsTwoFactor() const { return m_needsTwoFactor; } - bool hasCredentials() const { return m_store->hasCredentials(); } + bool hasCredentials() const { return m_hasCredentials; } + bool credentialsLoading() const { return m_credentialsLoading; } QString errorString() const { return m_errorString; } QString migrationReason() const { return m_migrationReason; } @@ -35,6 +37,7 @@ class LoginHelper : public QObject { void registeringChanged(); void needsTwoFactorChanged(); void credentialsChanged(); + void credentialsLoadingChanged(); void errorStringChanged(); void migrationReasonChanged(); void loginFailed(const QString &error); @@ -52,13 +55,17 @@ private slots: void setRegistering(bool value); void setNeedsTwoFactor(bool value); void setErrorString(const QString &value); + void setHasCredentials(bool value); + void setCredentialsLoading(bool value); + void loadCredentialsAsync(); SailPushClient *m_client; - ICredentialStore *m_store; bool m_loggingIn; bool m_registering; bool m_needsTwoFactor; + bool m_hasCredentials; + bool m_credentialsLoading; QString m_errorString; QString m_migrationReason; QString m_pendingSecret; diff --git a/src/messagestore.cpp b/src/messagestore.cpp index 21ea3e1..a91e579 100644 --- a/src/messagestore.cpp +++ b/src/messagestore.cpp @@ -6,6 +6,8 @@ #include #include #include +#include +#include Q_LOGGING_CATEGORY(lcMessageStore, "com.zackslash.sailpush.store") @@ -57,6 +59,7 @@ bool MessageStore::load() bool MessageStore::save() const { QString path = storagePath(); + QString tmpPath = path + QStringLiteral(".tmp"); QDir dir = QFileInfo(path).dir(); if (!dir.exists()) { if (!dir.mkpath(".")) { @@ -65,21 +68,39 @@ bool MessageStore::save() const } } + // Clean up any .tmp left by a prior crash + QFile stale(tmpPath); + if (stale.exists()) { + qCWarning(lcMessageStore) << "Removing stale temp file:" << tmpPath; + stale.remove(); + } + QJsonArray array; for (const Message &msg : m_messages) { array.append(msg.toJson()); } QJsonDocument doc(array); - QFile file(path); + QFile file(tmpPath); if (!file.open(QIODevice::WriteOnly)) { - qCWarning(lcMessageStore) << "Failed to save message store:" << file.errorString(); + qCWarning(lcMessageStore) << "Failed to open temp file for writing:" << file.errorString(); return false; } file.write(doc.toJson(QJsonDocument::Compact)); + file.flush(); + if (file.handle() >= 0) ::fsync(file.handle()); file.close(); + // Atomically replace the target with the temp file using POSIX rename(2), + // which is atomic on the same filesystem. QFile::rename() cannot overwrite + // an existing file; POSIX rename() does. + if (std::rename(tmpPath.toUtf8().constData(), path.toUtf8().constData()) != 0) { + qCWarning(lcMessageStore) << "Failed to rename temp file to target:" << tmpPath << "->" << path; + QFile::remove(tmpPath); + return false; + } + qCInfo(lcMessageStore) << "Saved" << m_messages.size() << "messages to store"; return true; } diff --git a/src/websocketmanager.cpp b/src/websocketmanager.cpp index 503dfb9..1b53883 100644 --- a/src/websocketmanager.cpp +++ b/src/websocketmanager.cpp @@ -7,11 +7,13 @@ WebSocketManager::WebSocketManager(QObject *parent) : QObject(parent) , m_webSocket(new QWebSocket(QString(), QWebSocketProtocol::VersionLatest, this)) , m_reconnectTimer(new QTimer(this)) + , m_idleTimer(new QTimer(this)) , m_state(ConnectionState::Disconnected) , m_reconnectDelay(RECONNECT_INITIAL_MS) , m_autoReconnect(true) { m_reconnectTimer->setSingleShot(true); + m_idleTimer->setSingleShot(true); connect(m_webSocket, &QWebSocket::connected, this, &WebSocketManager::onConnected); connect(m_webSocket, &QWebSocket::disconnected, this, &WebSocketManager::onDisconnected); @@ -20,6 +22,13 @@ WebSocketManager::WebSocketManager(QObject *parent) connect(m_webSocket, QOverload::of(&QWebSocket::error), this, &WebSocketManager::onError); connect(m_reconnectTimer, &QTimer::timeout, this, &WebSocketManager::onReconnectTimer); + connect(m_idleTimer, &QTimer::timeout, this, &WebSocketManager::onIdleTimeout); +} + +void WebSocketManager::armIdleWatchdog() +{ + // OS TCP keepalive (~2h) is too slow to catch half-open connections during suspend; this fires in 90s. + m_idleTimer->start(IDLE_TIMEOUT_MS); } void WebSocketManager::connectToServer(const QString &deviceId, const QString &secret) @@ -36,19 +45,32 @@ void WebSocketManager::connectToServer(const QString &deviceId, const QString &s qCInfo(lcWebSocket) << "Connecting to" << WS_URL; m_reconnectTimer->stop(); + m_idleTimer->stop(); m_webSocket->close(); setState(ConnectionState::Connecting); m_webSocket->open(QUrl(WS_URL)); + // Note: QWebSocket (Qt 5.15) does not expose setSocketOption(); TCP-level + // keepalive cannot be enabled here. The 90s app-level idle watchdog covers + // half-open detection (OS TCP keepalive defaults to ~2h otherwise). + armIdleWatchdog(); } void WebSocketManager::disconnectFromServer() { m_autoReconnect = false; m_reconnectTimer->stop(); + m_idleTimer->stop(); m_webSocket->close(); + // See header — creds intentionally preserved for reconnect(). + setState(ConnectionState::Disconnected); +} + +void WebSocketManager::resetCredentials() +{ m_secret.clear(); m_deviceId.clear(); - setState(ConnectionState::Disconnected); + m_reconnectTimer->stop(); + m_idleTimer->stop(); } void WebSocketManager::reconnect() @@ -62,6 +84,7 @@ void WebSocketManager::onConnected() qCInfo(lcWebSocket) << "WebSocket connected"; m_reconnectTimer->stop(); setState(ConnectionState::Connected); + armIdleWatchdog(); sendLoginFrame(); } @@ -77,12 +100,14 @@ void WebSocketManager::onDisconnected() void WebSocketManager::onTextMessageReceived(const QString &message) { + armIdleWatchdog(); FrameType frame = static_cast(parseFrame(message.toUtf8())); handleFrame(frame); } void WebSocketManager::onBinaryMessageReceived(const QByteArray &message) { + armIdleWatchdog(); FrameType frame = static_cast(parseFrame(message)); handleFrame(frame); } @@ -120,7 +145,13 @@ void WebSocketManager::onError(QAbstractSocket::SocketError error) { Q_UNUSED(error); qCWarning(lcWebSocket) << "WebSocket error:" << m_webSocket->errorString(); - setState(ConnectionState::Error); + m_idleTimer->stop(); + // Transient errors -> Disconnected so the reconnect FSM can progress (onReconnectTimer early-returns otherwise). + // Qt emits disconnected after error, so guard against double-arming the timer. + setState(ConnectionState::Disconnected); + if (m_autoReconnect && !m_reconnectTimer->isActive()) { + scheduleReconnect(); + } } void WebSocketManager::onReconnectTimer() @@ -132,6 +163,17 @@ void WebSocketManager::onReconnectTimer() m_webSocket->close(); m_webSocket->open(QUrl(WS_URL)); setState(ConnectionState::Connecting); + armIdleWatchdog(); +} + +void WebSocketManager::onIdleTimeout() +{ + qCWarning(lcWebSocket) << "No data received for" << IDLE_TIMEOUT_MS + << "ms, treating connection as dead"; + m_idleTimer->stop(); + // Closing the socket drives the normal disconnected -> scheduleReconnect + // path, recovering from silently half-open connections during suspend. + m_webSocket->close(); } void WebSocketManager::sendLoginFrame() @@ -140,11 +182,18 @@ void WebSocketManager::sendLoginFrame() m_webSocket->sendTextMessage(loginFrame); qCInfo(lcWebSocket) << "Login frame sent"; setState(ConnectionState::LoginSent); + armIdleWatchdog(); + // Reset backoff only after login succeeds — a TCP connect that drops pre-login should keep backing off. m_reconnectDelay = RECONNECT_INITIAL_MS; } void WebSocketManager::scheduleReconnect() { + // Idempotent: onError and onDisconnected both fire for one failure — don't re-arm or double-count the backoff. + if (m_reconnectTimer->isActive()) { + qCInfo(lcWebSocket) << "Reconnect already scheduled, not re-arming"; + return; + } qCInfo(lcWebSocket) << "Scheduling reconnect in" << m_reconnectDelay << "ms"; m_reconnectTimer->start(m_reconnectDelay); m_reconnectDelay = qMin(m_reconnectDelay * 2, RECONNECT_MAX_MS); diff --git a/src/websocketmanager.h b/src/websocketmanager.h index 419b9fb..bc3d74c 100644 --- a/src/websocketmanager.h +++ b/src/websocketmanager.h @@ -16,9 +16,7 @@ class WebSocketManager : public QObject { Disconnected, Connecting, Connected, - LoginSent, - Error, - SessionClosed + LoginSent }; Q_ENUM(ConnectionState) @@ -34,6 +32,7 @@ class WebSocketManager : public QObject { static constexpr int RECONNECT_INITIAL_MS = 1000; static constexpr int RECONNECT_MAX_MS = 300000; + static constexpr int IDLE_TIMEOUT_MS = 90000; static constexpr const char *WS_URL = "wss://client.pushover.net/push"; explicit WebSocketManager(QObject *parent = nullptr); @@ -41,6 +40,10 @@ class WebSocketManager : public QObject { void connectToServer(const QString &deviceId, const QString &secret); void disconnectFromServer(); void reconnect(); + // Clears cached credentials. Use on explicit logout / credential + // invalidation; disconnectFromServer() intentionally keeps creds so that + // reconnect() (e.g. after a 'R' reload frame) still has valid values. + void resetCredentials(); ConnectionState state() const { return m_state; } bool isConnected() const { return m_state == ConnectionState::LoginSent; } @@ -59,16 +62,19 @@ private slots: void onBinaryMessageReceived(const QByteArray &message); void onError(QAbstractSocket::SocketError error); void onReconnectTimer(); + void onIdleTimeout(); private: void sendLoginFrame(); void scheduleReconnect(); void setState(ConnectionState newState); + void armIdleWatchdog(); Q_INVOKABLE int parseFrame(const QByteArray &data); void handleFrame(FrameType type); QWebSocket *m_webSocket; QTimer *m_reconnectTimer; + QTimer *m_idleTimer; QString m_deviceId; QString m_secret; ConnectionState m_state; diff --git a/systemd/sailpush.service b/systemd/sailpush.service index 5497ac3..fd435e0 100644 --- a/systemd/sailpush.service +++ b/systemd/sailpush.service @@ -1,12 +1,13 @@ [Unit] Description=SailPush Background Service -Requires=dbus.service +# Session bus is provided by user-session.target (no Requires=dbus.service — that would hit the system bus) After=pre-user-session.target [Service] Type=simple ExecStart=/usr/bin/invoker --type=generic /usr/bin/sailpush --daemon -Restart=on-failure +# always: recover from clean Quit() during RPM upgrade even when no UI is running +Restart=always RestartSec=5 Environment=QT_LOGGING_RULES=com.zackslash.sailpush.*=true diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a016697..16145a5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -36,13 +36,6 @@ add_executable(tst_sailpushclient target_link_libraries(tst_sailpushclient PRIVATE Qt5::Core Qt5::Network Qt5::Test) add_test(NAME SailPushClient COMMAND tst_sailpushclient) -add_executable(tst_credentialstore - tst_credentialstore.cpp - ${CMAKE_SOURCE_DIR}/../src/filecredentialstore.cpp -) -target_link_libraries(tst_credentialstore PRIVATE Qt5::Core Qt5::Test) -add_test(NAME CredentialStore COMMAND tst_credentialstore) - # --- WebSocket-dependent tests --- if(TARGET Qt5::WebSockets) diff --git a/tests/tst_credentialstore.cpp b/tests/tst_credentialstore.cpp deleted file mode 100644 index 262dd80..0000000 --- a/tests/tst_credentialstore.cpp +++ /dev/null @@ -1,152 +0,0 @@ -#include -#include -#include -#include -#include -#include "filecredentialstore.h" - -class TestCredentialStore : public QObject { - Q_OBJECT - -private slots: - void init(); - void cleanup(); - void testNoCredentialsInitially(); - void testSaveAndLoad(); - void testHasCredentials(); - void testClear(); - void testOverwrite(); - void testEmptyValues(); - void testLoadNonexistent(); - void testLastErrorNoneOnSuccess(); - void testLastErrorSecretNotFound(); - void testLastErrorInvalidFormat(); - void testFilePermissionsAfterSave(); - -private: - QTemporaryDir m_tempDir; - FileCredentialStore *m_store; -}; - -void TestCredentialStore::init() -{ - QFile::remove(m_tempDir.path() + "/credentials.json"); - m_store = new FileCredentialStore(m_tempDir.path(), this); -} - -void TestCredentialStore::cleanup() -{ - delete m_store; - m_store = nullptr; -} - -void TestCredentialStore::testNoCredentialsInitially() -{ - QVERIFY(!m_store->hasCredentials()); -} - -void TestCredentialStore::testSaveAndLoad() -{ - QVERIFY(m_store->save("secret123", "device456")); - - QString secret, deviceId; - QVERIFY(m_store->load(secret, deviceId)); - - QCOMPARE(secret, QString("secret123")); - QCOMPARE(deviceId, QString("device456")); -} - -void TestCredentialStore::testHasCredentials() -{ - QVERIFY(!m_store->hasCredentials()); - - m_store->save("secret", "device"); - QVERIFY(m_store->hasCredentials()); -} - -void TestCredentialStore::testClear() -{ - m_store->save("secret", "device"); - QVERIFY(m_store->hasCredentials()); - - QVERIFY(m_store->clear()); - QVERIFY(!m_store->hasCredentials()); -} - -void TestCredentialStore::testOverwrite() -{ - m_store->save("secret1", "device1"); - - QString secret, deviceId; - m_store->load(secret, deviceId); - QCOMPARE(secret, QString("secret1")); - - m_store->save("secret2", "device2"); - m_store->load(secret, deviceId); - QCOMPARE(secret, QString("secret2")); - QCOMPARE(deviceId, QString("device2")); -} - -void TestCredentialStore::testEmptyValues() -{ - m_store->save("", ""); - - QString secret, deviceId; - QVERIFY(!m_store->load(secret, deviceId)); -} - -void TestCredentialStore::testLoadNonexistent() -{ - FileCredentialStore *emptyStore = new FileCredentialStore("/nonexistent/path/that/does/not/exist", this); - QString secret, deviceId; - QVERIFY(!emptyStore->load(secret, deviceId)); - QCOMPARE(emptyStore->lastError(), FileCredentialStore::LoadError::SecretNotFound); - delete emptyStore; -} - -void TestCredentialStore::testLastErrorNoneOnSuccess() -{ - m_store->save("secret", "device"); - - QString secret, deviceId; - QVERIFY(m_store->load(secret, deviceId)); - QCOMPARE(m_store->lastError(), FileCredentialStore::LoadError::None); -} - -void TestCredentialStore::testLastErrorSecretNotFound() -{ - QString secret, deviceId; - QVERIFY(!m_store->load(secret, deviceId)); - QCOMPARE(m_store->lastError(), FileCredentialStore::LoadError::SecretNotFound); -} - -void TestCredentialStore::testLastErrorInvalidFormat() -{ - QJsonObject obj; - obj.insert("version", 1); - obj.insert("secret", "encrypted"); - obj.insert("device_id", "encrypted"); - QJsonDocument doc(obj); - - QString path = m_tempDir.path() + "/credentials.json"; - QFile file(path); - QVERIFY(file.open(QIODevice::WriteOnly)); - file.write(doc.toJson(QJsonDocument::Compact)); - file.close(); - - QString secret, deviceId; - QVERIFY(!m_store->load(secret, deviceId)); - QCOMPARE(m_store->lastError(), FileCredentialStore::LoadError::InvalidFormat); -} - -void TestCredentialStore::testFilePermissionsAfterSave() -{ - m_store->save("secret", "device"); - QFile::Permissions perms = QFile::permissions(m_tempDir.path() + "/credentials.json"); - QFile::Permissions expected = QFile::ReadOwner | QFile::WriteOwner - | QFile::ReadUser | QFile::WriteUser; - QCOMPARE(perms, expected); -} - -QTEST_MAIN(TestCredentialStore) -#include "tst_credentialstore.moc" diff --git a/tests/tst_messagestore.cpp b/tests/tst_messagestore.cpp index f88bbc8..488f7e5 100644 --- a/tests/tst_messagestore.cpp +++ b/tests/tst_messagestore.cpp @@ -22,6 +22,8 @@ private slots: void testContainsMessage(); void testTrimMessages(); void testSaveAndLoad(); + void testSaveIsAtomic(); + void testRecoversFromStaleTemp(); private: QTemporaryDir m_tempDir; @@ -197,5 +199,64 @@ void TestMessageStore::testSaveAndLoad() delete store2; } +void TestMessageStore::testSaveIsAtomic() +{ + Message msg; + msg.id = "atomic1"; + msg.message = "Atomic test"; + msg.app = "TestApp"; + + m_store->addMessage(msg); + QVERIFY(m_store->save()); + + QString path = m_tempDir.path() + "/messages.json"; + QString tmpPath = path + ".tmp"; + + QVERIFY(QFile::exists(path)); + QVERIFY(!QFile::exists(tmpPath)); + + QFile file(path); + QVERIFY(file.open(QIODevice::ReadOnly)); + QByteArray data = file.readAll(); + file.close(); + QJsonParseError parseError; + QJsonDocument doc = QJsonDocument::fromJson(data, &parseError); + QCOMPARE(parseError.error, QJsonParseError::NoError); + QVERIFY(doc.isArray()); +} + +void TestMessageStore::testRecoversFromStaleTemp() +{ + QString path = m_tempDir.path() + "/messages.json"; + QString tmpPath = path + ".tmp"; + + // Create a bogus stale temp file as if a prior crash left one behind + QFile staleFile(tmpPath); + QVERIFY(staleFile.open(QIODevice::WriteOnly)); + staleFile.write("this is garbage not json {{{"); + staleFile.close(); + + Message msg; + msg.id = "recover1"; + msg.message = "Recovery test"; + msg.app = "TestApp"; + m_store->addMessage(msg); + + QVERIFY(m_store->save()); + + QVERIFY(!QFile::exists(tmpPath)); + + QFile resultFile(path); + QVERIFY(resultFile.open(QIODevice::ReadOnly)); + QByteArray data = resultFile.readAll(); + resultFile.close(); + QJsonParseError parseError; + QJsonDocument doc = QJsonDocument::fromJson(data, &parseError); + QCOMPARE(parseError.error, QJsonParseError::NoError); + QVERIFY(doc.isArray()); + QCOMPARE(doc.array().size(), 1); + QCOMPARE(doc.array().first().toObject()["id"].toString(), QString("recover1")); +} + QTEST_MAIN(TestMessageStore) #include "tst_messagestore.moc" diff --git a/tests/tst_websocketmanager.cpp b/tests/tst_websocketmanager.cpp index 30b399c..79abb8d 100644 --- a/tests/tst_websocketmanager.cpp +++ b/tests/tst_websocketmanager.cpp @@ -15,6 +15,9 @@ private slots: void testReconnectBackoff(); void testInitialState(); void testConstants(); + void testIdleTimeoutConstant(); + void testResetCredentialsKeepsDisconnected(); + void testIdleTimeoutClosesSocket(); private: WebSocketManager *m_manager; @@ -137,5 +140,37 @@ void TestWebSocketManager::testConstants() QCOMPARE(WebSocketManager::RECONNECT_MAX_MS, 300000); } +void TestWebSocketManager::testIdleTimeoutConstant() +{ + // Watchdog must exceed Pushover's ~60s keepalive interval with margin. + QVERIFY(WebSocketManager::IDLE_TIMEOUT_MS >= 60000); + QVERIFY(WebSocketManager::IDLE_TIMEOUT_MS <= WebSocketManager::RECONNECT_MAX_MS); +} + +void TestWebSocketManager::testResetCredentialsKeepsDisconnected() +{ + // resetCredentials() must not flip state or mark us connected. It clears + // cached creds for the logout path; reconnect-with-creds behavior itself + // needs a live socket and is covered by integration/on-device testing. + m_manager = new WebSocketManager(this); + QCOMPARE(m_manager->state(), WebSocketManager::ConnectionState::Disconnected); + m_manager->resetCredentials(); + QCOMPARE(m_manager->state(), WebSocketManager::ConnectionState::Disconnected); + QCOMPARE(m_manager->isConnected(), false); + delete m_manager; +} + +void TestWebSocketManager::testIdleTimeoutClosesSocket() +{ + // No live WS server in this unit test, so this only smoke-checks that onIdleTimeout + // leaves state consistent (no real socket means no disconnected signal fires). + m_manager = new WebSocketManager(this); + QCOMPARE(m_manager->state(), WebSocketManager::ConnectionState::Disconnected); + QMetaObject::invokeMethod(m_manager, "onIdleTimeout"); + QCOMPARE(m_manager->state(), WebSocketManager::ConnectionState::Disconnected); + QCOMPARE(m_manager->isConnected(), false); + delete m_manager; +} + QTEST_MAIN(TestWebSocketManager) #include "tst_websocketmanager.moc" diff --git a/translations/sailpush_be.ts b/translations/sailpush_be.ts index ef7bb4d..07710a0 100644 --- a/translations/sailpush_be.ts +++ b/translations/sailpush_be.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Злучана - - - Connecting... - Злучэнне... - - - Disconnected - Адключана - - - Error - Памылка - - - Session closed - Сесія закрыта - - - - CoverPage - - %1 unread - %1 непрачытаных - - - - Daemon - - Credentials rejected by server. Please re-login. - Уліковыя даныя адхіленыя серверам. Калі ласка, увайдзіце зноў. - - - Session expired. Please re-login. - Сесія скончылася. Калі ласка, увайдзіце зноў. - - - - DaemonConnector - - Cannot connect to background service - Не ўдаецца злучыцца з фонавай службай - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Дадатак абноўлены — захаваныя ўліковыя даныя выкарыстоўваюць старэйшы фармат і не могуць быць перанесеныя. Калі ласка, увайдзіце зноў. - - - Failed to save credentials - Не ўдалося захаваць уліковыя даныя - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Захаваныя ўліковыя даныя не ўдалося расшыфраваць. Гэта можа здарыцца пасля абнаўлення сістэмы. Калі ласка, увайдзіце зноў. - - - Secrets service is not available. Please restart the device and try again. - Служба secrets недаступная. Перезагрузіце прыладу і паспрабуйце зноў. - - - - LoginPage - - Email - Электронная пошта - - - Enter if required - Увядзіце, калі патрабуецца - - - Enter your Pushover account credentials to get started. - Увядзіце даныя ўліковага запісу Pushover для пачатку. - - - Logging in... - Уваход... - - - Login - Увайсці - - - Password - Пароль - - - Registering device... - Рэгістрацыя прылады... - - - Sign up at pushover.net - Зарэгіструйцеся на pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Гэта неафіцыйны кліент. Не выпушчаны і не падтрымліваецца Pushover, LLC. - - - Two-Factor Code - Двухфактарны код - - - Verify - Пацвердзіць - - - - MainPage - - %1 unread - %1 непрачытаных - - - Connection: disconnected + + ConnectionIndicator + + Connected + Злучана + + + Connecting... + Злучэнне... + + + Disconnected + Адключана + + + Error + Памылка + + + Session closed + Сесія закрыта + + + + CoverPage + + %1 unread + %1 непрачытаных + + + + Daemon + + Credentials rejected by server. Please re-login. + Уліковыя даныя адхіленыя серверам. Калі ласка, увайдзіце зноў. + + + Session expired. Please re-login. + Сесія скончылася. Калі ласка, увайдзіце зноў. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Дадатак абноўлены — захаваныя ўліковыя даныя выкарыстоўваюць старэйшы фармат і не могуць быць перанесеныя. Калі ласка, увайдзіце зноў. + + + Failed to save credentials + Не ўдалося захаваць уліковыя даныя + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Захаваныя ўліковыя даныя не ўдалося расшыфраваць. Гэта можа здарыцца пасля абнаўлення сістэмы. Калі ласка, увайдзіце зноў. + + + Secrets service is not available. Please restart the device and try again. + Служба secrets недаступная. Перезагрузіце прыладу і паспрабуйце зноў. + + + + LoginPage + + Email + Электронная пошта + + + Enter if required + Увядзіце, калі патрабуецца + + + Enter your Pushover account credentials to get started. + Увядзіце даныя ўліковага запісу Pushover для пачатку. + + + Logging in... + Уваход... + + + Login + Увайсці + + + Password + Пароль + + + Registering device... + Рэгістрацыя прылады... + + + Sign up at pushover.net + Зарэгіструйцеся на pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Гэта неафіцыйны кліент. Не выпушчаны і не падтрымліваецца Pushover, LLC. + + + Two-Factor Code + Двухфактарны код + + + Verify + Пацвердзіць + + + + MainPage + + %1 unread + %1 непрачытаных + + + Connection: disconnected Pull down to sync - Злучэнне: разарвана + Злучэнне: разарвана Пацягніце ўніз для сінхранізацыі - - - Mark all read - Пазначыць усё прачытаным - - - No Notifications - Няма апавяшчэнняў - - - Settings - Налады - - - Waiting for daemon... - Чаканне дэмана... - - - - MessageDelegate - - %1h ago - %1г таму - - - %1m ago - %1хв таму - - - Delete - Выдаліць - - - Just now - Толькі што - - - - MessageDetailPage - - Acknowledge - Пацвердзіць - - - Delete - Выдаліць - - - Deleting - Выдаленне - - - Message - Паведамленне - - - Open URL - Адкрыць URL - - - - NotificationManager - - Acknowledge - Пацвердзіць - - - Dismiss - Адхіліць - - - Open - Адкрыць - - - - SailPushClient - - Acknowledge failed - Пацверджанне не атрымалася - - - Delete failed - Выдаленне не атрымалася - - - Download failed - Спампоўка не атрымалася - - - Invalid server response - Няправільны адказ сервера - - - Login failed - Уваход не атрымаўся - - - Registration failed - Рэгістрацыя не атрымалася - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 хвіліна - - - 15 minutes - 15 хвілін - - - 30 minutes - 30 хвілін - - - 5 minutes - 5 хвілін - - - About - Аб дадатку - - - Account - Уліковы запіс - - - Automatically start the notification daemon when the device boots. - Аўтаматычна запускаць дэмана апавяшчэнняў пры запуску прылады. - - - Automatically start the notification service at boot - Аўтаматычна запускаць службу апавяшчэнняў пры старце - - - Background - Фон - - - Cancel - Скасаваць - - - Connection - Злучэнне - - - Deep Sleep - Глыбокі сон - - - Enable Polling Fallback - Уключыць рэзервовае апытанне - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Калі WebSocket разарвецца на 30 секунд, пераходзіць да перыядычнага апытання апавяшчэнняў. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Утрымлівае працэсар актыўным падчас сінхранізацыі паведамленняў для забеспячэння надзейнай дастаўкі. Выкарыстоўвае MCE keepalive API. - - - Logout - Выйсці - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Заўвага: Для пастаяннага WebSocket у глыбокім сне запусціце: -mcetool --set-suspend-policy=early - - - Notifications - Апавяшчэнні - - - Polling Fallback - Рэзервовае апытанне - - - Polling Interval - Інтэрвал апытання - - - Prevent Deep Sleep During Sync - Прадухіляць глыбокі сон падчас сінхранізацыі - - - Settings - Налады - - - Start on boot - Запускаць пры старце - - - Status: %1 - Статус: %1 - - - Sync Now - Сінхранізаваць зараз - - - System Notifications - Сістэмныя апавяшчэнні - - - This will clear your credentials and stop the background service. Are you sure? - Гэта ачысціць вашы ўліковыя даныя і спыніць фонавую службу. Вы ўпэўнены? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Пазначыць усё прачытаным + + + No Notifications + Няма апавяшчэнняў + + + Settings + Налады + + + Waiting for daemon... + Чаканне дэмана... + + + + MessageDelegate + + %1h ago + %1г таму + + + %1m ago + %1хв таму + + + Delete + Выдаліць + + + Just now + Толькі што + + + + MessageDetailPage + + Acknowledge + Пацвердзіць + + + Delete + Выдаліць + + + Deleting + Выдаленне + + + Message + Паведамленне + + + Open URL + Адкрыць URL + + + + NotificationManager + + Acknowledge + Пацвердзіць + + + Dismiss + Адхіліць + + + Open + Адкрыць + + + + SailPushClient + + Acknowledge failed + Пацверджанне не атрымалася + + + Delete failed + Выдаленне не атрымалася + + + Download failed + Спампоўка не атрымалася + + + Invalid server response + Няправільны адказ сервера + + + Login failed + Уваход не атрымаўся + + + Registration failed + Рэгістрацыя не атрымалася + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 хвіліна + + + 15 minutes + 15 хвілін + + + 30 minutes + 30 хвілін + + + 5 minutes + 5 хвілін + + + About + Аб дадатку + + + Account + Уліковы запіс + + + Automatically start the notification daemon when the device boots. + Аўтаматычна запускаць дэмана апавяшчэнняў пры запуску прылады. + + + Automatically start the notification service at boot + Аўтаматычна запускаць службу апавяшчэнняў пры старце + + + Background + Фон + + + Cancel + Скасаваць + + + Connection + Злучэнне + + + Enable Polling Fallback + Уключыць рэзервовае апытанне + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Калі WebSocket разарвецца на 30 секунд, пераходзіць да перыядычнага апытання апавяшчэнняў. + + + Logout + Выйсці + + + Notifications + Апавяшчэнні + + + Polling Fallback + Рэзервовае апытанне + + + Polling Interval + Інтэрвал апытання + + + Settings + Налады + + + Start on boot + Запускаць пры старце + + + Status: %1 + Статус: %1 + + + Sync Now + Сінхранізаваць зараз + + + System Notifications + Сістэмныя апавяшчэнні + + + This will clear your credentials and stop the background service. Are you sure? + Гэта ачысціць вашы ўліковыя даныя і спыніць фонавую службу. Вы ўпэўнены? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Неафіцыйны Pushover кліент для SailfishOS. + Неафіцыйны Pushover кліент для SailfishOS. Не выпушчаны і не падтрымліваецца Pushover, LLC. - - + + + Power + Сілкаванне + + + Keep Connection Alive When Screen Off + Падтрымліваць злучэнне пры выключаным экране + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Падтрымлівае WebSocket актыўным пры выключаным экране для дастаўкі ў рэальным часе праз API keepalive MCE для асобных праграм. Большы расход батарэі. + + diff --git a/translations/sailpush_bg.ts b/translations/sailpush_bg.ts index e9dd24f..18a0a4c 100644 --- a/translations/sailpush_bg.ts +++ b/translations/sailpush_bg.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Свързано - - - Connecting... - Свързване... - - - Disconnected - Прекъснато - - - Error - Грешка - - - Session closed - Сесията е затворена - - - - CoverPage - - %1 unread - %1 непрочетени - - - - Daemon - - Credentials rejected by server. Please re-login. - Данните за вход отхвърлени от сървъра. Моля, влезте отново. - - - Session expired. Please re-login. - Сесията изтече. Моля, влезте отново. - - - - DaemonConnector - - Cannot connect to background service - Не може да се свърже с фоновата услуга - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Приложението е актуализирано — запазените данни за вход използват по-стар формат и не могат да бъдат мигрирани. Моля, влезте отново. - - - Failed to save credentials - Запазването на данните за вход неуспешно - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Запазените данни за вход не могат да бъдат декриптирани. Това може да се случи след актуализация на системата. Моля, влезте отново. - - - Secrets service is not available. Please restart the device and try again. - Услугата secrets не е налична. Рестартирайте устройството и опитайте отново. - - - - LoginPage - - Email - Имейл - - - Enter if required - Въведете, ако е необходимо - - - Enter your Pushover account credentials to get started. - Въведете данните за акаунта си в Pushover, за да започнете. - - - Logging in... - Влизане... - - - Login - Вход - - - Password - Парола - - - Registering device... - Регистриране на устройство... - - - Sign up at pushover.net - Регистрирайте се на pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Това е неофициален клиент. Не е издаден или поддържан от Pushover, LLC. - - - Two-Factor Code - Двуфакторен код - - - Verify - Потвърди - - - - MainPage - - %1 unread - %1 непрочетени - - - Connection: disconnected + + ConnectionIndicator + + Connected + Свързано + + + Connecting... + Свързване... + + + Disconnected + Прекъснато + + + Error + Грешка + + + Session closed + Сесията е затворена + + + + CoverPage + + %1 unread + %1 непрочетени + + + + Daemon + + Credentials rejected by server. Please re-login. + Данните за вход отхвърлени от сървъра. Моля, влезте отново. + + + Session expired. Please re-login. + Сесията изтече. Моля, влезте отново. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Приложението е актуализирано — запазените данни за вход използват по-стар формат и не могат да бъдат мигрирани. Моля, влезте отново. + + + Failed to save credentials + Запазването на данните за вход неуспешно + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Запазените данни за вход не могат да бъдат декриптирани. Това може да се случи след актуализация на системата. Моля, влезте отново. + + + Secrets service is not available. Please restart the device and try again. + Услугата secrets не е налична. Рестартирайте устройството и опитайте отново. + + + + LoginPage + + Email + Имейл + + + Enter if required + Въведете, ако е необходимо + + + Enter your Pushover account credentials to get started. + Въведете данните за акаунта си в Pushover, за да започнете. + + + Logging in... + Влизане... + + + Login + Вход + + + Password + Парола + + + Registering device... + Регистриране на устройство... + + + Sign up at pushover.net + Регистрирайте се на pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Това е неофициален клиент. Не е издаден или поддържан от Pushover, LLC. + + + Two-Factor Code + Двуфакторен код + + + Verify + Потвърди + + + + MainPage + + %1 unread + %1 непрочетени + + + Connection: disconnected Pull down to sync - Връзка: прекъсната + Връзка: прекъсната Издърпайте надолу за синхронизиране - - - Mark all read - Маркирай всички като прочетени - - - No Notifications - Няма известия - - - Settings - Настройки - - - Waiting for daemon... - Изчакване на демона... - - - - MessageDelegate - - %1h ago - преди %1ч - - - %1m ago - преди %1м - - - Delete - Изтрий - - - Just now - Току-що - - - - MessageDetailPage - - Acknowledge - Потвърди - - - Delete - Изтрий - - - Deleting - Изтриване - - - Message - Съобщение - - - Open URL - Отвори URL - - - - NotificationManager - - Acknowledge - Потвърди - - - Dismiss - Отхвърли - - - Open - Отвори - - - - SailPushClient - - Acknowledge failed - Потвърждението неуспешно - - - Delete failed - Изтриването неуспешно - - - Download failed - Изтеглянето неуспешно - - - Invalid server response - Невалиден отговор от сървъра - - - Login failed - Влизането неуспешно - - - Registration failed - Регистрацията неуспешна - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 минута - - - 15 minutes - 15 минути - - - 30 minutes - 30 минути - - - 5 minutes - 5 минути - - - About - Относно - - - Account - Акаунт - - - Automatically start the notification daemon when the device boots. - Автоматично стартирай демона за известия при зареждане на устройството. - - - Automatically start the notification service at boot - Автоматично стартирай услугата за известия при зареждане - - - Background - Фон - - - Cancel - Отказ - - - Connection - Връзка - - - Deep Sleep - Дълбок сън - - - Enable Polling Fallback - Активирай резервно запитване - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ако WebSocket се прекъсне за 30 секунди, преминава към периодично запитване за известия. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Поддържа процесора буден по време на синхронизация на съобщения за осигуряване на надеждна доставка. Използва MCE keepalive API. - - - Logout - Изход - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Забележка: За постоянен WebSocket в дълбок сън, стартирайте: -mcetool --set-suspend-policy=early - - - Notifications - Известия - - - Polling Fallback - Резервно запитване - - - Polling Interval - Интервал на запитване - - - Prevent Deep Sleep During Sync - Предотврати дълбокия сън по време на синхронизация - - - Settings - Настройки - - - Start on boot - Стартирай при зареждане - - - Status: %1 - Статус: %1 - - - Sync Now - Синхронизирай сега - - - System Notifications - Системни известия - - - This will clear your credentials and stop the background service. Are you sure? - Това ще изчисти данните ви за вход и ще спре фоновата услуга. Сигурни ли сте? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Маркирай всички като прочетени + + + No Notifications + Няма известия + + + Settings + Настройки + + + Waiting for daemon... + Изчакване на демона... + + + + MessageDelegate + + %1h ago + преди %1ч + + + %1m ago + преди %1м + + + Delete + Изтрий + + + Just now + Току-що + + + + MessageDetailPage + + Acknowledge + Потвърди + + + Delete + Изтрий + + + Deleting + Изтриване + + + Message + Съобщение + + + Open URL + Отвори URL + + + + NotificationManager + + Acknowledge + Потвърди + + + Dismiss + Отхвърли + + + Open + Отвори + + + + SailPushClient + + Acknowledge failed + Потвърждението неуспешно + + + Delete failed + Изтриването неуспешно + + + Download failed + Изтеглянето неуспешно + + + Invalid server response + Невалиден отговор от сървъра + + + Login failed + Влизането неуспешно + + + Registration failed + Регистрацията неуспешна + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 минута + + + 15 minutes + 15 минути + + + 30 minutes + 30 минути + + + 5 minutes + 5 минути + + + About + Относно + + + Account + Акаунт + + + Automatically start the notification daemon when the device boots. + Автоматично стартирай демона за известия при зареждане на устройството. + + + Automatically start the notification service at boot + Автоматично стартирай услугата за известия при зареждане + + + Background + Фон + + + Cancel + Отказ + + + Connection + Връзка + + + Enable Polling Fallback + Активирай резервно запитване + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ако WebSocket се прекъсне за 30 секунди, преминава към периодично запитване за известия. + + + Logout + Изход + + + Notifications + Известия + + + Polling Fallback + Резервно запитване + + + Polling Interval + Интервал на запитване + + + Settings + Настройки + + + Start on boot + Стартирай при зареждане + + + Status: %1 + Статус: %1 + + + Sync Now + Синхронизирай сега + + + System Notifications + Системни известия + + + This will clear your credentials and stop the background service. Are you sure? + Това ще изчисти данните ви за вход и ще спре фоновата услуга. Сигурни ли сте? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Неофициален Pushover клиент за SailfishOS. + Неофициален Pushover клиент за SailfishOS. Не е издаден или поддържан от Pushover, LLC. - - + + + Power + Захранване + + + Keep Connection Alive When Screen Off + Поддържай връзката при изключен екран + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Поддържа WebSocket активен при изключен екран за доставка в реално време чрез keepalive API на MCE за приложението. По-високо потребление на батерия. + + diff --git a/translations/sailpush_bs.ts b/translations/sailpush_bs.ts index f67643d..1c22da6 100644 --- a/translations/sailpush_bs.ts +++ b/translations/sailpush_bs.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Povezano - - - Connecting... - Povezivanje... - - - Disconnected - Prekinuto - - - Error - Greška - - - Session closed - Sesija zatvorena - - - - CoverPage - - %1 unread - %1 nepročitanih - - - - Daemon - - Credentials rejected by server. Please re-login. - Server je odbio akreditive. Molimo prijavite se ponovo. - - - Session expired. Please re-login. - Sesija je istekla. Molimo prijavite se ponovo. - - - - DaemonConnector - - Cannot connect to background service - Nije moguće povezati se sa pozadinskim servisom - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacija je ažurirana — sačuvani akreditivi koriste stariji format i ne mogu se migrirati. Molimo prijavite se ponovo. - - - Failed to save credentials - Čuvanje akreditiva nije uspjelo - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Sačuvani akreditivi nisu mogli biti dešifrirani. Ovo se može desiti nakon ažuriranja sistema. Molimo prijavite se ponovo. - - - Secrets service is not available. Please restart the device and try again. - Secrets usluga nije dostupna. Ponovo pokrenite uređaj i pokušajte ponovo. - - - - LoginPage - - Email - E-pošta - - - Enter if required - Unesite ako je potrebno - - - Enter your Pushover account credentials to get started. - Unesite podatke vašeg Pushover računa za početak. - - - Logging in... - Prijavljivanje... - - - Login - Prijava - - - Password - Lozinka - - - Registering device... - Registracija uređaja... - - - Sign up at pushover.net - Registrujte se na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ovo je nezvaničan klijent. Nije izdat ili podržan od strane Pushover, LLC. - - - Two-Factor Code - Dvofaktorski kod - - - Verify - Potvrdi - - - - MainPage - - %1 unread - %1 nepročitanih - - - Connection: disconnected + + ConnectionIndicator + + Connected + Povezano + + + Connecting... + Povezivanje... + + + Disconnected + Prekinuto + + + Error + Greška + + + Session closed + Sesija zatvorena + + + + CoverPage + + %1 unread + %1 nepročitanih + + + + Daemon + + Credentials rejected by server. Please re-login. + Server je odbio akreditive. Molimo prijavite se ponovo. + + + Session expired. Please re-login. + Sesija je istekla. Molimo prijavite se ponovo. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacija je ažurirana — sačuvani akreditivi koriste stariji format i ne mogu se migrirati. Molimo prijavite se ponovo. + + + Failed to save credentials + Čuvanje akreditiva nije uspjelo + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Sačuvani akreditivi nisu mogli biti dešifrirani. Ovo se može desiti nakon ažuriranja sistema. Molimo prijavite se ponovo. + + + Secrets service is not available. Please restart the device and try again. + Secrets usluga nije dostupna. Ponovo pokrenite uređaj i pokušajte ponovo. + + + + LoginPage + + Email + E-pošta + + + Enter if required + Unesite ako je potrebno + + + Enter your Pushover account credentials to get started. + Unesite podatke vašeg Pushover računa za početak. + + + Logging in... + Prijavljivanje... + + + Login + Prijava + + + Password + Lozinka + + + Registering device... + Registracija uređaja... + + + Sign up at pushover.net + Registrujte se na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ovo je nezvaničan klijent. Nije izdat ili podržan od strane Pushover, LLC. + + + Two-Factor Code + Dvofaktorski kod + + + Verify + Potvrdi + + + + MainPage + + %1 unread + %1 nepročitanih + + + Connection: disconnected Pull down to sync - Veza: prekinuta + Veza: prekinuta Povucite dolje za sinhronizaciju - - - Mark all read - Označi sve kao pročitano - - - No Notifications - Nema obavještenja - - - Settings - Postavke - - - Waiting for daemon... - Čekanje na servis... - - - - MessageDelegate - - %1h ago - %1h prije - - - %1m ago - %1min prije - - - Delete - Obriši - - - Just now - Upravo sada - - - - MessageDetailPage - - Acknowledge - Potvrdi - - - Delete - Obriši - - - Deleting - Brisanje - - - Message - Poruka - - - Open URL - Otvori URL - - - - NotificationManager - - Acknowledge - Potvrdi - - - Dismiss - Odbaci - - - Open - Otvori - - - - SailPushClient - - Acknowledge failed - Potvrda nije uspjela - - - Delete failed - Brisanje nije uspjelo - - - Download failed - Preuzimanje nije uspjelo - - - Invalid server response - Nevažeći odgovor servera - - - Login failed - Prijava nije uspjela - - - Registration failed - Registracija nije uspjela - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuta - - - 15 minutes - 15 minuta - - - 30 minutes - 30 minuta - - - 5 minutes - 5 minuta - - - About - O aplikaciji - - - Account - Račun - - - Automatically start the notification daemon when the device boots. - Automatski pokreni servis obavještenja kada se uređaj pokrene. - - - Automatically start the notification service at boot - Automatski pokreni servis obavještenja pri startu - - - Background - Pozadina - - - Cancel - Otkaži - - - Connection - Veza - - - Deep Sleep - Duboki san - - - Enable Polling Fallback - Omogući polling rezervu - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ako WebSocket prekine vezu na 30 sekundi, prelazi na periodični polling za obavještenja. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Održava CPU budnim tokom sinhronizacije poruka za pouzdanu isporuku. Koristi MCE keepalive API. - - - Logout - Odjava - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Napomena: Za postojan WebSocket u dubokom snu, pokrenite: -mcetool --set-suspend-policy=early - - - Notifications - Obavještenja - - - Polling Fallback - Polling rezerva - - - Polling Interval - Polling interval - - - Prevent Deep Sleep During Sync - Spriječiti duboki san tokom sinhronizacije - - - Settings - Postavke - - - Start on boot - Pokreni pri startu - - - Status: %1 - Status: %1 - - - Sync Now - Sinhroniziraj sada - - - System Notifications - Sistemska obavještenja - - - This will clear your credentials and stop the background service. Are you sure? - Ovo će obrisati vaše akreditive i zaustaviti pozadinski servis. Da li ste sigurni? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označi sve kao pročitano + + + No Notifications + Nema obavještenja + + + Settings + Postavke + + + Waiting for daemon... + Čekanje na servis... + + + + MessageDelegate + + %1h ago + %1h prije + + + %1m ago + %1min prije + + + Delete + Obriši + + + Just now + Upravo sada + + + + MessageDetailPage + + Acknowledge + Potvrdi + + + Delete + Obriši + + + Deleting + Brisanje + + + Message + Poruka + + + Open URL + Otvori URL + + + + NotificationManager + + Acknowledge + Potvrdi + + + Dismiss + Odbaci + + + Open + Otvori + + + + SailPushClient + + Acknowledge failed + Potvrda nije uspjela + + + Delete failed + Brisanje nije uspjelo + + + Download failed + Preuzimanje nije uspjelo + + + Invalid server response + Nevažeći odgovor servera + + + Login failed + Prijava nije uspjela + + + Registration failed + Registracija nije uspjela + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuta + + + 15 minutes + 15 minuta + + + 30 minutes + 30 minuta + + + 5 minutes + 5 minuta + + + About + O aplikaciji + + + Account + Račun + + + Automatically start the notification daemon when the device boots. + Automatski pokreni servis obavještenja kada se uređaj pokrene. + + + Automatically start the notification service at boot + Automatski pokreni servis obavještenja pri startu + + + Background + Pozadina + + + Cancel + Otkaži + + + Connection + Veza + + + Enable Polling Fallback + Omogući polling rezervu + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ako WebSocket prekine vezu na 30 sekundi, prelazi na periodični polling za obavještenja. + + + Logout + Odjava + + + Notifications + Obavještenja + + + Polling Fallback + Polling rezerva + + + Polling Interval + Polling interval + + + Settings + Postavke + + + Start on boot + Pokreni pri startu + + + Status: %1 + Status: %1 + + + Sync Now + Sinhroniziraj sada + + + System Notifications + Sistemska obavještenja + + + This will clear your credentials and stop the background service. Are you sure? + Ovo će obrisati vaše akreditive i zaustaviti pozadinski servis. Da li ste sigurni? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Nezvaničan Pushover Open Client za SailfishOS. + Nezvaničan Pushover Open Client za SailfishOS. Nije izdat ili podržan od strane Pushover, LLC. - - + + + Power + Napajanje + + + Keep Connection Alive When Screen Off + Zadrži vezu kada je ekran isključen + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Zadržava WebSocket aktivnim kada je ekran isključen za isporuku u stvarnom vremenu, putem MCE-keepalive interfejsa po aplikaciji. Veća potrošnja baterije. + + diff --git a/translations/sailpush_ca.ts b/translations/sailpush_ca.ts index 7a5f234..7846500 100644 --- a/translations/sailpush_ca.ts +++ b/translations/sailpush_ca.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Connectat - - - Connecting... - Connectant... - - - Disconnected - Desconnectat - - - Error - Error - - - Session closed - Sessió tancada - - - - CoverPage - - %1 unread - %1 no llegits - - - - Daemon - - Credentials rejected by server. Please re-login. - Credencials rebutjades pel servidor. Torna a iniciar sessió. - - - Session expired. Please re-login. - Sessió expirada. Torna a iniciar sessió. - - - - DaemonConnector - - Cannot connect to background service - No es pot connectar al servei en segon pla - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - L'aplicació s'ha actualitzat — les credencials desades fan servir un format més antic i no es poden migrar. Torna a iniciar sessió. - - - Failed to save credentials - Error en desar les credencials - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Les credencials desades no s'han pogut desxifrar. Això pot passar després d'una actualització del sistema. Torna a iniciar sessió. - - - Secrets service is not available. Please restart the device and try again. - El servei de secrets no està disponible. Reinicieu el dispositiu i torneu-ho a provar. - - - - LoginPage - - Email - Correu electrònic - - - Enter if required - Introduir si cal - - - Enter your Pushover account credentials to get started. - Introdueix les credencials del teu compte Pushover per començar. - - - Logging in... - Inici de sessió... - - - Login - Iniciar sessió - - - Password - Contrasenya - - - Registering device... - Registrant dispositiu... - - - Sign up at pushover.net - Registra't a pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Aquest és un client no oficial. No publicat ni recolzat per Pushover, LLC. - - - Two-Factor Code - Codi de dos factors - - - Verify - Verificar - - - - MainPage - - %1 unread - %1 no llegits - - - Connection: disconnected + + ConnectionIndicator + + Connected + Connectat + + + Connecting... + Connectant... + + + Disconnected + Desconnectat + + + Error + Error + + + Session closed + Sessió tancada + + + + CoverPage + + %1 unread + %1 no llegits + + + + Daemon + + Credentials rejected by server. Please re-login. + Credencials rebutjades pel servidor. Torna a iniciar sessió. + + + Session expired. Please re-login. + Sessió expirada. Torna a iniciar sessió. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + L'aplicació s'ha actualitzat — les credencials desades fan servir un format més antic i no es poden migrar. Torna a iniciar sessió. + + + Failed to save credentials + Error en desar les credencials + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Les credencials desades no s'han pogut desxifrar. Això pot passar després d'una actualització del sistema. Torna a iniciar sessió. + + + Secrets service is not available. Please restart the device and try again. + El servei de secrets no està disponible. Reinicieu el dispositiu i torneu-ho a provar. + + + + LoginPage + + Email + Correu electrònic + + + Enter if required + Introduir si cal + + + Enter your Pushover account credentials to get started. + Introdueix les credencials del teu compte Pushover per començar. + + + Logging in... + Inici de sessió... + + + Login + Iniciar sessió + + + Password + Contrasenya + + + Registering device... + Registrant dispositiu... + + + Sign up at pushover.net + Registra't a pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Aquest és un client no oficial. No publicat ni recolzat per Pushover, LLC. + + + Two-Factor Code + Codi de dos factors + + + Verify + Verificar + + + + MainPage + + %1 unread + %1 no llegits + + + Connection: disconnected Pull down to sync - Connexió: desconnectat + Connexió: desconnectat Llisca cap avall per sincronitzar - - - Mark all read - Marcar tot com a llegit - - - No Notifications - Sense notificacions - - - Settings - Configuració - - - Waiting for daemon... - Esperant el servei... - - - - MessageDelegate - - %1h ago - fa %1 h - - - %1m ago - fa %1 min - - - Delete - Eliminar - - - Just now - Ara mateix - - - - MessageDetailPage - - Acknowledge - Confirmar lectura - - - Delete - Eliminar - - - Deleting - Eliminant... - - - Message - Missatge - - - Open URL - Obrir URL - - - - NotificationManager - - Acknowledge - Confirmar lectura - - - Dismiss - Descartar - - - Open - Obrir - - - - SailPushClient - - Acknowledge failed - Error en confirmar lectura - - - Delete failed - Error en eliminar - - - Download failed - Error en descarregar - - - Invalid server response - Resposta del servidor no vàlida - - - Login failed - Error en iniciar sessió - - - Registration failed - Error en registrar - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minuts - - - 30 minutes - 30 minuts - - - 5 minutes - 5 minuts - - - About - Sobre - - - Account - Compte - - - Automatically start the notification daemon when the device boots. - Iniciar automàticament el servei de notificacions en encendre el dispositiu. - - - Automatically start the notification service at boot - Iniciar automàticament el servei de notificacions a l'arrancada - - - Background - Segon pla - - - Cancel - Cancel·lar - - - Connection - Connexió - - - Deep Sleep - Repòs profund - - - Enable Polling Fallback - Activar reserva per sondeig - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Si el WebSocket es desconnecta durant 30 s, canvia a sondeig periòdic de notificacions. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Manté la CPU activa durant la sincronització de missatges per garantir el lliurament. Usa l'API keepalive MCE. - - - Logout - Tancar sessió - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Per a WebSocket persistent en repòs profund, executa: -mcetool --set-suspend-policy=early - - - Notifications - Notificacions - - - Polling Fallback - Reserva per sondeig - - - Polling Interval - Interval de sondeig - - - Prevent Deep Sleep During Sync - Evitar repòs profund durant la sincronització - - - Settings - Configuració - - - Start on boot - Iniciar a l'arrancada - - - Status: %1 - Estat: %1 - - - Sync Now - Sincronitzar ara - - - System Notifications - Notificacions del sistema - - - This will clear your credentials and stop the background service. Are you sure? - Això esborrarà les teves credencials i aturarà el servei en segon pla. N'estàs segur? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcar tot com a llegit + + + No Notifications + Sense notificacions + + + Settings + Configuració + + + Waiting for daemon... + Esperant el servei... + + + + MessageDelegate + + %1h ago + fa %1 h + + + %1m ago + fa %1 min + + + Delete + Eliminar + + + Just now + Ara mateix + + + + MessageDetailPage + + Acknowledge + Confirmar lectura + + + Delete + Eliminar + + + Deleting + Eliminant... + + + Message + Missatge + + + Open URL + Obrir URL + + + + NotificationManager + + Acknowledge + Confirmar lectura + + + Dismiss + Descartar + + + Open + Obrir + + + + SailPushClient + + Acknowledge failed + Error en confirmar lectura + + + Delete failed + Error en eliminar + + + Download failed + Error en descarregar + + + Invalid server response + Resposta del servidor no vàlida + + + Login failed + Error en iniciar sessió + + + Registration failed + Error en registrar + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minuts + + + 30 minutes + 30 minuts + + + 5 minutes + 5 minuts + + + About + Sobre + + + Account + Compte + + + Automatically start the notification daemon when the device boots. + Iniciar automàticament el servei de notificacions en encendre el dispositiu. + + + Automatically start the notification service at boot + Iniciar automàticament el servei de notificacions a l'arrancada + + + Background + Segon pla + + + Cancel + Cancel·lar + + + Connection + Connexió + + + Enable Polling Fallback + Activar reserva per sondeig + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Si el WebSocket es desconnecta durant 30 s, canvia a sondeig periòdic de notificacions. + + + Logout + Tancar sessió + + + Notifications + Notificacions + + + Polling Fallback + Reserva per sondeig + + + Polling Interval + Interval de sondeig + + + Settings + Configuració + + + Start on boot + Iniciar a l'arrancada + + + Status: %1 + Estat: %1 + + + Sync Now + Sincronitzar ara + + + System Notifications + Notificacions del sistema + + + This will clear your credentials and stop the background service. Are you sure? + Això esborrarà les teves credencials i aturarà el servei en segon pla. N'estàs segur? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Client Pushover Open no oficial per a SailfishOS. + Client Pushover Open no oficial per a SailfishOS. No publicat ni recolzat per Pushover, LLC. - - + + + Power + Energia + + + Keep Connection Alive When Screen Off + Mantenir la connexió amb la pantalla apagada + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Manté el WebSocket actiu amb la pantalla apagada per al lliurament en temps real, mitjançant l'API de keepalive MCE per aplicació. Consum de bateria més elevat. + + diff --git a/translations/sailpush_cs.ts b/translations/sailpush_cs.ts index da53294..8e428f9 100644 --- a/translations/sailpush_cs.ts +++ b/translations/sailpush_cs.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Připojeno - - - Connecting... - Připojování... - - - Disconnected - Odpojeno - - - Error - Chyba - - - Session closed - Relace uzavřena - - - - CoverPage - - %1 unread - %1 nepřečtených - - - - Daemon - - Credentials rejected by server. Please re-login. - Přihlašovací údaje odmítnuty serverem. Přihlaste se znovu. - - - Session expired. Please re-login. - Relace vypršela. Přihlaste se znovu. - - - - DaemonConnector - - Cannot connect to background service - Nelze se připojit ke službě na pozadí - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikace byla aktualizována — uložené přihlašovací údaje používají starší formát a nelze je přenést. Přihlaste se znovu. - - - Failed to save credentials - Nepodařilo se uložit přihlašovací údaje - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Uložené přihlašovací údaje nelze dešifrovat. K tomu může dojít po aktualizaci systému. Přihlaste se znovu. - - - Secrets service is not available. Please restart the device and try again. - Služba secrets není k dispozici. Restartujte zařízení a zkuste to znovu. - - - - LoginPage - - Email - E-mail - - - Enter if required - Zadejte, pokud je vyžadován - - - Enter your Pushover account credentials to get started. - Zadejte přihlašovací údaje k účtu Pushover pro začátek. - - - Logging in... - Přihlašování... - - - Login - Přihlásit se - - - Password - Heslo - - - Registering device... - Registrace zařízení... - - - Sign up at pushover.net - Zaregistrujte se na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Toto je neoficiální klient. Není vydáván ani podporován společností Pushover, LLC. - - - Two-Factor Code - Dvoufaktorový kód - - - Verify - Ověřit - - - - MainPage - - %1 unread - %1 nepřečtených - - - Connection: disconnected + + ConnectionIndicator + + Connected + Připojeno + + + Connecting... + Připojování... + + + Disconnected + Odpojeno + + + Error + Chyba + + + Session closed + Relace uzavřena + + + + CoverPage + + %1 unread + %1 nepřečtených + + + + Daemon + + Credentials rejected by server. Please re-login. + Přihlašovací údaje odmítnuty serverem. Přihlaste se znovu. + + + Session expired. Please re-login. + Relace vypršela. Přihlaste se znovu. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikace byla aktualizována — uložené přihlašovací údaje používají starší formát a nelze je přenést. Přihlaste se znovu. + + + Failed to save credentials + Nepodařilo se uložit přihlašovací údaje + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Uložené přihlašovací údaje nelze dešifrovat. K tomu může dojít po aktualizaci systému. Přihlaste se znovu. + + + Secrets service is not available. Please restart the device and try again. + Služba secrets není k dispozici. Restartujte zařízení a zkuste to znovu. + + + + LoginPage + + Email + E-mail + + + Enter if required + Zadejte, pokud je vyžadován + + + Enter your Pushover account credentials to get started. + Zadejte přihlašovací údaje k účtu Pushover pro začátek. + + + Logging in... + Přihlašování... + + + Login + Přihlásit se + + + Password + Heslo + + + Registering device... + Registrace zařízení... + + + Sign up at pushover.net + Zaregistrujte se na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Toto je neoficiální klient. Není vydáván ani podporován společností Pushover, LLC. + + + Two-Factor Code + Dvoufaktorový kód + + + Verify + Ověřit + + + + MainPage + + %1 unread + %1 nepřečtených + + + Connection: disconnected Pull down to sync - Připojení: odpojeno + Připojení: odpojeno Stáhněte dolů pro synchronizaci - - - Mark all read - Označit vše jako přečtené - - - No Notifications - Žádná oznámení - - - Settings - Nastavení - - - Waiting for daemon... - Čekání na démona... - - - - MessageDelegate - - %1h ago - %1h zpátky - - - %1m ago - %1m zpátky - - - Delete - Smazat - - - Just now - Právě teď - - - - MessageDetailPage - - Acknowledge - Potvrdit - - - Delete - Smazat - - - Deleting - Mazání - - - Message - Zpráva - - - Open URL - Otevřít URL - - - - NotificationManager - - Acknowledge - Potvrdit - - - Dismiss - Zavřít - - - Open - Otevřít - - - - SailPushClient - - Acknowledge failed - Potvrzení selhalo - - - Delete failed - Mazání selhalo - - - Download failed - Stahování selhalo - - - Invalid server response - Neplatná odpověď serveru - - - Login failed - Přihlášení selhalo - - - Registration failed - Registrace selhala - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuta - - - 15 minutes - 15 minut - - - 30 minutes - 30 minut - - - 5 minutes - 5 minut - - - About - O aplikaci - - - Account - Účet - - - Automatically start the notification daemon when the device boots. - Automaticky spustit démona oznámení po spuštění zařízení. - - - Automatically start the notification service at boot - Automaticky spustit službu oznámení při startu - - - Background - Na pozadí - - - Cancel - Zrušit - - - Connection - Připojení - - - Deep Sleep - Hluboký spánek - - - Enable Polling Fallback - Povolit záložní dotazování - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Pokud se WebSocket odpojí na 30 sekund, přepne se na periodické dotazování oznámení. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Udržuje procesor bdělý během synchronizace zpráv pro zajištění spolehlivého doručení. Používá API MCE keepalive. - - - Logout - Odhlásit se - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Poznámka: Pro trvalý WebSocket v hlubokém spánku spusťte: -mcetool --set-suspend-policy=early - - - Notifications - Oznámení - - - Polling Fallback - Záložní dotazování - - - Polling Interval - Interval dotazování - - - Prevent Deep Sleep During Sync - Zabránit hlubokému spánku během synchronizace - - - Settings - Nastavení - - - Start on boot - Spustit při startu - - - Status: %1 - Stav: %1 - - - Sync Now - Synchronizovat nyní - - - System Notifications - Systémová oznámení - - - This will clear your credentials and stop the background service. Are you sure? - Toto vymaže vaše přihlašovací údaje a zastaví službu na pozadí. Jste si jisti? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označit vše jako přečtené + + + No Notifications + Žádná oznámení + + + Settings + Nastavení + + + Waiting for daemon... + Čekání na démona... + + + + MessageDelegate + + %1h ago + %1h zpátky + + + %1m ago + %1m zpátky + + + Delete + Smazat + + + Just now + Právě teď + + + + MessageDetailPage + + Acknowledge + Potvrdit + + + Delete + Smazat + + + Deleting + Mazání + + + Message + Zpráva + + + Open URL + Otevřít URL + + + + NotificationManager + + Acknowledge + Potvrdit + + + Dismiss + Zavřít + + + Open + Otevřít + + + + SailPushClient + + Acknowledge failed + Potvrzení selhalo + + + Delete failed + Mazání selhalo + + + Download failed + Stahování selhalo + + + Invalid server response + Neplatná odpověď serveru + + + Login failed + Přihlášení selhalo + + + Registration failed + Registrace selhala + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuta + + + 15 minutes + 15 minut + + + 30 minutes + 30 minut + + + 5 minutes + 5 minut + + + About + O aplikaci + + + Account + Účet + + + Automatically start the notification daemon when the device boots. + Automaticky spustit démona oznámení po spuštění zařízení. + + + Automatically start the notification service at boot + Automaticky spustit službu oznámení při startu + + + Background + Na pozadí + + + Cancel + Zrušit + + + Connection + Připojení + + + Enable Polling Fallback + Povolit záložní dotazování + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Pokud se WebSocket odpojí na 30 sekund, přepne se na periodické dotazování oznámení. + + + Logout + Odhlásit se + + + Notifications + Oznámení + + + Polling Fallback + Záložní dotazování + + + Polling Interval + Interval dotazování + + + Settings + Nastavení + + + Start on boot + Spustit při startu + + + Status: %1 + Stav: %1 + + + Sync Now + Synchronizovat nyní + + + System Notifications + Systémová oznámení + + + This will clear your credentials and stop the background service. Are you sure? + Toto vymaže vaše přihlašovací údaje a zastaví službu na pozadí. Jste si jisti? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neoficiální klient Pushover pro SailfishOS. + Neoficiální klient Pushover pro SailfishOS. Není vydáván ani podporován společností Pushover, LLC. - - + + + Power + Napájení + + + Keep Connection Alive When Screen Off + Udržovat připojení při vypnuté obrazovce + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Udržuje WebSocket aktivní při vypnuté obrazovce pro doručování v reálném čase pomocí rozhraní keepalive MCE pro aplikaci. Vyšší spotřeba baterie. + + diff --git a/translations/sailpush_cy.ts b/translations/sailpush_cy.ts index 1ed59d7..e2838e9 100644 --- a/translations/sailpush_cy.ts +++ b/translations/sailpush_cy.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Cysylltiedig - - - Connecting... - Cysylltu... - - - Disconnected - Datgysylltiedig - - - Error - Gwall - - - Session closed - Sesiwn wedi'i gau - - - - CoverPage - - %1 unread - %1 heb eu darllen - - - - Daemon - - Credentials rejected by server. Please re-login. - Gwrthodwyd y manylion gan y gweinydd. Mewngofnodwch eto os gwelwch yn dda. - - - Session expired. Please re-login. - Mae'r sesiwn wedi dod i ben. Mewngofnodwch eto os gwelwch yn dda. - - - - DaemonConnector - - Cannot connect to background service - Methu cysylltu â'r gwasanaeth cefndir - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Diweddarwyd yr ap — mae'r manylion a gadwyd yn defnyddio hŷn fformat ac ni ellir eu mudoli. Mewngofnodwch eto os gwelwch yn dda. - - - Failed to save credentials - Methodd cadw'r manylion - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Ni ellid datgryptio'r manylion a gadwyd. Gall hyn ddigwydd ar ôl diweddariad system. Mewngofnodwch eto os gwelwch yn dda. - - - Secrets service is not available. Please restart the device and try again. - Nid yw gwasanaeth secrets ar gael. Ail-gychwynnwch y ddyfais a rhowch gynnig arall arni. - - - - LoginPage - - Email - E-bost - - - Enter if required - Rhowch os oes angen - - - Enter your Pushover account credentials to get started. - Rhowch eich manylion cyfrif Pushover i ddechrau. - - - Logging in... - Mewngofnodi... - - - Login - Mewngofnodi - - - Password - Cyfrinair - - - Registering device... - Cofrestru'r ddyfais... - - - Sign up at pushover.net - Cofrestrwch yn pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Mae hwn yn gleient answyddogol. Nid yw wedi'i ryddhau neu'i gefnogi gan Pushover, LLC. - - - Two-Factor Code - Cod dau ffactor - - - Verify - Gwirio - - - - MainPage - - %1 unread - %1 heb eu darllen - - - Connection: disconnected + + ConnectionIndicator + + Connected + Cysylltiedig + + + Connecting... + Cysylltu... + + + Disconnected + Datgysylltiedig + + + Error + Gwall + + + Session closed + Sesiwn wedi'i gau + + + + CoverPage + + %1 unread + %1 heb eu darllen + + + + Daemon + + Credentials rejected by server. Please re-login. + Gwrthodwyd y manylion gan y gweinydd. Mewngofnodwch eto os gwelwch yn dda. + + + Session expired. Please re-login. + Mae'r sesiwn wedi dod i ben. Mewngofnodwch eto os gwelwch yn dda. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Diweddarwyd yr ap — mae'r manylion a gadwyd yn defnyddio hŷn fformat ac ni ellir eu mudoli. Mewngofnodwch eto os gwelwch yn dda. + + + Failed to save credentials + Methodd cadw'r manylion + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Ni ellid datgryptio'r manylion a gadwyd. Gall hyn ddigwydd ar ôl diweddariad system. Mewngofnodwch eto os gwelwch yn dda. + + + Secrets service is not available. Please restart the device and try again. + Nid yw gwasanaeth secrets ar gael. Ail-gychwynnwch y ddyfais a rhowch gynnig arall arni. + + + + LoginPage + + Email + E-bost + + + Enter if required + Rhowch os oes angen + + + Enter your Pushover account credentials to get started. + Rhowch eich manylion cyfrif Pushover i ddechrau. + + + Logging in... + Mewngofnodi... + + + Login + Mewngofnodi + + + Password + Cyfrinair + + + Registering device... + Cofrestru'r ddyfais... + + + Sign up at pushover.net + Cofrestrwch yn pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Mae hwn yn gleient answyddogol. Nid yw wedi'i ryddhau neu'i gefnogi gan Pushover, LLC. + + + Two-Factor Code + Cod dau ffactor + + + Verify + Gwirio + + + + MainPage + + %1 unread + %1 heb eu darllen + + + Connection: disconnected Pull down to sync - Cysylltiad: wedi'i ddatgysylltu + Cysylltiad: wedi'i ddatgysylltu Tynnwch i lawr i gydweddu - - - Mark all read - Marcio popeth wedi'i ddarllen - - - No Notifications - Dim hysbysiadau - - - Settings - Gosodiadau - - - Waiting for daemon... - Aros am y gwasanaeth... - - - - MessageDelegate - - %1h ago - %1a yn ôl - - - %1m ago - %1m yn ôl - - - Delete - Dileu - - - Just now - Nawr - - - - MessageDetailPage - - Acknowledge - Cydnabod - - - Delete - Dileu - - - Deleting - Dileu - - - Message - Neges - - - Open URL - Agor URL - - - - NotificationManager - - Acknowledge - Cydnabod - - - Dismiss - Gwrthod - - - Open - Agor - - - - SailPushClient - - Acknowledge failed - Methodd cydnabod - - - Delete failed - Methodd dileu - - - Download failed - Methodd lawrlwytho - - - Invalid server response - Ymateb gweinydd annilys - - - Login failed - Methodd mewngofnodi - - - Registration failed - Methodd cofrestru - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 munud - - - 15 minutes - 15 munud - - - 30 minutes - 30 munud - - - 5 minutes - 5 munud - - - About - Ynghylch - - - Account - Cyfrif - - - Automatically start the notification daemon when the device boots. - Dechrau'r gwasanaeth hysbysu yn awtomatig pan fydd y ddyfais yn cychwyn. - - - Automatically start the notification service at boot - Dechrau'r gwasanaeth hysbysu yn awtomatig wrth gychwyn - - - Background - Cefndir - - - Cancel - Canslo - - - Connection - Cysylltiad - - - Deep Sleep - Cwsg dwfn - - - Enable Polling Fallback - Galluogi polling wrth gefn - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Os yw WebSocket yn datgysylltu am 30 eiliad, mae'n dychwelyd i bollinio cyfnodol am hysbysiadau. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mae'n cadw'r CPU yn effro yn ystod cydweddu negeseuon i sicrhau dosbarthiad dibynadwy. Mae'n defnyddio API cadw'n fyw MCE. - - - Logout - Allgofnodi - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nodyn: Ar gyfer WebSocket parhaol mewn cwsg dwfn, rhedwch: -mcetool --set-suspend-policy=early - - - Notifications - Hysbysiadau - - - Polling Fallback - Polling wrth gefn - - - Polling Interval - Cyfnod pollinio - - - Prevent Deep Sleep During Sync - Atal cwsg dwfn yn ystod cydweddu - - - Settings - Gosodiadau - - - Start on boot - Dechrau wrth gychwyn - - - Status: %1 - Statws: %1 - - - Sync Now - Cydweddu nawr - - - System Notifications - Hysbysiadau system - - - This will clear your credentials and stop the background service. Are you sure? - Bydd hyn yn clirio eich manylion ac yn atal y gwasanaeth cefndir. Ydych chi'n siŵr? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcio popeth wedi'i ddarllen + + + No Notifications + Dim hysbysiadau + + + Settings + Gosodiadau + + + Waiting for daemon... + Aros am y gwasanaeth... + + + + MessageDelegate + + %1h ago + %1a yn ôl + + + %1m ago + %1m yn ôl + + + Delete + Dileu + + + Just now + Nawr + + + + MessageDetailPage + + Acknowledge + Cydnabod + + + Delete + Dileu + + + Deleting + Dileu + + + Message + Neges + + + Open URL + Agor URL + + + + NotificationManager + + Acknowledge + Cydnabod + + + Dismiss + Gwrthod + + + Open + Agor + + + + SailPushClient + + Acknowledge failed + Methodd cydnabod + + + Delete failed + Methodd dileu + + + Download failed + Methodd lawrlwytho + + + Invalid server response + Ymateb gweinydd annilys + + + Login failed + Methodd mewngofnodi + + + Registration failed + Methodd cofrestru + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 munud + + + 15 minutes + 15 munud + + + 30 minutes + 30 munud + + + 5 minutes + 5 munud + + + About + Ynghylch + + + Account + Cyfrif + + + Automatically start the notification daemon when the device boots. + Dechrau'r gwasanaeth hysbysu yn awtomatig pan fydd y ddyfais yn cychwyn. + + + Automatically start the notification service at boot + Dechrau'r gwasanaeth hysbysu yn awtomatig wrth gychwyn + + + Background + Cefndir + + + Cancel + Canslo + + + Connection + Cysylltiad + + + Enable Polling Fallback + Galluogi polling wrth gefn + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Os yw WebSocket yn datgysylltu am 30 eiliad, mae'n dychwelyd i bollinio cyfnodol am hysbysiadau. + + + Logout + Allgofnodi + + + Notifications + Hysbysiadau + + + Polling Fallback + Polling wrth gefn + + + Polling Interval + Cyfnod pollinio + + + Settings + Gosodiadau + + + Start on boot + Dechrau wrth gychwyn + + + Status: %1 + Statws: %1 + + + Sync Now + Cydweddu nawr + + + System Notifications + Hysbysiadau system + + + This will clear your credentials and stop the background service. Are you sure? + Bydd hyn yn clirio eich manylion ac yn atal y gwasanaeth cefndir. Ydych chi'n siŵr? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Pushover Open Client answyddogol ar gyfer SailfishOS. -Nid yw wedi'i ryddhau neu'i gefnogi gan Pushover, LLC. - - + Pushover Open Client answyddogol ar gyfer SailfishOS. +Nid yw wedi'i ryddhau neu'i gefnogi gan Pushover, LLC. + + + Power + Pŵer + + + Keep Connection Alive When Screen Off + Cadw'r cysylltiad yn fyw pan fydd y sgrin wedi'i diffodd + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mae'n cadw'r WebSocket yn fyw pan fydd y sgrin wedi'i diffodd ar gyfer dosbarthu mewn amser real, drwy API keepalive MCE yr ap. Defnydd mwy o fatri. + + diff --git a/translations/sailpush_da.ts b/translations/sailpush_da.ts index 8755b2b..fbe8617 100644 --- a/translations/sailpush_da.ts +++ b/translations/sailpush_da.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Forbundet - - - Connecting... - Tilslutter... - - - Disconnected - Afbrudt - - - Error - Fejl - - - Session closed - Session lukket - - - - CoverPage - - %1 unread - %1 ulæste - - - - Daemon - - Credentials rejected by server. Please re-login. - Loginoplysningerne blev afvist af serveren. Log venligst ind igen. - - - Session expired. Please re-login. - Sessionen er udløbet. Log venligst ind igen. - - - - DaemonConnector - - Cannot connect to background service - Kan ikke oprette forbindelse til baggrundstjenesten - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Appen er blevet opgraderet — gemte loginoplysninger bruger et ældre format og kan ikke overføres. Log venligst ind igen. - - - Failed to save credentials - Kunne ikke gemme loginoplysninger - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Gemte loginoplysninger kunne ikke dekrypteres. Dette kan ske efter en systemopdatering. Log venligst ind igen. - - - Secrets service is not available. Please restart the device and try again. - Secrets-tjenesten er ikke tilgængelig. Genstart enheden og prøv igen. - - - - LoginPage - - Email - E-mail - - - Enter if required - Indtast om nødvendigt - - - Enter your Pushover account credentials to get started. - Indtast dine Pushover-kontooplysninger for at komme i gang. - - - Logging in... - Logger ind... - - - Login - Log ind - - - Password - Adgangskode - - - Registering device... - Registrerer enhed... - - - Sign up at pushover.net - Tilmeld dig på pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Dette er en uofficiel klient. Ikke udgivet eller understøttet af Pushover, LLC. - - - Two-Factor Code - Tofaktorkode - - - Verify - Bekræft - - - - MainPage - - %1 unread - %1 ulæste - - - Connection: disconnected + + ConnectionIndicator + + Connected + Forbundet + + + Connecting... + Tilslutter... + + + Disconnected + Afbrudt + + + Error + Fejl + + + Session closed + Session lukket + + + + CoverPage + + %1 unread + %1 ulæste + + + + Daemon + + Credentials rejected by server. Please re-login. + Loginoplysningerne blev afvist af serveren. Log venligst ind igen. + + + Session expired. Please re-login. + Sessionen er udløbet. Log venligst ind igen. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Appen er blevet opgraderet — gemte loginoplysninger bruger et ældre format og kan ikke overføres. Log venligst ind igen. + + + Failed to save credentials + Kunne ikke gemme loginoplysninger + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Gemte loginoplysninger kunne ikke dekrypteres. Dette kan ske efter en systemopdatering. Log venligst ind igen. + + + Secrets service is not available. Please restart the device and try again. + Secrets-tjenesten er ikke tilgængelig. Genstart enheden og prøv igen. + + + + LoginPage + + Email + E-mail + + + Enter if required + Indtast om nødvendigt + + + Enter your Pushover account credentials to get started. + Indtast dine Pushover-kontooplysninger for at komme i gang. + + + Logging in... + Logger ind... + + + Login + Log ind + + + Password + Adgangskode + + + Registering device... + Registrerer enhed... + + + Sign up at pushover.net + Tilmeld dig på pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Dette er en uofficiel klient. Ikke udgivet eller understøttet af Pushover, LLC. + + + Two-Factor Code + Tofaktorkode + + + Verify + Bekræft + + + + MainPage + + %1 unread + %1 ulæste + + + Connection: disconnected Pull down to sync - Forbindelse: afbrudt + Forbindelse: afbrudt Træk ned for at synkronisere - - - Mark all read - Marker alle som læst - - - No Notifications - Ingen notifikationer - - - Settings - Indstillinger - - - Waiting for daemon... - Venter på tjenesten... - - - - MessageDelegate - - %1h ago - %1t siden - - - %1m ago - %1m siden - - - Delete - Slet - - - Just now - Lige nu - - - - MessageDetailPage - - Acknowledge - Bekræft - - - Delete - Slet - - - Deleting - Sletter - - - Message - Besked - - - Open URL - Åbn URL - - - - NotificationManager - - Acknowledge - Bekræft - - - Dismiss - Afvis - - - Open - Åbn - - - - SailPushClient - - Acknowledge failed - Bekræftelse mislykkedes - - - Delete failed - Sletning mislykkedes - - - Download failed - Download mislykkedes - - - Invalid server response - Ugyldigt serversvar - - - Login failed - Login mislykkedes - - - Registration failed - Registrering mislykkedes - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minutter - - - 30 minutes - 30 minutter - - - 5 minutes - 5 minutter - - - About - Om - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Start notifikationstjenesten automatisk når enheden starter. - - - Automatically start the notification service at boot - Start notifikationstjenesten automatisk ved opstart - - - Background - Baggrund - - - Cancel - Annuller - - - Connection - Forbindelse - - - Deep Sleep - Dyb søvn - - - Enable Polling Fallback - Aktiver polling-reserve - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Hvis WebSocket afbrydes i 30 sekunder, falder tilbage til periodisk polling for notifikationer. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Holder CPU vågen under beskedsynkronisering for at sikre pålidelig levering. Bruger MCE keepalive API. - - - Logout - Log ud - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Bemærk: For vedvarende WebSocket i dyb søvn, kør: -mcetool --set-suspend-policy=early - - - Notifications - Notifikationer - - - Polling Fallback - Polling-reserve - - - Polling Interval - Polling-interval - - - Prevent Deep Sleep During Sync - Forhindrer dyb søvn under synkronisering - - - Settings - Indstillinger - - - Start on boot - Start ved opstart - - - Status: %1 - Status: %1 - - - Sync Now - Synkroniser nu - - - System Notifications - Systemnotifikationer - - - This will clear your credentials and stop the background service. Are you sure? - Dette vil slette dine loginoplysninger og stoppe baggrundstjenesten. Er du sikker? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marker alle som læst + + + No Notifications + Ingen notifikationer + + + Settings + Indstillinger + + + Waiting for daemon... + Venter på tjenesten... + + + + MessageDelegate + + %1h ago + %1t siden + + + %1m ago + %1m siden + + + Delete + Slet + + + Just now + Lige nu + + + + MessageDetailPage + + Acknowledge + Bekræft + + + Delete + Slet + + + Deleting + Sletter + + + Message + Besked + + + Open URL + Åbn URL + + + + NotificationManager + + Acknowledge + Bekræft + + + Dismiss + Afvis + + + Open + Åbn + + + + SailPushClient + + Acknowledge failed + Bekræftelse mislykkedes + + + Delete failed + Sletning mislykkedes + + + Download failed + Download mislykkedes + + + Invalid server response + Ugyldigt serversvar + + + Login failed + Login mislykkedes + + + Registration failed + Registrering mislykkedes + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minutter + + + 30 minutes + 30 minutter + + + 5 minutes + 5 minutter + + + About + Om + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Start notifikationstjenesten automatisk når enheden starter. + + + Automatically start the notification service at boot + Start notifikationstjenesten automatisk ved opstart + + + Background + Baggrund + + + Cancel + Annuller + + + Connection + Forbindelse + + + Enable Polling Fallback + Aktiver polling-reserve + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Hvis WebSocket afbrydes i 30 sekunder, falder tilbage til periodisk polling for notifikationer. + + + Logout + Log ud + + + Notifications + Notifikationer + + + Polling Fallback + Polling-reserve + + + Polling Interval + Polling-interval + + + Settings + Indstillinger + + + Start on boot + Start ved opstart + + + Status: %1 + Status: %1 + + + Sync Now + Synkroniser nu + + + System Notifications + Systemnotifikationer + + + This will clear your credentials and stop the background service. Are you sure? + Dette vil slette dine loginoplysninger og stoppe baggrundstjenesten. Er du sikker? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Uofficiel Pushover Open Client til SailfishOS. + Uofficiel Pushover Open Client til SailfishOS. Ikke udgivet eller understøttet af Pushover, LLC. - - + + + Power + Strøm + + + Keep Connection Alive When Screen Off + Hold forbindelsen i live når skærmen er slukket + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Holder WebSocket i live når skærmen er slukket til realtidslevering, via per-app MCE-keepalive-API. Højere batteriforbrug. + + diff --git a/translations/sailpush_de.ts b/translations/sailpush_de.ts index 761c46f..2d92f06 100644 --- a/translations/sailpush_de.ts +++ b/translations/sailpush_de.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Verbunden - - - Connecting... - Verbinden... - - - Disconnected - Getrennt - - - Error - Fehler - - - Session closed - Sitzung geschlossen - - - - CoverPage - - %1 unread - %1 ungelesen - - - - Daemon - - Credentials rejected by server. Please re-login. - Anmeldedaten vom Server abgelehnt. Bitte erneut anmelden. - - - Session expired. Please re-login. - Sitzung abgelaufen. Bitte erneut anmelden. - - - - DaemonConnector - - Cannot connect to background service - Verbindung zum Hintergrunddienst nicht möglich - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - App wurde aktualisiert — gespeicherte Anmeldedaten verwenden ein älteres Format und können nicht migriert werden. Bitte erneut anmelden. - - - Failed to save credentials - Anmeldedaten konnten nicht gespeichert werden - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Gespeicherte Anmeldedaten konnten nicht entschlüsselt werden. Dies kann nach einem Systemupdate passieren. Bitte erneut anmelden. - - - Secrets service is not available. Please restart the device and try again. - Der Secrets-Dienst ist nicht verfügbar. Bitte starten Sie das Gerät neu und versuchen Sie es erneut. - - - - LoginPage - - Email - E-Mail - - - Enter if required - Falls erforderlich eingeben - - - Enter your Pushover account credentials to get started. - Geben Sie Ihre Pushover-Kontodaten ein, um zu beginnen. - - - Logging in... - Anmeldung läuft... - - - Login - Anmelden - - - Password - Passwort - - - Registering device... - Gerät wird registriert... - - - Sign up at pushover.net - Registrieren Sie sich auf pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Dies ist ein inoffizieller Client. Nicht veröffentlicht oder unterstützt von Pushover, LLC. - - - Two-Factor Code - Zwei-Faktor-Code - - - Verify - Verifizieren - - - - MainPage - - %1 unread - %1 ungelesen - - - Connection: disconnected + + ConnectionIndicator + + Connected + Verbunden + + + Connecting... + Verbinden... + + + Disconnected + Getrennt + + + Error + Fehler + + + Session closed + Sitzung geschlossen + + + + CoverPage + + %1 unread + %1 ungelesen + + + + Daemon + + Credentials rejected by server. Please re-login. + Anmeldedaten vom Server abgelehnt. Bitte erneut anmelden. + + + Session expired. Please re-login. + Sitzung abgelaufen. Bitte erneut anmelden. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + App wurde aktualisiert — gespeicherte Anmeldedaten verwenden ein älteres Format und können nicht migriert werden. Bitte erneut anmelden. + + + Failed to save credentials + Anmeldedaten konnten nicht gespeichert werden + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Gespeicherte Anmeldedaten konnten nicht entschlüsselt werden. Dies kann nach einem Systemupdate passieren. Bitte erneut anmelden. + + + Secrets service is not available. Please restart the device and try again. + Der Secrets-Dienst ist nicht verfügbar. Bitte starten Sie das Gerät neu und versuchen Sie es erneut. + + + + LoginPage + + Email + E-Mail + + + Enter if required + Falls erforderlich eingeben + + + Enter your Pushover account credentials to get started. + Geben Sie Ihre Pushover-Kontodaten ein, um zu beginnen. + + + Logging in... + Anmeldung läuft... + + + Login + Anmelden + + + Password + Passwort + + + Registering device... + Gerät wird registriert... + + + Sign up at pushover.net + Registrieren Sie sich auf pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Dies ist ein inoffizieller Client. Nicht veröffentlicht oder unterstützt von Pushover, LLC. + + + Two-Factor Code + Zwei-Faktor-Code + + + Verify + Verifizieren + + + + MainPage + + %1 unread + %1 ungelesen + + + Connection: disconnected Pull down to sync - Verbindung: getrennt + Verbindung: getrennt Zum Synchronisieren herunterziehen - - - Mark all read - Alle als gelesen markieren - - - No Notifications - Keine Benachrichtigungen - - - Settings - Einstellungen - - - Waiting for daemon... - Warte auf Dienst... - - - - MessageDelegate - - %1h ago - vor %1h - - - %1m ago - vor %1m - - - Delete - Löschen - - - Just now - Gerade eben - - - - MessageDetailPage - - Acknowledge - Bestätigen - - - Delete - Löschen - - - Deleting - Wird gelöscht - - - Message - Nachricht - - - Open URL - URL öffnen - - - - NotificationManager - - Acknowledge - Bestätigen - - - Dismiss - Verwerfen - - - Open - Öffnen - - - - SailPushClient - - Acknowledge failed - Bestätigung fehlgeschlagen - - - Delete failed - Löschen fehlgeschlagen - - - Download failed - Download fehlgeschlagen - - - Invalid server response - Ungültige Serverantwort - - - Login failed - Anmeldung fehlgeschlagen - - - Registration failed - Registrierung fehlgeschlagen - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 Minute - - - 15 minutes - 15 Minuten - - - 30 minutes - 30 Minuten - - - 5 minutes - 5 Minuten - - - About - Über - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Den Benachrichtigungs-Dienst automatisch starten, wenn das Gerät hochfährt. - - - Automatically start the notification service at boot - Benachrichtigungsdienst automatisch beim Systemstart starten - - - Background - Hintergrund - - - Cancel - Abbrechen - - - Connection - Verbindung - - - Deep Sleep - Tiefschlaf - - - Enable Polling Fallback - Polling-Fallback aktivieren - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Wenn die WebSocket-Verbindung für 30s getrennt wird, wird auf periodisches Polling für Benachrichtigungen umgeschaltet. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Hält die CPU während der Nachrichtensynchronisierung wach, um eine zuverlässige Zustellung zu gewährleisten. Verwendet die MCE-Keepalive-API. - - - Logout - Abmelden - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Hinweis: Für persistente WebSocket im Tiefschlaf, führen Sie aus: -mcetool --set-suspend-policy=early - - - Notifications - Benachrichtigungen - - - Polling Fallback - Polling-Fallback - - - Polling Interval - Polling-Intervall - - - Prevent Deep Sleep During Sync - Tiefschlaf während Synchronisierung verhindern - - - Settings - Einstellungen - - - Start on boot - Beim Starten - - - Status: %1 - Status: %1 - - - Sync Now - Jetzt synchronisieren - - - System Notifications - Systembenachrichtigungen - - - This will clear your credentials and stop the background service. Are you sure? - Dies löscht Ihre Anmeldedaten und stoppt den Hintergrunddienst. Sind Sie sicher? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Alle als gelesen markieren + + + No Notifications + Keine Benachrichtigungen + + + Settings + Einstellungen + + + Waiting for daemon... + Warte auf Dienst... + + + + MessageDelegate + + %1h ago + vor %1h + + + %1m ago + vor %1m + + + Delete + Löschen + + + Just now + Gerade eben + + + + MessageDetailPage + + Acknowledge + Bestätigen + + + Delete + Löschen + + + Deleting + Wird gelöscht + + + Message + Nachricht + + + Open URL + URL öffnen + + + + NotificationManager + + Acknowledge + Bestätigen + + + Dismiss + Verwerfen + + + Open + Öffnen + + + + SailPushClient + + Acknowledge failed + Bestätigung fehlgeschlagen + + + Delete failed + Löschen fehlgeschlagen + + + Download failed + Download fehlgeschlagen + + + Invalid server response + Ungültige Serverantwort + + + Login failed + Anmeldung fehlgeschlagen + + + Registration failed + Registrierung fehlgeschlagen + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 Minute + + + 15 minutes + 15 Minuten + + + 30 minutes + 30 Minuten + + + 5 minutes + 5 Minuten + + + About + Über + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Den Benachrichtigungs-Dienst automatisch starten, wenn das Gerät hochfährt. + + + Automatically start the notification service at boot + Benachrichtigungsdienst automatisch beim Systemstart starten + + + Background + Hintergrund + + + Cancel + Abbrechen + + + Connection + Verbindung + + + Enable Polling Fallback + Polling-Fallback aktivieren + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Wenn die WebSocket-Verbindung für 30s getrennt wird, wird auf periodisches Polling für Benachrichtigungen umgeschaltet. + + + Logout + Abmelden + + + Notifications + Benachrichtigungen + + + Polling Fallback + Polling-Fallback + + + Polling Interval + Polling-Intervall + + + Settings + Einstellungen + + + Start on boot + Beim Starten + + + Status: %1 + Status: %1 + + + Sync Now + Jetzt synchronisieren + + + System Notifications + Systembenachrichtigungen + + + This will clear your credentials and stop the background service. Are you sure? + Dies löscht Ihre Anmeldedaten und stoppt den Hintergrunddienst. Sind Sie sicher? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Inoffizieller Pushover Open Client für SailfishOS. + Inoffizieller Pushover Open Client für SailfishOS. Nicht veröffentlicht oder unterstützt von Pushover, LLC. - - + + + Power + Energie + + + Keep Connection Alive When Screen Off + Verbindung bei ausgeschaltetem Bildschirm aktiv halten + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Hält den WebSocket bei ausgeschaltetem Bildschirm für Echtzeit-Benachrichtigungen aktiv, über die pro-App-MCE-Keepalive-API. Höherer Akkuverbrauch. + + diff --git a/translations/sailpush_el.ts b/translations/sailpush_el.ts index d5c01ca..042739c 100644 --- a/translations/sailpush_el.ts +++ b/translations/sailpush_el.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Συνδεδεμένο - - - Connecting... - Σύνδεση... - - - Disconnected - Αποσυνδέθηκε - - - Error - Σφάλμα - - - Session closed - Η συνεδρία έκλεισε - - - - CoverPage - - %1 unread - %1 μη αναγνωσμένα - - - - Daemon - - Credentials rejected by server. Please re-login. - Τα διαπιστευτήρια απορρίφθηκαν από τον διακομιστή. Παρακαλώ συνδεθείτε ξανά. - - - Session expired. Please re-login. - Η συνεδρία έληξε. Παρακαλώ συνδεθείτε ξανά. - - - - DaemonConnector - - Cannot connect to background service - Αδυναμία σύνδεσης με την υπηρεσία παρασκηνίου - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Η εφαρμογή αναβαθμίστηκε — τα αποθηκευμένα διαπιστευτήρια χρησιμοποιούν παλαιότερη μορφή και δεν μπορούν να μεταφερθούν. Παρακαλώ συνδεθείτε ξανά. - - - Failed to save credentials - Αποτυχία αποθήκευσης διαπιστευτηρίων - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Τα αποθηκευμένα διαπιστευτήρια δεν μπόρεσαν να αποκρυπτογραφηθούν. Αυτό μπορεί να συμβεί μετά από ενημέρωση συστήματος. Παρακαλώ συνδεθείτε ξανά. - - - Secrets service is not available. Please restart the device and try again. - Η υπηρεσία secrets δεν είναι διαθέσιμη. Επανεκκινήστε τη συσκευή και δοκιμάστε ξανά. - - - - LoginPage - - Email - Ηλεκτρονικό ταχυδρομείο - - - Enter if required - Εισάγετε αν απαιτείται - - - Enter your Pushover account credentials to get started. - Εισάγετε τα στοιχεία του λογαριασμού Pushover για να ξεκινήσετε. - - - Logging in... - Σύνδεση... - - - Login - Σύνδεση - - - Password - Κωδικός πρόσβασης - - - Registering device... - Εγγραφή συσκευής... - - - Sign up at pushover.net - Εγγραφείτε στο pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Αυτό είναι ένα ανεπίσημο πρόγραμμα-πελάτης. Δεν κυκλοφορεί ή υποστηρίζεται από την Pushover, LLC. - - - Two-Factor Code - Κωδικός δύο παραγόντων - - - Verify - Επαλήθευση - - - - MainPage - - %1 unread - %1 μη αναγνωσμένα - - - Connection: disconnected + + ConnectionIndicator + + Connected + Συνδεδεμένο + + + Connecting... + Σύνδεση... + + + Disconnected + Αποσυνδέθηκε + + + Error + Σφάλμα + + + Session closed + Η συνεδρία έκλεισε + + + + CoverPage + + %1 unread + %1 μη αναγνωσμένα + + + + Daemon + + Credentials rejected by server. Please re-login. + Τα διαπιστευτήρια απορρίφθηκαν από τον διακομιστή. Παρακαλώ συνδεθείτε ξανά. + + + Session expired. Please re-login. + Η συνεδρία έληξε. Παρακαλώ συνδεθείτε ξανά. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Η εφαρμογή αναβαθμίστηκε — τα αποθηκευμένα διαπιστευτήρια χρησιμοποιούν παλαιότερη μορφή και δεν μπορούν να μεταφερθούν. Παρακαλώ συνδεθείτε ξανά. + + + Failed to save credentials + Αποτυχία αποθήκευσης διαπιστευτηρίων + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Τα αποθηκευμένα διαπιστευτήρια δεν μπόρεσαν να αποκρυπτογραφηθούν. Αυτό μπορεί να συμβεί μετά από ενημέρωση συστήματος. Παρακαλώ συνδεθείτε ξανά. + + + Secrets service is not available. Please restart the device and try again. + Η υπηρεσία secrets δεν είναι διαθέσιμη. Επανεκκινήστε τη συσκευή και δοκιμάστε ξανά. + + + + LoginPage + + Email + Ηλεκτρονικό ταχυδρομείο + + + Enter if required + Εισάγετε αν απαιτείται + + + Enter your Pushover account credentials to get started. + Εισάγετε τα στοιχεία του λογαριασμού Pushover για να ξεκινήσετε. + + + Logging in... + Σύνδεση... + + + Login + Σύνδεση + + + Password + Κωδικός πρόσβασης + + + Registering device... + Εγγραφή συσκευής... + + + Sign up at pushover.net + Εγγραφείτε στο pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Αυτό είναι ένα ανεπίσημο πρόγραμμα-πελάτης. Δεν κυκλοφορεί ή υποστηρίζεται από την Pushover, LLC. + + + Two-Factor Code + Κωδικός δύο παραγόντων + + + Verify + Επαλήθευση + + + + MainPage + + %1 unread + %1 μη αναγνωσμένα + + + Connection: disconnected Pull down to sync - Σύνδεση: αποσυνδέθηκε + Σύνδεση: αποσυνδέθηκε Τραβήξτε προς τα κάτω για συγχρονισμό - - - Mark all read - Σημείωση όλων ως αναγνωσμένα - - - No Notifications - Δεν υπάρχουν ειδοποιήσεις - - - Settings - Ρυθμίσεις - - - Waiting for daemon... - Αναμονή για την υπηρεσία... - - - - MessageDelegate - - %1h ago - %1ω πριν - - - %1m ago - %1λ πριν - - - Delete - Διαγραφή - - - Just now - Μόλις τώρα - - - - MessageDetailPage - - Acknowledge - Αναγνώριση - - - Delete - Διαγραφή - - - Deleting - Διαγραφή - - - Message - Μήνυμα - - - Open URL - Άνοιγμα URL - - - - NotificationManager - - Acknowledge - Αναγνώριση - - - Dismiss - Απόρριψη - - - Open - Άνοιγμα - - - - SailPushClient - - Acknowledge failed - Η αναγνώριση απέτυχε - - - Delete failed - Η διαγραφή απέτυχε - - - Download failed - Η λήψη απέτυχε - - - Invalid server response - Μη έγκυρη απόκριση διακομιστή - - - Login failed - Η σύνδεση απέτυχε - - - Registration failed - Η εγγραφή απέτυχε - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 λεπτό - - - 15 minutes - 15 λεπτά - - - 30 minutes - 30 λεπτά - - - 5 minutes - 5 λεπτά - - - About - Σχετικά - - - Account - Λογαριασμός - - - Automatically start the notification daemon when the device boots. - Αυτόματη εκκίνηση της υπηρεσίας ειδοποιήσεων όταν η συσκευή εκκινεί. - - - Automatically start the notification service at boot - Αυτόματη εκκίνηση της υπηρεσίας ειδοποιήσεων κατά την εκκίνηση - - - Background - Παρασκήνιο - - - Cancel - Ακύρωση - - - Connection - Σύνδεση - - - Deep Sleep - Βαθύς ύπνος - - - Enable Polling Fallback - Ενεργοποίηση εναλλακτικού polling - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Αν το WebSocket αποσυνδεθεί για 30 δευτερόλεπτα, επιστρέφει σε περιοδικό polling για ειδοποιήσεις. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Διατηρεί την CPU ξύπνια κατά τον συγχρονισμό μηνυμάτων για αξιόπιστη παράδοση. Χρησιμοποιεί το API MCE keepalive. - - - Logout - Αποσύνδεση - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Σημείωση: Για μόνιμο WebSocket σε βαθύ ύπνο, εκτελέστε: -mcetool --set-suspend-policy=early - - - Notifications - Ειδοποιήσεις - - - Polling Fallback - Εναλλακτικό polling - - - Polling Interval - Χρονικό διάστημα polling - - - Prevent Deep Sleep During Sync - Αποτροπή βαθέος ύπνου κατά τον συγχρονισμό - - - Settings - Ρυθμίσεις - - - Start on boot - Εκκίνηση κατά την εκκίνηση - - - Status: %1 - Κατάσταση: %1 - - - Sync Now - Συγχρονισμός τώρα - - - System Notifications - Ειδοποιήσεις συστήματος - - - This will clear your credentials and stop the background service. Are you sure? - Αυτό θα διαγράψει τα διαπιστευτήριά σας και θα σταματήσει την υπηρεσία παρασκηνίου. Είστε σίγουροι; - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Σημείωση όλων ως αναγνωσμένα + + + No Notifications + Δεν υπάρχουν ειδοποιήσεις + + + Settings + Ρυθμίσεις + + + Waiting for daemon... + Αναμονή για την υπηρεσία... + + + + MessageDelegate + + %1h ago + %1ω πριν + + + %1m ago + %1λ πριν + + + Delete + Διαγραφή + + + Just now + Μόλις τώρα + + + + MessageDetailPage + + Acknowledge + Αναγνώριση + + + Delete + Διαγραφή + + + Deleting + Διαγραφή + + + Message + Μήνυμα + + + Open URL + Άνοιγμα URL + + + + NotificationManager + + Acknowledge + Αναγνώριση + + + Dismiss + Απόρριψη + + + Open + Άνοιγμα + + + + SailPushClient + + Acknowledge failed + Η αναγνώριση απέτυχε + + + Delete failed + Η διαγραφή απέτυχε + + + Download failed + Η λήψη απέτυχε + + + Invalid server response + Μη έγκυρη απόκριση διακομιστή + + + Login failed + Η σύνδεση απέτυχε + + + Registration failed + Η εγγραφή απέτυχε + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 λεπτό + + + 15 minutes + 15 λεπτά + + + 30 minutes + 30 λεπτά + + + 5 minutes + 5 λεπτά + + + About + Σχετικά + + + Account + Λογαριασμός + + + Automatically start the notification daemon when the device boots. + Αυτόματη εκκίνηση της υπηρεσίας ειδοποιήσεων όταν η συσκευή εκκινεί. + + + Automatically start the notification service at boot + Αυτόματη εκκίνηση της υπηρεσίας ειδοποιήσεων κατά την εκκίνηση + + + Background + Παρασκήνιο + + + Cancel + Ακύρωση + + + Connection + Σύνδεση + + + Enable Polling Fallback + Ενεργοποίηση εναλλακτικού polling + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Αν το WebSocket αποσυνδεθεί για 30 δευτερόλεπτα, επιστρέφει σε περιοδικό polling για ειδοποιήσεις. + + + Logout + Αποσύνδεση + + + Notifications + Ειδοποιήσεις + + + Polling Fallback + Εναλλακτικό polling + + + Polling Interval + Χρονικό διάστημα polling + + + Settings + Ρυθμίσεις + + + Start on boot + Εκκίνηση κατά την εκκίνηση + + + Status: %1 + Κατάσταση: %1 + + + Sync Now + Συγχρονισμός τώρα + + + System Notifications + Ειδοποιήσεις συστήματος + + + This will clear your credentials and stop the background service. Are you sure? + Αυτό θα διαγράψει τα διαπιστευτήριά σας και θα σταματήσει την υπηρεσία παρασκηνίου. Είστε σίγουροι; + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Ανεπίσημο Pushover Open Client για SailfishOS. + Ανεπίσημο Pushover Open Client για SailfishOS. Δεν κυκλοφορεί ή υποστηρίζεται από την Pushover, LLC. - - + + + Power + Ενέργεια + + + Keep Connection Alive When Screen Off + Διατήρηση σύνδεσης όταν η οθόνη είναι σβηστή + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Διατηρεί το WebSocket ενεργό όταν η οθόνη είναι σβηστή για παράδοση σε πραγματικό χρόνο, μέσω του API keepalive του MCE ανά εφαρμογή. Μεγαλύτερη κατανάλωση μπαταρίας. + + diff --git a/translations/sailpush_es.ts b/translations/sailpush_es.ts index a4afa5c..19b79dd 100644 --- a/translations/sailpush_es.ts +++ b/translations/sailpush_es.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Conectado - - - Connecting... - Conectando... - - - Disconnected - Desconectado - - - Error - Error - - - Session closed - Sesión cerrada - - - - CoverPage - - %1 unread - %1 sin leer - - - - Daemon - - Credentials rejected by server. Please re-login. - Credenciales rechazadas por el servidor. Vuelve a iniciar sesión. - - - Session expired. Please re-login. - Sesión expirada. Vuelve a iniciar sesión. - - - - DaemonConnector - - Cannot connect to background service - No se puede conectar al servicio en segundo plano - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - La aplicación se actualizó — las credenciales guardadas usan un formato antiguo y no se pueden migrar. Vuelve a iniciar sesión. - - - Failed to save credentials - Error al guardar las credenciales - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Las credenciales guardadas no se pudieron descifrar. Esto puede ocurrir después de una actualización del sistema. Vuelve a iniciar sesión. - - - Secrets service is not available. Please restart the device and try again. - El servicio de secretos no está disponible. Reinicie el dispositivo e inténtelo de nuevo. - - - - LoginPage - - Email - Correo electrónico - - - Enter if required - Introducir si es necesario - - - Enter your Pushover account credentials to get started. - Introduce tus credenciales de Pushover para empezar. - - - Logging in... - Iniciando sesión... - - - Login - Iniciar sesión - - - Password - Contraseña - - - Registering device... - Registrando dispositivo... - - - Sign up at pushover.net - Regístrate en pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Este es un cliente no oficial. No publicado ni respaldado por Pushover, LLC. - - - Two-Factor Code - Código de dos factores - - - Verify - Verificar - - - - MainPage - - %1 unread - %1 sin leer - - - Connection: disconnected + + ConnectionIndicator + + Connected + Conectado + + + Connecting... + Conectando... + + + Disconnected + Desconectado + + + Error + Error + + + Session closed + Sesión cerrada + + + + CoverPage + + %1 unread + %1 sin leer + + + + Daemon + + Credentials rejected by server. Please re-login. + Credenciales rechazadas por el servidor. Vuelve a iniciar sesión. + + + Session expired. Please re-login. + Sesión expirada. Vuelve a iniciar sesión. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + La aplicación se actualizó — las credenciales guardadas usan un formato antiguo y no se pueden migrar. Vuelve a iniciar sesión. + + + Failed to save credentials + Error al guardar las credenciales + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Las credenciales guardadas no se pudieron descifrar. Esto puede ocurrir después de una actualización del sistema. Vuelve a iniciar sesión. + + + Secrets service is not available. Please restart the device and try again. + El servicio de secretos no está disponible. Reinicie el dispositivo e inténtelo de nuevo. + + + + LoginPage + + Email + Correo electrónico + + + Enter if required + Introducir si es necesario + + + Enter your Pushover account credentials to get started. + Introduce tus credenciales de Pushover para empezar. + + + Logging in... + Iniciando sesión... + + + Login + Iniciar sesión + + + Password + Contraseña + + + Registering device... + Registrando dispositivo... + + + Sign up at pushover.net + Regístrate en pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Este es un cliente no oficial. No publicado ni respaldado por Pushover, LLC. + + + Two-Factor Code + Código de dos factores + + + Verify + Verificar + + + + MainPage + + %1 unread + %1 sin leer + + + Connection: disconnected Pull down to sync - Conexión: desconectado + Conexión: desconectado Desliza hacia abajo para sincronizar - - - Mark all read - Marcar todo como leído - - - No Notifications - Sin notificaciones - - - Settings - Ajustes - - - Waiting for daemon... - Esperando al servicio... - - - - MessageDelegate - - %1h ago - hace %1 h - - - %1m ago - hace %1 min - - - Delete - Eliminar - - - Just now - Ahora mismo - - - - MessageDetailPage - - Acknowledge - Confirmar lectura - - - Delete - Eliminar - - - Deleting - Eliminando... - - - Message - Mensaje - - - Open URL - Abrir URL - - - - NotificationManager - - Acknowledge - Confirmar lectura - - - Dismiss - Descartar - - - Open - Abrir - - - - SailPushClient - - Acknowledge failed - Error al confirmar lectura - - - Delete failed - Error al eliminar - - - Download failed - Error al descargar - - - Invalid server response - Respuesta del servidor no válida - - - Login failed - Error al iniciar sesión - - - Registration failed - Error al registrar - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuto - - - 15 minutes - 15 minutos - - - 30 minutes - 30 minutos - - - 5 minutes - 5 minutos - - - About - Acerca de - - - Account - Cuenta - - - Automatically start the notification daemon when the device boots. - Iniciar automáticamente el servicio de notificaciones al encender el dispositivo. - - - Automatically start the notification service at boot - Iniciar automáticamente el servicio de notificaciones al arrancar - - - Background - Segundo plano - - - Cancel - Cancelar - - - Connection - Conexión - - - Deep Sleep - Suspensión profunda - - - Enable Polling Fallback - Activar respaldo por sondeo - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Si WebSocket se desconecta durante 30 s, cambia a sondeo periódico de notificaciones. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mantiene la CPU activa durante la sincronización para garantizar la entrega. Usa la API keepalive de MCE. - - - Logout - Cerrar sesión - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Para WebSocket persistente en suspensión profunda, ejecuta: -mcetool --set-suspend-policy=early - - - Notifications - Notificaciones - - - Polling Fallback - Respaldo por sondeo - - - Polling Interval - Intervalo de sondeo - - - Prevent Deep Sleep During Sync - Evitar suspensión profunda durante la sincronización - - - Settings - Ajustes - - - Start on boot - Iniciar al arrancar - - - Status: %1 - Estado: %1 - - - Sync Now - Sincronizar ahora - - - System Notifications - Notificaciones del sistema - - - This will clear your credentials and stop the background service. Are you sure? - Esto borrará tus credenciales y detendrá el servicio en segundo plano. ¿Estás seguro? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcar todo como leído + + + No Notifications + Sin notificaciones + + + Settings + Ajustes + + + Waiting for daemon... + Esperando al servicio... + + + + MessageDelegate + + %1h ago + hace %1 h + + + %1m ago + hace %1 min + + + Delete + Eliminar + + + Just now + Ahora mismo + + + + MessageDetailPage + + Acknowledge + Confirmar lectura + + + Delete + Eliminar + + + Deleting + Eliminando... + + + Message + Mensaje + + + Open URL + Abrir URL + + + + NotificationManager + + Acknowledge + Confirmar lectura + + + Dismiss + Descartar + + + Open + Abrir + + + + SailPushClient + + Acknowledge failed + Error al confirmar lectura + + + Delete failed + Error al eliminar + + + Download failed + Error al descargar + + + Invalid server response + Respuesta del servidor no válida + + + Login failed + Error al iniciar sesión + + + Registration failed + Error al registrar + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuto + + + 15 minutes + 15 minutos + + + 30 minutes + 30 minutos + + + 5 minutes + 5 minutos + + + About + Acerca de + + + Account + Cuenta + + + Automatically start the notification daemon when the device boots. + Iniciar automáticamente el servicio de notificaciones al encender el dispositivo. + + + Automatically start the notification service at boot + Iniciar automáticamente el servicio de notificaciones al arrancar + + + Background + Segundo plano + + + Cancel + Cancelar + + + Connection + Conexión + + + Enable Polling Fallback + Activar respaldo por sondeo + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Si WebSocket se desconecta durante 30 s, cambia a sondeo periódico de notificaciones. + + + Logout + Cerrar sesión + + + Notifications + Notificaciones + + + Polling Fallback + Respaldo por sondeo + + + Polling Interval + Intervalo de sondeo + + + Settings + Ajustes + + + Start on boot + Iniciar al arrancar + + + Status: %1 + Estado: %1 + + + Sync Now + Sincronizar ahora + + + System Notifications + Notificaciones del sistema + + + This will clear your credentials and stop the background service. Are you sure? + Esto borrará tus credenciales y detendrá el servicio en segundo plano. ¿Estás seguro? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Cliente Pushover Open no oficial para SailfishOS. + Cliente Pushover Open no oficial para SailfishOS. No publicado ni respaldado por Pushover, LLC. - - + + + Power + Energía + + + Keep Connection Alive When Screen Off + Mantener la conexión con la pantalla apagada + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mantiene el WebSocket activo con la pantalla apagada para entregas en tiempo real, mediante la API de keepalive MCE por aplicación. Mayor consumo de batería. + + diff --git a/translations/sailpush_et.ts b/translations/sailpush_et.ts index dd267cd..fb19047 100644 --- a/translations/sailpush_et.ts +++ b/translations/sailpush_et.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Ühendatud - - - Connecting... - Ühendamine... - - - Disconnected - Ühendus katkestatud - - - Error - Viga - - - Session closed - Sessioon suletud - - - - CoverPage - - %1 unread - %1 lugemata - - - - Daemon - - Credentials rejected by server. Please re-login. - Server lükkas mandaadid tagasi. Palun logige uuesti sisse. - - - Session expired. Please re-login. - Sessioon aegus. Palun logige uuesti sisse. - - - - DaemonConnector - - Cannot connect to background service - Taustateenusega ei saa ühendust - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Rakendus on uuendatud — salvestatud mandaadid kasutavad vanemat formaati ja neid ei saa migreerida. Palun logige uuesti sisse. - - - Failed to save credentials - Mandaatide salvestamine ebaõnnestus - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Salvestatud mandaate ei saanud dekrüptida. See võib juhtuda pärast süsteemiuuendust. Palun logige uuesti sisse. - - - Secrets service is not available. Please restart the device and try again. - Secrets-teenus pole saadaval. Taaskäivitage seade ja proovige uuesti. - - - - LoginPage - - Email - E-post - - - Enter if required - Sisestage vajadusel - - - Enter your Pushover account credentials to get started. - Alustamiseks sisestage oma Pushover konto andmed. - - - Logging in... - Sisselogimine... - - - Login - Sisselogimine - - - Password - Parool - - - Registering device... - Seadme registreerimine... - - - Sign up at pushover.net - Registreeruge aadressil pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - See on mitteametlik klient. Ei ole välja antud ega toetatud Pushover, LLC. poolt. - - - Two-Factor Code - Kahefaktoriline kood - - - Verify - Kinnita - - - - MainPage - - %1 unread - %1 lugemata - - - Connection: disconnected + + ConnectionIndicator + + Connected + Ühendatud + + + Connecting... + Ühendamine... + + + Disconnected + Ühendus katkestatud + + + Error + Viga + + + Session closed + Sessioon suletud + + + + CoverPage + + %1 unread + %1 lugemata + + + + Daemon + + Credentials rejected by server. Please re-login. + Server lükkas mandaadid tagasi. Palun logige uuesti sisse. + + + Session expired. Please re-login. + Sessioon aegus. Palun logige uuesti sisse. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Rakendus on uuendatud — salvestatud mandaadid kasutavad vanemat formaati ja neid ei saa migreerida. Palun logige uuesti sisse. + + + Failed to save credentials + Mandaatide salvestamine ebaõnnestus + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Salvestatud mandaate ei saanud dekrüptida. See võib juhtuda pärast süsteemiuuendust. Palun logige uuesti sisse. + + + Secrets service is not available. Please restart the device and try again. + Secrets-teenus pole saadaval. Taaskäivitage seade ja proovige uuesti. + + + + LoginPage + + Email + E-post + + + Enter if required + Sisestage vajadusel + + + Enter your Pushover account credentials to get started. + Alustamiseks sisestage oma Pushover konto andmed. + + + Logging in... + Sisselogimine... + + + Login + Sisselogimine + + + Password + Parool + + + Registering device... + Seadme registreerimine... + + + Sign up at pushover.net + Registreeruge aadressil pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + See on mitteametlik klient. Ei ole välja antud ega toetatud Pushover, LLC. poolt. + + + Two-Factor Code + Kahefaktoriline kood + + + Verify + Kinnita + + + + MainPage + + %1 unread + %1 lugemata + + + Connection: disconnected Pull down to sync - Ühendus: katkestatud + Ühendus: katkestatud Tõmmake alla sünkroonimiseks - - - Mark all read - Märgi kõik loetuks - - - No Notifications - Teateid pole - - - Settings - Seaded - - - Waiting for daemon... - Teenuse ootamine... - - - - MessageDelegate - - %1h ago - %1h tagasi - - - %1m ago - %1m tagasi - - - Delete - Kustuta - - - Just now - Just nüüd - - - - MessageDetailPage - - Acknowledge - Kinnita - - - Delete - Kustuta - - - Deleting - Kustutamine - - - Message - Sõnum - - - Open URL - Ava URL - - - - NotificationManager - - Acknowledge - Kinnita - - - Dismiss - Loobu - - - Open - Ava - - - - SailPushClient - - Acknowledge failed - Kinnitamine ebaõnnestus - - - Delete failed - Kustutamine ebaõnnestus - - - Download failed - Allalaadimine ebaõnnestus - - - Invalid server response - Vigane serveri vastus - - - Login failed - Sisselogimine ebaõnnestus - - - Registration failed - Registreerimine ebaõnnestus - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minutit - - - 30 minutes - 30 minutit - - - 5 minutes - 5 minutit - - - About - Teave - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Käivita teateteenus automaatselt seadme alglaadimisel. - - - Automatically start the notification service at boot - Käivita teateteenus automaatselt alglaadimisel - - - Background - Taust - - - Cancel - Tühista - - - Connection - Ühendus - - - Deep Sleep - Sügavuni - - - Enable Polling Fallback - Luba polling varuvariant - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Kui WebSocket katkestab ühenduse 30 sekundiks, läheb teadete jaoks perioodilisele pollingule. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Hoiab CPU ärkvel sõnumite sünkroonimise ajal usaldusväärse kohaletoimetamise tagamiseks. Kasutab MCE keepalive API-d. - - - Logout - Logi välja - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Märkus: Püsiva WebSocketi jaoks sügavuneus käivitage: -mcetool --set-suspend-policy=early - - - Notifications - Teated - - - Polling Fallback - Polling varuvariant - - - Polling Interval - Polling intervall - - - Prevent Deep Sleep During Sync - Keela sügavuni sünkroonimise ajal - - - Settings - Seaded - - - Start on boot - Käivita alglaadimisel - - - Status: %1 - Olek: %1 - - - Sync Now - Sünkrooni kohe - - - System Notifications - Süsteemiteated - - - This will clear your credentials and stop the background service. Are you sure? - See kustutab teie mandaadid ja peatab taustateenuse. Kas olete kindel? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Märgi kõik loetuks + + + No Notifications + Teateid pole + + + Settings + Seaded + + + Waiting for daemon... + Teenuse ootamine... + + + + MessageDelegate + + %1h ago + %1h tagasi + + + %1m ago + %1m tagasi + + + Delete + Kustuta + + + Just now + Just nüüd + + + + MessageDetailPage + + Acknowledge + Kinnita + + + Delete + Kustuta + + + Deleting + Kustutamine + + + Message + Sõnum + + + Open URL + Ava URL + + + + NotificationManager + + Acknowledge + Kinnita + + + Dismiss + Loobu + + + Open + Ava + + + + SailPushClient + + Acknowledge failed + Kinnitamine ebaõnnestus + + + Delete failed + Kustutamine ebaõnnestus + + + Download failed + Allalaadimine ebaõnnestus + + + Invalid server response + Vigane serveri vastus + + + Login failed + Sisselogimine ebaõnnestus + + + Registration failed + Registreerimine ebaõnnestus + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minutit + + + 30 minutes + 30 minutit + + + 5 minutes + 5 minutit + + + About + Teave + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Käivita teateteenus automaatselt seadme alglaadimisel. + + + Automatically start the notification service at boot + Käivita teateteenus automaatselt alglaadimisel + + + Background + Taust + + + Cancel + Tühista + + + Connection + Ühendus + + + Enable Polling Fallback + Luba polling varuvariant + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Kui WebSocket katkestab ühenduse 30 sekundiks, läheb teadete jaoks perioodilisele pollingule. + + + Logout + Logi välja + + + Notifications + Teated + + + Polling Fallback + Polling varuvariant + + + Polling Interval + Polling intervall + + + Settings + Seaded + + + Start on boot + Käivita alglaadimisel + + + Status: %1 + Olek: %1 + + + Sync Now + Sünkrooni kohe + + + System Notifications + Süsteemiteated + + + This will clear your credentials and stop the background service. Are you sure? + See kustutab teie mandaadid ja peatab taustateenuse. Kas olete kindel? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Mitteametlik Pushover Open Client SailfishOS jaoks. + Mitteametlik Pushover Open Client SailfishOS jaoks. Ei ole välja antud ega toetatud Pushover, LLC. poolt. - - + + + Power + Toide + + + Keep Connection Alive When Screen Off + Hoia ühendus elus, kui ekraan on välja lülitatud + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Hoiab WebSocketi elus, kui ekraan on välja lülitatud, reaalajas kohaletoimetamiseks rakendusepõhise MCE-keepalive API kaudu. Suurem akukulu. + + diff --git a/translations/sailpush_eu.ts b/translations/sailpush_eu.ts index 7b55fc1..c03ddca 100644 --- a/translations/sailpush_eu.ts +++ b/translations/sailpush_eu.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Konektatuta - - - Connecting... - Konektatzen... - - - Disconnected - Deskonektatuta - - - Error - Errorea - - - Session closed - Saioa itxita - - - - CoverPage - - %1 unread - %1 irakurri gabe - - - - Daemon - - Credentials rejected by server. Please re-login. - Kredentzialak zerbitzariak baztertu ditu. Hasi saioa berriro. - - - Session expired. Please re-login. - Saioa iraungi da. Hasi saioa berriro. - - - - DaemonConnector - - Cannot connect to background service - Ezin da atzeko planoko zerbitzura konektatu - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikazioa eguneratu da — gordetako kredentzialek formatu zaharragoa erabiltzen dute eta ezin dira migratu. Hasi saioa berriro. - - - Failed to save credentials - Kredentzialak gordetzeak huts egin du - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Gordetako kredentzialak ezin izan dira deszifratu. Hau sistema eguneratu baten ondoren gerta daiteke. Hasi saioa berriro. - - - Secrets service is not available. Please restart the device and try again. - Secrets zerbitzua ez dago erabilgarri. Berrabiarazi gailua eta saiatu berriro. - - - - LoginPage - - Email - Posta elektronikoa - - - Enter if required - Sartu beharrezkoa bada - - - Enter your Pushover account credentials to get started. - Sartu zure Pushover kontuaren kredentzialak hasteko. - - - Logging in... - Saioa hasiz... - - - Login - Hasi saioa - - - Password - Pasahitza - - - Registering device... - Gailua erregistratzen... - - - Sign up at pushover.net - Erregistratu pushover.net-en - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Hau ez ofiziala den bezeroa da. Ez da Pushover, LLC-ren argitaratua edo babestua. - - - Two-Factor Code - Bi faktoreko kodea - - - Verify - Egiaztatu - - - - MainPage - - %1 unread - %1 irakurri gabe - - - Connection: disconnected + + ConnectionIndicator + + Connected + Konektatuta + + + Connecting... + Konektatzen... + + + Disconnected + Deskonektatuta + + + Error + Errorea + + + Session closed + Saioa itxita + + + + CoverPage + + %1 unread + %1 irakurri gabe + + + + Daemon + + Credentials rejected by server. Please re-login. + Kredentzialak zerbitzariak baztertu ditu. Hasi saioa berriro. + + + Session expired. Please re-login. + Saioa iraungi da. Hasi saioa berriro. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikazioa eguneratu da — gordetako kredentzialek formatu zaharragoa erabiltzen dute eta ezin dira migratu. Hasi saioa berriro. + + + Failed to save credentials + Kredentzialak gordetzeak huts egin du + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Gordetako kredentzialak ezin izan dira deszifratu. Hau sistema eguneratu baten ondoren gerta daiteke. Hasi saioa berriro. + + + Secrets service is not available. Please restart the device and try again. + Secrets zerbitzua ez dago erabilgarri. Berrabiarazi gailua eta saiatu berriro. + + + + LoginPage + + Email + Posta elektronikoa + + + Enter if required + Sartu beharrezkoa bada + + + Enter your Pushover account credentials to get started. + Sartu zure Pushover kontuaren kredentzialak hasteko. + + + Logging in... + Saioa hasiz... + + + Login + Hasi saioa + + + Password + Pasahitza + + + Registering device... + Gailua erregistratzen... + + + Sign up at pushover.net + Erregistratu pushover.net-en + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Hau ez ofiziala den bezeroa da. Ez da Pushover, LLC-ren argitaratua edo babestua. + + + Two-Factor Code + Bi faktoreko kodea + + + Verify + Egiaztatu + + + + MainPage + + %1 unread + %1 irakurri gabe + + + Connection: disconnected Pull down to sync - Konexioa: deskonektatuta + Konexioa: deskonektatuta Erretiratu behera sinkronizatzeko - - - Mark all read - Markatu guztiak irakurritzat - - - No Notifications - Jakinarazpenik ez - - - Settings - Ezarpenak - - - Waiting for daemon... - Zerbitzua zain... - - - - MessageDelegate - - %1h ago - duela %1 h - - - %1m ago - duela %1 min - - - Delete - Ezabatu - - - Just now - Orain - - - - MessageDetailPage - - Acknowledge - Berretsi irakurketa - - - Delete - Ezabatu - - - Deleting - Ezabatzen... - - - Message - Mezua - - - Open URL - Ireki URLa - - - - NotificationManager - - Acknowledge - Berretsi irakurketa - - - Dismiss - Baztertu - - - Open - Ireki - - - - SailPushClient - - Acknowledge failed - Irakurketa berretzeak huts egin du - - - Delete failed - Ezabatzeak huts egin du - - - Download failed - Deskargak huts egin du - - - Invalid server response - Zerbitzariaren erantzun baliogabea - - - Login failed - Saioa hasteak huts egin du - - - Registration failed - Erregistroak huts egin du - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - Minutu 1 - - - 15 minutes - 15 minutu - - - 30 minutes - 30 minutu - - - 5 minutes - 5 minutu - - - About - Honi buruz - - - Account - Kontua - - - Automatically start the notification daemon when the device boots. - Automatikoki hasi jakinarazpen zerbitzua gailua abiatzen denean. - - - Automatically start the notification service at boot - Automatikoki hasi jakinarazpen zerbitzua abioan - - - Background - Atzeko planoa - - - Cancel - Utzi - - - Connection - Konexioa - - - Deep Sleep - Loti sakona - - - Enable Polling Fallback - Gaitu kontsulta erreserba - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - WebSocket-a 30 segundoz deskonektatzen bada, jakinarazpenen kontsulta periodikora aldatzen da. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - CPU-a esna mantentzen du mezuen sinkronizazioan zehar entrega fidagarria bermatzeko. MCE keepalive APIa erabiltzen du. - - - Logout - Saioa itxi - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Oharra: Loti sakonean WebSocket iraunkorrerako, exekutatu: -mcetool --set-suspend-policy=early - - - Notifications - Jakinarazpenak - - - Polling Fallback - Kontsulta erreserba - - - Polling Interval - Kontsulta tartea - - - Prevent Deep Sleep During Sync - Eragotzi loti sakona sinkronizazioan zehar - - - Settings - Ezarpenak - - - Start on boot - Hasi abioan - - - Status: %1 - Egoera: %1 - - - Sync Now - Sinkronizatu orain - - - System Notifications - Sistemaren jakinarazpenak - - - This will clear your credentials and stop the background service. Are you sure? - Honek zure kredentzialak ezabatu eta atzeko planoko zerbitzua geldituko du. Ziur zaude? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Markatu guztiak irakurritzat + + + No Notifications + Jakinarazpenik ez + + + Settings + Ezarpenak + + + Waiting for daemon... + Zerbitzua zain... + + + + MessageDelegate + + %1h ago + duela %1 h + + + %1m ago + duela %1 min + + + Delete + Ezabatu + + + Just now + Orain + + + + MessageDetailPage + + Acknowledge + Berretsi irakurketa + + + Delete + Ezabatu + + + Deleting + Ezabatzen... + + + Message + Mezua + + + Open URL + Ireki URLa + + + + NotificationManager + + Acknowledge + Berretsi irakurketa + + + Dismiss + Baztertu + + + Open + Ireki + + + + SailPushClient + + Acknowledge failed + Irakurketa berretzeak huts egin du + + + Delete failed + Ezabatzeak huts egin du + + + Download failed + Deskargak huts egin du + + + Invalid server response + Zerbitzariaren erantzun baliogabea + + + Login failed + Saioa hasteak huts egin du + + + Registration failed + Erregistroak huts egin du + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + Minutu 1 + + + 15 minutes + 15 minutu + + + 30 minutes + 30 minutu + + + 5 minutes + 5 minutu + + + About + Honi buruz + + + Account + Kontua + + + Automatically start the notification daemon when the device boots. + Automatikoki hasi jakinarazpen zerbitzua gailua abiatzen denean. + + + Automatically start the notification service at boot + Automatikoki hasi jakinarazpen zerbitzua abioan + + + Background + Atzeko planoa + + + Cancel + Utzi + + + Connection + Konexioa + + + Enable Polling Fallback + Gaitu kontsulta erreserba + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + WebSocket-a 30 segundoz deskonektatzen bada, jakinarazpenen kontsulta periodikora aldatzen da. + + + Logout + Saioa itxi + + + Notifications + Jakinarazpenak + + + Polling Fallback + Kontsulta erreserba + + + Polling Interval + Kontsulta tartea + + + Settings + Ezarpenak + + + Start on boot + Hasi abioan + + + Status: %1 + Egoera: %1 + + + Sync Now + Sinkronizatu orain + + + System Notifications + Sistemaren jakinarazpenak + + + This will clear your credentials and stop the background service. Are you sure? + Honek zure kredentzialak ezabatu eta atzeko planoko zerbitzua geldituko du. Ziur zaude? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - SailfishOS-erako Pushover Open bezero ez ofiziala. + SailfishOS-erako Pushover Open bezero ez ofiziala. Ez da Pushover, LLC-ren argitaratua edo babestua. - - + + + Power + Energia + + + Keep Connection Alive When Screen Off + Mantendu konexioa pantaila itzalita dagoenean + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + WebSocket aktibo mantentzen du pantaila itzalita dagoenean denbora errealeko banaketarako, aplikazioko MCE keepalive APIa erabiliz. Bateria-kontsumo handiagoa. + + diff --git a/translations/sailpush_fi.ts b/translations/sailpush_fi.ts index f928525..e2d1918 100644 --- a/translations/sailpush_fi.ts +++ b/translations/sailpush_fi.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Yhdistetty - - - Connecting... - Yhdistetään... - - - Disconnected - Yhteys katkaistu - - - Error - Virhe - - - Session closed - Istunto suljettu - - - - CoverPage - - %1 unread - %1 lukematonta - - - - Daemon - - Credentials rejected by server. Please re-login. - Palvelin hylkäsi kirjautumistiedot. Kirjaudu sisään uudelleen. - - - Session expired. Please re-login. - Istunto vanhentui. Kirjaudu sisään uudelleen. - - - - DaemonConnector - - Cannot connect to background service - Taustapalveluun ei voi yhdistää - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Sovellus päivitettiin — tallennetut kirjautumistiedot käyttävät vanhempaa muotoa eikä niitä voi siirtää. Kirjaudu sisään uudelleen. - - - Failed to save credentials - Kirjautumistietojen tallennus epäonnistui - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Tallennettuja kirjautumistietoja ei voitu purkaa. Tämä voi tapahtua järjestelmäpäivityksen jälkeen. Kirjaudu sisään uudelleen. - - - Secrets service is not available. Please restart the device and try again. - Secrets-palvelu ei ole käytettävissä. Käynnistä laite uudelleen ja yritä uudelleen. - - - - LoginPage - - Email - Sähköposti - - - Enter if required - Syötä tarvittaessa - - - Enter your Pushover account credentials to get started. - Syötä Pushover-tilisi tiedot aloittaaksesi. - - - Logging in... - Kirjaudutaan... - - - Login - Kirjaudu sisään - - - Password - Salasana - - - Registering device... - Rekisteröidään laite... - - - Sign up at pushover.net - Rekisteröidy osoitteessa pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Tämä on epävirallinen asiakasohjelma. Ei julkaistu tai tuettu Pushover, LLC:n toimesta. - - - Two-Factor Code - Kahden tekijän koodi - - - Verify - Vahvista - - - - MainPage - - %1 unread - %1 lukematonta - - - Connection: disconnected + + ConnectionIndicator + + Connected + Yhdistetty + + + Connecting... + Yhdistetään... + + + Disconnected + Yhteys katkaistu + + + Error + Virhe + + + Session closed + Istunto suljettu + + + + CoverPage + + %1 unread + %1 lukematonta + + + + Daemon + + Credentials rejected by server. Please re-login. + Palvelin hylkäsi kirjautumistiedot. Kirjaudu sisään uudelleen. + + + Session expired. Please re-login. + Istunto vanhentui. Kirjaudu sisään uudelleen. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Sovellus päivitettiin — tallennetut kirjautumistiedot käyttävät vanhempaa muotoa eikä niitä voi siirtää. Kirjaudu sisään uudelleen. + + + Failed to save credentials + Kirjautumistietojen tallennus epäonnistui + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Tallennettuja kirjautumistietoja ei voitu purkaa. Tämä voi tapahtua järjestelmäpäivityksen jälkeen. Kirjaudu sisään uudelleen. + + + Secrets service is not available. Please restart the device and try again. + Secrets-palvelu ei ole käytettävissä. Käynnistä laite uudelleen ja yritä uudelleen. + + + + LoginPage + + Email + Sähköposti + + + Enter if required + Syötä tarvittaessa + + + Enter your Pushover account credentials to get started. + Syötä Pushover-tilisi tiedot aloittaaksesi. + + + Logging in... + Kirjaudutaan... + + + Login + Kirjaudu sisään + + + Password + Salasana + + + Registering device... + Rekisteröidään laite... + + + Sign up at pushover.net + Rekisteröidy osoitteessa pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Tämä on epävirallinen asiakasohjelma. Ei julkaistu tai tuettu Pushover, LLC:n toimesta. + + + Two-Factor Code + Kahden tekijän koodi + + + Verify + Vahvista + + + + MainPage + + %1 unread + %1 lukematonta + + + Connection: disconnected Pull down to sync - Yhteys: katkaistu + Yhteys: katkaistu Vedä alas synkronoidaksesi - - - Mark all read - Merkitse kaikki luetuiksi - - - No Notifications - Ei ilmoituksia - - - Settings - Asetukset - - - Waiting for daemon... - Odottaa palvelua... - - - - MessageDelegate - - %1h ago - %1t sitten - - - %1m ago - %1min sitten - - - Delete - Poista - - - Just now - Juuri nyt - - - - MessageDetailPage - - Acknowledge - Vahvista - - - Delete - Poista - - - Deleting - Poistetaan - - - Message - Viesti - - - Open URL - Avaa URL - - - - NotificationManager - - Acknowledge - Vahvista - - - Dismiss - Hylkää - - - Open - Avaa - - - - SailPushClient - - Acknowledge failed - Vahvistus epäonnistui - - - Delete failed - Poisto epäonnistui - - - Download failed - Lataus epäonnistui - - - Invalid server response - Virheellinen palvelinvastaus - - - Login failed - Kirjautuminen epäonnistui - - - Registration failed - Rekisteröinti epäonnistui - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuutti - - - 15 minutes - 15 minuuttia - - - 30 minutes - 30 minuuttia - - - 5 minutes - 5 minuuttia - - - About - Tietoja - - - Account - Tili - - - Automatically start the notification daemon when the device boots. - Käynnistä ilmoituspalvelu automaattisesti laitteen käynnistyessä. - - - Automatically start the notification service at boot - Käynnistä ilmoituspalvelu automaattisesti käynnistyksen yhteydessä - - - Background - Tausta - - - Cancel - Peruuta - - - Connection - Yhteys - - - Deep Sleep - Syväuni - - - Enable Polling Fallback - Ota polling-varmistus käyttöön - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Jos WebSocket katkeaa 30 sekunniksi, palaa jaksoittaiseen pollingiin ilmoituksia varten. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Pitää CPU:n valveilla viestien synkronoinnin aikana luotettavan toimituksen varmistamiseksi. Käyttää MCE keepalive API:a. - - - Logout - Kirjaudu ulos - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Huomautus: Pysyvälle WebSocketille syväunessa, suorita: -mcetool --set-suspend-policy=early - - - Notifications - Ilmoitukset - - - Polling Fallback - Polling-varmistus - - - Polling Interval - Polling-väli - - - Prevent Deep Sleep During Sync - Estä syväuni synkronoinnin aikana - - - Settings - Asetukset - - - Start on boot - Käynnistä käynnistyksen yhteydessä - - - Status: %1 - Tila: %1 - - - Sync Now - Synkronoi nyt - - - System Notifications - Järjestelmäilmoitukset - - - This will clear your credentials and stop the background service. Are you sure? - Tämä poistaa kirjautumistietosi ja pysäyttää taustapalvelun. Oletko varma? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Merkitse kaikki luetuiksi + + + No Notifications + Ei ilmoituksia + + + Settings + Asetukset + + + Waiting for daemon... + Odottaa palvelua... + + + + MessageDelegate + + %1h ago + %1t sitten + + + %1m ago + %1min sitten + + + Delete + Poista + + + Just now + Juuri nyt + + + + MessageDetailPage + + Acknowledge + Vahvista + + + Delete + Poista + + + Deleting + Poistetaan + + + Message + Viesti + + + Open URL + Avaa URL + + + + NotificationManager + + Acknowledge + Vahvista + + + Dismiss + Hylkää + + + Open + Avaa + + + + SailPushClient + + Acknowledge failed + Vahvistus epäonnistui + + + Delete failed + Poisto epäonnistui + + + Download failed + Lataus epäonnistui + + + Invalid server response + Virheellinen palvelinvastaus + + + Login failed + Kirjautuminen epäonnistui + + + Registration failed + Rekisteröinti epäonnistui + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuutti + + + 15 minutes + 15 minuuttia + + + 30 minutes + 30 minuuttia + + + 5 minutes + 5 minuuttia + + + About + Tietoja + + + Account + Tili + + + Automatically start the notification daemon when the device boots. + Käynnistä ilmoituspalvelu automaattisesti laitteen käynnistyessä. + + + Automatically start the notification service at boot + Käynnistä ilmoituspalvelu automaattisesti käynnistyksen yhteydessä + + + Background + Tausta + + + Cancel + Peruuta + + + Connection + Yhteys + + + Enable Polling Fallback + Ota polling-varmistus käyttöön + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Jos WebSocket katkeaa 30 sekunniksi, palaa jaksoittaiseen pollingiin ilmoituksia varten. + + + Logout + Kirjaudu ulos + + + Notifications + Ilmoitukset + + + Polling Fallback + Polling-varmistus + + + Polling Interval + Polling-väli + + + Settings + Asetukset + + + Start on boot + Käynnistä käynnistyksen yhteydessä + + + Status: %1 + Tila: %1 + + + Sync Now + Synkronoi nyt + + + System Notifications + Järjestelmäilmoitukset + + + This will clear your credentials and stop the background service. Are you sure? + Tämä poistaa kirjautumistietosi ja pysäyttää taustapalvelun. Oletko varma? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Epävirallinen Pushover Open Client SailfishOS:lle. + Epävirallinen Pushover Open Client SailfishOS:lle. Ei julkaistu tai tuettu Pushover, LLC:n toimesta. - - + + + Power + Virta + + + Keep Connection Alive When Screen Off + Pidä yhteys elossa, kun näyttö on pois päältä + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Pitää WebSocketin elossa, kun näyttö on pois päältä, reaaliaikaista toimitusta varten per-sovellus MCE-keepalive-rajapinnan kautta. Suurempi akun kulutus. + + diff --git a/translations/sailpush_fr.ts b/translations/sailpush_fr.ts index 1068c6e..d7b8cc2 100644 --- a/translations/sailpush_fr.ts +++ b/translations/sailpush_fr.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Connecté - - - Connecting... - Connexion... - - - Disconnected - Déconnecté - - - Error - Erreur - - - Session closed - Session fermée - - - - CoverPage - - %1 unread - %1 non lus - - - - Daemon - - Credentials rejected by server. Please re-login. - Identifiants rejetés par le serveur. Veuillez vous reconnecter. - - - Session expired. Please re-login. - Session expirée. Veuillez vous reconnecter. - - - - DaemonConnector - - Cannot connect to background service - Impossible de se connecter au service d'arrière-plan - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - L'application a été mise à jour — les identifiants enregistrés utilisent un ancien format et ne peuvent pas être migrés. Veuillez vous reconnecter. - - - Failed to save credentials - Échec de l'enregistrement des identifiants - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Les identifiants enregistrés n'ont pas pu être déchiffrés. Cela peut survenir après une mise à jour système. Veuillez vous reconnecter. - - - Secrets service is not available. Please restart the device and try again. - Le service de secrets n'est pas disponible. Veuillez redémarrer l'appareil et réessayer. - - - - LoginPage - - Email - E-mail - - - Enter if required - Saisir si nécessaire - - - Enter your Pushover account credentials to get started. - Entrez vos identifiants Pushover pour commencer. - - - Logging in... - Connexion en cours... - - - Login - Connexion - - - Password - Mot de passe - - - Registering device... - Enregistrement de l'appareil... - - - Sign up at pushover.net - Inscrivez-vous sur pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ceci est un client non officiel. Ni publié ni pris en charge par Pushover, LLC. - - - Two-Factor Code - Code à deux facteurs - - - Verify - Vérifier - - - - MainPage - - %1 unread - %1 non lus - - - Connection: disconnected + + ConnectionIndicator + + Connected + Connecté + + + Connecting... + Connexion... + + + Disconnected + Déconnecté + + + Error + Erreur + + + Session closed + Session fermée + + + + CoverPage + + %1 unread + %1 non lus + + + + Daemon + + Credentials rejected by server. Please re-login. + Identifiants rejetés par le serveur. Veuillez vous reconnecter. + + + Session expired. Please re-login. + Session expirée. Veuillez vous reconnecter. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + L'application a été mise à jour — les identifiants enregistrés utilisent un ancien format et ne peuvent pas être migrés. Veuillez vous reconnecter. + + + Failed to save credentials + Échec de l'enregistrement des identifiants + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Les identifiants enregistrés n'ont pas pu être déchiffrés. Cela peut survenir après une mise à jour système. Veuillez vous reconnecter. + + + Secrets service is not available. Please restart the device and try again. + Le service de secrets n'est pas disponible. Veuillez redémarrer l'appareil et réessayer. + + + + LoginPage + + Email + E-mail + + + Enter if required + Saisir si nécessaire + + + Enter your Pushover account credentials to get started. + Entrez vos identifiants Pushover pour commencer. + + + Logging in... + Connexion en cours... + + + Login + Connexion + + + Password + Mot de passe + + + Registering device... + Enregistrement de l'appareil... + + + Sign up at pushover.net + Inscrivez-vous sur pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ceci est un client non officiel. Ni publié ni pris en charge par Pushover, LLC. + + + Two-Factor Code + Code à deux facteurs + + + Verify + Vérifier + + + + MainPage + + %1 unread + %1 non lus + + + Connection: disconnected Pull down to sync - Connexion : déconnecté + Connexion : déconnecté Tirer vers le bas pour synchroniser - - - Mark all read - Tout marquer comme lu - - - No Notifications - Aucune notification - - - Settings - Paramètres - - - Waiting for daemon... - En attente du démon... - - - - MessageDelegate - - %1h ago - il y a %1 h - - - %1m ago - il y a %1 min - - - Delete - Supprimer - - - Just now - À l'instant - - - - MessageDetailPage - - Acknowledge - Accuser réception - - - Delete - Supprimer - - - Deleting - Suppression... - - - Message - Message - - - Open URL - Ouvrir l'URL - - - - NotificationManager - - Acknowledge - Accuser réception - - - Dismiss - Rejeter - - - Open - Ouvrir - - - - SailPushClient - - Acknowledge failed - Échec de l'accusé de réception - - - Delete failed - Échec de la suppression - - - Download failed - Échec du téléchargement - - - Invalid server response - Réponse du serveur invalide - - - Login failed - Échec de la connexion - - - Registration failed - Échec de l'enregistrement - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minute - - - 15 minutes - 15 minutes - - - 30 minutes - 30 minutes - - - 5 minutes - 5 minutes - - - About - À propos - - - Account - Compte - - - Automatically start the notification daemon when the device boots. - Démarrer automatiquement le démon de notification au démarrage de l'appareil. - - - Automatically start the notification service at boot - Démarrer automatiquement le service de notification au démarrage - - - Background - Arrière-plan - - - Cancel - Annuler - - - Connection - Connexion - - - Deep Sleep - Veille profonde - - - Enable Polling Fallback - Activer le repli par interrogation - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Si le WebSocket se déconnecte pendant 30 s, bascule vers une interrogation périodique des notifications. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Maintient le processeur actif pendant la synchronisation des messages pour garantir une livraison fiable. Utilise l'API keepalive MCE. - - - Logout - Déconnexion - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Remarque : pour un WebSocket persistant en veille profonde, exécutez : -mcetool --set-suspend-policy=early - - - Notifications - Notifications - - - Polling Fallback - Repli par interrogation - - - Polling Interval - Intervalle d'interrogation - - - Prevent Deep Sleep During Sync - Empêcher la veille profonde pendant la synchronisation - - - Settings - Paramètres - - - Start on boot - Démarrer au démarrage - - - Status: %1 - État : %1 - - - Sync Now - Synchroniser maintenant - - - System Notifications - Notifications système - - - This will clear your credentials and stop the background service. Are you sure? - Cela effacera vos identifiants et arrêtera le service d'arrière-plan. Êtes-vous sûr ? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Tout marquer comme lu + + + No Notifications + Aucune notification + + + Settings + Paramètres + + + Waiting for daemon... + En attente du démon... + + + + MessageDelegate + + %1h ago + il y a %1 h + + + %1m ago + il y a %1 min + + + Delete + Supprimer + + + Just now + À l'instant + + + + MessageDetailPage + + Acknowledge + Accuser réception + + + Delete + Supprimer + + + Deleting + Suppression... + + + Message + Message + + + Open URL + Ouvrir l'URL + + + + NotificationManager + + Acknowledge + Accuser réception + + + Dismiss + Rejeter + + + Open + Ouvrir + + + + SailPushClient + + Acknowledge failed + Échec de l'accusé de réception + + + Delete failed + Échec de la suppression + + + Download failed + Échec du téléchargement + + + Invalid server response + Réponse du serveur invalide + + + Login failed + Échec de la connexion + + + Registration failed + Échec de l'enregistrement + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minute + + + 15 minutes + 15 minutes + + + 30 minutes + 30 minutes + + + 5 minutes + 5 minutes + + + About + À propos + + + Account + Compte + + + Automatically start the notification daemon when the device boots. + Démarrer automatiquement le démon de notification au démarrage de l'appareil. + + + Automatically start the notification service at boot + Démarrer automatiquement le service de notification au démarrage + + + Background + Arrière-plan + + + Cancel + Annuler + + + Connection + Connexion + + + Enable Polling Fallback + Activer le repli par interrogation + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Si le WebSocket se déconnecte pendant 30 s, bascule vers une interrogation périodique des notifications. + + + Logout + Déconnexion + + + Notifications + Notifications + + + Polling Fallback + Repli par interrogation + + + Polling Interval + Intervalle d'interrogation + + + Settings + Paramètres + + + Start on boot + Démarrer au démarrage + + + Status: %1 + État : %1 + + + Sync Now + Synchroniser maintenant + + + System Notifications + Notifications système + + + This will clear your credentials and stop the background service. Are you sure? + Cela effacera vos identifiants et arrêtera le service d'arrière-plan. Êtes-vous sûr ? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Client Pushover Open non officiel pour SailfishOS. + Client Pushover Open non officiel pour SailfishOS. Ni publié ni pris en charge par Pushover, LLC. - - + + + Power + Alimentation + + + Keep Connection Alive When Screen Off + Maintenir la connexion lorsque l'écran est éteint + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Maintient le WebSocket actif lorsque l'écran est éteint pour une diffusion en temps réel, via l'API de keepalive MCE par application. Consommation de batterie plus élevée. + + diff --git a/translations/sailpush_ga.ts b/translations/sailpush_ga.ts index f2fd29c..41b7386 100644 --- a/translations/sailpush_ga.ts +++ b/translations/sailpush_ga.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Ceangailte - - - Connecting... - Ag ceangal... - - - Disconnected - Dícheangailte - - - Error - Earráid - - - Session closed - Seisiún dúnta - - - - CoverPage - - %1 unread - %1 gan léamh - - - - Daemon - - Credentials rejected by server. Please re-login. - Dhiúltaigh an freastalaí na creidiúintí. Logáil isteach arís le do thoil. - - - Session expired. Please re-login. - D'imigh an seisiún in éag. Logáil isteach arís le do thoil. - - - - DaemonConnector - - Cannot connect to background service - Ní féidir ceangal a dhéanamh leis an tseirbhís cúlra - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Nuashonraíodh an aip — úsáideann na creidiúintí sábháilte formáid níos sine agus ní féidir iad a aistriú. Logáil isteach arís le do thoil. - - - Failed to save credentials - Theip ar na creidiúintí a shábháil - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Níorbh fhéidir na creidiúintí sábháilte a dhíchriptiú. Is féidir é seo tarlú tar éis nuashonrú córais. Logáil isteach arís le do thoil. - - - Secrets service is not available. Please restart the device and try again. - Níl seirbhís secrets ar fáil. Atosaigh an gléas agus bain triail as arís. - - - - LoginPage - - Email - Ríomhphost - - - Enter if required - Cuir isteach má tá gá leis - - - Enter your Pushover account credentials to get started. - Cuir isteach do chreidiúintí cuntais Pushover chun tús a chur. - - - Logging in... - Ag logáil isteach... - - - Login - Logáil isteach - - - Password - Pasfhocal - - - Registering device... - Ag clárú an ghléis... - - - Sign up at pushover.net - Cláraigh ag pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Is cliant neamhoifigiúil é seo. Níl sé scaoilte nó tacaíocht ag Pushover, LLC. - - - Two-Factor Code - Cód dhá fhachtóir - - - Verify - Fíoraigh - - - - MainPage - - %1 unread - %1 gan léamh - - - Connection: disconnected + + ConnectionIndicator + + Connected + Ceangailte + + + Connecting... + Ag ceangal... + + + Disconnected + Dícheangailte + + + Error + Earráid + + + Session closed + Seisiún dúnta + + + + CoverPage + + %1 unread + %1 gan léamh + + + + Daemon + + Credentials rejected by server. Please re-login. + Dhiúltaigh an freastalaí na creidiúintí. Logáil isteach arís le do thoil. + + + Session expired. Please re-login. + D'imigh an seisiún in éag. Logáil isteach arís le do thoil. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Nuashonraíodh an aip — úsáideann na creidiúintí sábháilte formáid níos sine agus ní féidir iad a aistriú. Logáil isteach arís le do thoil. + + + Failed to save credentials + Theip ar na creidiúintí a shábháil + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Níorbh fhéidir na creidiúintí sábháilte a dhíchriptiú. Is féidir é seo tarlú tar éis nuashonrú córais. Logáil isteach arís le do thoil. + + + Secrets service is not available. Please restart the device and try again. + Níl seirbhís secrets ar fáil. Atosaigh an gléas agus bain triail as arís. + + + + LoginPage + + Email + Ríomhphost + + + Enter if required + Cuir isteach má tá gá leis + + + Enter your Pushover account credentials to get started. + Cuir isteach do chreidiúintí cuntais Pushover chun tús a chur. + + + Logging in... + Ag logáil isteach... + + + Login + Logáil isteach + + + Password + Pasfhocal + + + Registering device... + Ag clárú an ghléis... + + + Sign up at pushover.net + Cláraigh ag pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Is cliant neamhoifigiúil é seo. Níl sé scaoilte nó tacaíocht ag Pushover, LLC. + + + Two-Factor Code + Cód dhá fhachtóir + + + Verify + Fíoraigh + + + + MainPage + + %1 unread + %1 gan léamh + + + Connection: disconnected Pull down to sync - Ceangal: dícheangailte + Ceangal: dícheangailte Tarraing anuas le sioncronú - - - Mark all read - Marcáil gach rud léite - - - No Notifications - Gan fógraí - - - Settings - Socruithe - - - Waiting for daemon... - Ag fanacht leis an tseirbhís... - - - - MessageDelegate - - %1h ago - %1u ó shin - - - %1m ago - %1n ó shin - - - Delete - Scrios - - - Just now - Díreach anois - - - - MessageDetailPage - - Acknowledge - Admháil - - - Delete - Scrios - - - Deleting - Ag scriosadh - - - Message - Teachtaireacht - - - Open URL - Oscail URL - - - - NotificationManager - - Acknowledge - Admháil - - - Dismiss - Díbirt - - - Open - Oscail - - - - SailPushClient - - Acknowledge failed - Theip ar admháil - - - Delete failed - Theip ar scriosadh - - - Download failed - Theip ar íoslódáil - - - Invalid server response - Freagra freastalaí neamhbhailí - - - Login failed - Theip ar logáil isteach - - - Registration failed - Theip ar chlárú - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 nóiméad - - - 15 minutes - 15 nóiméad - - - 30 minutes - 30 nóiméad - - - 5 minutes - 5 nóiméad - - - About - Maidir le - - - Account - Cuntas - - - Automatically start the notification daemon when the device boots. - Tús a chur leis an tseirbhís fógraí go huathoibríoch nuair a thosaíonn an gléas. - - - Automatically start the notification service at boot - Tús a chur leis an tseirbhís fógraí go huathoibríoch ag am tosaithe - - - Background - Cúlra - - - Cancel - Cealaigh - - - Connection - Ceangal - - - Deep Sleep - Codladh domhain - - - Enable Polling Fallback - Cumasaigh polling cúltaca - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Má dhícheanglaíonn WebSocket ar feadh 30 soicind, filleann sé ar polling tréimhsiúil le haghaidh fógraí. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Coimeádann sé an CPU dúscailte le linn sioncronaithe teachtaireachtaí chun seachadadh iontaofa a chinntiú. Úsáideann sé API MCE keepalive. - - - Logout - Logáil amach - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nóta: Le haghaidh WebSocket buan i gcodladh domhain, rith: -mcetool --set-suspend-policy=early - - - Notifications - Fógraí - - - Polling Fallback - Polling cúltaca - - - Polling Interval - Eatramh polling - - - Prevent Deep Sleep During Sync - Cosc a chur ar chodladh domhain le linn sioncronaithe - - - Settings - Socruithe - - - Start on boot - Tús ag am tosaithe - - - Status: %1 - Stádas: %1 - - - Sync Now - Sioncrónaigh anois - - - System Notifications - Fógraí córais - - - This will clear your credentials and stop the background service. Are you sure? - Glanfaidh sé seo do chreidiúintí agus stadfaidh sé an tseirbhís cúlra. An bhfuil tú cinnte? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcáil gach rud léite + + + No Notifications + Gan fógraí + + + Settings + Socruithe + + + Waiting for daemon... + Ag fanacht leis an tseirbhís... + + + + MessageDelegate + + %1h ago + %1u ó shin + + + %1m ago + %1n ó shin + + + Delete + Scrios + + + Just now + Díreach anois + + + + MessageDetailPage + + Acknowledge + Admháil + + + Delete + Scrios + + + Deleting + Ag scriosadh + + + Message + Teachtaireacht + + + Open URL + Oscail URL + + + + NotificationManager + + Acknowledge + Admháil + + + Dismiss + Díbirt + + + Open + Oscail + + + + SailPushClient + + Acknowledge failed + Theip ar admháil + + + Delete failed + Theip ar scriosadh + + + Download failed + Theip ar íoslódáil + + + Invalid server response + Freagra freastalaí neamhbhailí + + + Login failed + Theip ar logáil isteach + + + Registration failed + Theip ar chlárú + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 nóiméad + + + 15 minutes + 15 nóiméad + + + 30 minutes + 30 nóiméad + + + 5 minutes + 5 nóiméad + + + About + Maidir le + + + Account + Cuntas + + + Automatically start the notification daemon when the device boots. + Tús a chur leis an tseirbhís fógraí go huathoibríoch nuair a thosaíonn an gléas. + + + Automatically start the notification service at boot + Tús a chur leis an tseirbhís fógraí go huathoibríoch ag am tosaithe + + + Background + Cúlra + + + Cancel + Cealaigh + + + Connection + Ceangal + + + Enable Polling Fallback + Cumasaigh polling cúltaca + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Má dhícheanglaíonn WebSocket ar feadh 30 soicind, filleann sé ar polling tréimhsiúil le haghaidh fógraí. + + + Logout + Logáil amach + + + Notifications + Fógraí + + + Polling Fallback + Polling cúltaca + + + Polling Interval + Eatramh polling + + + Settings + Socruithe + + + Start on boot + Tús ag am tosaithe + + + Status: %1 + Stádas: %1 + + + Sync Now + Sioncrónaigh anois + + + System Notifications + Fógraí córais + + + This will clear your credentials and stop the background service. Are you sure? + Glanfaidh sé seo do chreidiúintí agus stadfaidh sé an tseirbhís cúlra. An bhfuil tú cinnte? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Pushover Open Client neamhoifigiúil do SailfishOS. + Pushover Open Client neamhoifigiúil do SailfishOS. Níl sé scaoilte nó tacaíocht ag Pushover, LLC. - - + + + Power + Cumhacht + + + Keep Connection Alive When Screen Off + Coinnigh an nasc beo nuair atá an scáileán múchta + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Coimeád an WebSocket beo agus an scáileán múchta le haghaidh seachadta in am fíor, tríd an API keepalive MCE in aghaidh an aipe. Úsáid níos mó ceallraí. + + diff --git a/translations/sailpush_gl.ts b/translations/sailpush_gl.ts index 0bd7cd7..9a76bf7 100644 --- a/translations/sailpush_gl.ts +++ b/translations/sailpush_gl.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Conectado - - - Connecting... - Conectando... - - - Disconnected - Desconectado - - - Error - Erro - - - Session closed - Sesión pechada - - - - CoverPage - - %1 unread - %1 sen ler - - - - Daemon - - Credentials rejected by server. Please re-login. - Credenciais rexeitadas polo servidor. Inicia sesión novamente. - - - Session expired. Please re-login. - Sesión expirada. Inicia sesión novamente. - - - - DaemonConnector - - Cannot connect to background service - Non se pode conectar ao servizo en segundo plano - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - A aplicación foi actualizada — as credenciais gardadas usan un formato máis antigo e non se poden migrar. Inicia sesión novamente. - - - Failed to save credentials - Erro ao gardar as credenciais - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - As credenciais gardadas non puideron ser descifradas. Isto pode acontecer tras unha actualización do sistema. Inicia sesión novamente. - - - Secrets service is not available. Please restart the device and try again. - O servizo de secrets non está dispoñible. Reinicia o dispositivo e téntao de novo. - - - - LoginPage - - Email - Correo electrónico - - - Enter if required - Introducir se é necesario - - - Enter your Pushover account credentials to get started. - Introduce as credenciais da túa conta Pushover para comezar. - - - Logging in... - Iniciando sesión... - - - Login - Iniciar sesión - - - Password - Contrasinal - - - Registering device... - Rexistrando dispositivo... - - - Sign up at pushover.net - Rexístrate en pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Este é un cliente non oficial. Non publicado nin respaldado por Pushover, LLC. - - - Two-Factor Code - Código de dous factores - - - Verify - Verificar - - - - MainPage - - %1 unread - %1 sen ler - - - Connection: disconnected + + ConnectionIndicator + + Connected + Conectado + + + Connecting... + Conectando... + + + Disconnected + Desconectado + + + Error + Erro + + + Session closed + Sesión pechada + + + + CoverPage + + %1 unread + %1 sen ler + + + + Daemon + + Credentials rejected by server. Please re-login. + Credenciais rexeitadas polo servidor. Inicia sesión novamente. + + + Session expired. Please re-login. + Sesión expirada. Inicia sesión novamente. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + A aplicación foi actualizada — as credenciais gardadas usan un formato máis antigo e non se poden migrar. Inicia sesión novamente. + + + Failed to save credentials + Erro ao gardar as credenciais + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + As credenciais gardadas non puideron ser descifradas. Isto pode acontecer tras unha actualización do sistema. Inicia sesión novamente. + + + Secrets service is not available. Please restart the device and try again. + O servizo de secrets non está dispoñible. Reinicia o dispositivo e téntao de novo. + + + + LoginPage + + Email + Correo electrónico + + + Enter if required + Introducir se é necesario + + + Enter your Pushover account credentials to get started. + Introduce as credenciais da túa conta Pushover para comezar. + + + Logging in... + Iniciando sesión... + + + Login + Iniciar sesión + + + Password + Contrasinal + + + Registering device... + Rexistrando dispositivo... + + + Sign up at pushover.net + Rexístrate en pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Este é un cliente non oficial. Non publicado nin respaldado por Pushover, LLC. + + + Two-Factor Code + Código de dous factores + + + Verify + Verificar + + + + MainPage + + %1 unread + %1 sen ler + + + Connection: disconnected Pull down to sync - Conexión: desconectado + Conexión: desconectado Arrastra abaixo para sincronizar - - - Mark all read - Marcar todo como lido - - - No Notifications - Sen notificacións - - - Settings - Axustes - - - Waiting for daemon... - Agardando o servizo... - - - - MessageDelegate - - %1h ago - hai %1 h - - - %1m ago - hai %1 min - - - Delete - Eliminar - - - Just now - Agora mesmo - - - - MessageDetailPage - - Acknowledge - Confirmar lectura - - - Delete - Eliminar - - - Deleting - Eliminando... - - - Message - Mensaxe - - - Open URL - Abrir URL - - - - NotificationManager - - Acknowledge - Confirmar lectura - - - Dismiss - Desbotar - - - Open - Abrir - - - - SailPushClient - - Acknowledge failed - Erro ao confirmar lectura - - - Delete failed - Erro ao eliminar - - - Download failed - Erro ao descargar - - - Invalid server response - Resposta do servidor non válida - - - Login failed - Erro ao iniciar sesión - - - Registration failed - Erro ao rexistrar - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuto - - - 15 minutes - 15 minutos - - - 30 minutes - 30 minutos - - - 5 minutes - 5 minutos - - - About - Sobre - - - Account - Conta - - - Automatically start the notification daemon when the device boots. - Iniciar automaticamente o servizo de notificacións ao acender o dispositivo. - - - Automatically start the notification service at boot - Iniciar automaticamente o servizo de notificacións ao arrincar - - - Background - Segundo plano - - - Cancel - Cancelar - - - Connection - Conexión - - - Deep Sleep - Suspensión profunda - - - Enable Polling Fallback - Activar respaldo por enquisa - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Se WebSocket se desconecta durante 30 s, cambia a enquisa periódica de notificacións. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mantén a CPU activa durante a sincronización de mensaxes para garantir a entrega. Usa a API keepalive MCE. - - - Logout - Pechar sesión - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Para WebSocket persistente en suspensión profunda, executa: -mcetool --set-suspend-policy=early - - - Notifications - Notificacións - - - Polling Fallback - Respaldo por enquisa - - - Polling Interval - Intervalo de enquisa - - - Prevent Deep Sleep During Sync - Evitar suspensión profunda durante a sincronización - - - Settings - Axustes - - - Start on boot - Iniciar ao arrincar - - - Status: %1 - Estado: %1 - - - Sync Now - Sincronizar agora - - - System Notifications - Notificacións do sistema - - - This will clear your credentials and stop the background service. Are you sure? - Isto borrará as túas credenciais e deterá o servizo en segundo plano. Estás seguro? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcar todo como lido + + + No Notifications + Sen notificacións + + + Settings + Axustes + + + Waiting for daemon... + Agardando o servizo... + + + + MessageDelegate + + %1h ago + hai %1 h + + + %1m ago + hai %1 min + + + Delete + Eliminar + + + Just now + Agora mesmo + + + + MessageDetailPage + + Acknowledge + Confirmar lectura + + + Delete + Eliminar + + + Deleting + Eliminando... + + + Message + Mensaxe + + + Open URL + Abrir URL + + + + NotificationManager + + Acknowledge + Confirmar lectura + + + Dismiss + Desbotar + + + Open + Abrir + + + + SailPushClient + + Acknowledge failed + Erro ao confirmar lectura + + + Delete failed + Erro ao eliminar + + + Download failed + Erro ao descargar + + + Invalid server response + Resposta do servidor non válida + + + Login failed + Erro ao iniciar sesión + + + Registration failed + Erro ao rexistrar + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuto + + + 15 minutes + 15 minutos + + + 30 minutes + 30 minutos + + + 5 minutes + 5 minutos + + + About + Sobre + + + Account + Conta + + + Automatically start the notification daemon when the device boots. + Iniciar automaticamente o servizo de notificacións ao acender o dispositivo. + + + Automatically start the notification service at boot + Iniciar automaticamente o servizo de notificacións ao arrincar + + + Background + Segundo plano + + + Cancel + Cancelar + + + Connection + Conexión + + + Enable Polling Fallback + Activar respaldo por enquisa + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Se WebSocket se desconecta durante 30 s, cambia a enquisa periódica de notificacións. + + + Logout + Pechar sesión + + + Notifications + Notificacións + + + Polling Fallback + Respaldo por enquisa + + + Polling Interval + Intervalo de enquisa + + + Settings + Axustes + + + Start on boot + Iniciar ao arrincar + + + Status: %1 + Estado: %1 + + + Sync Now + Sincronizar agora + + + System Notifications + Notificacións do sistema + + + This will clear your credentials and stop the background service. Are you sure? + Isto borrará as túas credenciais e deterá o servizo en segundo plano. Estás seguro? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Cliente Pushover Open non oficial para SailfishOS. + Cliente Pushover Open non oficial para SailfishOS. Non publicado nin respaldado por Pushover, LLC. - - + + + Power + Enerxía + + + Keep Connection Alive When Screen Off + Manter a conexión coa pantalla apagada + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mantén o WebSocket activo coa pantalla apagada para a entrega en tempo real, mediante a API de keepalive MCE por aplicación. Maior consumo de batería. + + diff --git a/translations/sailpush_hr.ts b/translations/sailpush_hr.ts index e604d6a..2c56f14 100644 --- a/translations/sailpush_hr.ts +++ b/translations/sailpush_hr.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Povezano - - - Connecting... - Povezivanje... - - - Disconnected - Prekinuto - - - Error - Greška - - - Session closed - Sesija zatvorena - - - - CoverPage - - %1 unread - %1 nepročitanih - - - - Daemon - - Credentials rejected by server. Please re-login. - Vjerodajnice odbijene od poslužitelja. Prijavite se ponovo. - - - Session expired. Please re-login. - Sesija je istekla. Prijavite se ponovo. - - - - DaemonConnector - - Cannot connect to background service - Nije moguće povezati se na pozadinsku uslugu - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacija je ažurirana — spremljene vjerodajnice koriste stariji format i ne mogu se migrirati. Prijavite se ponovo. - - - Failed to save credentials - Spremanje vjerodajnica nije uspjelo - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Spremljene vjerodajnice nije moguće dešifrirati. To se može dogoditi nakon ažuriranja sustava. Prijavite se ponovo. - - - Secrets service is not available. Please restart the device and try again. - Secrets usluga nije dostupna. Ponovno pokrenite uređaj i pokušajte ponovno. - - - - LoginPage - - Email - E-pošta - - - Enter if required - Unesite ako je potrebno - - - Enter your Pushover account credentials to get started. - Unesite vjerodajnice za Pushover račun za početak. - - - Logging in... - Prijavljivanje... - - - Login - Prijavi se - - - Password - Lozinka - - - Registering device... - Registracija uređaja... - - - Sign up at pushover.net - Registrirajte se na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ovo je neslužbeni klijent. Nije izdan niti podržan od strane Pushover, LLC. - - - Two-Factor Code - Dvofaktorski kôd - - - Verify - Potvrdi - - - - MainPage - - %1 unread - %1 nepročitanih - - - Connection: disconnected + + ConnectionIndicator + + Connected + Povezano + + + Connecting... + Povezivanje... + + + Disconnected + Prekinuto + + + Error + Greška + + + Session closed + Sesija zatvorena + + + + CoverPage + + %1 unread + %1 nepročitanih + + + + Daemon + + Credentials rejected by server. Please re-login. + Vjerodajnice odbijene od poslužitelja. Prijavite se ponovo. + + + Session expired. Please re-login. + Sesija je istekla. Prijavite se ponovo. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacija je ažurirana — spremljene vjerodajnice koriste stariji format i ne mogu se migrirati. Prijavite se ponovo. + + + Failed to save credentials + Spremanje vjerodajnica nije uspjelo + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Spremljene vjerodajnice nije moguće dešifrirati. To se može dogoditi nakon ažuriranja sustava. Prijavite se ponovo. + + + Secrets service is not available. Please restart the device and try again. + Secrets usluga nije dostupna. Ponovno pokrenite uređaj i pokušajte ponovno. + + + + LoginPage + + Email + E-pošta + + + Enter if required + Unesite ako je potrebno + + + Enter your Pushover account credentials to get started. + Unesite vjerodajnice za Pushover račun za početak. + + + Logging in... + Prijavljivanje... + + + Login + Prijavi se + + + Password + Lozinka + + + Registering device... + Registracija uređaja... + + + Sign up at pushover.net + Registrirajte se na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ovo je neslužbeni klijent. Nije izdan niti podržan od strane Pushover, LLC. + + + Two-Factor Code + Dvofaktorski kôd + + + Verify + Potvrdi + + + + MainPage + + %1 unread + %1 nepročitanih + + + Connection: disconnected Pull down to sync - Veza: prekinuta + Veza: prekinuta Povucite dolje za sinkronizaciju - - - Mark all read - Označi sve kao pročitano - - - No Notifications - Nema obavijesti - - - Settings - Postavke - - - Waiting for daemon... - Čekanje na demona... - - - - MessageDelegate - - %1h ago - prije %1h - - - %1m ago - prije %1m - - - Delete - Obriši - - - Just now - Upravo sada - - - - MessageDetailPage - - Acknowledge - Potvrdi - - - Delete - Obriši - - - Deleting - Brisanje - - - Message - Poruka - - - Open URL - Otvori URL - - - - NotificationManager - - Acknowledge - Potvrdi - - - Dismiss - Odbaci - - - Open - Otvori - - - - SailPushClient - - Acknowledge failed - Potvrda neuspješna - - - Delete failed - Brisanje neuspješno - - - Download failed - Preuzimanje neuspješno - - - Invalid server response - Nevažeći odgovor poslužitelja - - - Login failed - Prijava neuspješna - - - Registration failed - Registracija neuspješna - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuta - - - 15 minutes - 15 minuta - - - 30 minutes - 30 minuta - - - 5 minutes - 5 minuta - - - About - O aplikaciji - - - Account - Račun - - - Automatically start the notification daemon when the device boots. - Automatski pokreni demona obavijesti kada se uređaj pokrene. - - - Automatically start the notification service at boot - Automatski pokreni uslugu obavijesti pri pokretanju - - - Background - Pozadina - - - Cancel - Odustani - - - Connection - Veza - - - Deep Sleep - Duboki san - - - Enable Polling Fallback - Omogući rezervno ispitivanje - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ako se WebSocket prekine na 30 sekundi, prelazi na periodično ispitivanje obavijesti. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Održava procesor budnim tijekom sinkronizacije poruka za osiguranje pouzdane dostave. Koristi MCE keepalive API. - - - Logout - Odjavi se - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Napomena: Za trajni WebSocket u dubokom snu, pokrenite: -mcetool --set-suspend-policy=early - - - Notifications - Obavijesti - - - Polling Fallback - Rezervno ispitivanje - - - Polling Interval - Interval ispitivanja - - - Prevent Deep Sleep During Sync - Spriječi duboki san tijekom sinkronizacije - - - Settings - Postavke - - - Start on boot - Pokreni pri pokretanju - - - Status: %1 - Status: %1 - - - Sync Now - Sinkroniziraj sada - - - System Notifications - Sustavske obavijesti - - - This will clear your credentials and stop the background service. Are you sure? - Ovo će obrisati vaše vjerodajnice i zaustaviti pozadinsku uslugu. Jeste li sigurni? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označi sve kao pročitano + + + No Notifications + Nema obavijesti + + + Settings + Postavke + + + Waiting for daemon... + Čekanje na demona... + + + + MessageDelegate + + %1h ago + prije %1h + + + %1m ago + prije %1m + + + Delete + Obriši + + + Just now + Upravo sada + + + + MessageDetailPage + + Acknowledge + Potvrdi + + + Delete + Obriši + + + Deleting + Brisanje + + + Message + Poruka + + + Open URL + Otvori URL + + + + NotificationManager + + Acknowledge + Potvrdi + + + Dismiss + Odbaci + + + Open + Otvori + + + + SailPushClient + + Acknowledge failed + Potvrda neuspješna + + + Delete failed + Brisanje neuspješno + + + Download failed + Preuzimanje neuspješno + + + Invalid server response + Nevažeći odgovor poslužitelja + + + Login failed + Prijava neuspješna + + + Registration failed + Registracija neuspješna + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuta + + + 15 minutes + 15 minuta + + + 30 minutes + 30 minuta + + + 5 minutes + 5 minuta + + + About + O aplikaciji + + + Account + Račun + + + Automatically start the notification daemon when the device boots. + Automatski pokreni demona obavijesti kada se uređaj pokrene. + + + Automatically start the notification service at boot + Automatski pokreni uslugu obavijesti pri pokretanju + + + Background + Pozadina + + + Cancel + Odustani + + + Connection + Veza + + + Enable Polling Fallback + Omogući rezervno ispitivanje + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ako se WebSocket prekine na 30 sekundi, prelazi na periodično ispitivanje obavijesti. + + + Logout + Odjavi se + + + Notifications + Obavijesti + + + Polling Fallback + Rezervno ispitivanje + + + Polling Interval + Interval ispitivanja + + + Settings + Postavke + + + Start on boot + Pokreni pri pokretanju + + + Status: %1 + Status: %1 + + + Sync Now + Sinkroniziraj sada + + + System Notifications + Sustavske obavijesti + + + This will clear your credentials and stop the background service. Are you sure? + Ovo će obrisati vaše vjerodajnice i zaustaviti pozadinsku uslugu. Jeste li sigurni? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neslužbeni Pushover klijent za SailfishOS. + Neslužbeni Pushover klijent za SailfishOS. Nije izdan niti podržan od strane Pushover, LLC. - - + + + Power + Napajanje + + + Keep Connection Alive When Screen Off + Zadrži vezu kada je zaslon isključen + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Zadržava WebSocket aktivnim kada je zaslon isključen za isporuku u stvarnom vremenu, putem MCE-keepalive sučelja po aplikaciji. Veća potrošnja baterije. + + diff --git a/translations/sailpush_hu.ts b/translations/sailpush_hu.ts index 844ce54..8f3240b 100644 --- a/translations/sailpush_hu.ts +++ b/translations/sailpush_hu.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Csatlakozva - - - Connecting... - Csatlakozás... - - - Disconnected - Bontva - - - Error - Hiba - - - Session closed - Munkamenet lezárva - - - - CoverPage - - %1 unread - %1 olvasatlan - - - - Daemon - - Credentials rejected by server. Please re-login. - A szerver elutasította a hitelesítő adatokat. Kérjük, jelentkezzen be újra. - - - Session expired. Please re-login. - A munkamenet lejárt. Kérjük, jelentkezzen be újra. - - - - DaemonConnector - - Cannot connect to background service - Nem lehet csatlakozni a háttérszolgáltatáshoz - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Az alkalmazás frissítve lett — a mentett hitelesítő adatok régebbi formátumúak és nem migrálhatók. Kérjük, jelentkezzen be újra. - - - Failed to save credentials - A hitelesítő adatok mentése sikertelen - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - A mentett hitelesítő adatok nem fejthetők vissza. Ez rendszerfrissítés után fordulhat elő. Kérjük, jelentkezzen be újra. - - - Secrets service is not available. Please restart the device and try again. - A secrets szolgáltatás nem érhető el. Kérjük, indítsa újra az eszközt és próbálja újra. - - - - LoginPage - - Email - E-mail - - - Enter if required - Adja meg, ha szükséges - - - Enter your Pushover account credentials to get started. - Adja meg Pushover fiókja adatait a kezdéshez. - - - Logging in... - Bejelentkezés... - - - Login - Bejelentkezés - - - Password - Jelszó - - - Registering device... - Eszköz regisztrálása... - - - Sign up at pushover.net - Regisztráljon a pushover.net oldalon - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ez egy nem hivatalos kliens. Nem a Pushover, LLC. adta ki vagy támogatja. - - - Two-Factor Code - Kétfaktoros kód - - - Verify - Ellenőrzés - - - - MainPage - - %1 unread - %1 olvasatlan - - - Connection: disconnected + + ConnectionIndicator + + Connected + Csatlakozva + + + Connecting... + Csatlakozás... + + + Disconnected + Bontva + + + Error + Hiba + + + Session closed + Munkamenet lezárva + + + + CoverPage + + %1 unread + %1 olvasatlan + + + + Daemon + + Credentials rejected by server. Please re-login. + A szerver elutasította a hitelesítő adatokat. Kérjük, jelentkezzen be újra. + + + Session expired. Please re-login. + A munkamenet lejárt. Kérjük, jelentkezzen be újra. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Az alkalmazás frissítve lett — a mentett hitelesítő adatok régebbi formátumúak és nem migrálhatók. Kérjük, jelentkezzen be újra. + + + Failed to save credentials + A hitelesítő adatok mentése sikertelen + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + A mentett hitelesítő adatok nem fejthetők vissza. Ez rendszerfrissítés után fordulhat elő. Kérjük, jelentkezzen be újra. + + + Secrets service is not available. Please restart the device and try again. + A secrets szolgáltatás nem érhető el. Kérjük, indítsa újra az eszközt és próbálja újra. + + + + LoginPage + + Email + E-mail + + + Enter if required + Adja meg, ha szükséges + + + Enter your Pushover account credentials to get started. + Adja meg Pushover fiókja adatait a kezdéshez. + + + Logging in... + Bejelentkezés... + + + Login + Bejelentkezés + + + Password + Jelszó + + + Registering device... + Eszköz regisztrálása... + + + Sign up at pushover.net + Regisztráljon a pushover.net oldalon + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ez egy nem hivatalos kliens. Nem a Pushover, LLC. adta ki vagy támogatja. + + + Two-Factor Code + Kétfaktoros kód + + + Verify + Ellenőrzés + + + + MainPage + + %1 unread + %1 olvasatlan + + + Connection: disconnected Pull down to sync - Kapcsolat: bontva + Kapcsolat: bontva Húzza le a szinkronizáláshoz - - - Mark all read - Összes megjelölve olvasottként - - - No Notifications - Nincsenek értesítések - - - Settings - Beállítások - - - Waiting for daemon... - Várakozás a szolgáltatásra... - - - - MessageDelegate - - %1h ago - %1ó ezelőtt - - - %1m ago - %1p ezelőtt - - - Delete - Törlés - - - Just now - Épp most - - - - MessageDetailPage - - Acknowledge - Tudomásul vesz - - - Delete - Törlés - - - Deleting - Törlés folyamatban - - - Message - Üzenet - - - Open URL - URL megnyitása - - - - NotificationManager - - Acknowledge - Tudomásul vesz - - - Dismiss - Elvetés - - - Open - Megnyitás - - - - SailPushClient - - Acknowledge failed - Tudomásul vétel sikertelen - - - Delete failed - Törlés sikertelen - - - Download failed - Letöltés sikertelen - - - Invalid server response - Érvénytelen szerver válasz - - - Login failed - Bejelentkezés sikertelen - - - Registration failed - Regisztráció sikertelen - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 perc - - - 15 minutes - 15 perc - - - 30 minutes - 30 perc - - - 5 minutes - 5 perc - - - About - Névjegy - - - Account - Fiók - - - Automatically start the notification daemon when the device boots. - Az értesítési démon automatikus indítása az eszköz bekapcsolásakor. - - - Automatically start the notification service at boot - Az értesítési szolgáltatás automatikus indítása rendszerindításkor - - - Background - Háttér - - - Cancel - Mégse - - - Connection - Kapcsolat - - - Deep Sleep - Mély alvás - - - Enable Polling Fallback - Polling tartalék engedélyezése - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ha a WebSocket 30 másodpercig bontva van, időszakos pollingra vált az értesítésekhez. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - A CPU-t ébren tartja az üzenetek szinkronizálása során a megbízható kézbesítés érdekében. MCE keepalive API-t használ. - - - Logout - Kijelentkezés - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Megjegyzés: Tartós WebSocket-hez mély alvásban futtassa: -mcetool --set-suspend-policy=early - - - Notifications - Értesítések - - - Polling Fallback - Polling tartalék - - - Polling Interval - Polling időköz - - - Prevent Deep Sleep During Sync - Mély alvás megakadályozása szinkronizálás közben - - - Settings - Beállítások - - - Start on boot - Indítás rendszerindításkor - - - Status: %1 - Állapot: %1 - - - Sync Now - Szinkronizálás most - - - System Notifications - Rendszerértesítések - - - This will clear your credentials and stop the background service. Are you sure? - Ez törli a hitelesítő adatait és leállítja a háttérszolgáltatást. Biztos benne? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Összes megjelölve olvasottként + + + No Notifications + Nincsenek értesítések + + + Settings + Beállítások + + + Waiting for daemon... + Várakozás a szolgáltatásra... + + + + MessageDelegate + + %1h ago + %1ó ezelőtt + + + %1m ago + %1p ezelőtt + + + Delete + Törlés + + + Just now + Épp most + + + + MessageDetailPage + + Acknowledge + Tudomásul vesz + + + Delete + Törlés + + + Deleting + Törlés folyamatban + + + Message + Üzenet + + + Open URL + URL megnyitása + + + + NotificationManager + + Acknowledge + Tudomásul vesz + + + Dismiss + Elvetés + + + Open + Megnyitás + + + + SailPushClient + + Acknowledge failed + Tudomásul vétel sikertelen + + + Delete failed + Törlés sikertelen + + + Download failed + Letöltés sikertelen + + + Invalid server response + Érvénytelen szerver válasz + + + Login failed + Bejelentkezés sikertelen + + + Registration failed + Regisztráció sikertelen + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 perc + + + 15 minutes + 15 perc + + + 30 minutes + 30 perc + + + 5 minutes + 5 perc + + + About + Névjegy + + + Account + Fiók + + + Automatically start the notification daemon when the device boots. + Az értesítési démon automatikus indítása az eszköz bekapcsolásakor. + + + Automatically start the notification service at boot + Az értesítési szolgáltatás automatikus indítása rendszerindításkor + + + Background + Háttér + + + Cancel + Mégse + + + Connection + Kapcsolat + + + Enable Polling Fallback + Polling tartalék engedélyezése + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ha a WebSocket 30 másodpercig bontva van, időszakos pollingra vált az értesítésekhez. + + + Logout + Kijelentkezés + + + Notifications + Értesítések + + + Polling Fallback + Polling tartalék + + + Polling Interval + Polling időköz + + + Settings + Beállítások + + + Start on boot + Indítás rendszerindításkor + + + Status: %1 + Állapot: %1 + + + Sync Now + Szinkronizálás most + + + System Notifications + Rendszerértesítések + + + This will clear your credentials and stop the background service. Are you sure? + Ez törli a hitelesítő adatait és leállítja a háttérszolgáltatást. Biztos benne? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Nem hivatalos Pushover Open Client SailfishOS rendszerhez. + Nem hivatalos Pushover Open Client SailfishOS rendszerhez. Nem a Pushover, LLC. adta ki vagy támogatja. - - + + + Power + Áramellátás + + + Keep Connection Alive When Screen Off + Kapcsolat fenntartása képernyő kikapcsolásakor + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Aktívan tartja a WebSocketet képernyő kikapcsolásakor a valós idejű kézbesítéshez, az alkalmazásonkénti MCE-keepalive API-n keresztül. Magasabb akkumulátorhasználat. + + diff --git a/translations/sailpush_hy.ts b/translations/sailpush_hy.ts index 0aebd1b..3a467ef 100644 --- a/translations/sailpush_hy.ts +++ b/translations/sailpush_hy.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Կապակցված - - - Connecting... - Կապակցում... - - - Disconnected - Անջատված - - - Error - Սխալ - - - Session closed - Նիստը փակված է - - - - CoverPage - - %1 unread - %1 չընթերցված - - - - Daemon - - Credentials rejected by server. Please re-login. - Մուտքագրման տվյալները մերժվել են սպասարկիչի կողմից: Խնդրում ենք կրկին մուտք գործել: - - - Session expired. Please re-login. - Նիստը լրացել է: Խնդրում ենք կրկին մուտք գործել: - - - - DaemonConnector - - Cannot connect to background service - Հնարավոր չէ կապակցել ֆոնային ծառայությանը - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Հավելվածը թարմացվել է — պահպանված մուտքագրման տվյալները օգտագործում են հին ֆորմատ և հնարավոր չէ տեղափոխել: Խնդրում ենք կրկին մուտք գործել: - - - Failed to save credentials - Մուտքագրման տվյալների պահպանումը ձախողվեց - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Պահպանված մուտքագրման տվյալները չհաջողվեց վերծանել: Սա կարող է տեղի ունենալ համակարգի թարմացումից հետո: Խնդրում ենք կրկին մուտք գործել: - - - Secrets service is not available. Please restart the device and try again. - Secrets ծառայությունը հասանելի չէ: Վերագործարկեք սարքը և կրկին փորձեք: - - - - LoginPage - - Email - Էլ. փոստ - - - Enter if required - Մուտքագրեք եթե անհրաժեշտ է - - - Enter your Pushover account credentials to get started. - Մուտքագրեք Ձեր Pushover հաշվի տվյալները՝ սկսելու համար: - - - Logging in... - Մուտք գործելը... - - - Login - Մուտք - - - Password - Գաղտնաբառ - - - Registering device... - Սարքի գրանցում... - - - Sign up at pushover.net - Գրանցվեք pushover.net-ում - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Սա ոչ պաշտոնական հաճախորդ է: Թողարկված չէ կամ աջակցված չէ Pushover, LLC-ի կողմից: - - - Two-Factor Code - Երկֆակտոր կոդ - - - Verify - Հաստատել - - - - MainPage - - %1 unread - %1 չընթերցված - - - Connection: disconnected + + ConnectionIndicator + + Connected + Կապակցված + + + Connecting... + Կապակցում... + + + Disconnected + Անջատված + + + Error + Սխալ + + + Session closed + Նիստը փակված է + + + + CoverPage + + %1 unread + %1 չընթերցված + + + + Daemon + + Credentials rejected by server. Please re-login. + Մուտքագրման տվյալները մերժվել են սպասարկիչի կողմից: Խնդրում ենք կրկին մուտք գործել: + + + Session expired. Please re-login. + Նիստը լրացել է: Խնդրում ենք կրկին մուտք գործել: + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Հավելվածը թարմացվել է — պահպանված մուտքագրման տվյալները օգտագործում են հին ֆորմատ և հնարավոր չէ տեղափոխել: Խնդրում ենք կրկին մուտք գործել: + + + Failed to save credentials + Մուտքագրման տվյալների պահպանումը ձախողվեց + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Պահպանված մուտքագրման տվյալները չհաջողվեց վերծանել: Սա կարող է տեղի ունենալ համակարգի թարմացումից հետո: Խնդրում ենք կրկին մուտք գործել: + + + Secrets service is not available. Please restart the device and try again. + Secrets ծառայությունը հասանելի չէ: Վերագործարկեք սարքը և կրկին փորձեք: + + + + LoginPage + + Email + Էլ. փոստ + + + Enter if required + Մուտքագրեք եթե անհրաժեշտ է + + + Enter your Pushover account credentials to get started. + Մուտքագրեք Ձեր Pushover հաշվի տվյալները՝ սկսելու համար: + + + Logging in... + Մուտք գործելը... + + + Login + Մուտք + + + Password + Գաղտնաբառ + + + Registering device... + Սարքի գրանցում... + + + Sign up at pushover.net + Գրանցվեք pushover.net-ում + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Սա ոչ պաշտոնական հաճախորդ է: Թողարկված չէ կամ աջակցված չէ Pushover, LLC-ի կողմից: + + + Two-Factor Code + Երկֆակտոր կոդ + + + Verify + Հաստատել + + + + MainPage + + %1 unread + %1 չընթերցված + + + Connection: disconnected Pull down to sync - Կապակցումը: անջատված + Կապակցումը: անջատված Քաշեք ներքև համաժամացման համար - - - Mark all read - Նշել բոլորը որպես ընթերցված - - - No Notifications - Ծանուցումներ չկան - - - Settings - Կարգավորումներ - - - Waiting for daemon... - Սպասում է ծառայությանը... - - - - MessageDelegate - - %1h ago - %1 ժ առաջ - - - %1m ago - %1 րոպ առաջ - - - Delete - Ջնջել - - - Just now - Հենց հիմա - - - - MessageDetailPage - - Acknowledge - Հաստատել - - - Delete - Ջնջել - - - Deleting - Ջնջում - - - Message - Հաղորդագրություն - - - Open URL - Բացել URL - - - - NotificationManager - - Acknowledge - Հաստատել - - - Dismiss - Մերժել - - - Open - Բացել - - - - SailPushClient - - Acknowledge failed - Հաստատումը ձախողվեց - - - Delete failed - Ջնջումը ձախողվեց - - - Download failed - Ներբեռնումը ձախողվեց - - - Invalid server response - Սխալ սպասարկիչի պատասխան - - - Login failed - Մուտքը ձախողվեց - - - Registration failed - Գրանցումը ձախողվեց - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 րոպե - - - 15 minutes - 15 րոպե - - - 30 minutes - 30 րոպե - - - 5 minutes - 5 րոպե - - - About - Մասին - - - Account - Հաշիվ - - - Automatically start the notification daemon when the device boots. - Ինքնաբերաբար սկսել ծանուցման ծառայությունը, երբ սարքը բեռնվում է: - - - Automatically start the notification service at boot - Ինքնաբերաբար սկսել ծանուցման ծառայությունը բեռնման ժամանակ - - - Background - Ֆոն - - - Cancel - Չեղարկել - - - Connection - Կապակցում - - - Deep Sleep - Խորը քուն - - - Enable Polling Fallback - Միացնել polling պահուստը - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Եթե WebSocket-ը անջատվում է 30 վայրկյան, անցնում է պարբերական polling-ի ծանուցումների համար: - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Պահում է CPU-ն արթուն հաղորդագրությունների համաժամացման ընթացքում՝ հուսալի առաքում ապահովելու համար: Օգտագործում է MCE keepalive API: - - - Logout - Ելք - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Նշում. Խորը քնի մեջ մշտական WebSocket-ի համար, գործարկեք: -mcetool --set-suspend-policy=early - - - Notifications - Ծանուցումներ - - - Polling Fallback - Polling պահուստ - - - Polling Interval - Polling միջակայք - - - Prevent Deep Sleep During Sync - Կանխել խորը քունը համաժամացման ընթացքում - - - Settings - Կարգավորումներ - - - Start on boot - Սկսել բեռնման ժամանակ - - - Status: %1 - Կարգավիճակ: %1 - - - Sync Now - Համաժամացնել հիմա - - - System Notifications - Համակարգային ծանուցումներ - - - This will clear your credentials and stop the background service. Are you sure? - Սա կջնջի Ձեր մուտքագրման տվյալները և կդադարեցնի ֆոնային ծառայությունը: Համոզված ե՞ք - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Նշել բոլորը որպես ընթերցված + + + No Notifications + Ծանուցումներ չկան + + + Settings + Կարգավորումներ + + + Waiting for daemon... + Սպասում է ծառայությանը... + + + + MessageDelegate + + %1h ago + %1 ժ առաջ + + + %1m ago + %1 րոպ առաջ + + + Delete + Ջնջել + + + Just now + Հենց հիմա + + + + MessageDetailPage + + Acknowledge + Հաստատել + + + Delete + Ջնջել + + + Deleting + Ջնջում + + + Message + Հաղորդագրություն + + + Open URL + Բացել URL + + + + NotificationManager + + Acknowledge + Հաստատել + + + Dismiss + Մերժել + + + Open + Բացել + + + + SailPushClient + + Acknowledge failed + Հաստատումը ձախողվեց + + + Delete failed + Ջնջումը ձախողվեց + + + Download failed + Ներբեռնումը ձախողվեց + + + Invalid server response + Սխալ սպասարկիչի պատասխան + + + Login failed + Մուտքը ձախողվեց + + + Registration failed + Գրանցումը ձախողվեց + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 րոպե + + + 15 minutes + 15 րոպե + + + 30 minutes + 30 րոպե + + + 5 minutes + 5 րոպե + + + About + Մասին + + + Account + Հաշիվ + + + Automatically start the notification daemon when the device boots. + Ինքնաբերաբար սկսել ծանուցման ծառայությունը, երբ սարքը բեռնվում է: + + + Automatically start the notification service at boot + Ինքնաբերաբար սկսել ծանուցման ծառայությունը բեռնման ժամանակ + + + Background + Ֆոն + + + Cancel + Չեղարկել + + + Connection + Կապակցում + + + Enable Polling Fallback + Միացնել polling պահուստը + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Եթե WebSocket-ը անջատվում է 30 վայրկյան, անցնում է պարբերական polling-ի ծանուցումների համար: + + + Logout + Ելք + + + Notifications + Ծանուցումներ + + + Polling Fallback + Polling պահուստ + + + Polling Interval + Polling միջակայք + + + Settings + Կարգավորումներ + + + Start on boot + Սկսել բեռնման ժամանակ + + + Status: %1 + Կարգավիճակ: %1 + + + Sync Now + Համաժամացնել հիմա + + + System Notifications + Համակարգային ծանուցումներ + + + This will clear your credentials and stop the background service. Are you sure? + Սա կջնջի Ձեր մուտքագրման տվյալները և կդադարեցնի ֆոնային ծառայությունը: Համոզված ե՞ք + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Ոչ պաշտոնական Pushover Open Client SailfishOS-ի համար: + Ոչ պաշտոնական Pushover Open Client SailfishOS-ի համար: Թողարկված չէ կամ աջակցված չէ Pushover, LLC-ի կողմից: - - + + + Power + Սնուցում + + + Keep Connection Alive When Screen Off + Պահպանել կապը, երբ էկրանն անջատված է + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Պահպանում է WebSocket-ը ակտիվ, երբ էկրանն անջատված է՝ իրական ժամանակում առաքման համար, օգտագործելով ըստ ծրագրի MCE keepalive API-ն։ Ավելի բարձր մարտկոցի սպառում։ + + diff --git a/translations/sailpush_is.ts b/translations/sailpush_is.ts index 7431527..0cd5fea 100644 --- a/translations/sailpush_is.ts +++ b/translations/sailpush_is.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Tengt - - - Connecting... - Tengist... - - - Disconnected - Aftengt - - - Error - Villa - - - Session closed - Setu lokað - - - - CoverPage - - %1 unread - %1 ólesið - - - - Daemon - - Credentials rejected by server. Please re-login. - Netþjónn hafnaði skilríkjum. Vinsamlegast skráðu þig inn aftur. - - - Session expired. Please re-login. - Setan rann út. Vinsamlegast skráðu þig inn aftur. - - - - DaemonConnector - - Cannot connect to background service - Get ekki tengst bakgrunnsþjónustunni - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Forritið var uppfært — vistuð skilríki nota eldra snið og er ekki hægt að yfirfæra. Vinsamlegast skráðu þig inn aftur. - - - Failed to save credentials - Mistókst að vista skilríki - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Ekki var hægt að dulráða vistuð skilríki. Þetta getur gerst eftir kerfisuppfærslu. Vinsamlegast skráðu þig inn aftur. - - - Secrets service is not available. Please restart the device and try again. - Secrets-þjónustan er ekki tiltæk. Endurræstu tækið og reyndu aftur. - - - - LoginPage - - Email - Netfang - - - Enter if required - Sláðu inn ef þörf krefur - - - Enter your Pushover account credentials to get started. - Sláðu inn Pushover reikningsupplýsingar þínar til að byrja. - - - Logging in... - Skráir inn... - - - Login - Innskráning - - - Password - Lykilorð - - - Registering device... - Skráir tæki... - - - Sign up at pushover.net - Skráðu þig á pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Þetta er óopinber biðlari. Ekki gefinn út eða studdur af Pushover, LLC. - - - Two-Factor Code - Tveggja þátta kóði - - - Verify - Staðfesta - - - - MainPage - - %1 unread - %1 ólesið - - - Connection: disconnected + + ConnectionIndicator + + Connected + Tengt + + + Connecting... + Tengist... + + + Disconnected + Aftengt + + + Error + Villa + + + Session closed + Setu lokað + + + + CoverPage + + %1 unread + %1 ólesið + + + + Daemon + + Credentials rejected by server. Please re-login. + Netþjónn hafnaði skilríkjum. Vinsamlegast skráðu þig inn aftur. + + + Session expired. Please re-login. + Setan rann út. Vinsamlegast skráðu þig inn aftur. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Forritið var uppfært — vistuð skilríki nota eldra snið og er ekki hægt að yfirfæra. Vinsamlegast skráðu þig inn aftur. + + + Failed to save credentials + Mistókst að vista skilríki + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Ekki var hægt að dulráða vistuð skilríki. Þetta getur gerst eftir kerfisuppfærslu. Vinsamlegast skráðu þig inn aftur. + + + Secrets service is not available. Please restart the device and try again. + Secrets-þjónustan er ekki tiltæk. Endurræstu tækið og reyndu aftur. + + + + LoginPage + + Email + Netfang + + + Enter if required + Sláðu inn ef þörf krefur + + + Enter your Pushover account credentials to get started. + Sláðu inn Pushover reikningsupplýsingar þínar til að byrja. + + + Logging in... + Skráir inn... + + + Login + Innskráning + + + Password + Lykilorð + + + Registering device... + Skráir tæki... + + + Sign up at pushover.net + Skráðu þig á pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Þetta er óopinber biðlari. Ekki gefinn út eða studdur af Pushover, LLC. + + + Two-Factor Code + Tveggja þátta kóði + + + Verify + Staðfesta + + + + MainPage + + %1 unread + %1 ólesið + + + Connection: disconnected Pull down to sync - Tenging: aftengt + Tenging: aftengt Dragðu niður til að samstilla - - - Mark all read - Merkja allt lesið - - - No Notifications - Engar tilkynningar - - - Settings - Stillingar - - - Waiting for daemon... - Bíð eftir þjónustu... - - - - MessageDelegate - - %1h ago - %1klst síðan - - - %1m ago - %1m síðan - - - Delete - Eyða - - - Just now - Rétt í þessu - - - - MessageDetailPage - - Acknowledge - Staðfesta - - - Delete - Eyða - - - Deleting - Eyðir - - - Message - Skilaboð - - - Open URL - Opna URL - - - - NotificationManager - - Acknowledge - Staðfesta - - - Dismiss - Hafna - - - Open - Opna - - - - SailPushClient - - Acknowledge failed - Staðfesting mistókst - - - Delete failed - Eyðing mistókst - - - Download failed - Niðurhal mistókst - - - Invalid server response - Ógilt svar netþjóns - - - Login failed - Innskráning mistókst - - - Registration failed - Skráning mistókst - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 mínúta - - - 15 minutes - 15 mínútur - - - 30 minutes - 30 mínútur - - - 5 minutes - 5 mínútur - - - About - Um - - - Account - Reikningur - - - Automatically start the notification daemon when the device boots. - Sjálfvirkt ræsa tilkynningaþjónustuna þegar tækið ræsist. - - - Automatically start the notification service at boot - Sjálfvirkt ræsa tilkynningaþjónustuna við ræsingu - - - Background - Bakgrunnur - - - Cancel - Hætta við - - - Connection - Tenging - - - Deep Sleep - Djúpur svefn - - - Enable Polling Fallback - Virkja polling vöru - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ef WebSocket aftengist í 30 sekúndur, fellur aftur á tímabundið polling fyrir tilkynningar. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Heldur CPU vakandi meðan á samstillingu skilaboða stendur til að tryggja áreiðanlega afhendingu. Notar MCE keepalive API. - - - Logout - Útskráning - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Athugið: Fyrir varanlega WebSocket í djúpum svefn, keyrðu: -mcetool --set-suspend-policy=early - - - Notifications - Tilkynningar - - - Polling Fallback - Polling vara - - - Polling Interval - Polling millibil - - - Prevent Deep Sleep During Sync - Koma í veg fyrir djúpan svefn meðan á samstillingu stendur - - - Settings - Stillingar - - - Start on boot - Ræsa við ræsingu - - - Status: %1 - Staða: %1 - - - Sync Now - Samstilla núna - - - System Notifications - Kerfistilkynningar - - - This will clear your credentials and stop the background service. Are you sure? - Þetta mun eyða skilríkjunum þínum og stöðva bakgrunnsþjónustuna. Ertu viss? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Merkja allt lesið + + + No Notifications + Engar tilkynningar + + + Settings + Stillingar + + + Waiting for daemon... + Bíð eftir þjónustu... + + + + MessageDelegate + + %1h ago + %1klst síðan + + + %1m ago + %1m síðan + + + Delete + Eyða + + + Just now + Rétt í þessu + + + + MessageDetailPage + + Acknowledge + Staðfesta + + + Delete + Eyða + + + Deleting + Eyðir + + + Message + Skilaboð + + + Open URL + Opna URL + + + + NotificationManager + + Acknowledge + Staðfesta + + + Dismiss + Hafna + + + Open + Opna + + + + SailPushClient + + Acknowledge failed + Staðfesting mistókst + + + Delete failed + Eyðing mistókst + + + Download failed + Niðurhal mistókst + + + Invalid server response + Ógilt svar netþjóns + + + Login failed + Innskráning mistókst + + + Registration failed + Skráning mistókst + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 mínúta + + + 15 minutes + 15 mínútur + + + 30 minutes + 30 mínútur + + + 5 minutes + 5 mínútur + + + About + Um + + + Account + Reikningur + + + Automatically start the notification daemon when the device boots. + Sjálfvirkt ræsa tilkynningaþjónustuna þegar tækið ræsist. + + + Automatically start the notification service at boot + Sjálfvirkt ræsa tilkynningaþjónustuna við ræsingu + + + Background + Bakgrunnur + + + Cancel + Hætta við + + + Connection + Tenging + + + Enable Polling Fallback + Virkja polling vöru + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ef WebSocket aftengist í 30 sekúndur, fellur aftur á tímabundið polling fyrir tilkynningar. + + + Logout + Útskráning + + + Notifications + Tilkynningar + + + Polling Fallback + Polling vara + + + Polling Interval + Polling millibil + + + Settings + Stillingar + + + Start on boot + Ræsa við ræsingu + + + Status: %1 + Staða: %1 + + + Sync Now + Samstilla núna + + + System Notifications + Kerfistilkynningar + + + This will clear your credentials and stop the background service. Are you sure? + Þetta mun eyða skilríkjunum þínum og stöðva bakgrunnsþjónustuna. Ertu viss? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Óopinber Pushover Open Client fyrir SailfishOS. + Óopinber Pushover Open Client fyrir SailfishOS. Ekki gefinn út eða studdur af Pushover, LLC. - - + + + Power + Afl + + + Keep Connection Alive When Screen Off + Halda tengingu lifandi þegar skjár er slökktur + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Heldur WebSocket lifandi þegar skjár er slökktur fyrir rauntímaafhendingu, í gegnum MCE-keepalive-viðmót fyrir hvert forrit. Meiri rafhlöðunotkun. + + diff --git a/translations/sailpush_it.ts b/translations/sailpush_it.ts index 6591e8d..0b7ae35 100644 --- a/translations/sailpush_it.ts +++ b/translations/sailpush_it.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Connesso - - - Connecting... - Connessione... - - - Disconnected - Disconnesso - - - Error - Errore - - - Session closed - Sessione chiusa - - - - CoverPage - - %1 unread - %1 non letti - - - - Daemon - - Credentials rejected by server. Please re-login. - Credenziali rifiutate dal server. Effettua nuovamente l'accesso. - - - Session expired. Please re-login. - Sessione scaduta. Effettua nuovamente l'accesso. - - - - DaemonConnector - - Cannot connect to background service - Impossibile connettersi al servizio in background - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - L'app è stata aggiornata — le credenziali salvate usano un formato più vecchio e non possono essere migrate. Effettua nuovamente l'accesso. - - - Failed to save credentials - Impossibile salvare le credenziali - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Le credenziali salvate non possono essere decriptate. Questo può accadere dopo un aggiornamento di sistema. Effettua nuovamente l'accesso. - - - Secrets service is not available. Please restart the device and try again. - Il servizio secrets non è disponibile. Riavvia il dispositivo e riprova. - - - - LoginPage - - Email - E-mail - - - Enter if required - Inserisci se necessario - - - Enter your Pushover account credentials to get started. - Inserisci le credenziali del tuo account Pushover per iniziare. - - - Logging in... - Accesso in corso... - - - Login - Accedi - - - Password - Password - - - Registering device... - Registrazione dispositivo... - - - Sign up at pushover.net - Registrati su pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Questo è un client non ufficiale. Non pubblicato né supportato da Pushover, LLC. - - - Two-Factor Code - Codice a due fattori - - - Verify - Verifica - - - - MainPage - - %1 unread - %1 non letti - - - Connection: disconnected + + ConnectionIndicator + + Connected + Connesso + + + Connecting... + Connessione... + + + Disconnected + Disconnesso + + + Error + Errore + + + Session closed + Sessione chiusa + + + + CoverPage + + %1 unread + %1 non letti + + + + Daemon + + Credentials rejected by server. Please re-login. + Credenziali rifiutate dal server. Effettua nuovamente l'accesso. + + + Session expired. Please re-login. + Sessione scaduta. Effettua nuovamente l'accesso. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + L'app è stata aggiornata — le credenziali salvate usano un formato più vecchio e non possono essere migrate. Effettua nuovamente l'accesso. + + + Failed to save credentials + Impossibile salvare le credenziali + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Le credenziali salvate non possono essere decriptate. Questo può accadere dopo un aggiornamento di sistema. Effettua nuovamente l'accesso. + + + Secrets service is not available. Please restart the device and try again. + Il servizio secrets non è disponibile. Riavvia il dispositivo e riprova. + + + + LoginPage + + Email + E-mail + + + Enter if required + Inserisci se necessario + + + Enter your Pushover account credentials to get started. + Inserisci le credenziali del tuo account Pushover per iniziare. + + + Logging in... + Accesso in corso... + + + Login + Accedi + + + Password + Password + + + Registering device... + Registrazione dispositivo... + + + Sign up at pushover.net + Registrati su pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Questo è un client non ufficiale. Non pubblicato né supportato da Pushover, LLC. + + + Two-Factor Code + Codice a due fattori + + + Verify + Verifica + + + + MainPage + + %1 unread + %1 non letti + + + Connection: disconnected Pull down to sync - Connessione: disconnesso + Connessione: disconnesso Trascina in basso per sincronizzare - - - Mark all read - Segna tutto come letto - - - No Notifications - Nessuna notifica - - - Settings - Impostazioni - - - Waiting for daemon... - In attesa del demone... - - - - MessageDelegate - - %1h ago - %1 h fa - - - %1m ago - %1 min fa - - - Delete - Elimina - - - Just now - Adesso - - - - MessageDetailPage - - Acknowledge - Conferma lettura - - - Delete - Elimina - - - Deleting - Eliminazione... - - - Message - Messaggio - - - Open URL - Apri URL - - - - NotificationManager - - Acknowledge - Conferma lettura - - - Dismiss - Ignora - - - Open - Apri - - - - SailPushClient - - Acknowledge failed - Conferma lettura fallita - - - Delete failed - Eliminazione fallita - - - Download failed - Download fallito - - - Invalid server response - Risposta del server non valida - - - Login failed - Accesso fallito - - - Registration failed - Registrazione fallita - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuto - - - 15 minutes - 15 minuti - - - 30 minutes - 30 minuti - - - 5 minutes - 5 minuti - - - About - Informazioni - - - Account - Account - - - Automatically start the notification daemon when the device boots. - Avvia automaticamente il demone delle notifiche all'avvio del dispositivo. - - - Automatically start the notification service at boot - Avvia automaticamente il servizio notifiche all'accensione - - - Background - Sfondo - - - Cancel - Annulla - - - Connection - Connessione - - - Deep Sleep - Sospensione profonda - - - Enable Polling Fallback - Abilita fallback a polling - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Se il WebSocket si disconnette per 30 s, passa al polling periodico delle notifiche. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mantiene la CPU attiva durante la sincronizzazione dei messaggi per garantire la consegna. Usa l'API keepalive MCE. - - - Logout - Esci - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Per WebSocket persistente in sospensione profonda, esegui: -mcetool --set-suspend-policy=early - - - Notifications - Notifiche - - - Polling Fallback - Fallback a polling - - - Polling Interval - Intervallo di polling - - - Prevent Deep Sleep During Sync - Impedisci sospensione profonda durante la sincronizzazione - - - Settings - Impostazioni - - - Start on boot - Avvio all'accensione - - - Status: %1 - Stato: %1 - - - Sync Now - Sincronizza ora - - - System Notifications - Notifiche di sistema - - - This will clear your credentials and stop the background service. Are you sure? - Questo cancellerà le tue credenziali e arresterà il servizio in background. Sei sicuro? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Segna tutto come letto + + + No Notifications + Nessuna notifica + + + Settings + Impostazioni + + + Waiting for daemon... + In attesa del demone... + + + + MessageDelegate + + %1h ago + %1 h fa + + + %1m ago + %1 min fa + + + Delete + Elimina + + + Just now + Adesso + + + + MessageDetailPage + + Acknowledge + Conferma lettura + + + Delete + Elimina + + + Deleting + Eliminazione... + + + Message + Messaggio + + + Open URL + Apri URL + + + + NotificationManager + + Acknowledge + Conferma lettura + + + Dismiss + Ignora + + + Open + Apri + + + + SailPushClient + + Acknowledge failed + Conferma lettura fallita + + + Delete failed + Eliminazione fallita + + + Download failed + Download fallito + + + Invalid server response + Risposta del server non valida + + + Login failed + Accesso fallito + + + Registration failed + Registrazione fallita + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuto + + + 15 minutes + 15 minuti + + + 30 minutes + 30 minuti + + + 5 minutes + 5 minuti + + + About + Informazioni + + + Account + Account + + + Automatically start the notification daemon when the device boots. + Avvia automaticamente il demone delle notifiche all'avvio del dispositivo. + + + Automatically start the notification service at boot + Avvia automaticamente il servizio notifiche all'accensione + + + Background + Sfondo + + + Cancel + Annulla + + + Connection + Connessione + + + Enable Polling Fallback + Abilita fallback a polling + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Se il WebSocket si disconnette per 30 s, passa al polling periodico delle notifiche. + + + Logout + Esci + + + Notifications + Notifiche + + + Polling Fallback + Fallback a polling + + + Polling Interval + Intervallo di polling + + + Settings + Impostazioni + + + Start on boot + Avvio all'accensione + + + Status: %1 + Stato: %1 + + + Sync Now + Sincronizza ora + + + System Notifications + Notifiche di sistema + + + This will clear your credentials and stop the background service. Are you sure? + Questo cancellerà le tue credenziali e arresterà il servizio in background. Sei sicuro? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Client Pushover Open non ufficiale per SailfishOS. + Client Pushover Open non ufficiale per SailfishOS. Non pubblicato né supportato da Pushover, LLC. - - + + + Power + Alimentazione + + + Keep Connection Alive When Screen Off + Mantieni connessione a schermo spento + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mantiene il WebSocket attivo a schermo spento per la consegna in tempo reale, tramite l'API di keepalive MCE per applicazione. Maggiore consumo di batteria. + + diff --git a/translations/sailpush_ka.ts b/translations/sailpush_ka.ts index ae3d402..eb114a2 100644 --- a/translations/sailpush_ka.ts +++ b/translations/sailpush_ka.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - დაკავშირებული - - - Connecting... - კავშირი... - - - Disconnected - გათიშული - - - Error - შეცდომა - - - Session closed - სესია დახურულია - - - - CoverPage - - %1 unread - %1 წაუკითხავი - - - - Daemon - - Credentials rejected by server. Please re-login. - მონაცემები უარყოფილია სერვერის მიერ. გთხოვთ, ხელახლა შეხვიდეთ. - - - Session expired. Please re-login. - სესია ამოიწურა. გთხოვთ, ხელახლა შეხვიდეთ. - - - - DaemonConnector - - Cannot connect to background service - ფონურ სერვისთან კავშირი შეუძლებელია - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - აპლიკაცია განახლდა — შენახული მონაცემები ძველ ფორმატს იყენებს და ვერ გადატანდება. გთხოვთ, ხელახლა შეხვიდეთ. - - - Failed to save credentials - მონაცემების შენახვა ვერ მოხერხდა - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - შენახული მონაცემების გაშიფვრა ვერ მოხერხდა. ეს შეიძლება მოხდეს სისტემის განახლების შემდეგ. გთხოვთ, ხელახლა შეხვიდეთ. - - - Secrets service is not available. Please restart the device and try again. - Secrets სერვისი ხელმისაწვდომი არ არის. გადატვირთეთ მოწყობილობა და კიდევ სცადეთ. - - - - LoginPage - - Email - ელ-ფოსტა - - - Enter if required - შეიყვანეთ საჭიროების შემთხვევაში - - - Enter your Pushover account credentials to get started. - დაიწყეთ თქვენი Pushover ანგარიშის მონაცემების შეყვანა. - - - Logging in... - შესვლა... - - - Login - შესვლა - - - Password - პაროლი - - - Registering device... - მოწყობილობის რეგისტრაცია... - - - Sign up at pushover.net - დარეგისტრირდით pushover.net-ზე - - - This is an unofficial client. Not released or supported by Pushover, LLC. - ეს არის არაოფიციალური კლიენტი. არ არის გამოშვებული ან მხარდაჭერილი Pushover, LLC-ის მიერ. - - - Two-Factor Code - ორფაქტორიანი კოდი - - - Verify - დადასტურება - - - - MainPage - - %1 unread - %1 წაუკითხავი - - - Connection: disconnected + + ConnectionIndicator + + Connected + დაკავშირებული + + + Connecting... + კავშირი... + + + Disconnected + გათიშული + + + Error + შეცდომა + + + Session closed + სესია დახურულია + + + + CoverPage + + %1 unread + %1 წაუკითხავი + + + + Daemon + + Credentials rejected by server. Please re-login. + მონაცემები უარყოფილია სერვერის მიერ. გთხოვთ, ხელახლა შეხვიდეთ. + + + Session expired. Please re-login. + სესია ამოიწურა. გთხოვთ, ხელახლა შეხვიდეთ. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + აპლიკაცია განახლდა — შენახული მონაცემები ძველ ფორმატს იყენებს და ვერ გადატანდება. გთხოვთ, ხელახლა შეხვიდეთ. + + + Failed to save credentials + მონაცემების შენახვა ვერ მოხერხდა + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + შენახული მონაცემების გაშიფვრა ვერ მოხერხდა. ეს შეიძლება მოხდეს სისტემის განახლების შემდეგ. გთხოვთ, ხელახლა შეხვიდეთ. + + + Secrets service is not available. Please restart the device and try again. + Secrets სერვისი ხელმისაწვდომი არ არის. გადატვირთეთ მოწყობილობა და კიდევ სცადეთ. + + + + LoginPage + + Email + ელ-ფოსტა + + + Enter if required + შეიყვანეთ საჭიროების შემთხვევაში + + + Enter your Pushover account credentials to get started. + დაიწყეთ თქვენი Pushover ანგარიშის მონაცემების შეყვანა. + + + Logging in... + შესვლა... + + + Login + შესვლა + + + Password + პაროლი + + + Registering device... + მოწყობილობის რეგისტრაცია... + + + Sign up at pushover.net + დარეგისტრირდით pushover.net-ზე + + + This is an unofficial client. Not released or supported by Pushover, LLC. + ეს არის არაოფიციალური კლიენტი. არ არის გამოშვებული ან მხარდაჭერილი Pushover, LLC-ის მიერ. + + + Two-Factor Code + ორფაქტორიანი კოდი + + + Verify + დადასტურება + + + + MainPage + + %1 unread + %1 წაუკითხავი + + + Connection: disconnected Pull down to sync - კავშირი: გათიშული + კავშირი: გათიშული ჩამოწიეთ სინქრონიზაციისთვის - - - Mark all read - ყველას წაკითხულად მონიშვნა - - - No Notifications - შეტყობინებები არ არის - - - Settings - პარამეტრები - - - Waiting for daemon... - სერვისის ლოდინი... - - - - MessageDelegate - - %1h ago - %1სთ წინ - - - %1m ago - %1წთ წინ - - - Delete - წაშლა - - - Just now - ახლა - - - - MessageDetailPage - - Acknowledge - დადასტურება - - - Delete - წაშლა - - - Deleting - წაშლა მიმდინარეობს - - - Message - შეტყობინება - - - Open URL - URL-ის გახსნა - - - - NotificationManager - - Acknowledge - დადასტურება - - - Dismiss - უარყოფა - - - Open - გახსნა - - - - SailPushClient - - Acknowledge failed - დადასტურება ვერ მოხერხდა - - - Delete failed - წაშლა ვერ მოხერხდა - - - Download failed - ჩამოტვირთვა ვერ მოხერხდა - - - Invalid server response - არასწორი სერვერის პასუხი - - - Login failed - შესვლა ვერ მოხერხდა - - - Registration failed - რეგისტრაცია ვერ მოხერხდა - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 წუთი - - - 15 minutes - 15 წუთი - - - 30 minutes - 30 წუთი - - - 5 minutes - 5 წუთი - - - About - შესახებ - - - Account - ანგარიში - - - Automatically start the notification daemon when the device boots. - შეტყობინებების სერვისის ავტომატური გაშვება მოწყობილობის ჩართვისას. - - - Automatically start the notification service at boot - შეტყობინებების სერვისის ავტომატური გაშვება ჩართვისას - - - Background - ფონი - - - Cancel - გაუქმება - - - Connection - კავშირი - - - Deep Sleep - ღრმა ძილი - - - Enable Polling Fallback - Polling სარეზერვოს ჩართვა - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - თუ WebSocket გაითიშება 30 წამით, გადადის პერიოდულ polling-ზე შეტყობინებებისთვის. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - ინარჩუნებს CPU-ს გაღვიძებულს შეტყობინებების სინქრონიზაციის დროს საიმედო მიწოდების უზრუნველსაყოფად. იყენებს MCE keepalive API-ს. - - - Logout - გასვლა - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - შენიშვნა: ღრმა ძილში მუდმივი WebSocket-ისთვის, გაუშვით: -mcetool --set-suspend-policy=early - - - Notifications - შეტყობინებები - - - Polling Fallback - Polling სარეზერვო - - - Polling Interval - Polling ინტერვალი - - - Prevent Deep Sleep During Sync - ღრმა ძილის თავიდან აცილება სინქრონიზაციის დროს - - - Settings - პარამეტრები - - - Start on boot - გაშვება ჩართვისას - - - Status: %1 - სტატუსი: %1 - - - Sync Now - სინქრონიზაცია ახლა - - - System Notifications - სისტემური შეტყობინებები - - - This will clear your credentials and stop the background service. Are you sure? - ეს წაშლის თქვენს მონაცემებს და შეაჩერებს ფონურ სერვისს. დარწმუნებული ხართ? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + ყველას წაკითხულად მონიშვნა + + + No Notifications + შეტყობინებები არ არის + + + Settings + პარამეტრები + + + Waiting for daemon... + სერვისის ლოდინი... + + + + MessageDelegate + + %1h ago + %1სთ წინ + + + %1m ago + %1წთ წინ + + + Delete + წაშლა + + + Just now + ახლა + + + + MessageDetailPage + + Acknowledge + დადასტურება + + + Delete + წაშლა + + + Deleting + წაშლა მიმდინარეობს + + + Message + შეტყობინება + + + Open URL + URL-ის გახსნა + + + + NotificationManager + + Acknowledge + დადასტურება + + + Dismiss + უარყოფა + + + Open + გახსნა + + + + SailPushClient + + Acknowledge failed + დადასტურება ვერ მოხერხდა + + + Delete failed + წაშლა ვერ მოხერხდა + + + Download failed + ჩამოტვირთვა ვერ მოხერხდა + + + Invalid server response + არასწორი სერვერის პასუხი + + + Login failed + შესვლა ვერ მოხერხდა + + + Registration failed + რეგისტრაცია ვერ მოხერხდა + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 წუთი + + + 15 minutes + 15 წუთი + + + 30 minutes + 30 წუთი + + + 5 minutes + 5 წუთი + + + About + შესახებ + + + Account + ანგარიში + + + Automatically start the notification daemon when the device boots. + შეტყობინებების სერვისის ავტომატური გაშვება მოწყობილობის ჩართვისას. + + + Automatically start the notification service at boot + შეტყობინებების სერვისის ავტომატური გაშვება ჩართვისას + + + Background + ფონი + + + Cancel + გაუქმება + + + Connection + კავშირი + + + Enable Polling Fallback + Polling სარეზერვოს ჩართვა + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + თუ WebSocket გაითიშება 30 წამით, გადადის პერიოდულ polling-ზე შეტყობინებებისთვის. + + + Logout + გასვლა + + + Notifications + შეტყობინებები + + + Polling Fallback + Polling სარეზერვო + + + Polling Interval + Polling ინტერვალი + + + Settings + პარამეტრები + + + Start on boot + გაშვება ჩართვისას + + + Status: %1 + სტატუსი: %1 + + + Sync Now + სინქრონიზაცია ახლა + + + System Notifications + სისტემური შეტყობინებები + + + This will clear your credentials and stop the background service. Are you sure? + ეს წაშლის თქვენს მონაცემებს და შეაჩერებს ფონურ სერვისს. დარწმუნებული ხართ? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - არაოფიციალური Pushover Open Client SailfishOS-ისთვის. + არაოფიციალური Pushover Open Client SailfishOS-ისთვის. არ არის გამოშვებული ან მხარდაჭერილი Pushover, LLC-ის მიერ. - - + + + Power + კვება + + + Keep Connection Alive When Screen Off + კავშირის შენარჩუნება ეკრანის გამორთვისას + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + ინარჩუნებს WebSocket-ს აქტიურს ეკრანის გამორთვისას რეალურ დროში მიწოდებისთვის, თითოეული აპის MCE keepalive API-ს გამოყენებით. მეტი ენერგიის მოხმარება. + + diff --git a/translations/sailpush_lt.ts b/translations/sailpush_lt.ts index f35f03d..2ef4c97 100644 --- a/translations/sailpush_lt.ts +++ b/translations/sailpush_lt.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Prisijungta - - - Connecting... - Jungiamasi... - - - Disconnected - Atjungta - - - Error - Klaida - - - Session closed - Sesija uždaryta - - - - CoverPage - - %1 unread - %1 neskaityti - - - - Daemon - - Credentials rejected by server. Please re-login. - Serveris atmetė prisijungimo duomenis. Prašome prisijungti iš naujo. - - - Session expired. Please re-login. - Sesija pasibaigė. Prašome prisijungti iš naujo. - - - - DaemonConnector - - Cannot connect to background service - Nepavyko prisijungti prie foninės tarnybos - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Programa buvo atnaujinta — išsaugoti prisijungimo duomenys naudoja senesnį formatą ir negali būti migruoti. Prašome prisijungti iš naujo. - - - Failed to save credentials - Nepavyko išsaugoti prisijungimo duomenų - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Išsaugoti prisijungimo duomenys negalėjo būti iššifruoti. Tai gali nutikti po sistemos atnaujinimo. Prašome prisijungti iš naujo. - - - Secrets service is not available. Please restart the device and try again. - Secrets paslauga neprieinama. Paleiskite įrenginį iš naujo ir bandykite dar kartą. - - - - LoginPage - - Email - El. paštas - - - Enter if required - Įveskite, jei reikia - - - Enter your Pushover account credentials to get started. - Norėdami pradėti, įveskite savo Pushover paskyros duomenis. - - - Logging in... - Jungiamasi... - - - Login - Prisijungti - - - Password - Slaptažodis - - - Registering device... - Registruojamas įrenginys... - - - Sign up at pushover.net - Registruokitės pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Tai neoficialus klientas. Neišleistas ir nepalaikomas Pushover, LLC. - - - Two-Factor Code - Dviejų veiksnių kodas - - - Verify - Patvirtinti - - - - MainPage - - %1 unread - %1 neskaityti - - - Connection: disconnected + + ConnectionIndicator + + Connected + Prisijungta + + + Connecting... + Jungiamasi... + + + Disconnected + Atjungta + + + Error + Klaida + + + Session closed + Sesija uždaryta + + + + CoverPage + + %1 unread + %1 neskaityti + + + + Daemon + + Credentials rejected by server. Please re-login. + Serveris atmetė prisijungimo duomenis. Prašome prisijungti iš naujo. + + + Session expired. Please re-login. + Sesija pasibaigė. Prašome prisijungti iš naujo. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Programa buvo atnaujinta — išsaugoti prisijungimo duomenys naudoja senesnį formatą ir negali būti migruoti. Prašome prisijungti iš naujo. + + + Failed to save credentials + Nepavyko išsaugoti prisijungimo duomenų + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Išsaugoti prisijungimo duomenys negalėjo būti iššifruoti. Tai gali nutikti po sistemos atnaujinimo. Prašome prisijungti iš naujo. + + + Secrets service is not available. Please restart the device and try again. + Secrets paslauga neprieinama. Paleiskite įrenginį iš naujo ir bandykite dar kartą. + + + + LoginPage + + Email + El. paštas + + + Enter if required + Įveskite, jei reikia + + + Enter your Pushover account credentials to get started. + Norėdami pradėti, įveskite savo Pushover paskyros duomenis. + + + Logging in... + Jungiamasi... + + + Login + Prisijungti + + + Password + Slaptažodis + + + Registering device... + Registruojamas įrenginys... + + + Sign up at pushover.net + Registruokitės pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Tai neoficialus klientas. Neišleistas ir nepalaikomas Pushover, LLC. + + + Two-Factor Code + Dviejų veiksnių kodas + + + Verify + Patvirtinti + + + + MainPage + + %1 unread + %1 neskaityti + + + Connection: disconnected Pull down to sync - Ryšys: atjungtas + Ryšys: atjungtas Vilkite žemyn sinchronizavimui - - - Mark all read - Pažymėti visus kaip skaitytus - - - No Notifications - Nėra pranešimų - - - Settings - Nustatymai - - - Waiting for daemon... - Laukiama paslaugos... - - - - MessageDelegate - - %1h ago - prieš %1val - - - %1m ago - prieš %1min - - - Delete - Ištrinti - - - Just now - Ką tik - - - - MessageDetailPage - - Acknowledge - Patvirtinti - - - Delete - Ištrinti - - - Deleting - Trinama - - - Message - Žinutė - - - Open URL - Atidaryti URL - - - - NotificationManager - - Acknowledge - Patvirtinti - - - Dismiss - Atmesti - - - Open - Atidaryti - - - - SailPushClient - - Acknowledge failed - Patvirtinimas nepavyko - - - Delete failed - Ištrynimas nepavyko - - - Download failed - Atsisiuntimas nepavyko - - - Invalid server response - Neteisingas serverio atsakymas - - - Login failed - Prisijungimas nepavyko - - - Registration failed - Registracija nepavyko - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minutė - - - 15 minutes - 15 minučių - - - 30 minutes - 30 minučių - - - 5 minutes - 5 minutės - - - About - Apie - - - Account - Paskyra - - - Automatically start the notification daemon when the device boots. - Automatiškai paleisti pranešimų tarnybą, kai įrenginys įsijungia. - - - Automatically start the notification service at boot - Automatiškai paleisti pranešimų tarnybą įjungimo metu - - - Background - Fonas - - - Cancel - Atšaukti - - - Connection - Ryšys - - - Deep Sleep - Gilus miegas - - - Enable Polling Fallback - Įgalinti polling atsarginį variantą - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Jei WebSocket atsijungia 30 sekundžių, grįžtama prie periodinio polling pranešimams. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Palaiko CPU budrų žinučių sinchronizavimo metu, kad užtikrintų patikimą pristatymą. Naudoja MCE keepalive API. - - - Logout - Atsijungti - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Pastaba: Norint nuolatinio WebSocket giliojo miego metu, vykdykite: -mcetool --set-suspend-policy=early - - - Notifications - Pranešimai - - - Polling Fallback - Polling atsarginis variantas - - - Polling Interval - Polling intervalas - - - Prevent Deep Sleep During Sync - Neleisti giliam miegui sinchronizavimo metu - - - Settings - Nustatymai - - - Start on boot - Paleisti įjungimo metu - - - Status: %1 - Būsena: %1 - - - Sync Now - Sinchronizuoti dabar - - - System Notifications - Sistemos pranešimai - - - This will clear your credentials and stop the background service. Are you sure? - Tai ištrins jūsų prisijungimo duomenis ir sustabdys foninę tarnybą. Ar esate tikri? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Pažymėti visus kaip skaitytus + + + No Notifications + Nėra pranešimų + + + Settings + Nustatymai + + + Waiting for daemon... + Laukiama paslaugos... + + + + MessageDelegate + + %1h ago + prieš %1val + + + %1m ago + prieš %1min + + + Delete + Ištrinti + + + Just now + Ką tik + + + + MessageDetailPage + + Acknowledge + Patvirtinti + + + Delete + Ištrinti + + + Deleting + Trinama + + + Message + Žinutė + + + Open URL + Atidaryti URL + + + + NotificationManager + + Acknowledge + Patvirtinti + + + Dismiss + Atmesti + + + Open + Atidaryti + + + + SailPushClient + + Acknowledge failed + Patvirtinimas nepavyko + + + Delete failed + Ištrynimas nepavyko + + + Download failed + Atsisiuntimas nepavyko + + + Invalid server response + Neteisingas serverio atsakymas + + + Login failed + Prisijungimas nepavyko + + + Registration failed + Registracija nepavyko + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minutė + + + 15 minutes + 15 minučių + + + 30 minutes + 30 minučių + + + 5 minutes + 5 minutės + + + About + Apie + + + Account + Paskyra + + + Automatically start the notification daemon when the device boots. + Automatiškai paleisti pranešimų tarnybą, kai įrenginys įsijungia. + + + Automatically start the notification service at boot + Automatiškai paleisti pranešimų tarnybą įjungimo metu + + + Background + Fonas + + + Cancel + Atšaukti + + + Connection + Ryšys + + + Enable Polling Fallback + Įgalinti polling atsarginį variantą + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Jei WebSocket atsijungia 30 sekundžių, grįžtama prie periodinio polling pranešimams. + + + Logout + Atsijungti + + + Notifications + Pranešimai + + + Polling Fallback + Polling atsarginis variantas + + + Polling Interval + Polling intervalas + + + Settings + Nustatymai + + + Start on boot + Paleisti įjungimo metu + + + Status: %1 + Būsena: %1 + + + Sync Now + Sinchronizuoti dabar + + + System Notifications + Sistemos pranešimai + + + This will clear your credentials and stop the background service. Are you sure? + Tai ištrins jūsų prisijungimo duomenis ir sustabdys foninę tarnybą. Ar esate tikri? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neoficialus Pushover Open Client skirtas SailfishOS. + Neoficialus Pushover Open Client skirtas SailfishOS. Neišleistas ir nepalaikomas Pushover, LLC. - - + + + Power + Maitinimas + + + Keep Connection Alive When Screen Off + Palaikyti ryšį, kai ekranas išjungtas + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Palaiko WebSocket aktyvų, kai ekranas išjungtas, realaus laiko pristatymui, naudojant programos MCE keepalive API. Didesnis akumuliatoriaus naudojimas. + + diff --git a/translations/sailpush_lv.ts b/translations/sailpush_lv.ts index 4f1206b..dd21a04 100644 --- a/translations/sailpush_lv.ts +++ b/translations/sailpush_lv.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Savienots - - - Connecting... - Savienojas... - - - Disconnected - Atvienots - - - Error - Kļūda - - - Session closed - Sesija slēgta - - - - CoverPage - - %1 unread - %1 nelasīti - - - - Daemon - - Credentials rejected by server. Please re-login. - Serveris noraidīja akreditācijas datus. Lūdzu, piesakieties vēlreiz. - - - Session expired. Please re-login. - Sesija beigusies. Lūdzu, piesakieties vēlreiz. - - - - DaemonConnector - - Cannot connect to background service - Nevar izveidot savienojumu ar fona servisu - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Lietotne ir atjaunināta — saglabātās akreditācijas izmanto vecāku formātu un nevar tikt migrētas. Lūdzu, piesakieties vēlreiz. - - - Failed to save credentials - Akreditācijas datu saglabāšana neizdevās - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Saglabātās akreditācijas nevarēja atšifrēt. Tas var notikt pēc sistēmas atjauninājuma. Lūdzu, piesakieties vēlreiz. - - - Secrets service is not available. Please restart the device and try again. - Secrets pakalpojums nav pieejams. Restartējiet ierīci un mēģiniet vēlreiz. - - - - LoginPage - - Email - E-pasts - - - Enter if required - Ievadiet, ja nepieciešams - - - Enter your Pushover account credentials to get started. - Lai sāktu, ievadiet savus Pushover konta datus. - - - Logging in... - Pieteikšanās... - - - Login - Pieteikšanās - - - Password - Parole - - - Registering device... - Ierīces reģistrēšana... - - - Sign up at pushover.net - Reģistrējieties vietnē pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Šis ir neoficiāls klients. Nav izlaists vai atbalstīts no Pushover, LLC. - - - Two-Factor Code - Divu faktoru kods - - - Verify - Apstiprināt - - - - MainPage - - %1 unread - %1 nelasīti - - - Connection: disconnected + + ConnectionIndicator + + Connected + Savienots + + + Connecting... + Savienojas... + + + Disconnected + Atvienots + + + Error + Kļūda + + + Session closed + Sesija slēgta + + + + CoverPage + + %1 unread + %1 nelasīti + + + + Daemon + + Credentials rejected by server. Please re-login. + Serveris noraidīja akreditācijas datus. Lūdzu, piesakieties vēlreiz. + + + Session expired. Please re-login. + Sesija beigusies. Lūdzu, piesakieties vēlreiz. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Lietotne ir atjaunināta — saglabātās akreditācijas izmanto vecāku formātu un nevar tikt migrētas. Lūdzu, piesakieties vēlreiz. + + + Failed to save credentials + Akreditācijas datu saglabāšana neizdevās + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Saglabātās akreditācijas nevarēja atšifrēt. Tas var notikt pēc sistēmas atjauninājuma. Lūdzu, piesakieties vēlreiz. + + + Secrets service is not available. Please restart the device and try again. + Secrets pakalpojums nav pieejams. Restartējiet ierīci un mēģiniet vēlreiz. + + + + LoginPage + + Email + E-pasts + + + Enter if required + Ievadiet, ja nepieciešams + + + Enter your Pushover account credentials to get started. + Lai sāktu, ievadiet savus Pushover konta datus. + + + Logging in... + Pieteikšanās... + + + Login + Pieteikšanās + + + Password + Parole + + + Registering device... + Ierīces reģistrēšana... + + + Sign up at pushover.net + Reģistrējieties vietnē pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Šis ir neoficiāls klients. Nav izlaists vai atbalstīts no Pushover, LLC. + + + Two-Factor Code + Divu faktoru kods + + + Verify + Apstiprināt + + + + MainPage + + %1 unread + %1 nelasīti + + + Connection: disconnected Pull down to sync - Savienojums: atvienots + Savienojums: atvienots Velciet lejup, lai sinhronizētu - - - Mark all read - Atzīmēt visus kā lasītus - - - No Notifications - Nav paziņojumu - - - Settings - Iestatījumi - - - Waiting for daemon... - Gaida servisu... - - - - MessageDelegate - - %1h ago - %1h atpakaļ - - - %1m ago - %1min atpakaļ - - - Delete - Dzēst - - - Just now - Tikko - - - - MessageDetailPage - - Acknowledge - Apstiprināt - - - Delete - Dzēst - - - Deleting - Dzēšana - - - Message - Ziņojums - - - Open URL - Atvērt URL - - - - NotificationManager - - Acknowledge - Apstiprināt - - - Dismiss - Noraidīt - - - Open - Atvērt - - - - SailPushClient - - Acknowledge failed - Apstiprināšana neizdevās - - - Delete failed - Dzēšana neizdevās - - - Download failed - Lejupielāde neizdevās - - - Invalid server response - Nederīga servera atbilde - - - Login failed - Pieteikšanās neizdevās - - - Registration failed - Reģistrācija neizdevās - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minūte - - - 15 minutes - 15 minūtes - - - 30 minutes - 30 minūtes - - - 5 minutes - 5 minūtes - - - About - Par - - - Account - Konts - - - Automatically start the notification daemon when the device boots. - Automātiski startēt paziņojumu servisu, kad ierīce startējas. - - - Automatically start the notification service at boot - Automātiski startēt paziņojumu servisu pie ielādes - - - Background - Fons - - - Cancel - Atcelt - - - Connection - Savienojums - - - Deep Sleep - Dziļais miegs - - - Enable Polling Fallback - Iespējot polling rezerves variantu - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ja WebSocket atvienojas uz 30 sekundēm, pāriet uz periodisku polling paziņojumiem. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Uztur CPU nomodā ziņojumu sinhronizācijas laikā, lai nodrošinātu uzticamu piegādi. Izmanto MCE keepalive API. - - - Logout - Iziet - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Piezīme: Lai iegūtu pastāvīgu WebSocket dziļajā miegā, palaidiet: -mcetool --set-suspend-policy=early - - - Notifications - Paziņojumi - - - Polling Fallback - Polling rezerves variants - - - Polling Interval - Polling intervāls - - - Prevent Deep Sleep During Sync - Novērst dziļo miegu sinhronizācijas laikā - - - Settings - Iestatījumi - - - Start on boot - Startēt pie ielādes - - - Status: %1 - Statuss: %1 - - - Sync Now - Sinhronizēt tagad - - - System Notifications - Sistēmas paziņojumi - - - This will clear your credentials and stop the background service. Are you sure? - Tas dzēsīs jūsu akreditācijas datus un apturēs fona servisu. Vai esat pārliecināts? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Atzīmēt visus kā lasītus + + + No Notifications + Nav paziņojumu + + + Settings + Iestatījumi + + + Waiting for daemon... + Gaida servisu... + + + + MessageDelegate + + %1h ago + %1h atpakaļ + + + %1m ago + %1min atpakaļ + + + Delete + Dzēst + + + Just now + Tikko + + + + MessageDetailPage + + Acknowledge + Apstiprināt + + + Delete + Dzēst + + + Deleting + Dzēšana + + + Message + Ziņojums + + + Open URL + Atvērt URL + + + + NotificationManager + + Acknowledge + Apstiprināt + + + Dismiss + Noraidīt + + + Open + Atvērt + + + + SailPushClient + + Acknowledge failed + Apstiprināšana neizdevās + + + Delete failed + Dzēšana neizdevās + + + Download failed + Lejupielāde neizdevās + + + Invalid server response + Nederīga servera atbilde + + + Login failed + Pieteikšanās neizdevās + + + Registration failed + Reģistrācija neizdevās + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minūte + + + 15 minutes + 15 minūtes + + + 30 minutes + 30 minūtes + + + 5 minutes + 5 minūtes + + + About + Par + + + Account + Konts + + + Automatically start the notification daemon when the device boots. + Automātiski startēt paziņojumu servisu, kad ierīce startējas. + + + Automatically start the notification service at boot + Automātiski startēt paziņojumu servisu pie ielādes + + + Background + Fons + + + Cancel + Atcelt + + + Connection + Savienojums + + + Enable Polling Fallback + Iespējot polling rezerves variantu + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ja WebSocket atvienojas uz 30 sekundēm, pāriet uz periodisku polling paziņojumiem. + + + Logout + Iziet + + + Notifications + Paziņojumi + + + Polling Fallback + Polling rezerves variants + + + Polling Interval + Polling intervāls + + + Settings + Iestatījumi + + + Start on boot + Startēt pie ielādes + + + Status: %1 + Statuss: %1 + + + Sync Now + Sinhronizēt tagad + + + System Notifications + Sistēmas paziņojumi + + + This will clear your credentials and stop the background service. Are you sure? + Tas dzēsīs jūsu akreditācijas datus un apturēs fona servisu. Vai esat pārliecināts? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neoficiāls Pushover Open Client SailfishOS. + Neoficiāls Pushover Open Client SailfishOS. Nav izlaists vai atbalstīts no Pushover, LLC. - - + + + Power + Barošana + + + Keep Connection Alive When Screen Off + Uzturēt savienojumu, kad ekrāns izslēgts + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Uztur WebSocket aktīvu, kad ekrāns ir izslēgts, reāllaika piegādei, izmantojot lietotņu MCE keepalive API. Lielāks akumulatora patēriņš. + + diff --git a/translations/sailpush_mk.ts b/translations/sailpush_mk.ts index 2f68fa3..3a9c5bc 100644 --- a/translations/sailpush_mk.ts +++ b/translations/sailpush_mk.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Поврзан - - - Connecting... - Поврзување... - - - Disconnected - Прекинато - - - Error - Грешка - - - Session closed - Сесијата е затворена - - - - CoverPage - - %1 unread - %1 непрочитани - - - - Daemon - - Credentials rejected by server. Please re-login. - Акредитивите беа одбиени од серверот. Ве молиме, најавете се повторно. - - - Session expired. Please re-login. - Сесијата истече. Ве молиме, најавете се повторно. - - - - DaemonConnector - - Cannot connect to background service - Не може да се поврзе со позадинската услуга - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Апликацијата е надградена — зачуваните акредитиви користат постар формат и не можат да се мигрираат. Ве молиме, најавете се повторно. - - - Failed to save credentials - Зачувувањето на акредитивите не успеа - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Зачуваните акредитиви не можеа да се декриптираат. Ова може да се случи по ажурирање на системот. Ве молиме, најавете се повторно. - - - Secrets service is not available. Please restart the device and try again. - Сервисот secrets не е достапен. Рестартирајте го уредот и обидете се повторно. - - - - LoginPage - - Email - Е-пошта - - - Enter if required - Внесете доколку е потребно - - - Enter your Pushover account credentials to get started. - Внесете ги податоците од вашата Pushover сметка за да започнете. - - - Logging in... - Најавување... - - - Login - Најава - - - Password - Лозинка - - - Registering device... - Регистрирање на уредот... - - - Sign up at pushover.net - Регистрирајте се на pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ова е неофицијален клиент. Не е издаден или поддржан од Pushover, LLC. - - - Two-Factor Code - Код со два фактори - - - Verify - Потврди - - - - MainPage - - %1 unread - %1 непрочитани - - - Connection: disconnected + + ConnectionIndicator + + Connected + Поврзан + + + Connecting... + Поврзување... + + + Disconnected + Прекинато + + + Error + Грешка + + + Session closed + Сесијата е затворена + + + + CoverPage + + %1 unread + %1 непрочитани + + + + Daemon + + Credentials rejected by server. Please re-login. + Акредитивите беа одбиени од серверот. Ве молиме, најавете се повторно. + + + Session expired. Please re-login. + Сесијата истече. Ве молиме, најавете се повторно. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Апликацијата е надградена — зачуваните акредитиви користат постар формат и не можат да се мигрираат. Ве молиме, најавете се повторно. + + + Failed to save credentials + Зачувувањето на акредитивите не успеа + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Зачуваните акредитиви не можеа да се декриптираат. Ова може да се случи по ажурирање на системот. Ве молиме, најавете се повторно. + + + Secrets service is not available. Please restart the device and try again. + Сервисот secrets не е достапен. Рестартирајте го уредот и обидете се повторно. + + + + LoginPage + + Email + Е-пошта + + + Enter if required + Внесете доколку е потребно + + + Enter your Pushover account credentials to get started. + Внесете ги податоците од вашата Pushover сметка за да започнете. + + + Logging in... + Најавување... + + + Login + Најава + + + Password + Лозинка + + + Registering device... + Регистрирање на уредот... + + + Sign up at pushover.net + Регистрирајте се на pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ова е неофицијален клиент. Не е издаден или поддржан од Pushover, LLC. + + + Two-Factor Code + Код со два фактори + + + Verify + Потврди + + + + MainPage + + %1 unread + %1 непрочитани + + + Connection: disconnected Pull down to sync - Поврзување: прекинато + Поврзување: прекинато Повлечете надолу за синхронизација - - - Mark all read - Означи сите како прочитани - - - No Notifications - Нема известувања - - - Settings - Поставки - - - Waiting for daemon... - Чекање на услугата... - - - - MessageDelegate - - %1h ago - %1ч пред - - - %1m ago - %1мин пред - - - Delete - Избриши - - - Just now - Токму сега - - - - MessageDetailPage - - Acknowledge - Потврди - - - Delete - Избриши - - - Deleting - Бришење - - - Message - Порака - - - Open URL - Отвори URL - - - - NotificationManager - - Acknowledge - Потврди - - - Dismiss - Отфрли - - - Open - Отвори - - - - SailPushClient - - Acknowledge failed - Потврдата не успеа - - - Delete failed - Бришењето не успеа - - - Download failed - Преземањето не успеа - - - Invalid server response - Невалиден одговор од серверот - - - Login failed - Најавата не успеа - - - Registration failed - Регистрацијата не успеа - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 минута - - - 15 minutes - 15 минути - - - 30 minutes - 30 минути - - - 5 minutes - 5 минути - - - About - За - - - Account - Сметка - - - Automatically start the notification daemon when the device boots. - Автоматски стартувај ја услугата за известувања кога уредот се подига. - - - Automatically start the notification service at boot - Автоматски стартувај ја услугата за известувања при подигање - - - Background - Позадина - - - Cancel - Откажи - - - Connection - Поврзување - - - Deep Sleep - Длабок сон - - - Enable Polling Fallback - Овозможи polling резерва - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ако WebSocket се прекине за 30 секунди, преминува на периодичен polling за известувања. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Го одржува CPU буден за време на синхронизација на пораки за сигурна испорака. Користи MCE keepalive API. - - - Logout - Одјава - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Забелешка: За постојан WebSocket во длабок сон, извршете: -mcetool --set-suspend-policy=early - - - Notifications - Известувања - - - Polling Fallback - Polling резерва - - - Polling Interval - Интервал на polling - - - Prevent Deep Sleep During Sync - Спречи длабок сон за време на синхронизација - - - Settings - Поставки - - - Start on boot - Стартувај при подигање - - - Status: %1 - Статус: %1 - - - Sync Now - Синхронизирај сега - - - System Notifications - Системски известувања - - - This will clear your credentials and stop the background service. Are you sure? - Ова ќе ги избрише вашите акредитиви и ќе ја запре позадинската услуга. Дали сте сигурни? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Означи сите како прочитани + + + No Notifications + Нема известувања + + + Settings + Поставки + + + Waiting for daemon... + Чекање на услугата... + + + + MessageDelegate + + %1h ago + %1ч пред + + + %1m ago + %1мин пред + + + Delete + Избриши + + + Just now + Токму сега + + + + MessageDetailPage + + Acknowledge + Потврди + + + Delete + Избриши + + + Deleting + Бришење + + + Message + Порака + + + Open URL + Отвори URL + + + + NotificationManager + + Acknowledge + Потврди + + + Dismiss + Отфрли + + + Open + Отвори + + + + SailPushClient + + Acknowledge failed + Потврдата не успеа + + + Delete failed + Бришењето не успеа + + + Download failed + Преземањето не успеа + + + Invalid server response + Невалиден одговор од серверот + + + Login failed + Најавата не успеа + + + Registration failed + Регистрацијата не успеа + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 минута + + + 15 minutes + 15 минути + + + 30 minutes + 30 минути + + + 5 minutes + 5 минути + + + About + За + + + Account + Сметка + + + Automatically start the notification daemon when the device boots. + Автоматски стартувај ја услугата за известувања кога уредот се подига. + + + Automatically start the notification service at boot + Автоматски стартувај ја услугата за известувања при подигање + + + Background + Позадина + + + Cancel + Откажи + + + Connection + Поврзување + + + Enable Polling Fallback + Овозможи polling резерва + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ако WebSocket се прекине за 30 секунди, преминува на периодичен polling за известувања. + + + Logout + Одјава + + + Notifications + Известувања + + + Polling Fallback + Polling резерва + + + Polling Interval + Интервал на polling + + + Settings + Поставки + + + Start on boot + Стартувај при подигање + + + Status: %1 + Статус: %1 + + + Sync Now + Синхронизирај сега + + + System Notifications + Системски известувања + + + This will clear your credentials and stop the background service. Are you sure? + Ова ќе ги избрише вашите акредитиви и ќе ја запре позадинската услуга. Дали сте сигурни? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Неофицијален Pushover Open Client за SailfishOS. + Неофицијален Pushover Open Client за SailfishOS. Не е издаден или поддржан од Pushover, LLC. - - + + + Power + Напојување + + + Keep Connection Alive When Screen Off + Одржувај ја врската кога екранот е исклучен + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Го одржува WebSocket активен кога екранот е исклучен за достава во реално време, преку MCE-keepalive интерфејс по апликација. Поголема потрошувачка на батерија. + + diff --git a/translations/sailpush_mt.ts b/translations/sailpush_mt.ts index 3e6dc1a..91e50c6 100644 --- a/translations/sailpush_mt.ts +++ b/translations/sailpush_mt.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Konness - - - Connecting... - Qed jikkonnetti... - - - Disconnected - Skonness - - - Error - Żball - - - Session closed - Sessjoni magħluqa - - - - CoverPage - - %1 unread - %1 maqurin - - - - Daemon - - Credentials rejected by server. Please re-login. - Il-kredenzjali ġew irrifjutati mis-server. Jekk jogħġbok erġa' idħol. - - - Session expired. Please re-login. - Is-sessjoni skadiet. Jekk jogħġbok erġa' idħol. - - - - DaemonConnector - - Cannot connect to background service - Ma jistax jikkonnetta mas-servizz ta' sfond - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - L-app ġiet aġġornata — il-kredenzjali maħżuna jużaw format eqdem u ma jistgħux jiġu migrati. Jekk jogħġbok erġa' idħol. - - - Failed to save credentials - Il-ħażna tal-kredenzjali falliet - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Il-kredenzjali maħżuna ma setgħux jiġu deċifrati. Dan jista' jiġri wara aġġornament tas-sistema. Jekk jogħġbok erġa' idħol. - - - Secrets service is not available. Please restart the device and try again. - Is-servizz tas-secrets mhuwiex disponibbli. Erġa' ibda l-apparat u erġa' pprova. - - - - LoginPage - - Email - Email - - - Enter if required - Daħħal jekk meħtieġ - - - Enter your Pushover account credentials to get started. - Daħħal id-dettalji tal-kont Pushover tiegħek biex tibda. - - - Logging in... - Qed jidħol... - - - Login - Login - - - Password - Password - - - Registering device... - Qed jirreġistra l-apparat... - - - Sign up at pushover.net - Irreġistra fuq pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Dan huwa klijent mhux uffiċjali. Ma ġiex rilaxxat jew appoġġjat minn Pushover, LLC. - - - Two-Factor Code - Kod b'żewġ fatturi - - - Verify - Ivverifika - - - - MainPage - - %1 unread - %1 maqurin - - - Connection: disconnected + + ConnectionIndicator + + Connected + Konness + + + Connecting... + Qed jikkonnetti... + + + Disconnected + Skonness + + + Error + Żball + + + Session closed + Sessjoni magħluqa + + + + CoverPage + + %1 unread + %1 maqurin + + + + Daemon + + Credentials rejected by server. Please re-login. + Il-kredenzjali ġew irrifjutati mis-server. Jekk jogħġbok erġa' idħol. + + + Session expired. Please re-login. + Is-sessjoni skadiet. Jekk jogħġbok erġa' idħol. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + L-app ġiet aġġornata — il-kredenzjali maħżuna jużaw format eqdem u ma jistgħux jiġu migrati. Jekk jogħġbok erġa' idħol. + + + Failed to save credentials + Il-ħażna tal-kredenzjali falliet + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Il-kredenzjali maħżuna ma setgħux jiġu deċifrati. Dan jista' jiġri wara aġġornament tas-sistema. Jekk jogħġbok erġa' idħol. + + + Secrets service is not available. Please restart the device and try again. + Is-servizz tas-secrets mhuwiex disponibbli. Erġa' ibda l-apparat u erġa' pprova. + + + + LoginPage + + Email + Email + + + Enter if required + Daħħal jekk meħtieġ + + + Enter your Pushover account credentials to get started. + Daħħal id-dettalji tal-kont Pushover tiegħek biex tibda. + + + Logging in... + Qed jidħol... + + + Login + Login + + + Password + Password + + + Registering device... + Qed jirreġistra l-apparat... + + + Sign up at pushover.net + Irreġistra fuq pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Dan huwa klijent mhux uffiċjali. Ma ġiex rilaxxat jew appoġġjat minn Pushover, LLC. + + + Two-Factor Code + Kod b'żewġ fatturi + + + Verify + Ivverifika + + + + MainPage + + %1 unread + %1 maqurin + + + Connection: disconnected Pull down to sync - Konnessjoni: skonnessa + Konnessjoni: skonnessa Iġbed l-isfel għas-sinkronizzazzjoni - - - Mark all read - Immarka kollha bħala maqurin - - - No Notifications - Ebda notifika - - - Settings - Settings - - - Waiting for daemon... - Stennija għas-servizz... - - - - MessageDelegate - - %1h ago - %1h ilu - - - %1m ago - %1min ilu - - - Delete - Ħassar - - - Just now - Issa - - - - MessageDetailPage - - Acknowledge - Akknowledġa - - - Delete - Ħassar - - - Deleting - Qed jħassar - - - Message - Messaġġ - - - Open URL - Iftaħ URL - - - - NotificationManager - - Acknowledge - Akknowledġa - - - Dismiss - Skarta - - - Open - Iftaħ - - - - SailPushClient - - Acknowledge failed - Akknowledġar falla - - - Delete failed - Ħassar falla - - - Download failed - Tniżżil falla - - - Invalid server response - Rispons tas-server invalidu - - - Login failed - Login falla - - - Registration failed - Reġistrazzjoni falliet - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - minuta 1 - - - 15 minutes - 15-il minuta - - - 30 minutes - 30 minuta - - - 5 minutes - 5 minuti - - - About - Dwar - - - Account - Kont - - - Automatically start the notification daemon when the device boots. - Awtomatikament ibdi s-servizz tan-notifiki meta l-apparat jinxtegħel. - - - Automatically start the notification service at boot - Awtomatikament ibdi s-servizz tan-notifiki meta tinxtegħel - - - Background - Sfond - - - Cancel - Ikkanċella - - - Connection - Konnessjoni - - - Deep Sleep - Ngħas profond - - - Enable Polling Fallback - Attiva polling fallback - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Jekk WebSocket jiskonnessa għal 30 sekonda, jerġa' lura għal polling perjodiku għan-notifiki. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Iżomm l-CPU mqajjem waqt is-sinkronizzazzjoni tal-messaġġi biex tiġi żgurata konsigna affidabbli. Juża MCE keepalive API. - - - Logout - Oħroġ - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Għal WebSocket persistenti f'ngħas profond, ħaddem: -mcetool --set-suspend-policy=early - - - Notifications - Notifiki - - - Polling Fallback - Polling fallback - - - Polling Interval - Interval tal-polling - - - Prevent Deep Sleep During Sync - Evita ngħas profond waqt is-sinkronizzazzjoni - - - Settings - Settings - - - Start on boot - Ibdi meta tinxtegħel - - - Status: %1 - Status: %1 - - - Sync Now - Sinkronizza issa - - - System Notifications - Notifiki tas-sistema - - - This will clear your credentials and stop the background service. Are you sure? - Dan se jħassar il-kredenzjali tiegħek u jwaqqaf is-servizz ta' sfond. Int ċert? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Immarka kollha bħala maqurin + + + No Notifications + Ebda notifika + + + Settings + Settings + + + Waiting for daemon... + Stennija għas-servizz... + + + + MessageDelegate + + %1h ago + %1h ilu + + + %1m ago + %1min ilu + + + Delete + Ħassar + + + Just now + Issa + + + + MessageDetailPage + + Acknowledge + Akknowledġa + + + Delete + Ħassar + + + Deleting + Qed jħassar + + + Message + Messaġġ + + + Open URL + Iftaħ URL + + + + NotificationManager + + Acknowledge + Akknowledġa + + + Dismiss + Skarta + + + Open + Iftaħ + + + + SailPushClient + + Acknowledge failed + Akknowledġar falla + + + Delete failed + Ħassar falla + + + Download failed + Tniżżil falla + + + Invalid server response + Rispons tas-server invalidu + + + Login failed + Login falla + + + Registration failed + Reġistrazzjoni falliet + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + minuta 1 + + + 15 minutes + 15-il minuta + + + 30 minutes + 30 minuta + + + 5 minutes + 5 minuti + + + About + Dwar + + + Account + Kont + + + Automatically start the notification daemon when the device boots. + Awtomatikament ibdi s-servizz tan-notifiki meta l-apparat jinxtegħel. + + + Automatically start the notification service at boot + Awtomatikament ibdi s-servizz tan-notifiki meta tinxtegħel + + + Background + Sfond + + + Cancel + Ikkanċella + + + Connection + Konnessjoni + + + Enable Polling Fallback + Attiva polling fallback + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Jekk WebSocket jiskonnessa għal 30 sekonda, jerġa' lura għal polling perjodiku għan-notifiki. + + + Logout + Oħroġ + + + Notifications + Notifiki + + + Polling Fallback + Polling fallback + + + Polling Interval + Interval tal-polling + + + Settings + Settings + + + Start on boot + Ibdi meta tinxtegħel + + + Status: %1 + Status: %1 + + + Sync Now + Sinkronizza issa + + + System Notifications + Notifiki tas-sistema + + + This will clear your credentials and stop the background service. Are you sure? + Dan se jħassar il-kredenzjali tiegħek u jwaqqaf is-servizz ta' sfond. Int ċert? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Pushover Open Client mhux uffiċjali għal SailfishOS. + Pushover Open Client mhux uffiċjali għal SailfishOS. Ma ġiex rilaxxat jew appoġġjat minn Pushover, LLC. - - + + + Power + Enerġija + + + Keep Connection Alive When Screen Off + Żomm il-konnessjoni ħajja meta l-iskrin jitfi + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Żomm il-WebSocket ħaj meta l-iskrin jitfi għat-tqassim f'ħin reali, permezz tal-API keepalive MCE għal kull applikazzjoni. Użu ogħla tal-batterija. + + diff --git a/translations/sailpush_nb.ts b/translations/sailpush_nb.ts index 82ba47c..3182e7c 100644 --- a/translations/sailpush_nb.ts +++ b/translations/sailpush_nb.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Tilkoblet - - - Connecting... - Kobler til... - - - Disconnected - Frakoblet - - - Error - Feil - - - Session closed - Økt lukket - - - - CoverPage - - %1 unread - %1 uleste - - - - Daemon - - Credentials rejected by server. Please re-login. - Påloggingsopplysningene ble avvist av serveren. Vennligst logg inn på nytt. - - - Session expired. Please re-login. - Økten er utløpt. Vennligst logg inn på nytt. - - - - DaemonConnector - - Cannot connect to background service - Kan ikke koble til bakgrunnstjenesten - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Appen ble oppgradert — lagrede påloggingsopplysninger bruker et eldre format og kan ikke overføres. Vennligst logg inn på nytt. - - - Failed to save credentials - Lagring av påloggingsopplysninger mislyktes - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Lagrede påloggingsopplysninger kunne ikke dekrypteres. Dette kan skje etter en systemoppdatering. Vennligst logg inn på nytt. - - - Secrets service is not available. Please restart the device and try again. - Secrets-tjenesten er ikke tilgjengelig. Start enheten på nytt og prøv igjen. - - - - LoginPage - - Email - E-post - - - Enter if required - Skriv inn om nødvendig - - - Enter your Pushover account credentials to get started. - Skriv inn Pushover-kontoopplysningene dine for å komme i gang. - - - Logging in... - Logger inn... - - - Login - Logg inn - - - Password - Passord - - - Registering device... - Registrerer enhet... - - - Sign up at pushover.net - Registrer deg på pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Dette er en uoffisiell klient. Ikke utgitt eller støttet av Pushover, LLC. - - - Two-Factor Code - Tofaktor-kode - - - Verify - Bekreft - - - - MainPage - - %1 unread - %1 uleste - - - Connection: disconnected + + ConnectionIndicator + + Connected + Tilkoblet + + + Connecting... + Kobler til... + + + Disconnected + Frakoblet + + + Error + Feil + + + Session closed + Økt lukket + + + + CoverPage + + %1 unread + %1 uleste + + + + Daemon + + Credentials rejected by server. Please re-login. + Påloggingsopplysningene ble avvist av serveren. Vennligst logg inn på nytt. + + + Session expired. Please re-login. + Økten er utløpt. Vennligst logg inn på nytt. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Appen ble oppgradert — lagrede påloggingsopplysninger bruker et eldre format og kan ikke overføres. Vennligst logg inn på nytt. + + + Failed to save credentials + Lagring av påloggingsopplysninger mislyktes + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Lagrede påloggingsopplysninger kunne ikke dekrypteres. Dette kan skje etter en systemoppdatering. Vennligst logg inn på nytt. + + + Secrets service is not available. Please restart the device and try again. + Secrets-tjenesten er ikke tilgjengelig. Start enheten på nytt og prøv igjen. + + + + LoginPage + + Email + E-post + + + Enter if required + Skriv inn om nødvendig + + + Enter your Pushover account credentials to get started. + Skriv inn Pushover-kontoopplysningene dine for å komme i gang. + + + Logging in... + Logger inn... + + + Login + Logg inn + + + Password + Passord + + + Registering device... + Registrerer enhet... + + + Sign up at pushover.net + Registrer deg på pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Dette er en uoffisiell klient. Ikke utgitt eller støttet av Pushover, LLC. + + + Two-Factor Code + Tofaktor-kode + + + Verify + Bekreft + + + + MainPage + + %1 unread + %1 uleste + + + Connection: disconnected Pull down to sync - Tilkobling: frakoblet + Tilkobling: frakoblet Trekk ned for å synkronisere - - - Mark all read - Marker alle som lest - - - No Notifications - Ingen varsler - - - Settings - Innstillinger - - - Waiting for daemon... - Venter på tjenesten... - - - - MessageDelegate - - %1h ago - %1t siden - - - %1m ago - %1m siden - - - Delete - Slett - - - Just now - Akkurat nå - - - - MessageDetailPage - - Acknowledge - Bekreft - - - Delete - Slett - - - Deleting - Sletter - - - Message - Melding - - - Open URL - Åpne URL - - - - NotificationManager - - Acknowledge - Bekreft - - - Dismiss - Avvis - - - Open - Åpne - - - - SailPushClient - - Acknowledge failed - Bekreftelse mislyktes - - - Delete failed - Sletting mislyktes - - - Download failed - Nedlasting mislyktes - - - Invalid server response - Ugyldig serversvar - - - Login failed - Innlogging mislyktes - - - Registration failed - Registrering mislyktes - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minutt - - - 15 minutes - 15 minutter - - - 30 minutes - 30 minutter - - - 5 minutes - 5 minutter - - - About - Om - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Start varslingstjenesten automatisk når enheten starter. - - - Automatically start the notification service at boot - Start varslingstjenesten automatisk ved oppstart - - - Background - Bakgrunn - - - Cancel - Avbryt - - - Connection - Tilkobling - - - Deep Sleep - Dyp søvn - - - Enable Polling Fallback - Aktiver polling-reserve - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Hvis WebSocket kobles fra i 30 sekunder, faller tilbake til periodisk polling for varsler. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Holder CPU våken under meldingssynkronisering for å sikre pålitelig levering. Bruker MCE keepalive API. - - - Logout - Logg ut - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Merk: For vedvarende WebSocket i dyp søvn, kjør: -mcetool --set-suspend-policy=early - - - Notifications - Varsler - - - Polling Fallback - Polling-reserve - - - Polling Interval - Polling-intervall - - - Prevent Deep Sleep During Sync - Forhindre dyp søvn under synkronisering - - - Settings - Innstillinger - - - Start on boot - Start ved oppstart - - - Status: %1 - Status: %1 - - - Sync Now - Synkroniser nå - - - System Notifications - Systemvarsler - - - This will clear your credentials and stop the background service. Are you sure? - Dette vil slette påloggingsopplysningene dine og stoppe bakgrunnstjenesten. Er du sikker? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marker alle som lest + + + No Notifications + Ingen varsler + + + Settings + Innstillinger + + + Waiting for daemon... + Venter på tjenesten... + + + + MessageDelegate + + %1h ago + %1t siden + + + %1m ago + %1m siden + + + Delete + Slett + + + Just now + Akkurat nå + + + + MessageDetailPage + + Acknowledge + Bekreft + + + Delete + Slett + + + Deleting + Sletter + + + Message + Melding + + + Open URL + Åpne URL + + + + NotificationManager + + Acknowledge + Bekreft + + + Dismiss + Avvis + + + Open + Åpne + + + + SailPushClient + + Acknowledge failed + Bekreftelse mislyktes + + + Delete failed + Sletting mislyktes + + + Download failed + Nedlasting mislyktes + + + Invalid server response + Ugyldig serversvar + + + Login failed + Innlogging mislyktes + + + Registration failed + Registrering mislyktes + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minutt + + + 15 minutes + 15 minutter + + + 30 minutes + 30 minutter + + + 5 minutes + 5 minutter + + + About + Om + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Start varslingstjenesten automatisk når enheten starter. + + + Automatically start the notification service at boot + Start varslingstjenesten automatisk ved oppstart + + + Background + Bakgrunn + + + Cancel + Avbryt + + + Connection + Tilkobling + + + Enable Polling Fallback + Aktiver polling-reserve + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Hvis WebSocket kobles fra i 30 sekunder, faller tilbake til periodisk polling for varsler. + + + Logout + Logg ut + + + Notifications + Varsler + + + Polling Fallback + Polling-reserve + + + Polling Interval + Polling-intervall + + + Settings + Innstillinger + + + Start on boot + Start ved oppstart + + + Status: %1 + Status: %1 + + + Sync Now + Synkroniser nå + + + System Notifications + Systemvarsler + + + This will clear your credentials and stop the background service. Are you sure? + Dette vil slette påloggingsopplysningene dine og stoppe bakgrunnstjenesten. Er du sikker? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Uoffisiell Pushover Open Client for SailfishOS. + Uoffisiell Pushover Open Client for SailfishOS. Ikke utgitt eller støttet av Pushover, LLC. - - + + + Power + Strøm + + + Keep Connection Alive When Screen Off + Hold tilkoblingen levende når skjermen er av + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Holder WebSocket levende når skjermen er av for sanntidslevering, via per-app MCE-keepalive-API. Høyere batteribruk. + + diff --git a/translations/sailpush_nl.ts b/translations/sailpush_nl.ts index 3fd58c6..cd6a8b5 100644 --- a/translations/sailpush_nl.ts +++ b/translations/sailpush_nl.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Verbonden - - - Connecting... - Verbinden... - - - Disconnected - Verbroken - - - Error - Fout - - - Session closed - Sessie gesloten - - - - CoverPage - - %1 unread - %1 ongelezen - - - - Daemon - - Credentials rejected by server. Please re-login. - Inloggegevens geweigerd door server. Log opnieuw in. - - - Session expired. Please re-login. - Sessie verlopen. Log opnieuw in. - - - - DaemonConnector - - Cannot connect to background service - Kan geen verbinding maken met de achtergrondservice - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - App is bijgewerkt — opgeslagen inloggegevens gebruiken een ouder formaat en kunnen niet worden gemigreerd. Log opnieuw in. - - - Failed to save credentials - Opslaan van inloggegevens mislukt - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Opgeslagen inloggegevens konden niet worden ontsleuteld. Dit kan gebeuren na een systeemupdate. Log opnieuw in. - - - Secrets service is not available. Please restart the device and try again. - De secrets-service is niet beschikbaar. Start het apparaat opnieuw op en probeer het opnieuw. - - - - LoginPage - - Email - E-mail - - - Enter if required - Voer in indien nodig - - - Enter your Pushover account credentials to get started. - Voer je Pushover-accountgegevens in om te beginnen. - - - Logging in... - Inloggen... - - - Login - Inloggen - - - Password - Wachtwoord - - - Registering device... - Apparaat registreren... - - - Sign up at pushover.net - Registreer op pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Dit is een onofficiële client. Niet uitgebracht of ondersteund door Pushover, LLC. - - - Two-Factor Code - Tweefactorcode - - - Verify - Verifiëren - - - - MainPage - - %1 unread - %1 ongelezen - - - Connection: disconnected + + ConnectionIndicator + + Connected + Verbonden + + + Connecting... + Verbinden... + + + Disconnected + Verbroken + + + Error + Fout + + + Session closed + Sessie gesloten + + + + CoverPage + + %1 unread + %1 ongelezen + + + + Daemon + + Credentials rejected by server. Please re-login. + Inloggegevens geweigerd door server. Log opnieuw in. + + + Session expired. Please re-login. + Sessie verlopen. Log opnieuw in. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + App is bijgewerkt — opgeslagen inloggegevens gebruiken een ouder formaat en kunnen niet worden gemigreerd. Log opnieuw in. + + + Failed to save credentials + Opslaan van inloggegevens mislukt + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Opgeslagen inloggegevens konden niet worden ontsleuteld. Dit kan gebeuren na een systeemupdate. Log opnieuw in. + + + Secrets service is not available. Please restart the device and try again. + De secrets-service is niet beschikbaar. Start het apparaat opnieuw op en probeer het opnieuw. + + + + LoginPage + + Email + E-mail + + + Enter if required + Voer in indien nodig + + + Enter your Pushover account credentials to get started. + Voer je Pushover-accountgegevens in om te beginnen. + + + Logging in... + Inloggen... + + + Login + Inloggen + + + Password + Wachtwoord + + + Registering device... + Apparaat registreren... + + + Sign up at pushover.net + Registreer op pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Dit is een onofficiële client. Niet uitgebracht of ondersteund door Pushover, LLC. + + + Two-Factor Code + Tweefactorcode + + + Verify + Verifiëren + + + + MainPage + + %1 unread + %1 ongelezen + + + Connection: disconnected Pull down to sync - Verbinding: verbroken + Verbinding: verbroken Trek omlaag om te synchroniseren - - - Mark all read - Markeer alles als gelezen - - - No Notifications - Geen meldingen - - - Settings - Instellingen - - - Waiting for daemon... - Wachten op service... - - - - MessageDelegate - - %1h ago - %1u geleden - - - %1m ago - %1m geleden - - - Delete - Verwijderen - - - Just now - Zojuist - - - - MessageDetailPage - - Acknowledge - Bevestigen - - - Delete - Verwijderen - - - Deleting - Verwijderen - - - Message - Bericht - - - Open URL - URL openen - - - - NotificationManager - - Acknowledge - Bevestigen - - - Dismiss - Negeren - - - Open - Openen - - - - SailPushClient - - Acknowledge failed - Bevestiging mislukt - - - Delete failed - Verwijderen mislukt - - - Download failed - Download mislukt - - - Invalid server response - Ongeldig serverantwoord - - - Login failed - Inloggen mislukt - - - Registration failed - Registratie mislukt - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuut - - - 15 minutes - 15 minuten - - - 30 minutes - 30 minuten - - - 5 minutes - 5 minuten - - - About - Over - - - Account - Account - - - Automatically start the notification daemon when the device boots. - Meldingsservice automatisch starten wanneer het apparaat opstart. - - - Automatically start the notification service at boot - Meldingsservice automatisch starten bij opstarten - - - Background - Achtergrond - - - Cancel - Annuleren - - - Connection - Verbinding - - - Deep Sleep - Diepe slaap - - - Enable Polling Fallback - Polling-reserve inschakelen - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Als WebSocket 30 seconden wordt verbroken, wordt teruggevallen op periodieke polling voor meldingen. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Houdt CPU wakker tijdens berichtsynchronisatie om betrouwbare levering te garanderen. Gebruikt MCE keepalive API. - - - Logout - Uitloggen - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Opmerking: Voor persistente WebSocket in diepe slaap, voer uit: -mcetool --set-suspend-policy=early - - - Notifications - Meldingen - - - Polling Fallback - Polling-reserve - - - Polling Interval - Polling-interval - - - Prevent Deep Sleep During Sync - Diepe slaap voorkomen tijdens synchronisatie - - - Settings - Instellingen - - - Start on boot - Starten bij opstarten - - - Status: %1 - Status: %1 - - - Sync Now - Nu synchroniseren - - - System Notifications - Systeemmeldingen - - - This will clear your credentials and stop the background service. Are you sure? - Dit wist je inloggegevens en stopt de achtergrondservice. Weet je het zeker? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Markeer alles als gelezen + + + No Notifications + Geen meldingen + + + Settings + Instellingen + + + Waiting for daemon... + Wachten op service... + + + + MessageDelegate + + %1h ago + %1u geleden + + + %1m ago + %1m geleden + + + Delete + Verwijderen + + + Just now + Zojuist + + + + MessageDetailPage + + Acknowledge + Bevestigen + + + Delete + Verwijderen + + + Deleting + Verwijderen + + + Message + Bericht + + + Open URL + URL openen + + + + NotificationManager + + Acknowledge + Bevestigen + + + Dismiss + Negeren + + + Open + Openen + + + + SailPushClient + + Acknowledge failed + Bevestiging mislukt + + + Delete failed + Verwijderen mislukt + + + Download failed + Download mislukt + + + Invalid server response + Ongeldig serverantwoord + + + Login failed + Inloggen mislukt + + + Registration failed + Registratie mislukt + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuut + + + 15 minutes + 15 minuten + + + 30 minutes + 30 minuten + + + 5 minutes + 5 minuten + + + About + Over + + + Account + Account + + + Automatically start the notification daemon when the device boots. + Meldingsservice automatisch starten wanneer het apparaat opstart. + + + Automatically start the notification service at boot + Meldingsservice automatisch starten bij opstarten + + + Background + Achtergrond + + + Cancel + Annuleren + + + Connection + Verbinding + + + Enable Polling Fallback + Polling-reserve inschakelen + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Als WebSocket 30 seconden wordt verbroken, wordt teruggevallen op periodieke polling voor meldingen. + + + Logout + Uitloggen + + + Notifications + Meldingen + + + Polling Fallback + Polling-reserve + + + Polling Interval + Polling-interval + + + Settings + Instellingen + + + Start on boot + Starten bij opstarten + + + Status: %1 + Status: %1 + + + Sync Now + Nu synchroniseren + + + System Notifications + Systeemmeldingen + + + This will clear your credentials and stop the background service. Are you sure? + Dit wist je inloggegevens en stopt de achtergrondservice. Weet je het zeker? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Onofficiële Pushover Open Client voor SailfishOS. + Onofficiële Pushover Open Client voor SailfishOS. Niet uitgebracht of ondersteund door Pushover, LLC. - - + + + Power + Energie + + + Keep Connection Alive When Screen Off + Verbinding actief houden als scherm uit is + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Houdt de WebSocket actief als het scherm uit is voor realtime bezorging, via de per-app MCE-keepalive-API. Hoger accuverbruik. + + diff --git a/translations/sailpush_pl.ts b/translations/sailpush_pl.ts index 649c92c..ee7e7a7 100644 --- a/translations/sailpush_pl.ts +++ b/translations/sailpush_pl.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Połączono - - - Connecting... - Łączenie... - - - Disconnected - Rozłączono - - - Error - Błąd - - - Session closed - Sesja zamknięta - - - - CoverPage - - %1 unread - %1 nieprzeczytanych - - - - Daemon - - Credentials rejected by server. Please re-login. - Dane logowania odrzucone przez serwer. Zaloguj się ponownie. - - - Session expired. Please re-login. - Sesja wygasła. Zaloguj się ponownie. - - - - DaemonConnector - - Cannot connect to background service - Nie można połączyć z usługą w tle - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacja została zaktualizowana — zapisane dane logowania używają starszego formatu i nie mogą zostać przeniesione. Zaloguj się ponownie. - - - Failed to save credentials - Nie udało się zapisać danych logowania - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Zapisane dane logowania nie mogły zostać odszyfrowane. Może to nastąpić po aktualizacji systemu. Zaloguj się ponownie. - - - Secrets service is not available. Please restart the device and try again. - Usługa secrets jest niedostępna. Uruchom ponownie urządzenie i spróbuj ponownie. - - - - LoginPage - - Email - E-mail - - - Enter if required - Wprowadź, jeśli wymagane - - - Enter your Pushover account credentials to get started. - Wprowadź dane logowania do konta Pushover, aby rozpocząć. - - - Logging in... - Logowanie... - - - Login - Zaloguj się - - - Password - Hasło - - - Registering device... - Rejestrowanie urządzenia... - - - Sign up at pushover.net - Zarejestruj się na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - To jest nieoficjalny klient. Nie jest wydawany ani wspierany przez Pushover, LLC. - - - Two-Factor Code - Kod uwierzytelniania dwuskładnikowego - - - Verify - Weryfikuj - - - - MainPage - - %1 unread - %1 nieprzeczytanych - - - Connection: disconnected + + ConnectionIndicator + + Connected + Połączono + + + Connecting... + Łączenie... + + + Disconnected + Rozłączono + + + Error + Błąd + + + Session closed + Sesja zamknięta + + + + CoverPage + + %1 unread + %1 nieprzeczytanych + + + + Daemon + + Credentials rejected by server. Please re-login. + Dane logowania odrzucone przez serwer. Zaloguj się ponownie. + + + Session expired. Please re-login. + Sesja wygasła. Zaloguj się ponownie. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacja została zaktualizowana — zapisane dane logowania używają starszego formatu i nie mogą zostać przeniesione. Zaloguj się ponownie. + + + Failed to save credentials + Nie udało się zapisać danych logowania + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Zapisane dane logowania nie mogły zostać odszyfrowane. Może to nastąpić po aktualizacji systemu. Zaloguj się ponownie. + + + Secrets service is not available. Please restart the device and try again. + Usługa secrets jest niedostępna. Uruchom ponownie urządzenie i spróbuj ponownie. + + + + LoginPage + + Email + E-mail + + + Enter if required + Wprowadź, jeśli wymagane + + + Enter your Pushover account credentials to get started. + Wprowadź dane logowania do konta Pushover, aby rozpocząć. + + + Logging in... + Logowanie... + + + Login + Zaloguj się + + + Password + Hasło + + + Registering device... + Rejestrowanie urządzenia... + + + Sign up at pushover.net + Zarejestruj się na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + To jest nieoficjalny klient. Nie jest wydawany ani wspierany przez Pushover, LLC. + + + Two-Factor Code + Kod uwierzytelniania dwuskładnikowego + + + Verify + Weryfikuj + + + + MainPage + + %1 unread + %1 nieprzeczytanych + + + Connection: disconnected Pull down to sync - Połączenie: rozłączone + Połączenie: rozłączone Przeciągnij w dół, aby zsynchronizować - - - Mark all read - Oznacz wszystkie jako przeczytane - - - No Notifications - Brak powiadomień - - - Settings - Ustawienia - - - Waiting for daemon... - Oczekiwanie na demona... - - - - MessageDelegate - - %1h ago - %1h temu - - - %1m ago - %1m temu - - - Delete - Usuń - - - Just now - Przed chwilą - - - - MessageDetailPage - - Acknowledge - Potwierdź - - - Delete - Usuń - - - Deleting - Usuwanie - - - Message - Wiadomość - - - Open URL - Otwórz URL - - - - NotificationManager - - Acknowledge - Potwierdź - - - Dismiss - Odrzuć - - - Open - Otwórz - - - - SailPushClient - - Acknowledge failed - Potwierdzenie nieudane - - - Delete failed - Usuwanie nieudane - - - Download failed - Pobieranie nieudane - - - Invalid server response - Nieprawidłowa odpowiedź serwera - - - Login failed - Logowanie nieudane - - - Registration failed - Rejestracja nieudana - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuta - - - 15 minutes - 15 minut - - - 30 minutes - 30 minut - - - 5 minutes - 5 minut - - - About - O aplikacji - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Automatycznie uruchom demona powiadomień po uruchomieniu urządzenia. - - - Automatically start the notification service at boot - Automatycznie uruchom usługę powiadomień przy starcie - - - Background - Tło - - - Cancel - Anuluj - - - Connection - Połączenie - - - Deep Sleep - Głęboki sen - - - Enable Polling Fallback - Włącz zapasowe odpytywanie - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Jeśli WebSocket rozłączy się na 30 sekund, przełącza na okresowe odpytywanie powiadomień. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Utrzymuje procesor w stanie czuwania podczas synchronizacji wiadomości, aby zapewnić niezawodne dostarczanie. Używa API MCE keepalive. - - - Logout - Wyloguj - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Uwaga: Aby utrzymać WebSocket w głębokim śnie, uruchom: -mcetool --set-suspend-policy=early - - - Notifications - Powiadomienia - - - Polling Fallback - Zapasowe odpytywanie - - - Polling Interval - Interwał odpytywania - - - Prevent Deep Sleep During Sync - Zapobiegaj głębokiemu śnie podczas synchronizacji - - - Settings - Ustawienia - - - Start on boot - Uruchom przy starcie - - - Status: %1 - Status: %1 - - - Sync Now - Synchronizuj teraz - - - System Notifications - Powiadomienia systemowe - - - This will clear your credentials and stop the background service. Are you sure? - To wyczyści Twoje dane logowania i zatrzyma usługę w tle. Czy jesteś pewien? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Oznacz wszystkie jako przeczytane + + + No Notifications + Brak powiadomień + + + Settings + Ustawienia + + + Waiting for daemon... + Oczekiwanie na demona... + + + + MessageDelegate + + %1h ago + %1h temu + + + %1m ago + %1m temu + + + Delete + Usuń + + + Just now + Przed chwilą + + + + MessageDetailPage + + Acknowledge + Potwierdź + + + Delete + Usuń + + + Deleting + Usuwanie + + + Message + Wiadomość + + + Open URL + Otwórz URL + + + + NotificationManager + + Acknowledge + Potwierdź + + + Dismiss + Odrzuć + + + Open + Otwórz + + + + SailPushClient + + Acknowledge failed + Potwierdzenie nieudane + + + Delete failed + Usuwanie nieudane + + + Download failed + Pobieranie nieudane + + + Invalid server response + Nieprawidłowa odpowiedź serwera + + + Login failed + Logowanie nieudane + + + Registration failed + Rejestracja nieudana + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuta + + + 15 minutes + 15 minut + + + 30 minutes + 30 minut + + + 5 minutes + 5 minut + + + About + O aplikacji + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Automatycznie uruchom demona powiadomień po uruchomieniu urządzenia. + + + Automatically start the notification service at boot + Automatycznie uruchom usługę powiadomień przy starcie + + + Background + Tło + + + Cancel + Anuluj + + + Connection + Połączenie + + + Enable Polling Fallback + Włącz zapasowe odpytywanie + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Jeśli WebSocket rozłączy się na 30 sekund, przełącza na okresowe odpytywanie powiadomień. + + + Logout + Wyloguj + + + Notifications + Powiadomienia + + + Polling Fallback + Zapasowe odpytywanie + + + Polling Interval + Interwał odpytywania + + + Settings + Ustawienia + + + Start on boot + Uruchom przy starcie + + + Status: %1 + Status: %1 + + + Sync Now + Synchronizuj teraz + + + System Notifications + Powiadomienia systemowe + + + This will clear your credentials and stop the background service. Are you sure? + To wyczyści Twoje dane logowania i zatrzyma usługę w tle. Czy jesteś pewien? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Nieoficjalny klient Pushover dla SailfishOS. + Nieoficjalny klient Pushover dla SailfishOS. Nie jest wydawany ani wspierany przez Pushover, LLC. - - + + + Power + Zasilanie + + + Keep Connection Alive When Screen Off + Utrzymuj połączenie przy wygaszonym ekranie + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Utrzymuje aktywność WebSocket przy wygaszonym ekranie w celu dostarczania w czasie rzeczywistym, za pomocą interfejsu keepalive MCE dla aplikacji. Większe zużycie baterii. + + diff --git a/translations/sailpush_pt.ts b/translations/sailpush_pt.ts index ca4f459..6610f6a 100644 --- a/translations/sailpush_pt.ts +++ b/translations/sailpush_pt.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Ligado - - - Connecting... - A ligar... - - - Disconnected - Desligado - - - Error - Erro - - - Session closed - Sessão encerrada - - - - CoverPage - - %1 unread - %1 por ler - - - - Daemon - - Credentials rejected by server. Please re-login. - Credenciais rejeitadas pelo servidor. Inicie sessão novamente. - - - Session expired. Please re-login. - Sessão expirada. Inicie sessão novamente. - - - - DaemonConnector - - Cannot connect to background service - Não é possível ligar ao serviço em segundo plano - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - A aplicação foi atualizada — as credenciais guardadas usam um formato mais antigo e não podem ser migradas. Inicie sessão novamente. - - - Failed to save credentials - Falha ao guardar as credenciais - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - As credenciais guardadas não puderam ser desencriptadas. Isto pode acontecer após uma atualização do sistema. Inicie sessão novamente. - - - Secrets service is not available. Please restart the device and try again. - O serviço de segredos não está disponível. Reinicie o dispositivo e tente novamente. - - - - LoginPage - - Email - E-mail - - - Enter if required - Introduzir se necessário - - - Enter your Pushover account credentials to get started. - Introduza as credenciais da sua conta Pushover para começar. - - - Logging in... - A iniciar sessão... - - - Login - Iniciar sessão - - - Password - Palavra-passe - - - Registering device... - A registar dispositivo... - - - Sign up at pushover.net - Registe-se em pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Este é um cliente não oficial. Não publicado nem suportado por Pushover, LLC. - - - Two-Factor Code - Código de dois fatores - - - Verify - Verificar - - - - MainPage - - %1 unread - %1 por ler - - - Connection: disconnected + + ConnectionIndicator + + Connected + Ligado + + + Connecting... + A ligar... + + + Disconnected + Desligado + + + Error + Erro + + + Session closed + Sessão encerrada + + + + CoverPage + + %1 unread + %1 por ler + + + + Daemon + + Credentials rejected by server. Please re-login. + Credenciais rejeitadas pelo servidor. Inicie sessão novamente. + + + Session expired. Please re-login. + Sessão expirada. Inicie sessão novamente. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + A aplicação foi atualizada — as credenciais guardadas usam um formato mais antigo e não podem ser migradas. Inicie sessão novamente. + + + Failed to save credentials + Falha ao guardar as credenciais + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + As credenciais guardadas não puderam ser desencriptadas. Isto pode acontecer após uma atualização do sistema. Inicie sessão novamente. + + + Secrets service is not available. Please restart the device and try again. + O serviço de segredos não está disponível. Reinicie o dispositivo e tente novamente. + + + + LoginPage + + Email + E-mail + + + Enter if required + Introduzir se necessário + + + Enter your Pushover account credentials to get started. + Introduza as credenciais da sua conta Pushover para começar. + + + Logging in... + A iniciar sessão... + + + Login + Iniciar sessão + + + Password + Palavra-passe + + + Registering device... + A registar dispositivo... + + + Sign up at pushover.net + Registe-se em pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Este é um cliente não oficial. Não publicado nem suportado por Pushover, LLC. + + + Two-Factor Code + Código de dois fatores + + + Verify + Verificar + + + + MainPage + + %1 unread + %1 por ler + + + Connection: disconnected Pull down to sync - Ligação: desligado + Ligação: desligado Puxe para baixo para sincronizar - - - Mark all read - Marcar tudo como lido - - - No Notifications - Sem notificações - - - Settings - Definições - - - Waiting for daemon... - A aguardar o serviço... - - - - MessageDelegate - - %1h ago - há %1 h - - - %1m ago - há %1 min - - - Delete - Eliminar - - - Just now - Agora - - - - MessageDetailPage - - Acknowledge - Confirmar leitura - - - Delete - Eliminar - - - Deleting - A eliminar... - - - Message - Mensagem - - - Open URL - Abrir URL - - - - NotificationManager - - Acknowledge - Confirmar leitura - - - Dismiss - Dispensar - - - Open - Abrir - - - - SailPushClient - - Acknowledge failed - Falha ao confirmar leitura - - - Delete failed - Falha ao eliminar - - - Download failed - Falha ao descarregar - - - Invalid server response - Resposta do servidor inválida - - - Login failed - Falha ao iniciar sessão - - - Registration failed - Falha ao registar - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuto - - - 15 minutes - 15 minutos - - - 30 minutes - 30 minutos - - - 5 minutes - 5 minutos - - - About - Sobre - - - Account - Conta - - - Automatically start the notification daemon when the device boots. - Iniciar automaticamente o serviço de notificações ao ligar o dispositivo. - - - Automatically start the notification service at boot - Iniciar automaticamente o serviço de notificações ao arrancar - - - Background - Segundo plano - - - Cancel - Cancelar - - - Connection - Ligação - - - Deep Sleep - Suspensão profunda - - - Enable Polling Fallback - Ativar fallback por polling - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Se o WebSocket for desconectado durante 30 s, muda para polling periódico de notificações. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mantém a CPU ativa durante a sincronização de mensagens para garantir a entrega. Usa a API keepalive MCE. - - - Logout - Terminar sessão - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Nota: Para WebSocket persistente em suspensão profunda, execute: -mcetool --set-suspend-policy=early - - - Notifications - Notificações - - - Polling Fallback - Fallback por polling - - - Polling Interval - Intervalo de polling - - - Prevent Deep Sleep During Sync - Impedir suspensão profunda durante a sincronização - - - Settings - Definições - - - Start on boot - Iniciar ao arrancar - - - Status: %1 - Estado: %1 - - - Sync Now - Sincronizar agora - - - System Notifications - Notificações do sistema - - - This will clear your credentials and stop the background service. Are you sure? - Isto apagará as suas credenciais e parará o serviço em segundo plano. Tem a certeza? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marcar tudo como lido + + + No Notifications + Sem notificações + + + Settings + Definições + + + Waiting for daemon... + A aguardar o serviço... + + + + MessageDelegate + + %1h ago + há %1 h + + + %1m ago + há %1 min + + + Delete + Eliminar + + + Just now + Agora + + + + MessageDetailPage + + Acknowledge + Confirmar leitura + + + Delete + Eliminar + + + Deleting + A eliminar... + + + Message + Mensagem + + + Open URL + Abrir URL + + + + NotificationManager + + Acknowledge + Confirmar leitura + + + Dismiss + Dispensar + + + Open + Abrir + + + + SailPushClient + + Acknowledge failed + Falha ao confirmar leitura + + + Delete failed + Falha ao eliminar + + + Download failed + Falha ao descarregar + + + Invalid server response + Resposta do servidor inválida + + + Login failed + Falha ao iniciar sessão + + + Registration failed + Falha ao registar + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuto + + + 15 minutes + 15 minutos + + + 30 minutes + 30 minutos + + + 5 minutes + 5 minutos + + + About + Sobre + + + Account + Conta + + + Automatically start the notification daemon when the device boots. + Iniciar automaticamente o serviço de notificações ao ligar o dispositivo. + + + Automatically start the notification service at boot + Iniciar automaticamente o serviço de notificações ao arrancar + + + Background + Segundo plano + + + Cancel + Cancelar + + + Connection + Ligação + + + Enable Polling Fallback + Ativar fallback por polling + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Se o WebSocket for desconectado durante 30 s, muda para polling periódico de notificações. + + + Logout + Terminar sessão + + + Notifications + Notificações + + + Polling Fallback + Fallback por polling + + + Polling Interval + Intervalo de polling + + + Settings + Definições + + + Start on boot + Iniciar ao arrancar + + + Status: %1 + Estado: %1 + + + Sync Now + Sincronizar agora + + + System Notifications + Notificações do sistema + + + This will clear your credentials and stop the background service. Are you sure? + Isto apagará as suas credenciais e parará o serviço em segundo plano. Tem a certeza? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Cliente Pushover Open não oficial para SailfishOS. + Cliente Pushover Open não oficial para SailfishOS. Não publicado nem suportado por Pushover, LLC. - - + + + Power + Energia + + + Keep Connection Alive When Screen Off + Manter ligação com ecrã desligado + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mantém o WebSocket ativo com o ecrã desligado para entrega em tempo real, através da API de keepalive MCE por aplicação. Maior consumo de bateria. + + diff --git a/translations/sailpush_ro.ts b/translations/sailpush_ro.ts index 8c1e2a2..c4514fc 100644 --- a/translations/sailpush_ro.ts +++ b/translations/sailpush_ro.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Conectat - - - Connecting... - Se conectează... - - - Disconnected - Deconectat - - - Error - Eroare - - - Session closed - Sesiune închisă - - - - CoverPage - - %1 unread - %1 necitite - - - - Daemon - - Credentials rejected by server. Please re-login. - Datele de conectare au fost respinse de server. Vă rugăm să vă autentificați din nou. - - - Session expired. Please re-login. - Sesiunea a expirat. Vă rugăm să vă autentificați din nou. - - - - DaemonConnector - - Cannot connect to background service - Nu se poate conecta la serviciul din fundal - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplicația a fost actualizată — datele de conectare salvate folosesc un format mai vechi și nu pot fi migrate. Vă rugăm să vă autentificați din nou. - - - Failed to save credentials - Salvarea datelor de conectare a eșuat - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Datele de conectare salvate nu au putut fi decriptate. Acest lucru se poate întâmpla după o actualizare de sistem. Vă rugăm să vă autentificați din nou. - - - Secrets service is not available. Please restart the device and try again. - Serviciul secrets nu este disponibil. Reporniți dispozitivul și încercați din nou. - - - - LoginPage - - Email - E-mail - - - Enter if required - Introduceți dacă este necesar - - - Enter your Pushover account credentials to get started. - Introduceți datele contului Pushover pentru a începe. - - - Logging in... - Se conectează... - - - Login - Autentificare - - - Password - Parolă - - - Registering device... - Se înregistrează dispozitivul... - - - Sign up at pushover.net - Înregistrați-vă la pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Acesta este un client neoficial. Nu este lansat sau susținut de Pushover, LLC. - - - Two-Factor Code - Cod cu doi factori - - - Verify - Verifică - - - - MainPage - - %1 unread - %1 necitite - - - Connection: disconnected + + ConnectionIndicator + + Connected + Conectat + + + Connecting... + Se conectează... + + + Disconnected + Deconectat + + + Error + Eroare + + + Session closed + Sesiune închisă + + + + CoverPage + + %1 unread + %1 necitite + + + + Daemon + + Credentials rejected by server. Please re-login. + Datele de conectare au fost respinse de server. Vă rugăm să vă autentificați din nou. + + + Session expired. Please re-login. + Sesiunea a expirat. Vă rugăm să vă autentificați din nou. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplicația a fost actualizată — datele de conectare salvate folosesc un format mai vechi și nu pot fi migrate. Vă rugăm să vă autentificați din nou. + + + Failed to save credentials + Salvarea datelor de conectare a eșuat + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Datele de conectare salvate nu au putut fi decriptate. Acest lucru se poate întâmpla după o actualizare de sistem. Vă rugăm să vă autentificați din nou. + + + Secrets service is not available. Please restart the device and try again. + Serviciul secrets nu este disponibil. Reporniți dispozitivul și încercați din nou. + + + + LoginPage + + Email + E-mail + + + Enter if required + Introduceți dacă este necesar + + + Enter your Pushover account credentials to get started. + Introduceți datele contului Pushover pentru a începe. + + + Logging in... + Se conectează... + + + Login + Autentificare + + + Password + Parolă + + + Registering device... + Se înregistrează dispozitivul... + + + Sign up at pushover.net + Înregistrați-vă la pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Acesta este un client neoficial. Nu este lansat sau susținut de Pushover, LLC. + + + Two-Factor Code + Cod cu doi factori + + + Verify + Verifică + + + + MainPage + + %1 unread + %1 necitite + + + Connection: disconnected Pull down to sync - Conexiune: deconectat + Conexiune: deconectat Trageți în jos pentru sincronizare - - - Mark all read - Marchează tot ca citit - - - No Notifications - Fără notificări - - - Settings - Setări - - - Waiting for daemon... - Se așteaptă serviciul... - - - - MessageDelegate - - %1h ago - %1h în urmă - - - %1m ago - %1m în urmă - - - Delete - Șterge - - - Just now - Chiar acum - - - - MessageDetailPage - - Acknowledge - Confirmă - - - Delete - Șterge - - - Deleting - Se șterge - - - Message - Mesaj - - - Open URL - Deschide URL - - - - NotificationManager - - Acknowledge - Confirmă - - - Dismiss - Respinge - - - Open - Deschide - - - - SailPushClient - - Acknowledge failed - Confirmarea a eșuat - - - Delete failed - Ștergere eșuată - - - Download failed - Descărcare eșuată - - - Invalid server response - Răspuns invalid de la server - - - Login failed - Autentificare eșuată - - - Registration failed - Înregistrare eșuată - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minute - - - 30 minutes - 30 de minute - - - 5 minutes - 5 minute - - - About - Despre - - - Account - Cont - - - Automatically start the notification daemon when the device boots. - Pornire automată a serviciului de notificare când dispozitivul pornește. - - - Automatically start the notification service at boot - Pornire automată a serviciului de notificare la pornirea sistemului - - - Background - Fundal - - - Cancel - Anulare - - - Connection - Conexiune - - - Deep Sleep - Somn profund - - - Enable Polling Fallback - Activează fallback polling - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Dacă WebSocket se deconectează timp de 30s, revine la polling periodic pentru notificări. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Menține CPU-ul treaz în timpul sincronizării mesajelor pentru a asigura livrarea fiabilă. Folosește API-ul MCE keepalive. - - - Logout - Deconectare - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Notă: Pentru WebSocket persistent în somn profund, rulați: -mcetool --set-suspend-policy=early - - - Notifications - Notificări - - - Polling Fallback - Fallback polling - - - Polling Interval - Interval polling - - - Prevent Deep Sleep During Sync - Previne somnul profund în timpul sincronizării - - - Settings - Setări - - - Start on boot - Pornire la pornirea sistemului - - - Status: %1 - Stare: %1 - - - Sync Now - Sincronizează acum - - - System Notifications - Notificări sistem - - - This will clear your credentials and stop the background service. Are you sure? - Aceasta va șterge datele de conectare și va opri serviciul din fundal. Sunteți sigur? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Marchează tot ca citit + + + No Notifications + Fără notificări + + + Settings + Setări + + + Waiting for daemon... + Se așteaptă serviciul... + + + + MessageDelegate + + %1h ago + %1h în urmă + + + %1m ago + %1m în urmă + + + Delete + Șterge + + + Just now + Chiar acum + + + + MessageDetailPage + + Acknowledge + Confirmă + + + Delete + Șterge + + + Deleting + Se șterge + + + Message + Mesaj + + + Open URL + Deschide URL + + + + NotificationManager + + Acknowledge + Confirmă + + + Dismiss + Respinge + + + Open + Deschide + + + + SailPushClient + + Acknowledge failed + Confirmarea a eșuat + + + Delete failed + Ștergere eșuată + + + Download failed + Descărcare eșuată + + + Invalid server response + Răspuns invalid de la server + + + Login failed + Autentificare eșuată + + + Registration failed + Înregistrare eșuată + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minute + + + 30 minutes + 30 de minute + + + 5 minutes + 5 minute + + + About + Despre + + + Account + Cont + + + Automatically start the notification daemon when the device boots. + Pornire automată a serviciului de notificare când dispozitivul pornește. + + + Automatically start the notification service at boot + Pornire automată a serviciului de notificare la pornirea sistemului + + + Background + Fundal + + + Cancel + Anulare + + + Connection + Conexiune + + + Enable Polling Fallback + Activează fallback polling + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Dacă WebSocket se deconectează timp de 30s, revine la polling periodic pentru notificări. + + + Logout + Deconectare + + + Notifications + Notificări + + + Polling Fallback + Fallback polling + + + Polling Interval + Interval polling + + + Settings + Setări + + + Start on boot + Pornire la pornirea sistemului + + + Status: %1 + Stare: %1 + + + Sync Now + Sincronizează acum + + + System Notifications + Notificări sistem + + + This will clear your credentials and stop the background service. Are you sure? + Aceasta va șterge datele de conectare și va opri serviciul din fundal. Sunteți sigur? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Client Pushover Open neoficial pentru SailfishOS. + Client Pushover Open neoficial pentru SailfishOS. Nu este lansat sau susținut de Pushover, LLC. - - + + + Power + Alimentare + + + Keep Connection Alive When Screen Off + Menține conexiunea cu ecranul oprit + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Menține WebSocket activ cu ecranul oprit pentru livrare în timp real, prin API-ul keepalive MCE per aplicație. Consum mai mare de baterie. + + diff --git a/translations/sailpush_ru.ts b/translations/sailpush_ru.ts index a52fbfa..e3b01b0 100644 --- a/translations/sailpush_ru.ts +++ b/translations/sailpush_ru.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Подключено - - - Connecting... - Подключение... - - - Disconnected - Отключено - - - Error - Ошибка - - - Session closed - Сессия закрыта - - - - CoverPage - - %1 unread - %1 непрочитанных - - - - Daemon - - Credentials rejected by server. Please re-login. - Учётные данные отклонены сервером. Пожалуйста, войдите снова. - - - Session expired. Please re-login. - Сессия истекла. Пожалуйста, войдите снова. - - - - DaemonConnector - - Cannot connect to background service - Не удаётся подключиться к фоновой службе - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Приложение обновлено — сохранённые учётные данные используют старый формат и не могут быть перенесены. Пожалуйста, войдите снова. - - - Failed to save credentials - Не удалось сохранить учётные данные - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Сохранённые учётные данные не удалось расшифровать. Это может произойти после обновления системы. Пожалуйста, войдите снова. - - - Secrets service is not available. Please restart the device and try again. - Служба secrets недоступна. Перезагрузите устройство и попробуйте снова. - - - - LoginPage - - Email - Электронная почта - - - Enter if required - Введите, если требуется - - - Enter your Pushover account credentials to get started. - Введите данные аккаунта Pushover для начала. - - - Logging in... - Вход... - - - Login - Войти - - - Password - Пароль - - - Registering device... - Регистрация устройства... - - - Sign up at pushover.net - Зарегистрируйтесь на pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Это неофициальный клиент. Не выпущен и не поддерживается Pushover, LLC. - - - Two-Factor Code - Двухфакторный код - - - Verify - Подтвердить - - - - MainPage - - %1 unread - %1 непрочитанных - - - Connection: disconnected + + ConnectionIndicator + + Connected + Подключено + + + Connecting... + Подключение... + + + Disconnected + Отключено + + + Error + Ошибка + + + Session closed + Сессия закрыта + + + + CoverPage + + %1 unread + %1 непрочитанных + + + + Daemon + + Credentials rejected by server. Please re-login. + Учётные данные отклонены сервером. Пожалуйста, войдите снова. + + + Session expired. Please re-login. + Сессия истекла. Пожалуйста, войдите снова. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Приложение обновлено — сохранённые учётные данные используют старый формат и не могут быть перенесены. Пожалуйста, войдите снова. + + + Failed to save credentials + Не удалось сохранить учётные данные + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Сохранённые учётные данные не удалось расшифровать. Это может произойти после обновления системы. Пожалуйста, войдите снова. + + + Secrets service is not available. Please restart the device and try again. + Служба secrets недоступна. Перезагрузите устройство и попробуйте снова. + + + + LoginPage + + Email + Электронная почта + + + Enter if required + Введите, если требуется + + + Enter your Pushover account credentials to get started. + Введите данные аккаунта Pushover для начала. + + + Logging in... + Вход... + + + Login + Войти + + + Password + Пароль + + + Registering device... + Регистрация устройства... + + + Sign up at pushover.net + Зарегистрируйтесь на pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Это неофициальный клиент. Не выпущен и не поддерживается Pushover, LLC. + + + Two-Factor Code + Двухфакторный код + + + Verify + Подтвердить + + + + MainPage + + %1 unread + %1 непрочитанных + + + Connection: disconnected Pull down to sync - Соединение: разорвано + Соединение: разорвано Потяните вниз для синхронизации - - - Mark all read - Отметить все прочитанными - - - No Notifications - Нет уведомлений - - - Settings - Настройки - - - Waiting for daemon... - Ожидание демона... - - - - MessageDelegate - - %1h ago - %1ч назад - - - %1m ago - %1мин назад - - - Delete - Удалить - - - Just now - Только что - - - - MessageDetailPage - - Acknowledge - Подтвердить - - - Delete - Удалить - - - Deleting - Удаление - - - Message - Сообщение - - - Open URL - Открыть URL - - - - NotificationManager - - Acknowledge - Подтвердить - - - Dismiss - Отклонить - - - Open - Открыть - - - - SailPushClient - - Acknowledge failed - Подтверждение не удалось - - - Delete failed - Удаление не удалось - - - Download failed - Загрузка не удалась - - - Invalid server response - Некорректный ответ сервера - - - Login failed - Вход не удался - - - Registration failed - Регистрация не удалась - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 минута - - - 15 minutes - 15 минут - - - 30 minutes - 30 минут - - - 5 minutes - 5 минут - - - About - О приложении - - - Account - Аккаунт - - - Automatically start the notification daemon when the device boots. - Автоматически запускать демона уведомлений при запуске устройства. - - - Automatically start the notification service at boot - Автоматически запускать службу уведомлений при старте - - - Background - Фон - - - Cancel - Отмена - - - Connection - Соединение - - - Deep Sleep - Глубокий сон - - - Enable Polling Fallback - Включить резервный опрос - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Если WebSocket разорвётся на 30 секунд, переходит к периодическому опросу уведомлений. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Удерживает процессор активным при синхронизации сообщений для обеспечения надёжной доставки. Использует MCE keepalive API. - - - Logout - Выйти - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Примечание: Для постоянного WebSocket в глубоком сне запустите: -mcetool --set-suspend-policy=early - - - Notifications - Уведомления - - - Polling Fallback - Резервный опрос - - - Polling Interval - Интервал опроса - - - Prevent Deep Sleep During Sync - Предотвращать глубокий сон при синхронизации - - - Settings - Настройки - - - Start on boot - Запуск при старте - - - Status: %1 - Статус: %1 - - - Sync Now - Синхронизировать сейчас - - - System Notifications - Системные уведомления - - - This will clear your credentials and stop the background service. Are you sure? - Это очистит ваши учётные данные и остановит фоновую службу. Вы уверены? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Отметить все прочитанными + + + No Notifications + Нет уведомлений + + + Settings + Настройки + + + Waiting for daemon... + Ожидание демона... + + + + MessageDelegate + + %1h ago + %1ч назад + + + %1m ago + %1мин назад + + + Delete + Удалить + + + Just now + Только что + + + + MessageDetailPage + + Acknowledge + Подтвердить + + + Delete + Удалить + + + Deleting + Удаление + + + Message + Сообщение + + + Open URL + Открыть URL + + + + NotificationManager + + Acknowledge + Подтвердить + + + Dismiss + Отклонить + + + Open + Открыть + + + + SailPushClient + + Acknowledge failed + Подтверждение не удалось + + + Delete failed + Удаление не удалось + + + Download failed + Загрузка не удалась + + + Invalid server response + Некорректный ответ сервера + + + Login failed + Вход не удался + + + Registration failed + Регистрация не удалась + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 минута + + + 15 minutes + 15 минут + + + 30 minutes + 30 минут + + + 5 minutes + 5 минут + + + About + О приложении + + + Account + Аккаунт + + + Automatically start the notification daemon when the device boots. + Автоматически запускать демона уведомлений при запуске устройства. + + + Automatically start the notification service at boot + Автоматически запускать службу уведомлений при старте + + + Background + Фон + + + Cancel + Отмена + + + Connection + Соединение + + + Enable Polling Fallback + Включить резервный опрос + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Если WebSocket разорвётся на 30 секунд, переходит к периодическому опросу уведомлений. + + + Logout + Выйти + + + Notifications + Уведомления + + + Polling Fallback + Резервный опрос + + + Polling Interval + Интервал опроса + + + Settings + Настройки + + + Start on boot + Запуск при старте + + + Status: %1 + Статус: %1 + + + Sync Now + Синхронизировать сейчас + + + System Notifications + Системные уведомления + + + This will clear your credentials and stop the background service. Are you sure? + Это очистит ваши учётные данные и остановит фоновую службу. Вы уверены? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Неофициальный Pushover клиент для SailfishOS. + Неофициальный Pushover клиент для SailfishOS. Не выпущен и не поддерживается Pushover, LLC. - - + + + Power + Питание + + + Keep Connection Alive When Screen Off + Поддерживать соединение при выключенном экране + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Поддерживает активный WebSocket при выключенном экране для доставки в реальном времени через API keepalive MCE для приложения. Повышенный расход батареи. + + diff --git a/translations/sailpush_sk.ts b/translations/sailpush_sk.ts index b60d18d..9446d77 100644 --- a/translations/sailpush_sk.ts +++ b/translations/sailpush_sk.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Pripojené - - - Connecting... - Pripájanie... - - - Disconnected - Odpojené - - - Error - Chyba - - - Session closed - Relácia uzavretá - - - - CoverPage - - %1 unread - %1 neprečítaných - - - - Daemon - - Credentials rejected by server. Please re-login. - Prihlasovacie údaje odmietnuté serverom. Prihláste sa znova. - - - Session expired. Please re-login. - Relácia vypršala. Prihláste sa znova. - - - - DaemonConnector - - Cannot connect to background service - Nemožno sa pripojiť k službe na pozadí - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikácia bola aktualizovaná — uložené prihlasovacie údaje používajú starší formát a nemožno ich preniesť. Prihláste sa znova. - - - Failed to save credentials - Nepodarilo sa uložiť prihlasovacie údaje - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Uložené prihlasovacie údaje nemožno dešifrovať. K tomu môže dôjsť po aktualizácii systému. Prihláste sa znova. - - - Secrets service is not available. Please restart the device and try again. - Služba secrets nie je dostupná. Reštartujte zariadenie a skúste to znova. - - - - LoginPage - - Email - E-mail - - - Enter if required - Zadajte, ak je vyžadovaný - - - Enter your Pushover account credentials to get started. - Zadajte prihlasovacie údaje k účtu Pushover pre začatie. - - - Logging in... - Prihlasovanie... - - - Login - Prihlásiť sa - - - Password - Heslo - - - Registering device... - Registrácia zariadenia... - - - Sign up at pushover.net - Zaregistrujte sa na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Toto je neoficiálny klient. Nie je vydávaný ani podporovaný spoločnosťou Pushover, LLC. - - - Two-Factor Code - Dvojfaktorový kód - - - Verify - Overiť - - - - MainPage - - %1 unread - %1 neprečítaných - - - Connection: disconnected + + ConnectionIndicator + + Connected + Pripojené + + + Connecting... + Pripájanie... + + + Disconnected + Odpojené + + + Error + Chyba + + + Session closed + Relácia uzavretá + + + + CoverPage + + %1 unread + %1 neprečítaných + + + + Daemon + + Credentials rejected by server. Please re-login. + Prihlasovacie údaje odmietnuté serverom. Prihláste sa znova. + + + Session expired. Please re-login. + Relácia vypršala. Prihláste sa znova. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikácia bola aktualizovaná — uložené prihlasovacie údaje používajú starší formát a nemožno ich preniesť. Prihláste sa znova. + + + Failed to save credentials + Nepodarilo sa uložiť prihlasovacie údaje + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Uložené prihlasovacie údaje nemožno dešifrovať. K tomu môže dôjsť po aktualizácii systému. Prihláste sa znova. + + + Secrets service is not available. Please restart the device and try again. + Služba secrets nie je dostupná. Reštartujte zariadenie a skúste to znova. + + + + LoginPage + + Email + E-mail + + + Enter if required + Zadajte, ak je vyžadovaný + + + Enter your Pushover account credentials to get started. + Zadajte prihlasovacie údaje k účtu Pushover pre začatie. + + + Logging in... + Prihlasovanie... + + + Login + Prihlásiť sa + + + Password + Heslo + + + Registering device... + Registrácia zariadenia... + + + Sign up at pushover.net + Zaregistrujte sa na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Toto je neoficiálny klient. Nie je vydávaný ani podporovaný spoločnosťou Pushover, LLC. + + + Two-Factor Code + Dvojfaktorový kód + + + Verify + Overiť + + + + MainPage + + %1 unread + %1 neprečítaných + + + Connection: disconnected Pull down to sync - Pripojenie: odpojené + Pripojenie: odpojené Potiahnite nadol pre synchronizáciu - - - Mark all read - Označiť všetko ako prečítané - - - No Notifications - Žiadne oznámenia - - - Settings - Nastavenia - - - Waiting for daemon... - Čakanie na démona... - - - - MessageDelegate - - %1h ago - %1h späť - - - %1m ago - %1m späť - - - Delete - Vymazať - - - Just now - Práve teraz - - - - MessageDetailPage - - Acknowledge - Potvrdiť - - - Delete - Vymazať - - - Deleting - Mazanie - - - Message - Správa - - - Open URL - Otvoriť URL - - - - NotificationManager - - Acknowledge - Potvrdiť - - - Dismiss - Zavrieť - - - Open - Otvoriť - - - - SailPushClient - - Acknowledge failed - Potvrdenie zlyhalo - - - Delete failed - Mazanie zlyhalo - - - Download failed - Sťahovanie zlyhalo - - - Invalid server response - Neplatná odpoveď servera - - - Login failed - Prihlásenie zlyhalo - - - Registration failed - Registrácia zlyhala - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minúta - - - 15 minutes - 15 minút - - - 30 minutes - 30 minút - - - 5 minutes - 5 minút - - - About - O aplikácii - - - Account - Účet - - - Automatically start the notification daemon when the device boots. - Automaticky spustiť démona oznámení po spustení zariadenia. - - - Automatically start the notification service at boot - Automaticky spustiť službu oznámení pri štarte - - - Background - Na pozadí - - - Cancel - Zrušiť - - - Connection - Pripojenie - - - Deep Sleep - Hlboký spánok - - - Enable Polling Fallback - Povoliť záložné dotazovanie - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ak sa WebSocket odpojí na 30 sekúnd, prepne sa na periodické dotazovanie oznámení. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Udržiava procesor bdelý počas synchronizácie správ pre zabezpečenie spoľahlivého doručenia. Používa API MCE keepalive. - - - Logout - Odhlásiť sa - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Poznámka: Pre trvalý WebSocket v hlbokom spánku spustite: -mcetool --set-suspend-policy=early - - - Notifications - Oznámenia - - - Polling Fallback - Záložné dotazovanie - - - Polling Interval - Interval dotazovania - - - Prevent Deep Sleep During Sync - Zabrániť hlbokému spánku počas synchronizácie - - - Settings - Nastavenia - - - Start on boot - Spustiť pri štarte - - - Status: %1 - Stav: %1 - - - Sync Now - Synchronizovať teraz - - - System Notifications - Systémové oznámenia - - - This will clear your credentials and stop the background service. Are you sure? - Toto vymaže vaše prihlasovacie údaje a zastaví službu na pozadí. Ste si istí? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označiť všetko ako prečítané + + + No Notifications + Žiadne oznámenia + + + Settings + Nastavenia + + + Waiting for daemon... + Čakanie na démona... + + + + MessageDelegate + + %1h ago + %1h späť + + + %1m ago + %1m späť + + + Delete + Vymazať + + + Just now + Práve teraz + + + + MessageDetailPage + + Acknowledge + Potvrdiť + + + Delete + Vymazať + + + Deleting + Mazanie + + + Message + Správa + + + Open URL + Otvoriť URL + + + + NotificationManager + + Acknowledge + Potvrdiť + + + Dismiss + Zavrieť + + + Open + Otvoriť + + + + SailPushClient + + Acknowledge failed + Potvrdenie zlyhalo + + + Delete failed + Mazanie zlyhalo + + + Download failed + Sťahovanie zlyhalo + + + Invalid server response + Neplatná odpoveď servera + + + Login failed + Prihlásenie zlyhalo + + + Registration failed + Registrácia zlyhala + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minúta + + + 15 minutes + 15 minút + + + 30 minutes + 30 minút + + + 5 minutes + 5 minút + + + About + O aplikácii + + + Account + Účet + + + Automatically start the notification daemon when the device boots. + Automaticky spustiť démona oznámení po spustení zariadenia. + + + Automatically start the notification service at boot + Automaticky spustiť službu oznámení pri štarte + + + Background + Na pozadí + + + Cancel + Zrušiť + + + Connection + Pripojenie + + + Enable Polling Fallback + Povoliť záložné dotazovanie + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ak sa WebSocket odpojí na 30 sekúnd, prepne sa na periodické dotazovanie oznámení. + + + Logout + Odhlásiť sa + + + Notifications + Oznámenia + + + Polling Fallback + Záložné dotazovanie + + + Polling Interval + Interval dotazovania + + + Settings + Nastavenia + + + Start on boot + Spustiť pri štarte + + + Status: %1 + Stav: %1 + + + Sync Now + Synchronizovať teraz + + + System Notifications + Systémové oznámenia + + + This will clear your credentials and stop the background service. Are you sure? + Toto vymaže vaše prihlasovacie údaje a zastaví službu na pozadí. Ste si istí? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neoficiálny klient Pushover pre SailfishOS. + Neoficiálny klient Pushover pre SailfishOS. Nie je vydávaný ani podporovaný spoločnosťou Pushover, LLC. - - + + + Power + Napájanie + + + Keep Connection Alive When Screen Off + Udržiavať pripojenie pri vypnutej obrazovke + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Udržiava WebSocket aktívny pri vypnutej obrazovke pre doručovanie v reálnom čase pomocou rozhrania keepalive MCE pre aplikáciu. Vyššia spotreba batérie. + + diff --git a/translations/sailpush_sl.ts b/translations/sailpush_sl.ts index 4ff45d3..25ebbe5 100644 --- a/translations/sailpush_sl.ts +++ b/translations/sailpush_sl.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Povezano - - - Connecting... - Povezovanje... - - - Disconnected - Prekinjeno - - - Error - Napaka - - - Session closed - Seja zaprta - - - - CoverPage - - %1 unread - %1 neprebranih - - - - Daemon - - Credentials rejected by server. Please re-login. - Poverilnice zavrnjene s strani strežnika. Ponovno se prijavite. - - - Session expired. Please re-login. - Seja je potekla. Ponovno se prijavite. - - - - DaemonConnector - - Cannot connect to background service - Ni mogoče vzpostaviti povezave s storitvijo v ozadju - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacija je bila posodobljena — shranjene poverilnice uporabljajo starejši format in jih ni mogoče migrirati. Ponovno se prijavite. - - - Failed to save credentials - Shranjevanje poverilnic ni uspelo - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Shranjenih poverilnic ni mogoče dešifrirati. To se lahko zgodi po posodobitvi sistema. Ponovno se prijavite. - - - Secrets service is not available. Please restart the device and try again. - Storitev secrets ni na voljo. Znova zaženite napravo in poskusite znova. - - - - LoginPage - - Email - E-pošta - - - Enter if required - Vnesite, če je zahtevano - - - Enter your Pushover account credentials to get started. - Vnesite poverilnice za račun Pushover za začetek. - - - Logging in... - Prijavljanje... - - - Login - Prijava - - - Password - Geslo - - - Registering device... - Registracija naprave... - - - Sign up at pushover.net - Registrirajte se na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - To je neuradni odjemalec. Ni izdan ali podprt s strani Pushover, LLC. - - - Two-Factor Code - Dvofaktorska koda - - - Verify - Potrdi - - - - MainPage - - %1 unread - %1 neprebranih - - - Connection: disconnected + + ConnectionIndicator + + Connected + Povezano + + + Connecting... + Povezovanje... + + + Disconnected + Prekinjeno + + + Error + Napaka + + + Session closed + Seja zaprta + + + + CoverPage + + %1 unread + %1 neprebranih + + + + Daemon + + Credentials rejected by server. Please re-login. + Poverilnice zavrnjene s strani strežnika. Ponovno se prijavite. + + + Session expired. Please re-login. + Seja je potekla. Ponovno se prijavite. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacija je bila posodobljena — shranjene poverilnice uporabljajo starejši format in jih ni mogoče migrirati. Ponovno se prijavite. + + + Failed to save credentials + Shranjevanje poverilnic ni uspelo + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Shranjenih poverilnic ni mogoče dešifrirati. To se lahko zgodi po posodobitvi sistema. Ponovno se prijavite. + + + Secrets service is not available. Please restart the device and try again. + Storitev secrets ni na voljo. Znova zaženite napravo in poskusite znova. + + + + LoginPage + + Email + E-pošta + + + Enter if required + Vnesite, če je zahtevano + + + Enter your Pushover account credentials to get started. + Vnesite poverilnice za račun Pushover za začetek. + + + Logging in... + Prijavljanje... + + + Login + Prijava + + + Password + Geslo + + + Registering device... + Registracija naprave... + + + Sign up at pushover.net + Registrirajte se na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + To je neuradni odjemalec. Ni izdan ali podprt s strani Pushover, LLC. + + + Two-Factor Code + Dvofaktorska koda + + + Verify + Potrdi + + + + MainPage + + %1 unread + %1 neprebranih + + + Connection: disconnected Pull down to sync - Povezava: prekinjena + Povezava: prekinjena Povlecite navzdol za sinhronizacijo - - - Mark all read - Označi vse kot prebrano - - - No Notifications - Ni obvestil - - - Settings - Nastavitve - - - Waiting for daemon... - Čakanje na demona... - - - - MessageDelegate - - %1h ago - pred %1h - - - %1m ago - pred %1m - - - Delete - Izbriši - - - Just now - Pravkar - - - - MessageDetailPage - - Acknowledge - Potrdi - - - Delete - Izbriši - - - Deleting - Brisanje - - - Message - Sporočilo - - - Open URL - Odpri URL - - - - NotificationManager - - Acknowledge - Potrdi - - - Dismiss - Odpusti - - - Open - Odpri - - - - SailPushClient - - Acknowledge failed - Potrditev ni uspela - - - Delete failed - Brisanje ni uspelo - - - Download failed - Prenos ni uspel - - - Invalid server response - Neveljaven odgovor strežnika - - - Login failed - Prijava ni uspela - - - Registration failed - Registracija ni uspela - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minuta - - - 15 minutes - 15 minut - - - 30 minutes - 30 minut - - - 5 minutes - 5 minut - - - About - O aplikaciji - - - Account - Račun - - - Automatically start the notification daemon when the device boots. - Samodejno zaženi demona obvestil, ko se naprava zažene. - - - Automatically start the notification service at boot - Samodejno zaženi storitev obvestil ob zagonu - - - Background - Ozadje - - - Cancel - Prekliči - - - Connection - Povezava - - - Deep Sleep - Globok spanec - - - Enable Polling Fallback - Omogoči rezervno poizvedovanje - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Če se WebSocket prekine za 30 sekund, preide na periodično poizvedovanje obvestil. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Ohranja procesor buden med sinhronizacijo sporočil za zagotovitev zanesljive dostave. Uporablja API MCE keepalive. - - - Logout - Odjava - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Opomba: Za trajni WebSocket v globokem spancu zaženite: -mcetool --set-suspend-policy=early - - - Notifications - Obvestila - - - Polling Fallback - Rezervno poizvedovanje - - - Polling Interval - Interval poizvedovanja - - - Prevent Deep Sleep During Sync - Prepreči globok spanec med sinhronizacijo - - - Settings - Nastavitve - - - Start on boot - Zaženi ob zagonu - - - Status: %1 - Stanje: %1 - - - Sync Now - Sinhroniziraj zdaj - - - System Notifications - Sistemska obvestila - - - This will clear your credentials and stop the background service. Are you sure? - To bo izbrisalo vaše poverilnice in ustavilo storitev v ozadju. Ali ste prepričani? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označi vse kot prebrano + + + No Notifications + Ni obvestil + + + Settings + Nastavitve + + + Waiting for daemon... + Čakanje na demona... + + + + MessageDelegate + + %1h ago + pred %1h + + + %1m ago + pred %1m + + + Delete + Izbriši + + + Just now + Pravkar + + + + MessageDetailPage + + Acknowledge + Potrdi + + + Delete + Izbriši + + + Deleting + Brisanje + + + Message + Sporočilo + + + Open URL + Odpri URL + + + + NotificationManager + + Acknowledge + Potrdi + + + Dismiss + Odpusti + + + Open + Odpri + + + + SailPushClient + + Acknowledge failed + Potrditev ni uspela + + + Delete failed + Brisanje ni uspelo + + + Download failed + Prenos ni uspel + + + Invalid server response + Neveljaven odgovor strežnika + + + Login failed + Prijava ni uspela + + + Registration failed + Registracija ni uspela + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minuta + + + 15 minutes + 15 minut + + + 30 minutes + 30 minut + + + 5 minutes + 5 minut + + + About + O aplikaciji + + + Account + Račun + + + Automatically start the notification daemon when the device boots. + Samodejno zaženi demona obvestil, ko se naprava zažene. + + + Automatically start the notification service at boot + Samodejno zaženi storitev obvestil ob zagonu + + + Background + Ozadje + + + Cancel + Prekliči + + + Connection + Povezava + + + Enable Polling Fallback + Omogoči rezervno poizvedovanje + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Če se WebSocket prekine za 30 sekund, preide na periodično poizvedovanje obvestil. + + + Logout + Odjava + + + Notifications + Obvestila + + + Polling Fallback + Rezervno poizvedovanje + + + Polling Interval + Interval poizvedovanja + + + Settings + Nastavitve + + + Start on boot + Zaženi ob zagonu + + + Status: %1 + Stanje: %1 + + + Sync Now + Sinhroniziraj zdaj + + + System Notifications + Sistemska obvestila + + + This will clear your credentials and stop the background service. Are you sure? + To bo izbrisalo vaše poverilnice in ustavilo storitev v ozadju. Ali ste prepričani? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Neuradni Pushover odjemalec za SailfishOS. + Neuradni Pushover odjemalec za SailfishOS. Ni izdan ali podprt s strani Pushover, LLC. - - + + + Power + Napajanje + + + Keep Connection Alive When Screen Off + Ohrani povezavo, ko je zaslon izklopljen + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Ohranja WebSocket aktiven, ko je zaslon izklopljen, za dostavo v realnem času prek vmesnika keepalive MCE za posamezen program. Večja poraba baterije. + + diff --git a/translations/sailpush_sq.ts b/translations/sailpush_sq.ts index 86a88dc..f993df9 100644 --- a/translations/sailpush_sq.ts +++ b/translations/sailpush_sq.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - I lidhur - - - Connecting... - Po lidhet... - - - Disconnected - I shkëputur - - - Error - Gabim - - - Session closed - Sesioni u mbyll - - - - CoverPage - - %1 unread - %1 të palexuara - - - - Daemon - - Credentials rejected by server. Please re-login. - Kredencialet u refuzuan nga serveri. Ju lutemi, hyni përsëri. - - - Session expired. Please re-login. - Sesioni skadoi. Ju lutemi, hyni përsëri. - - - - DaemonConnector - - Cannot connect to background service - Nuk mund të lidhet me shërbimin e sfondit - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacioni u përditësua — kredencialet e ruajtura përdorin një format më të vjetër dhe nuk mund të migrohen. Ju lutemi, hyni përsëri. - - - Failed to save credentials - Ruajtja e kredencialeve dështoi - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Kredencialet e ruajtura nuk mund të deshifroheshin. Kjo mund të ndodhë pas një përditësimi të sistemit. Ju lutemi, hyni përsëri. - - - Secrets service is not available. Please restart the device and try again. - Shërbimi i secrets nuk është i disponueshëm. Rinisni pajisjen dhe provoni përsëri. - - - - LoginPage - - Email - Email - - - Enter if required - Futni nëse kërkohet - - - Enter your Pushover account credentials to get started. - Futni të dhënat e llogarisë Pushover për të filluar. - - - Logging in... - Po hyn... - - - Login - Hyrje - - - Password - Fjalëkalimi - - - Registering device... - Po regjistrohet pajisja... - - - Sign up at pushover.net - Regjistrohuni në pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ky është një klient jozyrtar. Nuk është publikuar ose mbështetur nga Pushover, LLC. - - - Two-Factor Code - Kodi me dy faktorë - - - Verify - Verifiko - - - - MainPage - - %1 unread - %1 të palexuara - - - Connection: disconnected + + ConnectionIndicator + + Connected + I lidhur + + + Connecting... + Po lidhet... + + + Disconnected + I shkëputur + + + Error + Gabim + + + Session closed + Sesioni u mbyll + + + + CoverPage + + %1 unread + %1 të palexuara + + + + Daemon + + Credentials rejected by server. Please re-login. + Kredencialet u refuzuan nga serveri. Ju lutemi, hyni përsëri. + + + Session expired. Please re-login. + Sesioni skadoi. Ju lutemi, hyni përsëri. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacioni u përditësua — kredencialet e ruajtura përdorin një format më të vjetër dhe nuk mund të migrohen. Ju lutemi, hyni përsëri. + + + Failed to save credentials + Ruajtja e kredencialeve dështoi + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Kredencialet e ruajtura nuk mund të deshifroheshin. Kjo mund të ndodhë pas një përditësimi të sistemit. Ju lutemi, hyni përsëri. + + + Secrets service is not available. Please restart the device and try again. + Shërbimi i secrets nuk është i disponueshëm. Rinisni pajisjen dhe provoni përsëri. + + + + LoginPage + + Email + Email + + + Enter if required + Futni nëse kërkohet + + + Enter your Pushover account credentials to get started. + Futni të dhënat e llogarisë Pushover për të filluar. + + + Logging in... + Po hyn... + + + Login + Hyrje + + + Password + Fjalëkalimi + + + Registering device... + Po regjistrohet pajisja... + + + Sign up at pushover.net + Regjistrohuni në pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ky është një klient jozyrtar. Nuk është publikuar ose mbështetur nga Pushover, LLC. + + + Two-Factor Code + Kodi me dy faktorë + + + Verify + Verifiko + + + + MainPage + + %1 unread + %1 të palexuara + + + Connection: disconnected Pull down to sync - Lidhja: shkëputur + Lidhja: shkëputur Tërhiq poshtë për sinkronizim - - - Mark all read - Shëno të gjitha si të lexuara - - - No Notifications - Nuk ka njoftime - - - Settings - Cilësimet - - - Waiting for daemon... - Në pritje të shërbimit... - - - - MessageDelegate - - %1h ago - %1h më parë - - - %1m ago - %1m më parë - - - Delete - Fshi - - - Just now - Tani - - - - MessageDetailPage - - Acknowledge - Pranoj - - - Delete - Fshi - - - Deleting - Po fshihet - - - Message - Mesazhi - - - Open URL - Hap URL - - - - NotificationManager - - Acknowledge - Pranoj - - - Dismiss - Largo - - - Open - Hap - - - - SailPushClient - - Acknowledge failed - Pranimi dështoi - - - Delete failed - Fshirja dështoi - - - Download failed - Shkarkimi dështoi - - - Invalid server response - Përgjigje e pavlefshme nga serveri - - - Login failed - Hyrja dështoi - - - Registration failed - Regjistrimi dështoi - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minutë - - - 15 minutes - 15 minuta - - - 30 minutes - 30 minuta - - - 5 minutes - 5 minuta - - - About - Rreth - - - Account - Llogaria - - - Automatically start the notification daemon when the device boots. - Nis automatikisht shërbimin e njoftimeve kur pajisja ndizet. - - - Automatically start the notification service at boot - Nis automatikisht shërbimin e njoftimeve në fillim - - - Background - Sfondi - - - Cancel - Anulo - - - Connection - Lidhja - - - Deep Sleep - Gjumë i thellë - - - Enable Polling Fallback - Aktivizo polling rezervë - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Nëse WebSocket shkëputet për 30 sekonda, kalon në polling periodik për njoftimet. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Mban CPU zgjuar gjatë sinkronizimit të mesazheve për të siguruar dorëzim të besueshëm. Përdor MCE keepalive API. - - - Logout - Dil - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Shënim: Për WebSocket të qëndrueshëm në gjumë të thellë, ekzekutoni: -mcetool --set-suspend-policy=early - - - Notifications - Njoftimet - - - Polling Fallback - Polling rezervë - - - Polling Interval - Intervali i polling - - - Prevent Deep Sleep During Sync - Parandalo gjumin e thellë gjatë sinkronizimit - - - Settings - Cilësimet - - - Start on boot - Nis në fillim - - - Status: %1 - Statusi: %1 - - - Sync Now - Sinkronizo tani - - - System Notifications - Njoftimet e sistemit - - - This will clear your credentials and stop the background service. Are you sure? - Kjo do të fshijë kredencialet tuaja dhe do të ndalojë shërbimin e sfondit. Jeni i sigurt? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Shëno të gjitha si të lexuara + + + No Notifications + Nuk ka njoftime + + + Settings + Cilësimet + + + Waiting for daemon... + Në pritje të shërbimit... + + + + MessageDelegate + + %1h ago + %1h më parë + + + %1m ago + %1m më parë + + + Delete + Fshi + + + Just now + Tani + + + + MessageDetailPage + + Acknowledge + Pranoj + + + Delete + Fshi + + + Deleting + Po fshihet + + + Message + Mesazhi + + + Open URL + Hap URL + + + + NotificationManager + + Acknowledge + Pranoj + + + Dismiss + Largo + + + Open + Hap + + + + SailPushClient + + Acknowledge failed + Pranimi dështoi + + + Delete failed + Fshirja dështoi + + + Download failed + Shkarkimi dështoi + + + Invalid server response + Përgjigje e pavlefshme nga serveri + + + Login failed + Hyrja dështoi + + + Registration failed + Regjistrimi dështoi + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minutë + + + 15 minutes + 15 minuta + + + 30 minutes + 30 minuta + + + 5 minutes + 5 minuta + + + About + Rreth + + + Account + Llogaria + + + Automatically start the notification daemon when the device boots. + Nis automatikisht shërbimin e njoftimeve kur pajisja ndizet. + + + Automatically start the notification service at boot + Nis automatikisht shërbimin e njoftimeve në fillim + + + Background + Sfondi + + + Cancel + Anulo + + + Connection + Lidhja + + + Enable Polling Fallback + Aktivizo polling rezervë + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Nëse WebSocket shkëputet për 30 sekonda, kalon në polling periodik për njoftimet. + + + Logout + Dil + + + Notifications + Njoftimet + + + Polling Fallback + Polling rezervë + + + Polling Interval + Intervali i polling + + + Settings + Cilësimet + + + Start on boot + Nis në fillim + + + Status: %1 + Statusi: %1 + + + Sync Now + Sinkronizo tani + + + System Notifications + Njoftimet e sistemit + + + This will clear your credentials and stop the background service. Are you sure? + Kjo do të fshijë kredencialet tuaja dhe do të ndalojë shërbimin e sfondit. Jeni i sigurt? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Pushover Open Client jozyrtar për SailfishOS. + Pushover Open Client jozyrtar për SailfishOS. Nuk është publikuar ose mbështetur nga Pushover, LLC. - - + + + Power + Energjia + + + Keep Connection Alive When Screen Off + Mbaj lidhjen aktive kur ekrani është i fikur + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Mban WebSocket aktiv kur ekrani është i fikur për dorëzim në kohë reale, përmes API-së keepalive MCE për çdo aplikacion. Përdorim më i lartë i baterisë. + + diff --git a/translations/sailpush_sr.ts b/translations/sailpush_sr.ts index 94676fc..bf3cbff 100644 --- a/translations/sailpush_sr.ts +++ b/translations/sailpush_sr.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Povezano - - - Connecting... - Povezivanje... - - - Disconnected - Prekinuto - - - Error - Greška - - - Session closed - Sesija zatvorena - - - - CoverPage - - %1 unread - %1 nepročitanih - - - - Daemon - - Credentials rejected by server. Please re-login. - Akreditivi odbijeni od servera. Prijavite se ponovo. - - - Session expired. Please re-login. - Sesija je istekla. Prijavite se ponovo. - - - - DaemonConnector - - Cannot connect to background service - Nije moguće povezati se na pozadinsku uslugu - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Aplikacija je ažurirana — sačuvani akreditivi koriste stariji format i ne mogu se migrirati. Prijavite se ponovo. - - - Failed to save credentials - Čuvanje akreditiva nije uspelo - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Sačuvani akreditivi ne mogu se dešifrovati. To se može dogoditi nakon ažuriranja sistema. Prijavite se ponovo. - - - Secrets service is not available. Please restart the device and try again. - Secrets сервис није доступан. Поново покрените уређај и покушајте поново. - - - - LoginPage - - Email - E-pošta - - - Enter if required - Unesite ako je potrebno - - - Enter your Pushover account credentials to get started. - Unesite akreditive za Pushover nalog za početak. - - - Logging in... - Prijavljivanje... - - - Login - Prijavi se - - - Password - Lozinka - - - Registering device... - Registracija uređaja... - - - Sign up at pushover.net - Registrujte se na pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Ovo je nezvanični klijent. Nije izdat niti podržan od strane Pushover, LLC. - - - Two-Factor Code - Dvofaktorski kod - - - Verify - Potvrdi - - - - MainPage - - %1 unread - %1 nepročitanih - - - Connection: disconnected + + ConnectionIndicator + + Connected + Povezano + + + Connecting... + Povezivanje... + + + Disconnected + Prekinuto + + + Error + Greška + + + Session closed + Sesija zatvorena + + + + CoverPage + + %1 unread + %1 nepročitanih + + + + Daemon + + Credentials rejected by server. Please re-login. + Akreditivi odbijeni od servera. Prijavite se ponovo. + + + Session expired. Please re-login. + Sesija je istekla. Prijavite se ponovo. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Aplikacija je ažurirana — sačuvani akreditivi koriste stariji format i ne mogu se migrirati. Prijavite se ponovo. + + + Failed to save credentials + Čuvanje akreditiva nije uspelo + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Sačuvani akreditivi ne mogu se dešifrovati. To se može dogoditi nakon ažuriranja sistema. Prijavite se ponovo. + + + Secrets service is not available. Please restart the device and try again. + Secrets сервис није доступан. Поново покрените уређај и покушајте поново. + + + + LoginPage + + Email + E-pošta + + + Enter if required + Unesite ako je potrebno + + + Enter your Pushover account credentials to get started. + Unesite akreditive za Pushover nalog za početak. + + + Logging in... + Prijavljivanje... + + + Login + Prijavi se + + + Password + Lozinka + + + Registering device... + Registracija uređaja... + + + Sign up at pushover.net + Registrujte se na pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Ovo je nezvanični klijent. Nije izdat niti podržan od strane Pushover, LLC. + + + Two-Factor Code + Dvofaktorski kod + + + Verify + Potvrdi + + + + MainPage + + %1 unread + %1 nepročitanih + + + Connection: disconnected Pull down to sync - Veza: prekinuta + Veza: prekinuta Povucite nadole za sinhronizaciju - - - Mark all read - Označi sve kao pročitano - - - No Notifications - Nema obaveštenja - - - Settings - Podešavanja - - - Waiting for daemon... - Čekanje na demona... - - - - MessageDelegate - - %1h ago - pre %1h - - - %1m ago - pre %1m - - - Delete - Obriši - - - Just now - Upravo sada - - - - MessageDetailPage - - Acknowledge - Potvrdi - - - Delete - Obriši - - - Deleting - Brisanje - - - Message - Poruka - - - Open URL - Otvori URL - - - - NotificationManager - - Acknowledge - Potvrdi - - - Dismiss - Odbaci - - - Open - Otvori - - - - SailPushClient - - Acknowledge failed - Potvrda neuspješna - - - Delete failed - Brisanje neuspješno - - - Download failed - Preuzimanje neuspješno - - - Invalid server response - Nevažeći odgovor servera - - - Login failed - Prijava neuspješna - - - Registration failed - Registracija neuspješna - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minuta - - - 30 minutes - 30 minuta - - - 5 minutes - 5 minuta - - - About - O aplikaciji - - - Account - Nalog - - - Automatically start the notification daemon when the device boots. - Automatski pokreni demona obaveštenja kada se uređaj pokrene. - - - Automatically start the notification service at boot - Automatski pokreni uslugu obaveštenja pri pokretanju - - - Background - Pozadina - - - Cancel - Otkaži - - - Connection - Veza - - - Deep Sleep - Dubok san - - - Enable Polling Fallback - Omogući rezervno ispitivanje - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Ako se WebSocket prekine na 30 sekundi, prelazi na periodično ispitivanje obaveštenja. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Održava procesor budnim tokom sinhronizacije poruka za osiguranje pouzdane isporuke. Koristi MCE keepalive API. - - - Logout - Odjavi se - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Napomena: Za trajni WebSocket u dubokom snu, pokrenite: -mcetool --set-suspend-policy=early - - - Notifications - Obaveštenja - - - Polling Fallback - Rezervno ispitivanje - - - Polling Interval - Interval ispitivanja - - - Prevent Deep Sleep During Sync - Spreči dubok san tokom sinhronizacije - - - Settings - Podešavanja - - - Start on boot - Pokreni pri pokretanju - - - Status: %1 - Status: %1 - - - Sync Now - Sinhronizuj sada - - - System Notifications - Sistemska obaveštenja - - - This will clear your credentials and stop the background service. Are you sure? - Ovo će obrisati vaše akreditive i zaustaviti pozadinsku uslugu. Da li ste sigurni? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Označi sve kao pročitano + + + No Notifications + Nema obaveštenja + + + Settings + Podešavanja + + + Waiting for daemon... + Čekanje na demona... + + + + MessageDelegate + + %1h ago + pre %1h + + + %1m ago + pre %1m + + + Delete + Obriši + + + Just now + Upravo sada + + + + MessageDetailPage + + Acknowledge + Potvrdi + + + Delete + Obriši + + + Deleting + Brisanje + + + Message + Poruka + + + Open URL + Otvori URL + + + + NotificationManager + + Acknowledge + Potvrdi + + + Dismiss + Odbaci + + + Open + Otvori + + + + SailPushClient + + Acknowledge failed + Potvrda neuspješna + + + Delete failed + Brisanje neuspješno + + + Download failed + Preuzimanje neuspješno + + + Invalid server response + Nevažeći odgovor servera + + + Login failed + Prijava neuspješna + + + Registration failed + Registracija neuspješna + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minuta + + + 30 minutes + 30 minuta + + + 5 minutes + 5 minuta + + + About + O aplikaciji + + + Account + Nalog + + + Automatically start the notification daemon when the device boots. + Automatski pokreni demona obaveštenja kada se uređaj pokrene. + + + Automatically start the notification service at boot + Automatski pokreni uslugu obaveštenja pri pokretanju + + + Background + Pozadina + + + Cancel + Otkaži + + + Connection + Veza + + + Enable Polling Fallback + Omogući rezervno ispitivanje + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Ako se WebSocket prekine na 30 sekundi, prelazi na periodično ispitivanje obaveštenja. + + + Logout + Odjavi se + + + Notifications + Obaveštenja + + + Polling Fallback + Rezervno ispitivanje + + + Polling Interval + Interval ispitivanja + + + Settings + Podešavanja + + + Start on boot + Pokreni pri pokretanju + + + Status: %1 + Status: %1 + + + Sync Now + Sinhronizuj sada + + + System Notifications + Sistemska obaveštenja + + + This will clear your credentials and stop the background service. Are you sure? + Ovo će obrisati vaše akreditive i zaustaviti pozadinsku uslugu. Da li ste sigurni? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Nezvanični Pushover klijent za SailfishOS. + Nezvanični Pushover klijent za SailfishOS. Nije izdat niti podržan od strane Pushover, LLC. - - + + + Power + Napajanje + + + Keep Connection Alive When Screen Off + Održavaj vezu kada je ekran isključen + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Održava WebSocket aktivnim kada je ekran isključen za isporuku u realnom vremenu, putem MCE-keepalive interfejsa po aplikaciji. Veća potrošnja baterije. + + diff --git a/translations/sailpush_sv.ts b/translations/sailpush_sv.ts index 3e4f180..2f59162 100644 --- a/translations/sailpush_sv.ts +++ b/translations/sailpush_sv.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Ansluten - - - Connecting... - Ansluter... - - - Disconnected - Frånkopplad - - - Error - Fel - - - Session closed - Session stängd - - - - CoverPage - - %1 unread - %1 olästa - - - - Daemon - - Credentials rejected by server. Please re-login. - Inloggningsuppgifterna avvisades av servern. Vänligen logga in igen. - - - Session expired. Please re-login. - Sessionen har gått ut. Vänligen logga in igen. - - - - DaemonConnector - - Cannot connect to background service - Kan inte ansluta till bakgrundstjänsten - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Appen har uppgraderats — sparade inloggningsuppgifter använder ett äldre format och kan inte migreras. Vänligen logga in igen. - - - Failed to save credentials - Misslyckades med att spara inloggningsuppgifter - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Sparade inloggningsuppgifter kunde inte dekrypteras. Detta kan hända efter en systemuppdatering. Vänligen logga in igen. - - - Secrets service is not available. Please restart the device and try again. - Secrets-tjänsten är inte tillgänglig. Starta om enheten och försök igen. - - - - LoginPage - - Email - E-post - - - Enter if required - Ange om det krävs - - - Enter your Pushover account credentials to get started. - Ange dina Pushover-kontouppgifter för att komma igång. - - - Logging in... - Loggar in... - - - Login - Logga in - - - Password - Lösenord - - - Registering device... - Registrerar enhet... - - - Sign up at pushover.net - Registrera dig på pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Detta är en inofficiell klient. Inte släppt eller stödd av Pushover, LLC. - - - Two-Factor Code - Tvåfaktorskod - - - Verify - Verifiera - - - - MainPage - - %1 unread - %1 olästa - - - Connection: disconnected + + ConnectionIndicator + + Connected + Ansluten + + + Connecting... + Ansluter... + + + Disconnected + Frånkopplad + + + Error + Fel + + + Session closed + Session stängd + + + + CoverPage + + %1 unread + %1 olästa + + + + Daemon + + Credentials rejected by server. Please re-login. + Inloggningsuppgifterna avvisades av servern. Vänligen logga in igen. + + + Session expired. Please re-login. + Sessionen har gått ut. Vänligen logga in igen. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Appen har uppgraderats — sparade inloggningsuppgifter använder ett äldre format och kan inte migreras. Vänligen logga in igen. + + + Failed to save credentials + Misslyckades med att spara inloggningsuppgifter + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Sparade inloggningsuppgifter kunde inte dekrypteras. Detta kan hända efter en systemuppdatering. Vänligen logga in igen. + + + Secrets service is not available. Please restart the device and try again. + Secrets-tjänsten är inte tillgänglig. Starta om enheten och försök igen. + + + + LoginPage + + Email + E-post + + + Enter if required + Ange om det krävs + + + Enter your Pushover account credentials to get started. + Ange dina Pushover-kontouppgifter för att komma igång. + + + Logging in... + Loggar in... + + + Login + Logga in + + + Password + Lösenord + + + Registering device... + Registrerar enhet... + + + Sign up at pushover.net + Registrera dig på pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Detta är en inofficiell klient. Inte släppt eller stödd av Pushover, LLC. + + + Two-Factor Code + Tvåfaktorskod + + + Verify + Verifiera + + + + MainPage + + %1 unread + %1 olästa + + + Connection: disconnected Pull down to sync - Anslutning: frånkopplad + Anslutning: frånkopplad Dra neråt för att synkronisera - - - Mark all read - Markera alla som lästa - - - No Notifications - Inga aviseringar - - - Settings - Inställningar - - - Waiting for daemon... - Väntar på tjänsten... - - - - MessageDelegate - - %1h ago - %1h sedan - - - %1m ago - %1m sedan - - - Delete - Radera - - - Just now - Just nu - - - - MessageDetailPage - - Acknowledge - Bekräfta - - - Delete - Radera - - - Deleting - Raderar - - - Message - Meddelande - - - Open URL - Öppna URL - - - - NotificationManager - - Acknowledge - Bekräfta - - - Dismiss - Avfärda - - - Open - Öppna - - - - SailPushClient - - Acknowledge failed - Bekräftelse misslyckades - - - Delete failed - Radering misslyckades - - - Download failed - Nedladdning misslyckades - - - Invalid server response - Ogiltigt serversvar - - - Login failed - Inloggning misslyckades - - - Registration failed - Registrering misslyckades - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 minut - - - 15 minutes - 15 minuter - - - 30 minutes - 30 minuter - - - 5 minutes - 5 minuter - - - About - Om - - - Account - Konto - - - Automatically start the notification daemon when the device boots. - Starta aviseringstjänsten automatiskt när enheten startar. - - - Automatically start the notification service at boot - Starta aviseringstjänsten automatiskt vid uppstart - - - Background - Bakgrund - - - Cancel - Avbryt - - - Connection - Anslutning - - - Deep Sleep - Djupsömn - - - Enable Polling Fallback - Aktivera polling-reserv - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Om WebSocket kopplas från i 30 sekunder, faller tillbaka på periodisk polling för aviseringar. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Håller CPU vaken under meddelandesynkronisering för att säkerställa pålitlig leverans. Använder MCE keepalive API. - - - Logout - Logga ut - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Observera: För beständig WebSocket i djupsömn, kör: -mcetool --set-suspend-policy=early - - - Notifications - Aviseringar - - - Polling Fallback - Polling-reserv - - - Polling Interval - Polling-intervall - - - Prevent Deep Sleep During Sync - Förhindra djupsömn under synkronisering - - - Settings - Inställningar - - - Start on boot - Starta vid uppstart - - - Status: %1 - Status: %1 - - - Sync Now - Synkronisera nu - - - System Notifications - Systemaviseringar - - - This will clear your credentials and stop the background service. Are you sure? - Detta kommer att rensa dina inloggningsuppgifter och stoppa bakgrundstjänsten. Är du säker? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Markera alla som lästa + + + No Notifications + Inga aviseringar + + + Settings + Inställningar + + + Waiting for daemon... + Väntar på tjänsten... + + + + MessageDelegate + + %1h ago + %1h sedan + + + %1m ago + %1m sedan + + + Delete + Radera + + + Just now + Just nu + + + + MessageDetailPage + + Acknowledge + Bekräfta + + + Delete + Radera + + + Deleting + Raderar + + + Message + Meddelande + + + Open URL + Öppna URL + + + + NotificationManager + + Acknowledge + Bekräfta + + + Dismiss + Avfärda + + + Open + Öppna + + + + SailPushClient + + Acknowledge failed + Bekräftelse misslyckades + + + Delete failed + Radering misslyckades + + + Download failed + Nedladdning misslyckades + + + Invalid server response + Ogiltigt serversvar + + + Login failed + Inloggning misslyckades + + + Registration failed + Registrering misslyckades + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 minut + + + 15 minutes + 15 minuter + + + 30 minutes + 30 minuter + + + 5 minutes + 5 minuter + + + About + Om + + + Account + Konto + + + Automatically start the notification daemon when the device boots. + Starta aviseringstjänsten automatiskt när enheten startar. + + + Automatically start the notification service at boot + Starta aviseringstjänsten automatiskt vid uppstart + + + Background + Bakgrund + + + Cancel + Avbryt + + + Connection + Anslutning + + + Enable Polling Fallback + Aktivera polling-reserv + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Om WebSocket kopplas från i 30 sekunder, faller tillbaka på periodisk polling för aviseringar. + + + Logout + Logga ut + + + Notifications + Aviseringar + + + Polling Fallback + Polling-reserv + + + Polling Interval + Polling-intervall + + + Settings + Inställningar + + + Start on boot + Starta vid uppstart + + + Status: %1 + Status: %1 + + + Sync Now + Synkronisera nu + + + System Notifications + Systemaviseringar + + + This will clear your credentials and stop the background service. Are you sure? + Detta kommer att rensa dina inloggningsuppgifter och stoppa bakgrundstjänsten. Är du säker? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Inofficiell Pushover Open Client för SailfishOS. + Inofficiell Pushover Open Client för SailfishOS. Inte släppt eller stödd av Pushover, LLC. - - + + + Power + Ström + + + Keep Connection Alive When Screen Off + Håll anslutningen vid liv när skärmen är avstängd + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Håller WebSocket vid liv när skärmen är avstängd för realtidsleverans, via per-app MCE-keepalive-API. Högre batteriförbrukning. + + diff --git a/translations/sailpush_tr.ts b/translations/sailpush_tr.ts index ee6e6a8..35e6487 100644 --- a/translations/sailpush_tr.ts +++ b/translations/sailpush_tr.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - Bağlı - - - Connecting... - Bağlanıyor... - - - Disconnected - Bağlantı kesildi - - - Error - Hata - - - Session closed - Oturum kapatıldı - - - - CoverPage - - %1 unread - %1 okunmamış - - - - Daemon - - Credentials rejected by server. Please re-login. - Kimlik bilgileri sunucu tarafından reddedildi. Lütfen tekrar giriş yapın. - - - Session expired. Please re-login. - Oturum süresi doldu. Lütfen tekrar giriş yapın. - - - - DaemonConnector - - Cannot connect to background service - Arka plan servisine bağlanılamıyor - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Uygulama güncellendi — kayıtlı kimlik bilgileri eski bir format kullanıyor ve taşınamıyor. Lütfen tekrar giriş yapın. - - - Failed to save credentials - Kimlik bilgileri kaydedilemedi - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Kayıtlı kimlik bilgileri çözülemedi. Bu durum bir sistem güncellemesinden sonra olabilir. Lütfen tekrar giriş yapın. - - - Secrets service is not available. Please restart the device and try again. - Secrets servisi kullanılamıyor. Lütfen cihazı yeniden başlatın ve tekrar deneyin. - - - - LoginPage - - Email - E-posta - - - Enter if required - Gerekirse girin - - - Enter your Pushover account credentials to get started. - Başlamak için Pushover hesap bilgilerinizi girin. - - - Logging in... - Giriş yapılıyor... - - - Login - Giriş yap - - - Password - Şifre - - - Registering device... - Cihaz kaydediliyor... - - - Sign up at pushover.net - pushover.net adresinden kaydolun - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Bu resmi olmayan bir istemcidir. Pushover, LLC. tarafından yayınlanmamış veya desteklenmemektedir. - - - Two-Factor Code - İki faktörlü kod - - - Verify - Doğrula - - - - MainPage - - %1 unread - %1 okunmamış - - - Connection: disconnected + + ConnectionIndicator + + Connected + Bağlı + + + Connecting... + Bağlanıyor... + + + Disconnected + Bağlantı kesildi + + + Error + Hata + + + Session closed + Oturum kapatıldı + + + + CoverPage + + %1 unread + %1 okunmamış + + + + Daemon + + Credentials rejected by server. Please re-login. + Kimlik bilgileri sunucu tarafından reddedildi. Lütfen tekrar giriş yapın. + + + Session expired. Please re-login. + Oturum süresi doldu. Lütfen tekrar giriş yapın. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Uygulama güncellendi — kayıtlı kimlik bilgileri eski bir format kullanıyor ve taşınamıyor. Lütfen tekrar giriş yapın. + + + Failed to save credentials + Kimlik bilgileri kaydedilemedi + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Kayıtlı kimlik bilgileri çözülemedi. Bu durum bir sistem güncellemesinden sonra olabilir. Lütfen tekrar giriş yapın. + + + Secrets service is not available. Please restart the device and try again. + Secrets servisi kullanılamıyor. Lütfen cihazı yeniden başlatın ve tekrar deneyin. + + + + LoginPage + + Email + E-posta + + + Enter if required + Gerekirse girin + + + Enter your Pushover account credentials to get started. + Başlamak için Pushover hesap bilgilerinizi girin. + + + Logging in... + Giriş yapılıyor... + + + Login + Giriş yap + + + Password + Şifre + + + Registering device... + Cihaz kaydediliyor... + + + Sign up at pushover.net + pushover.net adresinden kaydolun + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Bu resmi olmayan bir istemcidir. Pushover, LLC. tarafından yayınlanmamış veya desteklenmemektedir. + + + Two-Factor Code + İki faktörlü kod + + + Verify + Doğrula + + + + MainPage + + %1 unread + %1 okunmamış + + + Connection: disconnected Pull down to sync - Bağlantı: kesildi + Bağlantı: kesildi Senkronize etmek için aşağı çekin - - - Mark all read - Tümünü okundu işaretle - - - No Notifications - Bildirim yok - - - Settings - Ayarlar - - - Waiting for daemon... - Servis bekleniyor... - - - - MessageDelegate - - %1h ago - %1s önce - - - %1m ago - %1d önce - - - Delete - Sil - - - Just now - Az önce - - - - MessageDetailPage - - Acknowledge - Onayla - - - Delete - Sil - - - Deleting - Siliniyor - - - Message - Mesaj - - - Open URL - URL aç - - - - NotificationManager - - Acknowledge - Onayla - - - Dismiss - Kapat - - - Open - - - - - SailPushClient - - Acknowledge failed - Onaylama başarısız - - - Delete failed - Silme başarısız - - - Download failed - İndirme başarısız - - - Invalid server response - Geçersiz sunucu yanıtı - - - Login failed - Giriş başarısız - - - Registration failed - Kayıt başarısız - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 dakika - - - 15 minutes - 15 dakika - - - 30 minutes - 30 dakika - - - 5 minutes - 5 dakika - - - About - Hakkında - - - Account - Hesap - - - Automatically start the notification daemon when the device boots. - Cihaz açıldığında bildirim servisini otomatik olarak başlat. - - - Automatically start the notification service at boot - Açılışta bildirim servisini otomatik başlat - - - Background - Arka plan - - - Cancel - İptal - - - Connection - Bağlantı - - - Deep Sleep - Derin uyku - - - Enable Polling Fallback - Polling yedeği etkinleştir - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - WebSocket 30 saniye boyunca bağlantısı kesilirse, bildirimler için periyodik polling'e geçer. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Güvenilir teslimat sağlamak için mesaj senkronizasyonu sırasında CPU'yu uyanık tutar. MCE keepalive API kullanır. - - - Logout - Çıkış yap - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Not: Derin uykuda kalıcı WebSocket için şunu çalıştırın: -mcetool --set-suspend-policy=early - - - Notifications - Bildirimler - - - Polling Fallback - Polling yedek - - - Polling Interval - Polling aralığı - - - Prevent Deep Sleep During Sync - Senkronizasyon sırasında derin uykuyu engelle - - - Settings - Ayarlar - - - Start on boot - Açılışta başlat - - - Status: %1 - Durum: %1 - - - Sync Now - Şimdi senkronize et - - - System Notifications - Sistem bildirimleri - - - This will clear your credentials and stop the background service. Are you sure? - Bu işlem kimlik bilgilerinizi temizleyecek ve arka plan servisini durduracaktır. Emin misiniz? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Tümünü okundu işaretle + + + No Notifications + Bildirim yok + + + Settings + Ayarlar + + + Waiting for daemon... + Servis bekleniyor... + + + + MessageDelegate + + %1h ago + %1s önce + + + %1m ago + %1d önce + + + Delete + Sil + + + Just now + Az önce + + + + MessageDetailPage + + Acknowledge + Onayla + + + Delete + Sil + + + Deleting + Siliniyor + + + Message + Mesaj + + + Open URL + URL aç + + + + NotificationManager + + Acknowledge + Onayla + + + Dismiss + Kapat + + + Open + + + + + SailPushClient + + Acknowledge failed + Onaylama başarısız + + + Delete failed + Silme başarısız + + + Download failed + İndirme başarısız + + + Invalid server response + Geçersiz sunucu yanıtı + + + Login failed + Giriş başarısız + + + Registration failed + Kayıt başarısız + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 dakika + + + 15 minutes + 15 dakika + + + 30 minutes + 30 dakika + + + 5 minutes + 5 dakika + + + About + Hakkında + + + Account + Hesap + + + Automatically start the notification daemon when the device boots. + Cihaz açıldığında bildirim servisini otomatik olarak başlat. + + + Automatically start the notification service at boot + Açılışta bildirim servisini otomatik başlat + + + Background + Arka plan + + + Cancel + İptal + + + Connection + Bağlantı + + + Enable Polling Fallback + Polling yedeği etkinleştir + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + WebSocket 30 saniye boyunca bağlantısı kesilirse, bildirimler için periyodik polling'e geçer. + + + Logout + Çıkış yap + + + Notifications + Bildirimler + + + Polling Fallback + Polling yedek + + + Polling Interval + Polling aralığı + + + Settings + Ayarlar + + + Start on boot + Açılışta başlat + + + Status: %1 + Durum: %1 + + + Sync Now + Şimdi senkronize et + + + System Notifications + Sistem bildirimleri + + + This will clear your credentials and stop the background service. Are you sure? + Bu işlem kimlik bilgilerinizi temizleyecek ve arka plan servisini durduracaktır. Emin misiniz? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - SailfishOS için resmi olmayan Pushover Open Client. + SailfishOS için resmi olmayan Pushover Open Client. Pushover, LLC. tarafından yayınlanmamış veya desteklenmemektedir. - - + + + Power + Güç + + + Keep Connection Alive When Screen Off + Ekran kapalıyken bağlantıyı canlı tut + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Gerçek zamanlı teslimat için ekran kapalıyken WebSocket'i aktif tutar, uygulama başına MCE keepalive API'sini kullanır. Daha yüksek pil kullanımı. + + diff --git a/translations/sailpush_uk.ts b/translations/sailpush_uk.ts index d4a3e5c..793be74 100644 --- a/translations/sailpush_uk.ts +++ b/translations/sailpush_uk.ts @@ -1,353 +1,341 @@ + - - ConnectionIndicator - - Connected - З'єднано - - - Connecting... - З'єднання... - - - Disconnected - Розірвано - - - Error - Помилка - - - Session closed - Сесію закрито - - - - CoverPage - - %1 unread - %1 непрочитаних - - - - Daemon - - Credentials rejected by server. Please re-login. - Облікові дані відхилені сервером. Будь ласка, увійдіть знову. - - - Session expired. Please re-login. - Сесія закінчилася. Будь ласка, увійдіть знову. - - - - DaemonConnector - - Cannot connect to background service - Не вдається з'єднатися з фоновою службою - - - - LoginHelper - - App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. - Додаток оновлено — збережені облікові дані використовують старіший формат і не можуть бути перенесені. Будь ласка, увійдіть знову. - - - Failed to save credentials - Не вдалося зберегти облікові дані - - - Saved credentials could not be decrypted. This can happen after a system update. Please log in again. - Збережені облікові дані не вдалося розшифрувати. Це може статися після оновлення системи. Будь ласка, увійдіть знову. - - - Secrets service is not available. Please restart the device and try again. - Служба secrets недоступна. Перезавантажте пристрій і спробуйте знову. - - - - LoginPage - - Email - Електронна пошта - - - Enter if required - Введіть, якщо потрібно - - - Enter your Pushover account credentials to get started. - Введіть облікові дані Pushover для початку. - - - Logging in... - Вхід... - - - Login - Увійти - - - Password - Пароль - - - Registering device... - Реєстрація пристрою... - - - Sign up at pushover.net - Зареєструйтесь на pushover.net - - - This is an unofficial client. Not released or supported by Pushover, LLC. - Це неофіційний клієнт. Не випущений і не підтримується Pushover, LLC. - - - Two-Factor Code - Двофакторний код - - - Verify - Підтвердити - - - - MainPage - - %1 unread - %1 непрочитаних - - - Connection: disconnected + + ConnectionIndicator + + Connected + З'єднано + + + Connecting... + З'єднання... + + + Disconnected + Розірвано + + + Error + Помилка + + + Session closed + Сесію закрито + + + + CoverPage + + %1 unread + %1 непрочитаних + + + + Daemon + + Credentials rejected by server. Please re-login. + Облікові дані відхилені сервером. Будь ласка, увійдіть знову. + + + Session expired. Please re-login. + Сесія закінчилася. Будь ласка, увійдіть знову. + + + + LoginHelper + + App was upgraded — saved credentials use an older format and cannot be migrated. Please log in again. + Додаток оновлено — збережені облікові дані використовують старіший формат і не можуть бути перенесені. Будь ласка, увійдіть знову. + + + Failed to save credentials + Не вдалося зберегти облікові дані + + + Saved credentials could not be decrypted. This can happen after a system update. Please log in again. + Збережені облікові дані не вдалося розшифрувати. Це може статися після оновлення системи. Будь ласка, увійдіть знову. + + + Secrets service is not available. Please restart the device and try again. + Служба secrets недоступна. Перезавантажте пристрій і спробуйте знову. + + + + LoginPage + + Email + Електронна пошта + + + Enter if required + Введіть, якщо потрібно + + + Enter your Pushover account credentials to get started. + Введіть облікові дані Pushover для початку. + + + Logging in... + Вхід... + + + Login + Увійти + + + Password + Пароль + + + Registering device... + Реєстрація пристрою... + + + Sign up at pushover.net + Зареєструйтесь на pushover.net + + + This is an unofficial client. Not released or supported by Pushover, LLC. + Це неофіційний клієнт. Не випущений і не підтримується Pushover, LLC. + + + Two-Factor Code + Двофакторний код + + + Verify + Підтвердити + + + + MainPage + + %1 unread + %1 непрочитаних + + + Connection: disconnected Pull down to sync - З'єднання: розірвано + З'єднання: розірвано Потягніть вниз для синхронізації - - - Mark all read - Позначити все прочитаним - - - No Notifications - Немає сповіщень - - - Settings - Налаштування - - - Waiting for daemon... - Очікування демона... - - - - MessageDelegate - - %1h ago - %1г тому - - - %1m ago - %1хв тому - - - Delete - Видалити - - - Just now - Щойно - - - - MessageDetailPage - - Acknowledge - Підтвердити - - - Delete - Видалити - - - Deleting - Видалення - - - Message - Повідомлення - - - Open URL - Відкрити URL - - - - NotificationManager - - Acknowledge - Підтвердити - - - Dismiss - Відхилити - - - Open - Відкрити - - - - SailPushClient - - Acknowledge failed - Підтвердження не вдалося - - - Delete failed - Видалення не вдалося - - - Download failed - Завантаження не вдалося - - - Invalid server response - Невідповідна відповідь сервера - - - Login failed - Вхід не вдався - - - Registration failed - Реєстрація не вдалася - - - - SettingsPage - - %1 v%2 - %1 v%2 - - - 1 minute - 1 хвилина - - - 15 minutes - 15 хвилин - - - 30 minutes - 30 хвилин - - - 5 minutes - 5 хвилин - - - About - Про додаток - - - Account - Обліковий запис - - - Automatically start the notification daemon when the device boots. - Автоматично запускати демона сповіщень при запуску пристрою. - - - Automatically start the notification service at boot - Автоматично запускати службу сповіщень при старті - - - Background - Фон - - - Cancel - Скасувати - - - Connection - З'єднання - - - Deep Sleep - Глибокий сон - - - Enable Polling Fallback - Увімкнути резервне опитування - - - If WebSocket disconnects for 30s, falls back to periodic polling for notifications. - Якщо WebSocket розірветься на 30 секунд, переходить до періодичного опитування сповіщень. - - - Keeps CPU awake during message sync to ensure reliable delivery. Uses MCE keepalive API. - Утримує процесор активним під час синхронізації повідомлень для забезпечення надійної доставки. Використовує MCE keepalive API. - - - Logout - Вийти - - - Note: For persistent WebSocket in deep sleep, run: -mcetool --set-suspend-policy=early - Примітка: Для постійного WebSocket у глибокому сні запустіть: -mcetool --set-suspend-policy=early - - - Notifications - Сповіщення - - - Polling Fallback - Резервне опитування - - - Polling Interval - Інтервал опитування - - - Prevent Deep Sleep During Sync - Запобігати глибокому сну під час синхронізації - - - Settings - Налаштування - - - Start on boot - Запускати при старті - - - Status: %1 - Статус: %1 - - - Sync Now - Синхронізувати зараз - - - System Notifications - Системні сповіщення - - - This will clear your credentials and stop the background service. Are you sure? - Це очистить ваші облікові дані та зупинить фонову службу. Ви впевнені? - - - Unofficial Pushover Open Client for SailfishOS. + + + Mark all read + Позначити все прочитаним + + + No Notifications + Немає сповіщень + + + Settings + Налаштування + + + Waiting for daemon... + Очікування демона... + + + + MessageDelegate + + %1h ago + %1г тому + + + %1m ago + %1хв тому + + + Delete + Видалити + + + Just now + Щойно + + + + MessageDetailPage + + Acknowledge + Підтвердити + + + Delete + Видалити + + + Deleting + Видалення + + + Message + Повідомлення + + + Open URL + Відкрити URL + + + + NotificationManager + + Acknowledge + Підтвердити + + + Dismiss + Відхилити + + + Open + Відкрити + + + + SailPushClient + + Acknowledge failed + Підтвердження не вдалося + + + Delete failed + Видалення не вдалося + + + Download failed + Завантаження не вдалося + + + Invalid server response + Невідповідна відповідь сервера + + + Login failed + Вхід не вдався + + + Registration failed + Реєстрація не вдалася + + + + SettingsPage + + %1 v%2 + %1 v%2 + + + 1 minute + 1 хвилина + + + 15 minutes + 15 хвилин + + + 30 minutes + 30 хвилин + + + 5 minutes + 5 хвилин + + + About + Про додаток + + + Account + Обліковий запис + + + Automatically start the notification daemon when the device boots. + Автоматично запускати демона сповіщень при запуску пристрою. + + + Automatically start the notification service at boot + Автоматично запускати службу сповіщень при старті + + + Background + Фон + + + Cancel + Скасувати + + + Connection + З'єднання + + + Enable Polling Fallback + Увімкнути резервне опитування + + + If WebSocket disconnects for 30s, falls back to periodic polling for notifications. + Якщо WebSocket розірветься на 30 секунд, переходить до періодичного опитування сповіщень. + + + Logout + Вийти + + + Notifications + Сповіщення + + + Polling Fallback + Резервне опитування + + + Polling Interval + Інтервал опитування + + + Settings + Налаштування + + + Start on boot + Запускати при старті + + + Status: %1 + Статус: %1 + + + Sync Now + Синхронізувати зараз + + + System Notifications + Системні сповіщення + + + This will clear your credentials and stop the background service. Are you sure? + Це очистить ваші облікові дані та зупинить фонову службу. Ви впевнені? + + + Unofficial Pushover Open Client for SailfishOS. Not released or supported by Pushover, LLC. - Неофіційний Pushover клієнт для SailfishOS. + Неофіційний Pushover клієнт для SailfishOS. Не випущений і не підтримується Pushover, LLC. - - + + + Power + Живлення + + + Keep Connection Alive When Screen Off + Підтримувати з'єднання при вимкненому екрані + + + Keeps the WebSocket alive while the screen is off for real-time delivery, using the per-app MCE keepalive API. Higher battery use. + Підтримує WebSocket активним при вимкненому екрані для доставки в реальному часі через API keepalive MCE для окремих програм. Більше споживання заряду. + +