From 1d8898e974f268e3e9eae391c4e9a7d15ee191cf Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 12 Apr 2022 17:08:26 +0200 Subject: [PATCH] Resolve #318 --- dev/Settings/Admin/About.js | 76 ++++++ .../app/libraries/RainLoop/ActionsAdmin.php | 42 +++ .../app/libraries/snappymail/repository.php | 19 +- .../app/libraries/snappymail/upgrade.php | 31 ++- .../v/0.0.0/app/localization/cs-CZ/admin.json | 11 +- .../v/0.0.0/app/localization/da-DK/admin.json | 11 +- .../v/0.0.0/app/localization/de-DE/admin.json | 11 +- .../v/0.0.0/app/localization/en/admin.json | 11 +- .../v/0.0.0/app/localization/es-ES/admin.json | 11 +- .../v/0.0.0/app/localization/fa-IR/admin.json | 11 +- .../v/0.0.0/app/localization/fi-FI/admin.json | 11 +- .../v/0.0.0/app/localization/fr-FR/admin.json | 11 +- .../v/0.0.0/app/localization/hu-HU/admin.json | 11 +- .../v/0.0.0/app/localization/id-ID/admin.json | 11 +- .../v/0.0.0/app/localization/it-IT/admin.json | 247 +++++++++--------- .../v/0.0.0/app/localization/ja-JP/admin.json | 11 +- .../v/0.0.0/app/localization/lt-LT/admin.json | 11 +- .../v/0.0.0/app/localization/nb-NO/admin.json | 11 +- .../v/0.0.0/app/localization/nl-NL/admin.json | 11 +- .../v/0.0.0/app/localization/pl-PL/admin.json | 11 +- .../v/0.0.0/app/localization/pt-BR/admin.json | 11 +- .../v/0.0.0/app/localization/ru-RU/admin.json | 11 +- .../v/0.0.0/app/localization/sk-SK/admin.json | 11 +- .../v/0.0.0/app/localization/sl-SI/admin.json | 11 +- .../v/0.0.0/app/localization/sv-SE/admin.json | 11 +- .../v/0.0.0/app/localization/zh-CN/admin.json | 11 +- .../Views/Admin/AdminSettingsAbout.html | 35 +++ 27 files changed, 502 insertions(+), 179 deletions(-) diff --git a/dev/Settings/Admin/About.js b/dev/Settings/Admin/About.js index c6754eb74..f90f1cacd 100644 --- a/dev/Settings/Admin/About.js +++ b/dev/Settings/Admin/About.js @@ -1,15 +1,91 @@ import ko from 'ko'; import { Settings } from 'Common/Globals'; +import { addObservablesTo } from 'External/ko'; import Remote from 'Remote/Admin/Fetch'; +import { i18n, trigger as translatorTrigger } from 'Common/Translator'; + export class AdminSettingsAbout /*extends AbstractViewSettings*/ { constructor() { this.version = Settings.app('version'); this.phpextensions = ko.observableArray(); + + addObservablesTo(this, { + coreReal: true, + coreUpdatable: true, + coreWarning: false, + coreVersion: '', + coreVersionCompare: -2, + errorDesc: '' + }); + this.coreChecking = ko.observable(false).extend({ throttle: 100 }); + this.coreUpdating = ko.observable(false).extend({ throttle: 100 }); + + this.coreVersionHtmlDesc = ko.computed(() => { + translatorTrigger(); + return i18n('TAB_ABOUT/HTML_NEW_VERSION', { 'VERSION': this.coreVersion() }); + }); + + this.statusType = ko.computed(() => { + let type = ''; + const versionToCompare = this.coreVersionCompare(), + isChecking = this.coreChecking(), + isUpdating = this.coreUpdating(), + isReal = this.coreReal(); + + if (isChecking) { + type = 'checking'; + } else if (isUpdating) { + type = 'updating'; + } else if (!isReal) { + type = 'error'; + this.errorDesc('Cannot access the repository at the moment.'); + } else if (0 === versionToCompare) { + type = 'up-to-date'; + } else if (-1 === versionToCompare) { + type = 'available'; + } + + return type; + }); } onBuild() { Remote.request('AdminPHPExtensions', (iError, data) => iError || this.phpextensions(data.Result)); + +// beforeShow() { + this.coreChecking(true); + Remote.request('AdminUpdateInfo', (iError, data) => { + this.coreChecking(false); + if (!iError && data && data.Result) { + this.coreReal(true); + this.coreUpdatable(!!data.Result.Updatable); + this.coreWarning(!!data.Result.Warning); + this.coreVersion(data.Result.Version || ''); + this.coreVersionCompare(data.Result.VersionCompare); + } else { + this.coreReal(false); + this.coreWarning(false); + this.coreVersion(''); + this.coreVersionCompare(-2); + } + }); } + updateCoreData() { + if (!this.coreUpdating()) { + this.coreUpdating(true); + Remote.request('AdminUpgradeCore', (iError, data) => { + this.coreUpdating(false); + this.coreVersion(''); + this.coreVersionCompare(-2); + if (!iError && data && data.Result) { + this.coreReal(true); + window.location.reload(); + } else { + this.coreReal(false); + } + }, {}, 90000); + } + } } diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php index 1be034941..95d7b9cc1 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/ActionsAdmin.php @@ -470,6 +470,48 @@ class ActionsAdmin extends Actions exit; } + public function DoAdminUpdateInfo() : array + { + $this->IsAdminLoggined(); + + $info = \SnappyMail\Repository::getLatestCoreInfo(); + + $sVersion = empty($info->version) ? '' : $info->version; + + $bShowWarning = false; + if (!empty($info->warnings) && APP_VERSION !== APP_DEV_VERSION) { + foreach ($info->warnings as $sWarningVersion) { + $sWarningVersion = \trim($sWarningVersion); + + if (\version_compare(APP_VERSION, $sWarningVersion, '<') + && \version_compare($sVersion, $sWarningVersion, '>=')) + { + $bShowWarning = true; + break; + } + } + } + + $aWarnings = []; + if (!\version_compare(APP_VERSION, '2.0', '>')) { + $aWarnings[] = APP_VERSION; + } + if (!\is_writable(\dirname(APP_VERSION_ROOT_PATH))) { + $aWarnings[] = 'Can not write into: ' . \dirname(APP_VERSION_ROOT_PATH); + } + if (!\is_writable(APP_INDEX_ROOT_PATH . 'index.php')) { + $aWarnings[] = 'Can not edit: ' . APP_INDEX_ROOT_PATH . 'index.php'; + } + + return $this->DefaultResponse(__FUNCTION__, array( + 'Updatable' => \SnappyMail\Repository::canUpdateCore(), + 'Warning' => $bShowWarning, + 'Version' => $sVersion, + 'VersionCompare' => \version_compare(APP_VERSION, $sVersion), + 'Warnings' => $aWarnings + )); + } + public function DoAdminUpgradeCore() : array { return $this->DefaultResponse(__FUNCTION__, \SnappyMail\Upgrade::core()); diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/repository.php b/snappymail/v/0.0.0/app/libraries/snappymail/repository.php index e503b4330..44bfd72a9 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/repository.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/repository.php @@ -148,21 +148,34 @@ abstract class Repository return $aResult; } + /** + * return object + $info->version + $info->file + $info->warnings + */ public static function getLatestCoreInfo() { \RainLoop\Api::Actions()->IsAdminLoggined(); $sRep = static::get('core.json'); - return $sRep ? \json_decode($sRep) : null; + return $sRep ? \json_decode($sRep, false, 3, JSON_THROW_ON_ERROR) : null; } - public static function downloadCore(string $path) : ?string + public static function downloadCore() : ?string { $info = static::getLatestCoreInfo(); - return \version_compare(APP_VERSION, $info->version, '<') + return ($info && \version_compare(APP_VERSION, $info->version, '<')) ? static::download($info->file) // '../latest.tar.gz' : null; } + public static function canUpdateCore() : bool + { + return \version_compare(APP_VERSION, '2.0', '>') + && \is_writable(\dirname(APP_VERSION_ROOT_PATH)) + && \is_writable(APP_INDEX_ROOT_PATH . 'index.php'); + } + public static function getPackagesList() : array { \RainLoop\Api::Actions()->IsAdminLoggined(); diff --git a/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php b/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php index 6467c526e..5d93c0518 100644 --- a/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php +++ b/snappymail/v/0.0.0/app/libraries/snappymail/upgrade.php @@ -183,23 +183,26 @@ abstract class Upgrade public static function core() : bool { - $this->IsAdminLoggined(); - $bResult = false; - if (\version_compare(APP_VERSION, '2.0', '>') - && \is_writable(\dirname(APP_VERSION_ROOT_PATH)) - && \is_writable(APP_INDEX_ROOT_PATH . 'index.php') - ) { + if (Repository::canUpdateCore()) { $sTmp = null; try { - $sTmp = Repository::downloadCore($info->file); - if ($sTmp) { - static::backup(); - $oArchive = new \PharData($sTmp, 0); - $bResult = $oArchive->extractTo(\rtrim(APP_VERSION_ROOT_PATH, '\\/'), null, true); - if (!$bResult) { - throw new \Exception('Cannot extract core files: '.$oArchive->getStatusString()); - } + static::backup(); + + $sTmp = Repository::downloadCore(); + if (!$sTmp) { + throw new \Exception('Failed to download latest SnappyMail'); + } + $target = \rtrim(APP_INDEX_ROOT_PATH, '\\/'); + $oArchive = new \PharData($sTmp, 0, null, \Phar::GZ); + \error_log('Extract to ' . $target); +// $bResult = $oArchive->extractTo($target, null, true); + $bResult = $oArchive->extractTo($target, 'snappymail/') + && $oArchive->extractTo($target, 'index.php', true); + if ($bResult) { + \error_log('Update success'); + } else { + throw new \Exception('Extract core files failed'); } } finally { $sTmp && \unlink($sTmp); diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json index 761c6a0db..9faca8f75 100644 --- a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json +++ b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Uložit" + "SAVE": "Uložit", + "UPDATE": "Aktualizovat" }, "LOGIN": { "LABEL_LOGIN": "Login", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Info", "LABEL_TAG_HINT": "Jednoduchý, moderní a rychlý webový emailový klient", - "LABEL_ALL_RIGHTS_RESERVED": "Všechna práva vyhrazena." + "LABEL_ALL_RIGHTS_RESERVED": "Všechna práva vyhrazena.", + "HINT_READ_CHANGE_LOG": "Přečtěte si prosím change log předtím, než budete chtít provést aktualizaci.", + "HINT_IS_UP_TO_DATE": "RainLoop je v aktuální verzi.", + "HTML_NEW_VERSION": "Nová verze %VERSION% je k dispozici.", + "LABEL_UPDATING": "Aktualizuji", + "LABEL_CHECKING": "Kontroluji nové aktualizace", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Přidat alias", diff --git a/snappymail/v/0.0.0/app/localization/da-DK/admin.json b/snappymail/v/0.0.0/app/localization/da-DK/admin.json index a9ebb2037..85166175d 100644 --- a/snappymail/v/0.0.0/app/localization/da-DK/admin.json +++ b/snappymail/v/0.0.0/app/localization/da-DK/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Gem" + "SAVE": "Gem", + "UPDATE": "Opdater" }, "LOGIN": { "LABEL_LOGIN": "Log ind", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Om", "LABEL_TAG_HINT": "Simpel, moderne & hurtig web-baseret e-mail klient", - "LABEL_ALL_RIGHTS_RESERVED": "alle rettigheder forbeholdes." + "LABEL_ALL_RIGHTS_RESERVED": "alle rettigheder forbeholdes.", + "HINT_READ_CHANGE_LOG": "Læs ændrings listen før der opdateres.", + "HINT_IS_UP_TO_DATE": "RainLoop is up to date.", + "HTML_NEW_VERSION": "Ny %VERSION% version tilgængelig", + "LABEL_UPDATING": "Opdatere", + "LABEL_CHECKING": "Tjekker for opdateringer", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Tilføj alias", diff --git a/snappymail/v/0.0.0/app/localization/de-DE/admin.json b/snappymail/v/0.0.0/app/localization/de-DE/admin.json index 12d19f652..81dccf0f2 100644 --- a/snappymail/v/0.0.0/app/localization/de-DE/admin.json +++ b/snappymail/v/0.0.0/app/localization/de-DE/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Speichern" + "SAVE": "Speichern", + "UPDATE": "Aktualisieren" }, "LOGIN": { "LABEL_LOGIN": "Benutzer", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Über", "LABEL_TAG_HINT": "Einfacher, moderner und schneller webbasierter E-Mail-Client", - "LABEL_ALL_RIGHTS_RESERVED": "Alle Rechte vorbehalten." + "LABEL_ALL_RIGHTS_RESERVED": "Alle Rechte vorbehalten.", + "HINT_READ_CHANGE_LOG": "Bitte Lesen Sie das Änderungsprotokoll vor dem Update.", + "HINT_IS_UP_TO_DATE": "RainLoop ist auf dem neusten Stand.", + "HTML_NEW_VERSION": "Neue Version %VERSION% verfügbar.", + "LABEL_UPDATING": "Aktualisiere", + "LABEL_CHECKING": "Prüfe auf Aktualisierungen", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Alias hinzufügen", diff --git a/snappymail/v/0.0.0/app/localization/en/admin.json b/snappymail/v/0.0.0/app/localization/en/admin.json index a38377608..14f53adb5 100644 --- a/snappymail/v/0.0.0/app/localization/en/admin.json +++ b/snappymail/v/0.0.0/app/localization/en/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Save" + "SAVE": "Save", + "UPDATE": "Update" }, "LOGIN": { "LABEL_LOGIN": "Login", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "About", "LABEL_TAG_HINT": "Simple, modern & fast web-based email client", - "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved." + "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved.", + "HINT_READ_CHANGE_LOG": "Please read the change log before updating.", + "HINT_IS_UP_TO_DATE": "RainLoop is up to date.", + "HTML_NEW_VERSION": "New %VERSION% version is available.", + "LABEL_UPDATING": "Updating", + "LABEL_CHECKING": "Checking for updates", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Add Alias", diff --git a/snappymail/v/0.0.0/app/localization/es-ES/admin.json b/snappymail/v/0.0.0/app/localization/es-ES/admin.json index 7de9632ae..da6d44a65 100644 --- a/snappymail/v/0.0.0/app/localization/es-ES/admin.json +++ b/snappymail/v/0.0.0/app/localization/es-ES/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Guardar" + "SAVE": "Guardar", + "UPDATE": "Actualizar" }, "LOGIN": { "LABEL_LOGIN": "Ingresar", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Acerca", "LABEL_TAG_HINT": "Moderno, simple y rápido cliente web de correo electrónico", - "LABEL_ALL_RIGHTS_RESERVED": "Todos los Derechos Reservados." + "LABEL_ALL_RIGHTS_RESERVED": "Todos los Derechos Reservados.", + "HINT_READ_CHANGE_LOG": "Revisa la lista de cambios antes de actualizar.", + "HINT_IS_UP_TO_DATE": "RainLoop está actualizado.", + "HTML_NEW_VERSION": "Nueva versión ( %VERSION% ) está disponible.", + "LABEL_UPDATING": "Actualizando", + "LABEL_CHECKING": "Buscando actualizaciones", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Agregar alias", diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json index f7c7fc3da..4de8a1d73 100644 --- a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json +++ b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "ذخیره" + "SAVE": "ذخیره", + "UPDATE": "بروزرسانی" }, "LOGIN": { "LABEL_LOGIN": "ورود", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "درباره", "LABEL_TAG_HINT": "یک رابط کاربری پست الکترونیک ساده، پیشرفته و سریع", - "LABEL_ALL_RIGHTS_RESERVED": "همه حقوق محفوظ هست" + "LABEL_ALL_RIGHTS_RESERVED": "همه حقوق محفوظ هست", + "HINT_READ_CHANGE_LOG": "فایل وقایع را قبل از بروزرسانی بخوانید.", + "HINT_IS_UP_TO_DATE": "RainLoop بروز هست", + "HTML_NEW_VERSION": "نسخه %VERSION% در دسترس هست", + "LABEL_UPDATING": "در حال بروزرسانی", + "LABEL_CHECKING": "چک کردن برای بروزرسانی", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "اضافه کردن نام مستعار", diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json index 542056170..29fb52b21 100644 --- a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json +++ b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Tallenna" + "SAVE": "Tallenna", + "UPDATE": "Päivitä" }, "LOGIN": { "LABEL_LOGIN": "Tunnus", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Tietoja", "LABEL_TAG_HINT": "Helppo, moderni ja nopea web-pohjainen sähköpostiohjelma", - "LABEL_ALL_RIGHTS_RESERVED": "Kaikki oikeudet pidätetään." + "LABEL_ALL_RIGHTS_RESERVED": "Kaikki oikeudet pidätetään.", + "HINT_READ_CHANGE_LOG": "Lue muutosloki ennen päivitystä.", + "HINT_IS_UP_TO_DATE": "RainLoop on ajan tasalla.", + "HTML_NEW_VERSION": "Uusi versio %VERSION% on saatavissa.", + "LABEL_UPDATING": "Päivitetään", + "LABEL_CHECKING": "Tarkastetaan päivityksiä", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Lisää Alias", diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json index 4531f80ad..6942abeb6 100644 --- a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json +++ b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Enregistrer" + "SAVE": "Enregistrer", + "UPDATE": "Mettre à jour" }, "LOGIN": { "LABEL_LOGIN": "Identifiant", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "A propos", "LABEL_TAG_HINT": "Un client webmail simple, moderne et rapide ", - "LABEL_ALL_RIGHTS_RESERVED": "Tous droits réservés." + "LABEL_ALL_RIGHTS_RESERVED": "Tous droits réservés.", + "HINT_READ_CHANGE_LOG": "Veuillez lire le journal des modifications avant de faire la mise à jour.", + "HINT_IS_UP_TO_DATE": "Rainloop est à jour.", + "HTML_NEW_VERSION": "Une nouvelle version %VERSION% est disponible.", + "LABEL_UPDATING": "Mise à jour", + "LABEL_CHECKING": "Vérification des mises à jour", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Ajouter un alias", diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json index 4ddd575e1..913439d05 100644 --- a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json +++ b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Mentés" + "SAVE": "Mentés", + "UPDATE": "Frissítés" }, "LOGIN": { "LABEL_LOGIN": "Belépés", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Névjegy", "LABEL_TAG_HINT": "Egyszerű, modern és gyors webes email kliens", - "LABEL_ALL_RIGHTS_RESERVED": "Minden jog fenntartva." + "LABEL_ALL_RIGHTS_RESERVED": "Minden jog fenntartva.", + "HINT_READ_CHANGE_LOG": "Frissítés előtt kérlek olvasd el a változások listáját.", + "HINT_IS_UP_TO_DATE": "A RainLoop naprakész.", + "HTML_NEW_VERSION": "Új verzió érhető el: %VERSION%", + "LABEL_UPDATING": "Frissítés", + "LABEL_CHECKING": "Frissítések ellenőrzése", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Álnév hozzáadás", diff --git a/snappymail/v/0.0.0/app/localization/id-ID/admin.json b/snappymail/v/0.0.0/app/localization/id-ID/admin.json index 604dfb9e7..f2c201e95 100644 --- a/snappymail/v/0.0.0/app/localization/id-ID/admin.json +++ b/snappymail/v/0.0.0/app/localization/id-ID/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Simpan" + "SAVE": "Simpan", + "UPDATE": "Pembaruan" }, "LOGIN": { "LABEL_LOGIN": "Login", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Tentang", "LABEL_TAG_HINT": "Klien web-based email yang simpel, modern & cepat", - "LABEL_ALL_RIGHTS_RESERVED": "Hak Cipta" + "LABEL_ALL_RIGHTS_RESERVED": "Hak Cipta", + "HINT_READ_CHANGE_LOG": "Mohon baca log perubahan sebelum melakukan pembaruan", + "HINT_IS_UP_TO_DATE": "RainLoop sudah terbaru", + "HTML_NEW_VERSION": "Versi %VERSION% baru tersedia", + "LABEL_UPDATING": "Memperbarui", + "LABEL_CHECKING": "Memeriksa pembaruan", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Tambah Alias", diff --git a/snappymail/v/0.0.0/app/localization/it-IT/admin.json b/snappymail/v/0.0.0/app/localization/it-IT/admin.json index d8e8ea606..ef6ae4d10 100644 --- a/snappymail/v/0.0.0/app/localization/it-IT/admin.json +++ b/snappymail/v/0.0.0/app/localization/it-IT/admin.json @@ -1,177 +1,184 @@ { "GLOBAL": { - "SAVE": "Salva" + "SAVE": "Save", + "UPDATE": "Aggiorna" }, "LOGIN": { - "LABEL_LOGIN": "Nome utente", + "LABEL_LOGIN": "Login", "LABEL_PASSWORD": "Password", "LABEL_TOTP": "TOTP code", - "BUTTON_LOGIN": "Accedi all'amministrazione" + "BUTTON_LOGIN": "Log into the admin panel" }, "TOP_PANEL": { - "LABEL_ADMIN_PANEL": "Amministrazione" + "LABEL_ADMIN_PANEL": "Admin Panel" }, "SETTINGS_LABELS": { - "LABEL_GENERAL_NAME": "Generali", - "LABEL_LOGIN_NAME": "Accesso", - "LABEL_BRANDING_NAME": "Personalizzazione", - "LABEL_CONTACTS_NAME": "Contatti", - "LABEL_DOMAINS_NAME": "Domini", - "LABEL_SECURITY_NAME": "Sicurezza", - "LABEL_PACKAGES_NAME": "Pacchetti", + "LABEL_GENERAL_NAME": "General", + "LABEL_LOGIN_NAME": "Login", + "LABEL_BRANDING_NAME": "Branding", + "LABEL_CONTACTS_NAME": "Contacts", + "LABEL_DOMAINS_NAME": "Domains", + "LABEL_SECURITY_NAME": "Security", + "LABEL_PACKAGES_NAME": "Extensions", "LABEL_CONFIG_NAME": "Config", - "LABEL_ABOUT_NAME": "Informazioni" + "LABEL_ABOUT_NAME": "About" }, "TAB_GENERAL": { - "LEGEND_INTERFACE": "Interfaccia", - "LABEL_LANGUAGE": "Lingua", - "LABEL_LANGUAGE_ADMIN": "Lingua (amministrazione)", - "LABEL_THEME": "Tema", - "LABEL_ALLOW_LANGUAGES_ON_SETTINGS": "Permetti di cambiare lingua all'accesso", - "LABEL_ALLOW_THEMES_ON_SETTINGS": "Permetti di cambiare tema dalle impostazioni", - "LABEL_ALLOW_BACKGROUND_ON_SETTINGS": "Permetti di scegliere lo sfondo dalle impostazioni", - "LABEL_NEW_FOLDER_MOVE": "Nuovo bottone \"Sposta in\"", - "LABEL_SHOW_THUMBNAILS": "Visualizza anteprime degli allegati", - "LEGEND_MAIN": "Principale", - "LABEL_ATTACHMENT_SIZE_LIMIT": "Limite di grandezza degli allegati", - "LABEL_ALLOW_ADDITIONAL_ACCOUNTS": "Permetti di possedere più account", - "LABEL_ALLOW_IDENTITIES": "Permetti di registrare identità multiple", - "ALERT_DATA_ACCESS": "La cartella 'data' è accessibile. Per favore configura il tuo server web per nascondere la cartella 'data' dagli accessi esterni. Maggiori informazioni:", - "ALERT_WARNING": "Attenzione!", - "HTML_ALERT_WEAK_PASSWORD": "Stai usando la password di amministrazione predefinita.\n
\nPer ragioni di sicurezza,\ncambiala<\/a><\/strong>\ncon una nuova password immediatamente.\n" + "LEGEND_INTERFACE": "Interface", + "LABEL_LANGUAGE": "Language", + "LABEL_LANGUAGE_ADMIN": "Language (admin)", + "LABEL_THEME": "Theme", + "LABEL_ALLOW_LANGUAGES_ON_SETTINGS": "Allow language selection on settings screen", + "LABEL_ALLOW_THEMES_ON_SETTINGS": "Allow theme selection on settings screen", + "LABEL_ALLOW_BACKGROUND_ON_SETTINGS": "Allow background selection on settings screen", + "LABEL_NEW_FOLDER_MOVE": "New \"move to folder\" button", + "LABEL_SHOW_THUMBNAILS": "Show thumbnails (attachments)", + "LEGEND_MAIN": "Main", + "LABEL_ATTACHMENT_SIZE_LIMIT": "Attachment size limit", + "LABEL_ALLOW_ADDITIONAL_ACCOUNTS": "Allow additional accounts", + "LABEL_ALLOW_IDENTITIES": "Allow multiple identities", + "ALERT_DATA_ACCESS": "Data folder is accessible. Please configure your web server to hide the data folder from external access. Read more here:", + "ALERT_WARNING": "Warning!", + "HTML_ALERT_WEAK_PASSWORD": "You are using the default admin password.\n
\nFor security reasons please\n
change<\/a><\/strong>\npassword to something else now.\n" }, "TAB_LOGIN": { - "LEGEND_LOGIN_SCREEN": "Schermata di accesso", - "LABEL_DEFAULT_DOMAIN": "Dominio predefinito", - "LABEL_DETERMINE_USER_DOMAIN": "Prova a determinare il dominio dell'utente", - "LABEL_ALLOW_LANGUAGES_ON_LOGIN": "Permetti di cambiare lingua all'accesso", - "LABEL_DETERMINE_USER_LANGUAGE": "Prova a determinare la lingua dell'utente", - "LABEL_HIDE_SUBMIT_BUTTON": "Nascondi il tasto 'Registrazione'" + "LEGEND_LOGIN_SCREEN": "Login Screen", + "LABEL_DEFAULT_DOMAIN": "Default Domain", + "LABEL_DETERMINE_USER_DOMAIN": "Try to determine user domain", + "LABEL_ALLOW_LANGUAGES_ON_LOGIN": "Allow language selection on login screen", + "LABEL_DETERMINE_USER_LANGUAGE": "Try to determine user language", + "LABEL_HIDE_SUBMIT_BUTTON": "Hide the 'Sign In' button" }, "TAB_BRANDING": { - "LEGEND_BRANDING": "Personalizzazione", - "LABEL_PAGE_TITLE": "Titolo della pagina", - "LABEL_LOADING_DESCRIPTION": "Messaggio di caricamento", + "LEGEND_BRANDING": "Branding", + "LABEL_PAGE_TITLE": "Page Title", + "LABEL_LOADING_DESCRIPTION": "Loading Description", "LABEL_FAVICON_URL": "Favicon" }, "TAB_CONTACTS": { - "LEGEND_CONTACTS": "Contatti", - "LEGEND_STORAGE": "Metodo di salvataggio (PDO)", - "LABEL_ENABLE_CONTACTS": "Abilita contatti", - "LABEL_ALLOW_SYNC": "Abilita la sincronizzazione dei contatti (con un server CardDAV esterno)", - "LABEL_STORAGE_TYPE": "Tipo", - "LABEL_STORAGE_DSN": "DSN", - "LABEL_STORAGE_USER": "Nome utente", + "LEGEND_CONTACTS": "Contacts", + "LEGEND_STORAGE": "Storage (PDO)", + "LABEL_ENABLE_CONTACTS": "Enable contacts", + "LABEL_ALLOW_SYNC": "Allow contacts sync (with external CardDAV server)", + "LABEL_STORAGE_TYPE": "Type", + "LABEL_STORAGE_DSN": "Dsn", + "LABEL_STORAGE_USER": "User", "LABEL_STORAGE_PASSWORD": "Password", - "BUTTON_TEST": "Verifica dati", - "ALERT_NOTICE": "Attenzione!", - "HTML_ALERT_DO_NOT_USE_THIS_DATABASE": "Non usare questo tipo di database con un alto numero di utenti attivi.", - "HTML_ALERT_DOES_NOT_SUPPORTED": "Il tuo server non supporta il salvataggio dei contatti.\n
\nDevi abilitare l'estensione PDO (SQLite \/ MySQL \/ PostgreSQL)<\/strong> sul tuo server.\n" + "BUTTON_TEST": "Test", + "ALERT_NOTICE": "Notice!", + "HTML_ALERT_DO_NOT_USE_THIS_DATABASE": "Don't use this database type with a large number of active users.", + "HTML_ALERT_DOES_NOT_SUPPORTED": "Your system doesn't support contacts.\n
\nYou need to install or enable PDO (SQLite \/ MySQL \/ PostgreSQL)<\/strong> extension on your server.\n" }, "TAB_DOMAINS": { - "LEGEND_DOMAINS": "Domini", - "BUTTON_ADD_DOMAIN": "Aggiungi dominio", - "BUTTON_ADD_ALIAS": "Aggiungi alias", - "DELETE_ARE_YOU_SURE": "Ne sei sicuro?", - "HTML_DOMAINS_HELPER": "Lista di domini a cui la webmail è abilitata ad accedere.\n
\nClicca su un nome per configurare quel dominio.\n" + "LEGEND_DOMAINS": "Domains", + "BUTTON_ADD_DOMAIN": "Add Domain", + "BUTTON_ADD_ALIAS": "Add Alias", + "DELETE_ARE_YOU_SURE": "Are you sure?", + "HTML_DOMAINS_HELPER": "List of domains webmail is allowed to access.\n
\nClick on the name to configure the domain.\n" }, "TAB_SECURITY": { - "LEGEND_SECURITY": "Sicurezza", - "LABEL_USE_IMAGE_PROXY": "Usa un proxy locale per le immagini", - "LABEL_ALLOW_OPEN_PGP": "Abilita OpenPGP", - "LABEL_SHOW_PHP_INFO": "Visualizza informazioni su PHP", - "LEGEND_ADMIN_PANEL_ACCESS_CREDENTIALS": "Dati di accesso al pannello di controllo", - "LABEL_CURRENT_PASSWORD": "Password corrente", - "LABEL_NEW_LOGIN": "Nuovo nome utente", - "LABEL_NEW_PASSWORD": "Nuova password", - "LABEL_REPEAT_PASSWORD": "Ripeti nuova password", - "BUTTON_UPDATE_PASSWORD": "Aggiorna password", + "LEGEND_SECURITY": "Security", + "LABEL_USE_IMAGE_PROXY": "Use local proxy for external images", + "LABEL_ALLOW_OPEN_PGP": "Allow OpenPGP", + "LABEL_SHOW_PHP_INFO": "Show PHP information", + "LEGEND_ADMIN_PANEL_ACCESS_CREDENTIALS": "Admin Panel Access Credentials", + "LABEL_CURRENT_PASSWORD": "Current password", + "LABEL_NEW_LOGIN": "New login", + "LABEL_NEW_PASSWORD": "New password", + "LABEL_REPEAT_PASSWORD": "Repeat", + "BUTTON_UPDATE_PASSWORD": "Update Password", "LEGEND_SSL": "SSL", - "LABEL_REQUIRE_VERIFICATION": "Richiedi verifica dei certificati SSL (IMAP\/SMTP)", - "LABEL_ALLOW_SELF_SIGNED": "Abilita certificati autofirmati" + "LABEL_REQUIRE_VERIFICATION": "Require verification of SSL certificate used (IMAP\/SMTP)", + "LABEL_ALLOW_SELF_SIGNED": "Allow self signed certificates" }, "TAB_PACKAGES": { - "LABEL_ENABLE_PLUGINS": "Abilita estensioni" - "LEGEND_AVAILABLE_FOR_UPDATE": "Disponibili per l'aggiornamento", - "LEGEND_AVAILABLE_FOR_INSTALLATION": "Disponibili per l'installazione", - "LEGEND_INSTALLED_PACKAGES": "Pacchetti installati", - "ALERT_CANNOT_ACCESS_REPOSITORY": "Impossibile accedere al repository in questo momento." + "LABEL_ENABLE_PLUGINS": "Enable extensions", + "LEGEND_AVAILABLE_FOR_UPDATE": "Available for Update", + "LEGEND_AVAILABLE_FOR_INSTALLATION": "Available for Installation", + "LEGEND_INSTALLED_PACKAGES": "Installed Extensions", + "ALERT_CANNOT_ACCESS_REPOSITORY": "Cannot access the repository at the moment." }, "TAB_ABOUT": { - "LEGEND_ABOUT": "Informazioni", - "LABEL_TAG_HINT": "Semplice, moderno e veloce client email online", - "LABEL_ALL_RIGHTS_RESERVED": "Tutti i diritti riservati." + "LEGEND_ABOUT": "About", + "LABEL_TAG_HINT": "Simple, modern & fast web-based email client", + "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved.", + "HINT_READ_CHANGE_LOG": "Leggere il changelog prima di effettuare l'aggiornamento.", + "HINT_IS_UP_TO_DATE": "RainLoop è aggiornato.", + "HTML_NEW_VERSION": "La nuova versione %VERSION% è disponibile.", + "LABEL_UPDATING": "Aggiornamento in corso...", + "LABEL_CHECKING": "Controllo della presenza di aggiornamenti...", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { - "TITLE_ADD_DOMAIN_ALIAS": "Aggiungi alias", + "TITLE_ADD_DOMAIN_ALIAS": "Add Alias", "LABEL_ALIAS": "Alias", - "LABEL_DOMAIN": "Dominio", - "BUTTON_CLOSE": "Chiudi", - "BUTTON_ADD": "Aggiungi" + "LABEL_DOMAIN": "Domain", + "BUTTON_CLOSE": "Close", + "BUTTON_ADD": "Add" }, "POPUPS_DOMAIN": { - "TITLE_ADD_DOMAIN": "Aggiungi dominio", - "TITLE_ADD_DOMAIN_WITH_NAME": "Aggiungi il dominio \"%NAME%\"", - "TITLE_EDIT_DOMAIN": "Modifica il dominio \"%NAME%\"", - "LABEL_NAME": "Nome dominio", - "NAME_HELPER": "asterischi supportati", + "TITLE_ADD_DOMAIN": "Add Domain", + "TITLE_ADD_DOMAIN_WITH_NAME": "Add Domain \"%NAME%\"", + "TITLE_EDIT_DOMAIN": "Edit Domain \"%NAME%\"", + "LABEL_NAME": "Name", + "NAME_HELPER": "wildcard supported", "LABEL_IMAP": "IMAP", "LABEL_SMTP": "SMTP", "LABEL_SIEVE": "SIEVE", "LABEL_SERVER": "Server", - "LABEL_PORT": "porta", - "LABEL_SECURE": "Sicuro", - "LABEL_WHITE_LIST": "Whitelist", - "SECURE_OPTION_NONE": "Nessuna", + "LABEL_PORT": "Port", + "LABEL_SECURE": "Secure", + "LABEL_WHITE_LIST": "White List", + "SECURE_OPTION_NONE": "None", "SECURE_OPTION_SSL": "SSL\/TLS", "SECURE_OPTION_STARTTLS": "STARTTLS", - "LABEL_ALLOW_SIEVE_SCRIPTS": "Abilita script sieve", - "LABEL_USE_SHORT_LOGIN": "Utilizza login corto", - "LABEL_USE_AUTH": "Utilizza autenticazione", - "LABEL_SET_SENDER": "Utilizza login come mittente", - "LABEL_USE_PHP_MAIL": "Usa la funzione mail() di PHP", - "BUTTON_TEST": "Verifica", - "BUTTON_WHITE_LIST": "Whitelist", - "BUTTON_SIEVE_CONFIGURATION": "Configurazione di Sieve", - "BUTTON_BACK_TO_IMAP": "Torna alle impostazioni IMAP", - "BUTTON_BACK": "Indietro", - "BUTTON_CLOSE": "Chiudi", - "BUTTON_ADD": "Aggiungi", - "BUTTON_UPDATE": "Aggiorna", - "NEW_DOMAIN_DESC": "La configurazione di questo dominio ti permette di lavorare
con %NAME%<\/i> indirizzi email.", - "WHITE_LIST_ALERT": "Lista di domini a cui gli utenti sono autorizzati ad accedere.\nUtilizzare uno spazio come separatore.\n" + "LABEL_ALLOW_SIEVE_SCRIPTS": "Allow sieve scripts", + "LABEL_USE_SHORT_LOGIN": "Use short login", + "LABEL_USE_AUTH": "Use authentication", + "LABEL_SET_SENDER": "Use login as sender", + "LABEL_USE_PHP_MAIL": "Use php mail() function", + "BUTTON_TEST": "Test", + "BUTTON_WHITE_LIST": "White List", + "BUTTON_SIEVE_CONFIGURATION": "Sieve configuration", + "BUTTON_BACK_TO_IMAP": "Back to IMAP settings", + "BUTTON_BACK": "Back", + "BUTTON_CLOSE": "Close", + "BUTTON_ADD": "Add", + "BUTTON_UPDATE": "Update", + "NEW_DOMAIN_DESC": "This domain configuration will allow you to work
with %NAME%<\/i> email addresses.", + "WHITE_LIST_ALERT": "List of domain users webmail is allowed to access.\nUse a space as delimiter.\n" }, "POPUPS_PLUGIN": { - "TITLE_PLUGIN": "Plugin", - "DESC_NOTHING_TO_CONFIGURE": "Niente da configurare", - "BUTTON_CLOSE": "Chiudi" + "TITLE_PLUGIN": "Extension", + "DESC_NOTHING_TO_CONFIGURE": "Nothing to configure", + "BUTTON_CLOSE": "Close" }, "POPUPS_ASK": { - "BUTTON_YES": "Si" + "BUTTON_YES": "Yes", "BUTTON_NO": "No", - "DESC_WANT_CLOSE_THIS_WINDOW": "Sei sicuro di voler chiudere questa finestra?" + "DESC_WANT_CLOSE_THIS_WINDOW": "Are you sure you want to close this window?" }, "POPUPS_LANGUAGES": { - "TITLE_LANGUAGES": "Scegli la tua lingua" + "TITLE_LANGUAGES": "Choose your language" }, "HINTS": { "BETA": "beta", - "UNSTABLE": "instabile", - "WARNING": "Attenzione!" + "UNSTABLE": "unstable", + "WARNING": "Warning!" }, "ERRORS": { - "DOMAIN_ALREADY_EXISTS": "Il dominio esiste già", - "UNKNOWN_ERROR": "Errore sconosciuto" + "DOMAIN_ALREADY_EXISTS": "Domain already exists", + "UNKNOWN_ERROR": "Unknown error" }, "NOTIFICATIONS": { - "INVALID_TOKEN": "Token invalido", - "AUTH_ERROR": "Autenticazione fallita", - "DOMAIN_ALREADY_EXISTS": "Il dominio già esiste", - "CANT_SAVE_PLUGIN_SETTINGS": "Impossibile salvare le impostazioni", - "CANT_INSTALL_PACKAGE": "Impossibile installare il pacchetto", - "CANT_DELETE_PACKAGE": "Impossibile rimuovere il pacchetto", - "INVALID_PLUGIN_PACKAGE": "Pacchetto non valido", - "UNSUPPORTED_PLUGIN_PACKAGE": "Pacchetto non supportato", - "UNKNOWN_ERROR": "Errore sconosciuto" + "INVALID_TOKEN": "Invalid token", + "AUTH_ERROR": "Authentication failed", + "DOMAIN_ALREADY_EXISTS": "Domain already exists", + "CANT_SAVE_PLUGIN_SETTINGS": "Can't save settings", + "CANT_INSTALL_PACKAGE": "Failed to install extension", + "CANT_DELETE_PACKAGE": "Failed to remove extension", + "INVALID_PLUGIN_PACKAGE": "Invalid extension package", + "UNSUPPORTED_PLUGIN_PACKAGE": "Unsupported extension package", + "UNKNOWN_ERROR": "Unknown error" } } diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json index dad8d1af8..ef1a84ef5 100644 --- a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json +++ b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "保存" + "SAVE": "保存", + "UPDATE": "更新" }, "LOGIN": { "LABEL_LOGIN": "ログイン", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "RainLoop について", "LABEL_TAG_HINT": "シンプル・モダン・高速なウェブベースのメールクライアント", - "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved." + "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved.", + "HINT_READ_CHANGE_LOG": "更新する前に変更ログをお読みください。", + "HINT_IS_UP_TO_DATE": "RainLoopは最新のものです。", + "HTML_NEW_VERSION": "新しいバージョン %VERSION% があります", + "LABEL_UPDATING": "更新中", + "LABEL_CHECKING": "アップデートの確認", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "エイリアスを追加", diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json index 058247497..a957154cb 100644 --- a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json +++ b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Saugoti" + "SAVE": "Saugoti", + "UPDATE": "Atnaujinti" }, "LOGIN": { "LABEL_LOGIN": "Prisijungimo vardas", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Apie", "LABEL_TAG_HINT": "Paprastas, modernus ir greitas web pašto klientas", - "LABEL_ALL_RIGHTS_RESERVED": "Visos teisės saugomos." + "LABEL_ALL_RIGHTS_RESERVED": "Visos teisės saugomos.", + "HINT_READ_CHANGE_LOG": "Prašom perskaityti pasikeitimų eigą prieš atnaujinant.", + "HINT_IS_UP_TO_DATE": "RainLoop naujausios laidos.", + "HTML_NEW_VERSION": "Nauja %VERSION% versija jau prieinama.", + "LABEL_UPDATING": "Atnaujinama", + "LABEL_CHECKING": "Ieškau atnaujinimų", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Pridėti Alias", diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json index 3a5c789ee..104f57f72 100644 --- a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json +++ b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Lagre" + "SAVE": "Lagre", + "UPDATE": "Oppdater" }, "LOGIN": { "LABEL_LOGIN": "Brukernavn", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Om", "LABEL_TAG_HINT": "Rask, enkel, moderne og web-basert e-postklient", - "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved." + "LABEL_ALL_RIGHTS_RESERVED": "All Rights Reserved.", + "HINT_READ_CHANGE_LOG": "Les endringslogg før du oppdaterer.", + "HINT_IS_UP_TO_DATE": "RainLoop er oppdatert.", + "HTML_NEW_VERSION": "Versjon %VERSION% er nå tilgjengelig.", + "LABEL_UPDATING": "Oppdaterer", + "LABEL_CHECKING": "Ser etter oppdateringer", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Legg til alias", diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json index 4a4a9a5bb..429b40811 100644 --- a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json +++ b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Opslaan" + "SAVE": "Opslaan", + "UPDATE": "Updaten" }, "LOGIN": { "LABEL_LOGIN": "Inlognaam", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Over", "LABEL_TAG_HINT": "Simpel, modern en snelle web-based e-mail client", - "LABEL_ALL_RIGHTS_RESERVED": "Alle rechten voorbehouden." + "LABEL_ALL_RIGHTS_RESERVED": "Alle rechten voorbehouden.", + "HINT_READ_CHANGE_LOG": "Lees a.u.b. het veranderingen logboek alvorens te updaten.", + "HINT_IS_UP_TO_DATE": "De laatste versie van RainLoop is geïnstalleerd.", + "HTML_NEW_VERSION": "Een nieuwe versie %VERSION% is beschikbaar.", + "LABEL_UPDATING": "Bezig met updaten", + "LABEL_CHECKING": "Controleren op updates", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Voeg alias toe", diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json index b8e8d34e2..0fd38599c 100644 --- a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json +++ b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Zapisz" + "SAVE": "Zapisz", + "UPDATE": "Zaktualizuj" }, "LOGIN": { "LABEL_LOGIN": "Login", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "O programie", "LABEL_TAG_HINT": "Prosty, nowoczesny i szybki klient poczty elektronicznej", - "LABEL_ALL_RIGHTS_RESERVED": "Wszystkie prawa zastrzeżone." + "LABEL_ALL_RIGHTS_RESERVED": "Wszystkie prawa zastrzeżone.", + "HINT_READ_CHANGE_LOG": "Przed aktualizacją przeczytaj proszę listę zmian.", + "HINT_IS_UP_TO_DATE": "RainLoop jest aktualny.", + "HTML_NEW_VERSION": "Dostępna jest nowa wersja: %VERSION%.", + "LABEL_UPDATING": "Aktualizacja w toku...", + "LABEL_CHECKING": "Szukanie aktualizacji...", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Dodaj Alias", diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json index 7b9a7793f..22fb8c90c 100644 --- a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json +++ b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Salvar" + "SAVE": "Salvar", + "UPDATE": "Atualizar" }, "LOGIN": { "LABEL_LOGIN": "Usuário", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Sobre", "LABEL_TAG_HINT": "Leitor de email web simples, moderno & rápido.", - "LABEL_ALL_RIGHTS_RESERVED": "Todos os direitos reservados." + "LABEL_ALL_RIGHTS_RESERVED": "Todos os direitos reservados.", + "HINT_READ_CHANGE_LOG": "Por favor, leia o registro de alterações antes de atualizar.", + "HINT_IS_UP_TO_DATE": "RainLoop está atualizado.", + "HTML_NEW_VERSION": "Está disponível uma nova versão: %VERSION%.", + "LABEL_UPDATING": "Atualizando", + "LABEL_CHECKING": "Checar por atualizações", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Adicionar apelido (Alias)", diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json index 54e421ae6..afeba4071 100644 --- a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json +++ b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Сохранить" + "SAVE": "Сохранить", + "UPDATE": "Обновить" }, "LOGIN": { "LABEL_LOGIN": "Логин", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "О программе", "LABEL_TAG_HINT": "Простой, современный и быстрый веб-клиент электронной почты\n", - "LABEL_ALL_RIGHTS_RESERVED": "Все права защищены." + "LABEL_ALL_RIGHTS_RESERVED": "Все права защищены.", + "HINT_READ_CHANGE_LOG": "Пожалуйста, ознакомьтесь с изменениями перед обновлением.\n", + "HINT_IS_UP_TO_DATE": "Версия RainLoop актуальна.", + "HTML_NEW_VERSION": "Новая %VERSION% версия доступна.", + "LABEL_UPDATING": "Обновление", + "LABEL_CHECKING": "Проверка", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Добавить Алиас", diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json index e3916be5d..553846b51 100644 --- a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json +++ b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Uložiť" + "SAVE": "Uložiť", + "UPDATE": "Aktualizovať" }, "LOGIN": { "LABEL_LOGIN": "Prihlasovanie", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "O programe", "LABEL_TAG_HINT": "Jednoduchý, moderný a rýchly webmail klient", - "LABEL_ALL_RIGHTS_RESERVED": "Všetky práva vyhradené." + "LABEL_ALL_RIGHTS_RESERVED": "Všetky práva vyhradené.", + "HINT_READ_CHANGE_LOG": "Prosím prečítajte si zoznam zmien pred aktualizáciou.", + "HINT_IS_UP_TO_DATE": "RainLoop je aktuálny.", + "HTML_NEW_VERSION": "Dostupná nová %VERSION% verzia.", + "LABEL_UPDATING": "Aktualizujem", + "LABEL_CHECKING": "Kontrolujem aktualizácie", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Pridať alias", diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json index 1039d9671..90f966e34 100644 --- a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json +++ b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Shrani" + "SAVE": "Shrani", + "UPDATE": "Posodobi" }, "LOGIN": { "LABEL_LOGIN": "Prijava", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Več o", "LABEL_TAG_HINT": "Preprost, sodoben, in hiter spletni e-poštni odjemalec", - "LABEL_ALL_RIGHTS_RESERVED": "Vse pravice pridržane." + "LABEL_ALL_RIGHTS_RESERVED": "Vse pravice pridržane.", + "HINT_READ_CHANGE_LOG": "Preberite dnevnik sprememb pred posodobitvijo.", + "HINT_IS_UP_TO_DATE": "Ni novih posodobitev.", + "HTML_NEW_VERSION": "Na voljo je nova verzija %VERSION%.", + "LABEL_UPDATING": "Posodabljanje", + "LABEL_CHECKING": "Preverjanje za posdodobitve", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Dodajanje domene", diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json index cd9eaf870..86b801e97 100644 --- a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json +++ b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "Spara" + "SAVE": "Spara", + "UPDATE": "Uppdatera" }, "LOGIN": { "LABEL_LOGIN": "Logga in", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "Om", "LABEL_TAG_HINT": "Enkel, modern & snabb e-postklient", - "LABEL_ALL_RIGHTS_RESERVED": "Alla rättigheter förbehållna." + "LABEL_ALL_RIGHTS_RESERVED": "Alla rättigheter förbehållna.", + "HINT_READ_CHANGE_LOG": "Vänligen läs ändringsloggen innan du uppdaterar.", + "HINT_IS_UP_TO_DATE": "RainLoop är aktuell.", + "HTML_NEW_VERSION": "Ny %VERSION% version är tillgänglig", + "LABEL_UPDATING": "Uppdaterar", + "LABEL_CHECKING": "Letar efter uppdaterar", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "Lägg till Alias", diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json index 56caa14c9..2acbe250d 100644 --- a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json +++ b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json @@ -1,6 +1,7 @@ { "GLOBAL": { - "SAVE": "保存" + "SAVE": "保存", + "UPDATE": "更新" }, "LOGIN": { "LABEL_LOGIN": "登录", @@ -100,7 +101,13 @@ "TAB_ABOUT": { "LEGEND_ABOUT": "关于", "LABEL_TAG_HINT": "简洁、现代化、快速的网页邮件客户端", - "LABEL_ALL_RIGHTS_RESERVED": "保留所有权利" + "LABEL_ALL_RIGHTS_RESERVED": "保留所有权利", + "HINT_READ_CHANGE_LOG": "请在更新前阅读更新日志", + "HINT_IS_UP_TO_DATE": "RainLoop已经是最新版本的", + "HTML_NEW_VERSION": "有新的%VERSION% 版本可用.", + "LABEL_UPDATING": "更新中", + "LABEL_CHECKING": "检查更新", + "BUTTON_RELEASES": "Releases" }, "POPUPS_DOMAIN_ALIAS": { "TITLE_ADD_DOMAIN_ALIAS": "添加别名", diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html index 5776c832a..6f7a08741 100644 --- a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html +++ b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html @@ -15,6 +15,41 @@

An advanced fork of RainLoop

+
+
+
+ + +
+
+ + +
+ +
+ + + +
+
+
+ + +
+
+ + +
+
+ + … +
+
+ + … +
+
+

PHP optional extensions

Extension