mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
Merge branch 'stretch-unstable' into stretch-testing
This commit is contained in:
commit
e630803708
10 changed files with 472 additions and 97 deletions
23
debian/changelog
vendored
23
debian/changelog
vendored
|
@ -1,3 +1,14 @@
|
|||
yunohost-admin (3.5.0) testing; urgency=low
|
||||
|
||||
- [enh] Remove dependency to GET /version to fetch version (#226)
|
||||
- [enh] Add Konami code ;) (#208)
|
||||
- [fix] Explain the user why the security.rss feed retrieval might not been working (18d6a00)
|
||||
- [i18n] Improve Russian translation
|
||||
|
||||
Contributors: Alexandre Aubin, Алексей
|
||||
|
||||
-- Alexandre Aubin <alex.aubin@mailoo.org> Wed, 13 Mar 2019 16:40:00 +0000
|
||||
|
||||
yunohost-admin (3.4.2) stable; urgency=low
|
||||
|
||||
* Improve German translation
|
||||
|
@ -275,7 +286,7 @@ yunohost-admin (2.6.0) testing; urgency=low
|
|||
|
||||
## Other improvements
|
||||
|
||||
* [fix]ÂGuess API's baseurl is store is empty.
|
||||
* [fix] Guess API's baseurl is store is empty.
|
||||
* [fix] Avoid empty whitespace for the first line of the logs display (#151)
|
||||
* [fix] Set document root permission during package install. (#156)
|
||||
* [fix] Cleanup app_list_install template (unused code since 66dbcf50).
|
||||
|
@ -340,7 +351,7 @@ yunohost-admin (2.4.2) stable; urgency=low
|
|||
* [enh] Display YNH version in footer. Need body padding improvments. #316
|
||||
* [enh] Allow key/value choices in manifest arguments.
|
||||
|
||||
[ Jérome Lebleu ]
|
||||
[ Jérome Lebleu ]
|
||||
* [fix] Run npm/gulp at build in Debian rules
|
||||
|
||||
[ Laurent Peuch ]
|
||||
|
@ -407,9 +418,9 @@ yunohost-admin (2.3.8) testing; urgency=low
|
|||
|
||||
yunohost-admin (2.3.7) testing; urgency=low
|
||||
|
||||
Thanks to every contributors and translators: Jean-Baptise, Jéröme Lebleu and opi
|
||||
Thanks to every contributors and translators: Jean-Baptise, Jérôme Lebleu and opi
|
||||
|
||||
[ JÃTranslations ]
|
||||
[ Translations ]
|
||||
* [i18n] Translated using Weblate (French)
|
||||
* [i18n] Translated using Weblate (Dutch)
|
||||
* [i18n] Translated using Weblate (German)
|
||||
|
@ -466,7 +477,7 @@ yunohost-admin (2.3.5) testing; urgency=low
|
|||
* [i18n] Translated using Weblate (Italian)
|
||||
* [i18n] Translated using Weblate (Italian)
|
||||
|
||||
[ étienne Deparis ]
|
||||
[ Etienne Deparis ]
|
||||
* [i18n] Translated using Weblate (French)
|
||||
|
||||
[ Jean-Baptiste ]
|
||||
|
@ -539,7 +550,7 @@ yunohost-admin (2.3.5) testing; urgency=low
|
|||
* [enh] separate calls so that the makefile can error out at first error
|
||||
|
||||
[ opi ]
|
||||
* [fix]Â Revert hardcoded version introduced in 0f8350a1e3
|
||||
* [fix] Revert hardcoded version introduced in 0f8350a1e3
|
||||
|
||||
[ Julien Malik ]
|
||||
* [fix] fonts were forgotten along the way
|
||||
|
|
|
@ -352,6 +352,19 @@ div.br {
|
|||
right: 0;
|
||||
z-index: 2000;
|
||||
}
|
||||
|
||||
.with-nyancat {
|
||||
.loader{
|
||||
background: rgba(255, 255, 255, 0.5) url(../img/nyancat.gif) center 15% no-repeat;
|
||||
animation: pacmanlinearmove 6s linear infinite;
|
||||
}
|
||||
.loader-content {
|
||||
left: -20%;
|
||||
right: -20%;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.loader-popup {
|
||||
margin: auto;
|
||||
height: 24px;
|
||||
|
|
BIN
src/img/nyancat.gif
Normal file
BIN
src/img/nyancat.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
|
@ -3,8 +3,6 @@
|
|||
var app = Sammy.apps['#main'];
|
||||
var store = app.store;
|
||||
|
||||
var initial_checks_already_performed = false;
|
||||
|
||||
/**
|
||||
* Home
|
||||
*
|
||||
|
@ -12,84 +10,11 @@
|
|||
|
||||
// Home page
|
||||
app.get('#/', function (c) {
|
||||
if (initial_checks_already_performed)
|
||||
{
|
||||
c.view("home");
|
||||
}
|
||||
else c.api('/users', function(data) {
|
||||
// Warn admin if no users are created.
|
||||
if (typeof data.users !== 'undefined' && data.users.length === 0) {
|
||||
c.flash('warning', y18n.t('warning_first_user'));
|
||||
}
|
||||
|
||||
// Get security feed and display new items
|
||||
var securityFeed = 'https://yunohost.org/security.rss';
|
||||
var forumUrl = 'https://forum.yunohost.org';
|
||||
|
||||
$.ajax({
|
||||
url: securityFeed,
|
||||
// dataType: (jQuery.browser.msie) ? "text" : "xml",
|
||||
dataType: "xml"
|
||||
})
|
||||
.done(function(xml){
|
||||
// Get viewed security alerts from cookie
|
||||
var viewedItems = Cookies.get('ynhSecurityViewedItems') || [];
|
||||
|
||||
// Get 6 month earlier date
|
||||
var SixMonthEarlier = new Date();
|
||||
SixMonthEarlier.setMonth(SixMonthEarlier.getMonth() - 6);
|
||||
|
||||
// Loop through items in a reverse order (older first)
|
||||
$($('item', xml).get().reverse()).each(function(k, v) {
|
||||
var link = $('link', v).text();
|
||||
if (typeof link == 'string' && link !== '' && link.charAt(0) == '/') {
|
||||
link = forumUrl+link;
|
||||
}
|
||||
|
||||
// var description=$('description', v).text();
|
||||
// description=description.replace('href="/','href="'+forumUrl+'/');
|
||||
|
||||
var item = {
|
||||
guid: $('guid', v).text(),
|
||||
title: $('title', v).text(),
|
||||
url: link,
|
||||
// desc: description,
|
||||
date: new Date($('pubDate', v).text()),
|
||||
};
|
||||
|
||||
// If item is not already viewed and is not older than 6 month
|
||||
if (viewedItems.indexOf(item.guid) === -1 && (item.date.getTime() > SixMonthEarlier.getTime())) {
|
||||
// Show security message to administrator
|
||||
var warning = item.title + ' - ' +
|
||||
item.date.toISOString().substring(0, 10) +
|
||||
' (<a href="'+ item.url +'" class="alert-link" target="_blank">'+y18n.t('read_more')+'</a>)';
|
||||
c.flash('warning', warning);
|
||||
// Store viewed item
|
||||
viewedItems.push(item.guid);
|
||||
}
|
||||
});
|
||||
// Saved viewed items to cookie
|
||||
Cookies.set('ynhSecurityViewedItems', viewedItems, {
|
||||
expires: 7
|
||||
});
|
||||
})
|
||||
.fail(function() {
|
||||
c.flash('fail', y18n.t('error_retrieve_feed', [securityFeed]));
|
||||
});
|
||||
|
||||
c.api("/diagnosis", function(data) {
|
||||
if (data.security["CVE-2017-5754"].vulnerable) {
|
||||
c.flash('danger', y18n.t('meltdown'));
|
||||
}
|
||||
});
|
||||
|
||||
initial_checks_already_performed = true;
|
||||
c.view('home');
|
||||
});
|
||||
c.view("home");
|
||||
// N.B : if you need to run stuff at login time,
|
||||
// see js/events.js instead
|
||||
});
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Login
|
||||
*
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
delete monitorData.network.usage.lo;
|
||||
|
||||
// Get YunoHost versions too
|
||||
c.api('/version', function(versions) {
|
||||
monitorData.versions = versions;
|
||||
c.api('/diagnosis', function(diagnosis) {
|
||||
monitorData.versions = diagnosis.packages;
|
||||
c.view('tools/tools_monitoring', monitorData);
|
||||
});
|
||||
});
|
||||
|
@ -47,4 +47,4 @@
|
|||
}, 'GET');
|
||||
});
|
||||
|
||||
})();
|
||||
})();
|
||||
|
|
|
@ -55,7 +55,7 @@
|
|||
data.packages[i].changelog = data.packages[i].changelog.replace(/\n/g, '<br />');
|
||||
|
||||
// Check for special packages that need delayed upgrade.
|
||||
if (["moulinette", "moulinette-yunohost", "yunohost-admin", "yunohost-config-nginx", "ssowat", "python"].indexOf(data.packages[i].name) != -1) {
|
||||
if (["moulinette", "yunohost", "yunohost-admin", "ssowat", "python"].indexOf(data.packages[i].name) != -1) {
|
||||
c.flash('warning', y18n.t('system_delayed_upgrade_warning', [data.packages[i].name]));
|
||||
data.packages[i].delayed = true;
|
||||
}
|
||||
|
@ -223,8 +223,8 @@
|
|||
|
||||
// Packages version
|
||||
app.get('#/tools/versions', function (c) {
|
||||
c.api('/version', function(versions) {
|
||||
c.view('tools/tools_versions', {'versions' : versions});
|
||||
c.api('/diagnosis', function(diagnosis) {
|
||||
c.view('tools/tools_versions', {'versions' : diagnosis.packages });
|
||||
});
|
||||
});
|
||||
|
||||
|
|
|
@ -8,12 +8,97 @@
|
|||
*
|
||||
*/
|
||||
app.bind('login', function(e, data) {
|
||||
this.api('/version', function(versions) {
|
||||
$('#yunohost-version').html(y18n.t('footer_version', [versions.yunohost.version, versions.yunohost.repo]));
|
||||
c.api('/users', function(data) {
|
||||
// Warn admin if no users are created.
|
||||
if (typeof data.users !== 'undefined' && data.users.length === 0) {
|
||||
c.flash('warning', y18n.t('warning_first_user'));
|
||||
}
|
||||
|
||||
// Get security feed and display new items
|
||||
var securityFeed = 'https://yunohost.org/security.rss';
|
||||
var forumUrl = 'https://forum.yunohost.org';
|
||||
|
||||
$.ajax({
|
||||
url: securityFeed,
|
||||
// dataType: (jQuery.browser.msie) ? "text" : "xml",
|
||||
dataType: "xml"
|
||||
})
|
||||
.done(function(xml){
|
||||
// Get viewed security alerts from cookie
|
||||
var viewedItems = Cookies.get('ynhSecurityViewedItems') || [];
|
||||
|
||||
// Get 6 month earlier date
|
||||
var SixMonthEarlier = new Date();
|
||||
SixMonthEarlier.setMonth(SixMonthEarlier.getMonth() - 6);
|
||||
|
||||
// Loop through items in a reverse order (older first)
|
||||
$($('item', xml).get().reverse()).each(function(k, v) {
|
||||
var link = $('link', v).text();
|
||||
if (typeof link == 'string' && link !== '' && link.charAt(0) == '/') {
|
||||
link = forumUrl+link;
|
||||
}
|
||||
|
||||
// var description=$('description', v).text();
|
||||
// description=description.replace('href="/','href="'+forumUrl+'/');
|
||||
|
||||
var item = {
|
||||
guid: $('guid', v).text(),
|
||||
title: $('title', v).text(),
|
||||
url: link,
|
||||
// desc: description,
|
||||
date: new Date($('pubDate', v).text()),
|
||||
};
|
||||
|
||||
// If item is not already viewed and is not older than 6 month
|
||||
if (viewedItems.indexOf(item.guid) === -1 && (item.date.getTime() > SixMonthEarlier.getTime())) {
|
||||
// Show security message to administrator
|
||||
var warning = item.title + ' - ' +
|
||||
item.date.toISOString().substring(0, 10) +
|
||||
' (<a href="'+ item.url +'" class="alert-link" target="_blank">'+y18n.t('read_more')+'</a>)';
|
||||
c.flash('warning', warning);
|
||||
// Store viewed item
|
||||
viewedItems.push(item.guid);i
|
||||
}
|
||||
});
|
||||
// Saved viewed items to cookie
|
||||
Cookies.set('ynhSecurityViewedItems', viewedItems, {
|
||||
expires: 7
|
||||
});
|
||||
})
|
||||
.fail(function(stuff) {
|
||||
c.flash('fail', y18n.t('error_retrieve_feed', [securityFeed]));
|
||||
});
|
||||
|
||||
c.api("/diagnosis", function(data) {
|
||||
versions = data.packages;
|
||||
$('#yunohost-version').html(y18n.t('footer_version', [versions.yunohost.version, versions.yunohost.repo]));
|
||||
if (data.security["CVE-2017-5754"].vulnerable) {
|
||||
c.flash('danger', y18n.t('meltdown'));
|
||||
}
|
||||
$('div.loader').remove();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
app.bind('logout', function(e, data) {
|
||||
$('#yunohost-version').empty();
|
||||
});
|
||||
|
||||
|
||||
// Konamicode ;P up up down down left right left right b a
|
||||
var konami_code = [38, 38, 40, 40, 37, 39, 37, 39, 66, 65],
|
||||
konami_step = 0;
|
||||
$(document).keydown(function (e) {
|
||||
if (e.keyCode === konami_code[konami_step++]) {
|
||||
if (konami_step === konami_code.length) {
|
||||
konami_step = 0;
|
||||
$('#main').addClass("with-nyancat");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else {
|
||||
konami_step = 0;
|
||||
}
|
||||
});
|
||||
|
||||
})();
|
||||
|
|
|
@ -149,9 +149,9 @@
|
|||
// Store url
|
||||
sam.store.set('url', window.location.hostname + '/yunohost/api');
|
||||
|
||||
// Get YunoHost version
|
||||
if (sam.store.get('connected')) {
|
||||
this.api('/version', function(versions) {
|
||||
this.api('/diagnosis', function(diagnosis) {
|
||||
versions = diagnosis.packages;
|
||||
$('#yunohost-version').html(y18n.t('footer_version', [versions.yunohost.version, versions.yunohost.repo]));
|
||||
});
|
||||
}
|
||||
|
|
|
@ -138,7 +138,7 @@
|
|||
"enabled": "Enabled",
|
||||
"error_modify_something": "You should modify something",
|
||||
"error_occured": "An error occurred, try again",
|
||||
"error_retrieve_feed": "Could not retrieve feed: %s",
|
||||
"error_retrieve_feed": "Could not retrieve feed: %s. You might have a plugin prevent your browser from performing this request (or the website is down).",
|
||||
"error_select_domain": "You should indicate a domain",
|
||||
"error_server": "Server error",
|
||||
"error_server_unexpected": "Unexpected server error (%s)",
|
||||
|
|
|
@ -20,12 +20,353 @@
|
|||
"app_info_uninstall_desc": "Удалите это приложение.",
|
||||
"app_install_cancel": "Установка отменена.",
|
||||
"app_install_custom_no_manifest": "Нет файла manifest.json",
|
||||
"app_list": "Нет файла manifest.json",
|
||||
"app_list": "Список приложений",
|
||||
"app_make_default": "Использовать по умолчанию",
|
||||
"app_repository": "Происхождение приложения: ",
|
||||
"app_state": "Состояние приложения: ",
|
||||
"app_state_inprogress": "Выполняется",
|
||||
"app_state_validated": "Проверенный",
|
||||
"app_state_working": "Работает",
|
||||
"password": "Пароль"
|
||||
"password": "Пароль",
|
||||
"app_info_debug_desc": "Отображать отладочную информацию для этого приложения.",
|
||||
"cancel": "Отменить",
|
||||
"login": "Логин",
|
||||
"logout": "Выйти",
|
||||
"ok": "ОК",
|
||||
"app_info_changelabel_desc": "",
|
||||
"app_info_changeurl_desc": "Изменить url доступа к этому приложению (домен и/ли путь).",
|
||||
"app_info_change_url_disabled_tooltip": "Эта опция ещё не реализована в этом приложении",
|
||||
"app_no_actions": "Это приложение не осуществляет никаких действий",
|
||||
"app_state_notworking": "Не работает",
|
||||
"application": "Приложение",
|
||||
"applications": "Приложения",
|
||||
"archive_empty": "Пустой архив",
|
||||
"available": "Доступный",
|
||||
"available_apps": "Доступные приложения",
|
||||
"backup": "Резервное копирование",
|
||||
"backup_action": "Резервное копирование",
|
||||
"backup_archive_copy": "Скопируйте этот архив в другое хранилище",
|
||||
"backup_archive_delete": "Удалите этот архив",
|
||||
"backup_archive_download": "Загрузите этот архив",
|
||||
"backup_content": "Содержание резервного копирования",
|
||||
"backup_create": "Сделайте резервное копирование",
|
||||
"backup_encryption_warning": "Не забудьте этот пароль, он понадобится вам, если вы решите восстановить архив",
|
||||
"backup_new": "Новое резервное копирование",
|
||||
"backup_optional_encryption": "Шифрование опционально",
|
||||
"backup_type": "Тип",
|
||||
"backups_no": "Без резервного сохранения",
|
||||
"begin": "Начать",
|
||||
"both": "Оба",
|
||||
"check": "Проверить",
|
||||
"check_stmp": "доступ к порту 25",
|
||||
"close": "Закрыть",
|
||||
"confirm_access_add": "Вы хотите предоставить права доступа к %s всем пользователям?",
|
||||
"confirm_access_clear": "Вы хотите удалить все права доступа к %s ?",
|
||||
"logged_out": "Вы вышли из системы",
|
||||
"app_change_url": "Сменить URL",
|
||||
"confirm_access_remove_user": "Вы хотите удалить права доступа к %s1 для %s2?",
|
||||
"confirm_app_change_url": "Вы хотите изменить URL доступа к приложению?",
|
||||
"confirm_app_default": "Вы хотите сделать это приложение приложением по умолчанию?",
|
||||
"confirm_change_maindomain": "Вы хотите изменить главный домен?",
|
||||
"confirm_delete": "Вы хотите удалить %s1 ?",
|
||||
"confirm_firewall_open": "Вы хотите открыть порт %s1 ? (протокол %s2, соединение %s3)",
|
||||
"confirm_firewall_close": "Вы хотите закрыть порт %s1 ? (протокол %s2, соединение %s3)",
|
||||
"confirm_install_custom_app": "Установка сторонних приложений может повредить безопасности вашей системы. Установка на вашу ответственность.",
|
||||
"confirm_install_domain_root": "Вы больше не сможете устанавливать приложения на %s1. Продолжить?",
|
||||
"confirm_restore": "Вы хотите восстановить %s1 ?",
|
||||
"confirm_service_start": "Вы хотите начать %s1 ?",
|
||||
"confirm_service_stop": "Вы уверены, что хотите остановить %s1 ?",
|
||||
"confirm_service_enable": "Вы уверены, что хотите активировать %s1 ?",
|
||||
"confirm_service_disable": "Вы уверены, что хотите отключить %s1 ?",
|
||||
"confirm_uninstall": "Вы уверены, что хотите удалить %s1 ?",
|
||||
"confirm_update_apps": "Вы уверены, что хотите обновить все приложения?",
|
||||
"confirm_update_packages": "Вы уверены, что хотите обновить все пакеты?",
|
||||
"confirm_update_specific_app": "Вы уверены, что хотите обновить %s1 ?",
|
||||
"confirm_upnp_enable": "Вы уверены, что хотите включить UPnP?",
|
||||
"confirm_upnp_disable": "Вы уверены, что хотите отключить UPnP?",
|
||||
"confirm_reboot_action_reboot": "Вы уверены, что хотите перезагрузить ваш сервер?",
|
||||
"confirm_reboot_action_shutdown": "Вы уверены, что хотите выключить ваш сервер?",
|
||||
"connection": "Соединение",
|
||||
"copy": "Копировать",
|
||||
"count_min": "%s1 мин",
|
||||
"cpu_load": "Загрузка процессора",
|
||||
"created_at": "Создано в",
|
||||
"cumulative_usage": "Общее потребление",
|
||||
"custom_app_install": "Установка пользовательских приложений",
|
||||
"custom_app_url_only_github": "В настоящее время только из GitHub",
|
||||
"default": "По умолчанию",
|
||||
"delete": "Удалить",
|
||||
"description": "Описание",
|
||||
"backup_optional_password": "Пароль опционально",
|
||||
"confirm_access_remove_all": "Вы уверены, что хотите удалить все доступы к %s 1 ?",
|
||||
"domain_dns_conf_is_just_a_recommendation": "Эта страница показывает вам *рекомендуемую* конфигурацию. Она *не* создаёт для вас конфигурацию DNS. Вы должны сами конфигурировать зону вашего DNS у вашего регистратора в соответствии с этой рекомендацией.",
|
||||
"diagnosis": "Диагноз",
|
||||
"diagnosis_hide_private": "Покажите диагноз без личных данных",
|
||||
"diagnosis_view_private": "Покажите диагноз с личными данными",
|
||||
"diagnosis_with_private": "Диагноз с личными данными",
|
||||
"disable": "Отключить",
|
||||
"disabled": "Отключено",
|
||||
"disk": "Диск",
|
||||
"dns": "DNS",
|
||||
"domain": "Домен",
|
||||
"domain_add": "Добавить домен",
|
||||
"domain_add_dyndns_doc": "... и я хочу использовать сервис для динамического DNS.",
|
||||
"domain_add_panel_with_domain": "У меня уже есть доменное имя…",
|
||||
"domain_add_panel_without_domain": "У меня нет доменного имени…",
|
||||
"domain_default": "Домен по умолчанию",
|
||||
"install_custom_app_appslists_info": "Вы можете использовать альтернативный список приложений, чтобы установить другие приложения, созданные сообществом YonoHost.",
|
||||
"domain_default_desc": "Домен по умолчанию — это домен, где пользователи вводят логин и пароль.",
|
||||
"domain_default_longdesc": "Это ваш домен по умолчанию.",
|
||||
"domain_delete_longdesc": "Удалить этот домен",
|
||||
"domain_dns_config": "Конфигурация DNS",
|
||||
"domain_dns_longdesc": "Посмотреть конфигурацию DNS",
|
||||
"domain_list": "Список доменов",
|
||||
"domain_name": "Имя домена",
|
||||
"domain_select": "Выбрать домен",
|
||||
"domain_visit": "Посетить",
|
||||
"domain_visit_url": "Посетить %s1",
|
||||
"domains": "Домены",
|
||||
"download": "Загрузить",
|
||||
"enable": "Включить",
|
||||
"enabled": "Включено",
|
||||
"error_modify_something": "Вы должны что-то изменить",
|
||||
"error_occured": "Произошла ошибка, попробуйте снова",
|
||||
"error_server": "Ошибка сервера",
|
||||
"error_server_unexpected": "Неожиданная ошибка сервера (%s1)",
|
||||
"everyone_has_access": "Все имеют доступ.",
|
||||
"experimental_warning": "Внимание: это экспериментальное приложение работает нестабильно, вы можете использовать его, только если понимаете, что делаете.",
|
||||
"filesystem": "Файловая система",
|
||||
"firewall": "Файрволл",
|
||||
"footer_version": "Создано<a href='https://yunohost.org'></a> %s (%s).",
|
||||
"form_input_example": "Например: %s",
|
||||
"free": "Свободный",
|
||||
"fs_type": "Тип файловой системы",
|
||||
"home": "Дом",
|
||||
"hook_adminjs_group_configuration": "Конфигурация",
|
||||
"hook_conf_cron": "Постоянные задачи",
|
||||
"hook_conf_ldap": "LDAP",
|
||||
"hook_conf_nginx": "Nginx",
|
||||
"hook_conf_ssh": "SSH",
|
||||
"hook_conf_ssowat": "SSOwat",
|
||||
"hook_conf_xmpp": "XMPP",
|
||||
"hook_conf_ynh_certs": "Сертификат безопасности",
|
||||
"hook_conf_ynh_firewall": "Файрвол",
|
||||
"hook_conf_ynh_mysql": "Пароль MySQL",
|
||||
"hook_data_home": "Пользовательские данные",
|
||||
"hook_data_home_desc": "Пользовательские данные находятся в /home/USER",
|
||||
"hook_data_mail": "Почта",
|
||||
"hook_data_mail_desc": "Почта на сервере",
|
||||
"hostname": "Имя хоста",
|
||||
"id": "ID",
|
||||
"inactive": "Неактивен",
|
||||
"infos": "Информация",
|
||||
"install": "Установить",
|
||||
"install_name": "Установить %s",
|
||||
"install_time": "Время установки",
|
||||
"installation_complete": "Установка завершена",
|
||||
"installed": "Установлено",
|
||||
"installed_apps": "Установленные приложения",
|
||||
"installing": "Устанавливаю",
|
||||
"interface": "Интерфейс",
|
||||
"io": "I/O",
|
||||
"ipv4": "IPv4",
|
||||
"ipv6": "IPv6",
|
||||
"loading": "Загружается…",
|
||||
"log": "Лог",
|
||||
"logged_in": "Вы вошли",
|
||||
"mailbox_quota_description": "Например, 700M это CD, 4700M это DVD.",
|
||||
"mailbox_quota_placeholder": "Оставьте пустым или поставьте 0, чтобы отключить.",
|
||||
"manage_apps": "Управление приложениями",
|
||||
"manage_domains": "Управление доменами",
|
||||
"manage_users": "Управление пользователями",
|
||||
"memory": "Память",
|
||||
"menu": "Меню",
|
||||
"migrations": "Миграция",
|
||||
"migrations_done": "Предыдущие миграции",
|
||||
"migrations_no_done": "Нет предыдущих миграций",
|
||||
"monitoring": "Мониторинг",
|
||||
"monitoring_disabled": "Мониторинг не включён.",
|
||||
"myserver": "мой сервер",
|
||||
"myserver_org": "myserver.org",
|
||||
"network": "Сеть",
|
||||
"next": "Следующий",
|
||||
"no": "Нет",
|
||||
"no_installed_apps": "Нет установленных приложений.",
|
||||
"no_log": "Лог отсутствует.",
|
||||
"no_user_to_add": "Нет больше пользователей, которых можно добавить.",
|
||||
"open": "Открыть",
|
||||
"operations": "Действия",
|
||||
"os": "ОС",
|
||||
"password_confirmation": "Подтвердите пароль",
|
||||
"password_description": "Пароль должен иметь минимум %s1 символов.",
|
||||
"password_empty": "Поле для ввода пароля пусто",
|
||||
"password_new": "Новый пароль",
|
||||
"passwords_dont_match": "Пароли не совпадают",
|
||||
"passwords_too_short": "Пароль слишком короткий",
|
||||
"logs": "Логи",
|
||||
"logs_history": "История команд, выполненных в системе",
|
||||
"logs_package": "История действий с пакетами Debian",
|
||||
"logs_system": "Логи ядра и другие низкоуровневые события",
|
||||
"logs_access": "Список доступов и банов",
|
||||
"logs_app": "Списки приложений",
|
||||
"logs_no_logs_registered": "Нет зарегистрированных логов для этой категории",
|
||||
"logs_end_with_error": "Лог закончился ошибкой :",
|
||||
"logs_error": "Ошибка",
|
||||
"logs_ended_at": "Конец",
|
||||
"logs_started_at": "Старт",
|
||||
"logs_context": "Контекст",
|
||||
"logs_share_with_yunopaste": "Расшарить с YunoPaste",
|
||||
"logs_more": "Отразить больше линий",
|
||||
"active": "Активный",
|
||||
"port": "Порт",
|
||||
"ports": "Порты",
|
||||
"meltdown": "Вы в опасности <a target=\"_blank\" href=\"https://meltdownattack.com/\">meltdown</a> из-за критической аппаратной уязвимости. Чтобы устранить уязвимость, вы должны <a href=\"#/update\">обновить вашу систему, <a> потом <a href=\"#/tools/reboot\">перезагрузить ее, </a> чтобы загрузить новое ядро Linux.",
|
||||
"appslists": "Списки приложений",
|
||||
"appslists_no_lists": "Нет списков приложений",
|
||||
"appslists_custom": "Пользовательский список приложений",
|
||||
"appslists_manage": "Управлять списками приложений",
|
||||
"appslists_confirm_remove": "Вы уверены, что хотите удалить этот список приложений?",
|
||||
"appslists_info_refresh_desc": "Обновите статус приложений из этого списка.",
|
||||
"appslists_info_remove_desc": "Приложения из этого списка больше не будут доступны.",
|
||||
"appslists_last_update": "Последнее обновление",
|
||||
"appslists_unknown_list": "Неизвестный список приложений: %s",
|
||||
"appslists_community_list": "Список приложений сообщества",
|
||||
"name": "Имя",
|
||||
"install_community_appslists_info": "Список приложений сообщества даёт вам возможность установить приложения, созданные сообществом. <br />Полный список смотри на<a href='https://yunohost.org/apps'>yunohost.org/apps</a>.",
|
||||
"install_community_appslists_warning": "Внимание! Пакеты этих приложений не являются <strong>not</strong> официальными и не созданы командой YonoHost. <br />Устанавливая эти приложения, вы сами отвечаете за последствия и рискуете крахом вашей системы.",
|
||||
"validity": "",
|
||||
"domain_is_eligible_for_ACME": "Для установки сертификата Let’s Encrypt домен должен быть правильно сконфигурирован !",
|
||||
"domain_not_eligible_for_ACME": "Этот домен не готов к установке сертификата Let’s Encrypt. Пожалуйста, проверьте конфигурацию DNS и доступность HTTP сервера.",
|
||||
"install_letsencrypt_cert": "Установить сертификат Let's Encrypt",
|
||||
"manually_renew_letsencrypt_message": "Сертификат будет автоматически обновлён в последние 15 дней своего действия. Вы может вручную обновить его, если хотите. (Не рекомендуется).",
|
||||
"manually_renew_letsencrypt": "Теперь обновить вручную",
|
||||
"bit_rate": "скорость передачи данных",
|
||||
"confirm_postinstall": "Вы начинаете процесс конфигурации домена %s. Это займёт несколько минут, *не прерывайте процесс*.",
|
||||
"domain_add_dns_doc": "… я <a href='//yunohost.org/dns'>set my DNS установил мой DNS правильно</a>.",
|
||||
"gateway": "Шлюз: ",
|
||||
"internal_exception": "<strong>Yunohost сообщает о внутренней ошибке :/</strong><br><em>Нам очень жаль.<br>Ищите помощь на<a href=\"https://forum.yunohost.org/\">форуме</a> или <a href=\"https://chat.yunohost.org/\">в чате, </a> чтобы обсудить ситуацию, или сообщите об ошибке <a href=\"https://github.com/YunoHost/issues\">тут</a>.</em><br>Следующая информация может быть полезной для человека, помогающего вам :<h3>Action</h3><pre>%s%s</pre><h3>Traceback</h3><pre>%s</pre>",
|
||||
"tools": "Инструменты",
|
||||
"tools_adminpw": "Смените пароль администратора",
|
||||
"tools_adminpw_confirm_placeholder": "Подтвердите новый пароль",
|
||||
"tools_adminpw_current": "Действующий пароль",
|
||||
"tools_adminpw_current_placeholder": "Введите действующий пароль",
|
||||
"tools_adminpw_new_placeholder": "Введите новый пароль",
|
||||
"tools_security_feed": "Предупреждения безопасности",
|
||||
"tools_security_feed_no_items": "Нет предупреждений безопасности",
|
||||
"tools_security_feed_subscribe_rss": "Подпишитесь на RSS предупреждений безопасности",
|
||||
"tools_security_feed_view_items": "Посмотрите все предупреждения безопасности",
|
||||
"tools_reboot": "Перезагрузите сервер",
|
||||
"tools_reboot_btn": "Перезагрузить",
|
||||
"tools_reboot_done": "Перезагрузка...",
|
||||
"tools_rebooting": "Ваш сервер перезагружается, Чтобы вернуться в панель управления, дождитесь перезагрузки сервера. Вы можете проверить это, обновив страницу (F5).",
|
||||
"tools_shutdown": "Выключите ваш сервер",
|
||||
"tools_shutdown_btn": "Выключить",
|
||||
"tools_shutdown_done": "Выключается...",
|
||||
"tools_shuttingdown": "Ваш сервер выключен. Пока ваш сервер выключен, вы не можете использовать панель управления.",
|
||||
"tools_shutdown_reboot": "Выключить/Перезагрузить",
|
||||
"total": "Все вместе",
|
||||
"transmission": "Передача",
|
||||
"udp": "UDP",
|
||||
"unauthorized": "Неавторизованный",
|
||||
"uninstall": "Удалить",
|
||||
"unknown_action": "Неизвестное действие %s",
|
||||
"unknown_argument": "Неизвестный аргумент : %s",
|
||||
"upload": "",
|
||||
"upload_archive": "Сгрузить архив",
|
||||
"upnp": "UPnP",
|
||||
"upnp_disabled": "UPnP отключён.",
|
||||
"upnp_enabled": "UPnP включён.",
|
||||
"uptime": "Время действия",
|
||||
"url": "URL",
|
||||
"used": "Использовано",
|
||||
"user_email": "Email",
|
||||
"user_emailaliases": "Почтовый алиас",
|
||||
"user_emailforward": "Пересылка почты",
|
||||
"user_fullname": "Полное имя",
|
||||
"user_interface_link": "Интерфейс пользователя",
|
||||
"user_mailbox_use": "Пространство, используемое почтовым ящиком",
|
||||
"user_new_forward": "newforward@myforeigndomain.org",
|
||||
"user_new_mail": "newmail@mydomain.org",
|
||||
"user_username": "Имя пользователя",
|
||||
"user_username_edit": "Редактировать аккаунт %s’s",
|
||||
"users": "Пользователи",
|
||||
"users_list": "Список пользователей",
|
||||
"users_new": "Новый пользователь",
|
||||
"users_no": "Нет пользователей.",
|
||||
"versions": "Версия",
|
||||
"view_user_profile": "Смотрите профиль %s's",
|
||||
"warning_first_user": "Сначала вы должны <a href='#/users/create' class='alert-link'>создать пользователя</a> first.",
|
||||
"write": "Писать",
|
||||
"wrong_password": "Неправильный пароль",
|
||||
"yes": "Да",
|
||||
"certificate_alert_not_valid": "ОПАСНО: установленный сертификат не действителен! HTTPS не будет работать!",
|
||||
"certificate_alert_letsencrypt_about_to_expire": "Срок действия сертификата истекает. Скоро он будет автоматически обновлён.",
|
||||
"certificate_alert_about_to_expire": "ВНИМАНИЕ : Срок действия сертификата истекает ! Он НЕ будет обновлен автоматически !",
|
||||
"certificate_alert_good": "OK, установленный сертификат работает!",
|
||||
"certificate_alert_great": "Прекрасно! Вы используете действующий сертификат Let’s Encrypt !",
|
||||
"certificate_alert_unknown": "Неизвестный статус",
|
||||
"certificate_manage": "Управлять сертификатом SSL",
|
||||
"certificate_old_letsencrypt_app_conflict": "Приложение ‘letsencrypt’ сейчас установлено и конфликтует с этой функцией. Пожалуйста, удалите приложение и используйте новый интерфейс управления сертификатом.",
|
||||
"ssl_certificate": "Сертификат SSL",
|
||||
"confirm_cert_install_LE": "Вы уверены, что хотите установить сертификат Let’s Encrypt для этого домена ?",
|
||||
"confirm_cert_manual_renew_LE": "Вы уверены, что хотите вручную обновить сертификат Let’s Encrypt для этого домена?",
|
||||
"certificate": "Сертификат",
|
||||
"certificate_status": "Статус сертификата",
|
||||
"mount_point": "Точка монтирования",
|
||||
"no_allowed_users": "Нет разрешённых пользователей.",
|
||||
"non_compatible_api": "Несовместимый API",
|
||||
"path": "Путь",
|
||||
"logs_operation": "Действие в системе выполнено YonoHost",
|
||||
"logs_service": "Журналы сервисов",
|
||||
"logs_path": "Путь",
|
||||
"path_url": "Путь",
|
||||
"postinstall_domain": "Это первое доменное имя, связанное с сервером YonoHost, то есть имя, которым будут пользоваться пользователи вашего сервера, чтобы попасть на портал аутентификации. Оно будет видно каждому, выбирайте его тщательно.",
|
||||
"postinstall_intro_1": "Поздравляем! YunoHost успешно установлен.",
|
||||
"postinstall_intro_2": "Осталось сделать две настройки конфигурации, чтобы активировать службы вашего сервера.",
|
||||
"postinstall_intro_3": "Вы можете получить больше информации, <a href='//yunohost.org/postinstall' target='_blank'>посетив страницу документации</a>",
|
||||
"postinstall_password": "Этот пароль нужен для того, чтобы управлять вашим сервером. Не торопитесь, проявите мудрость, создавая его.",
|
||||
"previous": "Предыдущий",
|
||||
"process": "Процесс",
|
||||
"protocol": "Протокол",
|
||||
"ram": "RAM",
|
||||
"read": "Читать",
|
||||
"read_more": "Читать еще",
|
||||
"reception": "Приём",
|
||||
"refresh_app_list": "Обновить список",
|
||||
"remove_access": "Удалить доступ",
|
||||
"restore": "Восстановить",
|
||||
"run": "Включить",
|
||||
"running": "Выполняется",
|
||||
"save": "Сохранить",
|
||||
"select_user": "Выбрать пользователя",
|
||||
"service_start_on_boot": "Запуск при загрузке ",
|
||||
"service_status": "Статус: ",
|
||||
"services": "Службы",
|
||||
"services_list": "Список служб",
|
||||
"set_default": "Установить по умолчанию",
|
||||
"size": "Размер",
|
||||
"skip": "Пропустить",
|
||||
"start": "Начать",
|
||||
"started_at": "Начало на:",
|
||||
"status": "Статус",
|
||||
"stop": "Стоп",
|
||||
"storage_create": "Добавить удаленное хранилище",
|
||||
"storages_new": "Новое удаленное хранилище",
|
||||
"storages_no": "Нет хранилищ.",
|
||||
"swap": "Подкачка",
|
||||
"system": "Система",
|
||||
"system_apps": "Приложения",
|
||||
"system_apps_nothing": "Нет приложений для обновления.",
|
||||
"system_delayed_upgrade_warning": "<b>%s</b> будет обновлён автоматически в течение часа.",
|
||||
"system_packages": "Пакеты",
|
||||
"system_packages_nothing": "Нет пакетов, нуждающихся в обновлении.",
|
||||
"system_update": "Обновление системы",
|
||||
"system_upgrade": "Обновление системы",
|
||||
"system_upgrade_btn": "Обновление",
|
||||
"system_upgrade_all_applications_btn": "Обновление всех приложений",
|
||||
"system_upgrade_all_packages_btn": "Обновление всех пакетов",
|
||||
"tcp": "TCP",
|
||||
"time_since_update": "Время после обновления: ",
|
||||
"usage": "Использование",
|
||||
"certificate_authority": "Центр сертификации"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue