diff --git a/gresource.xml b/gresource.xml index f736816..8ddfb99 100644 --- a/gresource.xml +++ b/gresource.xml @@ -7,6 +7,7 @@ ubl-settings-update-mirror-add.glade ubl-settings-update-mirror-path-add.glade ubl-settings-update-mirror-configure.glade + ubl-settings-update-password.glade ubl-settings-update.css diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index 4fa7a4d..4c61581 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -37,6 +37,7 @@ set(DEPENDFILES ../ubl-settings-update-mirror-add.glade ../ubl-settings-update-mirror-path-add.glade ../ubl-settings-update-mirror-configure.glade + ../ubl-settings-update-password.glade ../gresource.xml ../ubl-settings-update-banner.png ../ubl-settings-update.css diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 6d5ca16..1802420 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -313,7 +313,7 @@ void yon_interface_update(main_window *widgets){ gtk_list_store_set(widgets->WebPublicationList,&iter,0,0,-1); } if (cur_size>1&&!strcmp(parsed[1],"listing")){ - + gtk_list_store_set(widgets->WebPublicationList,&iter,3,1,-1); } if (cur_size>2&&!yon_char_is_empty(parsed[2])){ gtk_list_store_set(widgets->WebPublicationList,&iter,4,parsed[2],-1); @@ -392,7 +392,6 @@ void on_selection_changed(GtkWidget *self, main_window *widgets){ } } - void on_web_publish_path_changed(GtkWidget *, web_publication_add_window *window){ gtk_list_store_clear(window->list); char *path = (char*)gtk_entry_get_text(GTK_ENTRY(window->PathEntry)); @@ -448,6 +447,17 @@ void on_mirror_add(GtkWidget *,main_window *widgets){ } +void on_password_open(GtkWidget *, web_publication_add_window *window){ + password_window *dialog = yon_password_window_new(); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(dialog->PasswordEntry)); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(dialog->PasswordHashEntry)); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(dialog->RepeatPasswordEntry)); + dictionary *dict = NULL; + yon_dictionary_add_or_create_if_exists_with_data(dict,"window",dialog); + yon_dictionary_add_or_create_if_exists_with_data(dict,"target",window->UserPasswordEntry); + g_signal_connect(G_OBJECT(dialog->AcceptButton),"clicked",G_CALLBACK(on_password_accept),dict); +} + void on_web_publish_remove(GtkWidget *self,main_window *widgets){ dialog_confirmation_data *data = malloc(sizeof(dialog_confirmation_data)); data->action_text=REMOVE_REPO_WARNING_LABEL; @@ -924,6 +934,36 @@ void on_mirror_configure_accept(GtkWidget *, dictionary *dict){ gtk_widget_destroy(window->Window); } +void on_password_accept(GtkWidget *,dictionary *dict){ + password_window *window = yon_dictionary_get_data(dict->first,password_window*); + GtkWidget *target = yon_dictionary_get_data(dict->first->next,GtkWidget*); + + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + char *hash = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); + if (yon_char_is_empty(hash)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); + return; + } + gtk_entry_set_text(GTK_ENTRY(target),hash); + } else { + char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + char *password_check = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); + if (strcmp(password,password_check)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_MISMATCH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordEntry); + yon_ubl_status_highlight_incorrect(window->RepeatPasswordEntry); + return; + } + char *encryption = (char*)gtk_entry_get_text(GTK_ENTRY(window->EncryptionCombo)); + char *final_text = yon_char_unite(encryption,password,NULL); + gtk_entry_set_text(GTK_ENTRY(target),final_text); + + } + gtk_widget_destroy(window->Window); + +} + void on_mirror_path_removed(GtkWidget *, GtkWidget *target){ if (GTK_IS_WIDGET(target)){ gtk_widget_destroy(target); @@ -992,6 +1032,25 @@ void on_file_chooser_open(GtkWidget *, GtkEntry *target){ gtk_widget_destroy(dialog); } +password_window *yon_password_window_new(){ + GtkBuilder *builder = gtk_builder_new_from_resource(glade_password_path); + password_window *window = malloc(sizeof(password_window)); + window->Window = yon_gtk_builder_get_widget(builder,"PasswordWindow"); + window->HeadLabel = yon_gtk_builder_get_widget(builder,"userTitleNameLabel"); + window->StatusBox = yon_gtk_builder_get_widget(builder,"StatusBox"); + window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry"); + window->RepeatPasswordEntry = yon_gtk_builder_get_widget(builder,"RepeatPasswordEntry"); + window->EncryptionCombo = yon_gtk_builder_get_widget(builder,"EncryptionCombo"); + window->NoEncriptionCheck = yon_gtk_builder_get_widget(builder,"NoEncriptionCheck"); + window->PasswordHashEntry = yon_gtk_builder_get_widget(builder,"PasswordHashEntry"); + window->UserCancelButton = yon_gtk_builder_get_widget(builder,"UserCancelButton"); + window->AcceptButton = yon_gtk_builder_get_widget(builder,"UserOkButton"); + g_signal_connect(G_OBJECT(window->UserCancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->NoEncriptionCheck),"toggled",G_CALLBACK(yon_gtk_widget_set_sensitive_from_toggle_button_inversed),window->PasswordHashEntry); + gtk_widget_show(window->Window); + return window; +} + repo_add_window *yon_repo_add_window_new(){ GtkBuilder *builder = gtk_builder_new_from_resource(glade_repo_add_path); repo_add_window *window = malloc(sizeof(repo_add_window)); @@ -1044,14 +1103,19 @@ web_publication_add_window *yon_web_publication_add_window_new(){ window->AcceptButton = yon_gtk_builder_get_widget(builder,"AcceptButton"); window->CancelButton = yon_gtk_builder_get_widget(builder,"CancelButton"); window->HeadLabel = yon_gtk_builder_get_widget(builder,"HeadLabel"); + window->PasswordButton = yon_gtk_builder_get_widget(builder,"PasswordButton"); window->list = GTK_LIST_STORE(gtk_builder_get_object(builder,"liststore1")); window->SelectionCellRenderer = GTK_CELL_RENDERER(gtk_builder_get_object(builder,"SelectionCellRenderer")); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->UserPasswordEntry)); window->name=NULL; g_signal_connect(G_OBJECT(window->SelectionCellRenderer),"toggled",G_CALLBACK(on_cell_renderer_toggle_toggled),window->RepositoriesTree); g_signal_connect(G_OBJECT(window->PathButton),"clicked",G_CALLBACK(on_file_chooser_open),window->PathEntry); g_signal_connect(G_OBJECT(window->PathEntry),"changed",G_CALLBACK(on_web_publish_path_changed),window); g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); + g_signal_connect(G_OBJECT(window->PasswordButton),"clicked",G_CALLBACK(on_password_open),window); + g_signal_connect(G_OBJECT(window->UserPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box_inversed),window->PasswordButton); + g_signal_connect(G_OBJECT(window->UserPasswordCombo),"changed",G_CALLBACK(yon_gtk_widget_set_sensitive_from_combo_box_inversed),window->UserPasswordEntry); gtk_widget_show(window->Window); return window; diff --git a/source/ubl-settings-update.h b/source/ubl-settings-update.h index 8f4ab7f..4500bec 100644 --- a/source/ubl-settings-update.h +++ b/source/ubl-settings-update.h @@ -27,6 +27,7 @@ #define glade_mirror_configure_path "/com/ublinux/ui/ubl-settings-update-mirror-configure.glade" #define glade_mirror_add_path "/com/ublinux/ui/ubl-settings-update-mirror-add.glade" #define glade_mirror_path_add_path "/com/ublinux/ui/ubl-settings-update-mirror-path-add.glade" +#define glade_password_path "/com/ublinux/ui/ubl-settings-update-password.glade" #define banner_path "/com/ublinux/images/ubl-settings-update-banner.png" #define CssPath "/com/ublinux/css/ubl-settings-update.css" #define config_path yon_char_unite(yon_ubl_user_get_home_directory(),"/.config/",LocaleName,"/",LocaleName,".conf",NULL) @@ -169,6 +170,7 @@ typedef struct { GtkWidget *UserPasswordCheck; GtkWidget *UserPasswordCombo; GtkWidget *UserPasswordEntry; + GtkWidget *PasswordButton; GtkWidget *AcceptButton; GtkWidget *CancelButton; GtkListStore *list; @@ -220,6 +222,20 @@ typedef struct { GtkWidget *UpdatesRequestDelaySpin; } mirror_configure_window; +typedef struct { + GtkWidget *Window; + GtkWidget *HeadLabel; + GtkWidget *StatusBox; + + GtkWidget *PasswordEntry; + GtkWidget *RepeatPasswordEntry; + GtkWidget *EncryptionCombo; + GtkWidget *NoEncriptionCheck; + GtkWidget *PasswordHashEntry; + GtkWidget *UserCancelButton; + GtkWidget *AcceptButton; + +} password_window; typedef struct { GtkWidget *Window; @@ -245,7 +261,11 @@ void on_repo_remove(GtkWidget *self, main_window *widgets); void on_web_publish_remove_accept(GtkWidget *, main_window *widgets); void on_mirror_remove_accept(GtkWidget *, main_window *widgets); void on_repositories_remove_accept(GtkWidget *, main_window *widgets); +void on_password_accept(); + +void on_password_open(GtkWidget *, web_publication_add_window *window); +password_window *yon_password_window_new(); repo_add_window *yon_repo_add_window_new(); web_publication_add_window *yon_web_publication_add_window_new(); mirror_add_window *yon_mirror_add_window_new(); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index d94571e..0afc557 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -9,6 +9,8 @@ #define REMOVE_REPO_WARNING_LABEL _("Are you sure want to remove repository?") #define NO_SHARED_REPOS_LABEL _("No repositories were chosen to share") + #define PASSWORD_MISMATCH_LABEL _("passwords do not match") + // #define _LABEL _("Update") // #define _LABEL _("Repositories") // #define _LABEL _("Publication") @@ -52,6 +54,7 @@ // #define _LABEL _("Repositories list:") // #define _LABEL _("All repositories") // #define _LABEL _("Choose") + // #define _LABEL _("Accept") // #define _LABEL _("Repository name") // #define _LABEL _("Repository connection configuration") // #define _LABEL _("Authorization parameters") diff --git a/ubl-settings-update-mirror-add.glade b/ubl-settings-update-mirror-add.glade index 03bda0b..ade5c7d 100644 --- a/ubl-settings-update-mirror-add.glade +++ b/ubl-settings-update-mirror-add.glade @@ -1,6 +1,6 @@ - + diff --git a/ubl-settings-update-mirror-configure.glade b/ubl-settings-update-mirror-configure.glade index 9b972e9..93201c1 100644 --- a/ubl-settings-update-mirror-configure.glade +++ b/ubl-settings-update-mirror-configure.glade @@ -1,6 +1,6 @@ - + diff --git a/ubl-settings-update-password.glade b/ubl-settings-update-password.glade new file mode 100644 index 0000000..76497d3 --- /dev/null +++ b/ubl-settings-update-password.glade @@ -0,0 +1,332 @@ + + + + + + + True + False + com.ublinux.ubl-settings-usergroups.cancel-symbolic + + + True + False + com.ublinux.ubl-settings-usergroups.accept-symbolic + + + False + False + True + 450 + com.ublinux.ubl-settings-usergroups + + + True + False + 5 + vertical + 5 + + + True + False + vertical + + + + + + False + True + 0 + + + + + True + False + 5 + 5 + vertical + 5 + + + True + False + vertical + 5 + + + True + False + 5 + + + True + False + Password: + 0 + + + False + True + 0 + + + + + True + True + False + * + True + com.ublinux.ubl-settings-usergroups.view-symbolic + ******** + password + + + True + True + 1 + + + + + True + True + 1 + + + + + True + False + 5 + + + True + False + Repeat password: + 0 + + + False + True + 0 + + + + + True + True + False + * + True + com.ublinux.ubl-settings-usergroups.view-symbolic + ******** + password + + + True + True + 1 + + + + + True + True + 2 + + + + + False + True + 0 + + + + + True + False + 5 + + + True + False + Encription: + 0 + + + False + True + 0 + + + + + True + False + 0 + + Default + SHA-512 + SHA-256 + + + + True + True + 1 + + + + + True + True + 2 + + + + + True + False + vertical + 5 + + + True + False + + + False + True + 0 + + + + + Do not encrypt password + True + True + False + True + + + False + True + 1 + + + + + True + False + 5 + + + True + False + Password hash: + 0 + + + False + True + 0 + + + + + True + False + True + False + * + com.ublinux.ubl-settings-usergroups.view-symbolic + + + True + True + 1 + + + + + True + True + 2 + + + + + False + True + 3 + + + + + False + True + 2 + + + + + + + True + False + + + True + False + Password input + + + + + + + + Cancel + True + True + True + image4 + + + + + + Accept + True + True + True + image5 + + + + end + 1 + + + + + + + + + + + + + diff --git a/ubl-settings-update-repo-add.glade b/ubl-settings-update-repo-add.glade index 87b576f..dd67bdf 100644 --- a/ubl-settings-update-repo-add.glade +++ b/ubl-settings-update-repo-add.glade @@ -1,6 +1,6 @@ - + @@ -8,6 +8,11 @@ False com.ublinux.libublsettingsui-gtk3.zoom-symbolic + + True + False + com.ublinux.libublsettingsui-gtk3.increase-symbolic + 500 False @@ -509,9 +514,4 @@ - - True - False - com.ublinux.libublsettingsui-gtk3.increase-symbolic - diff --git a/ubl-settings-update-web-publication-add.glade b/ubl-settings-update-web-publication-add.glade index 800b6d3..1ef866c 100644 --- a/ubl-settings-update-web-publication-add.glade +++ b/ubl-settings-update-web-publication-add.glade @@ -1,6 +1,6 @@ - + @@ -8,6 +8,11 @@ False com.ublinux.libublsettingsui-gtk3.zoom-symbolic + + True + False + document-edit-symbolic + @@ -353,17 +358,37 @@ False True - 2 + 1 True + False True + False + * True True + 2 + + + + + True + False + True + True + image2 + + + + False + True 3 diff --git a/ubl-settings-update.glade b/ubl-settings-update.glade index 21dce95..0ac7f86 100644 --- a/ubl-settings-update.glade +++ b/ubl-settings-update.glade @@ -19,7 +19,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. --> - + @@ -254,6 +254,30 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. True False + + + True + False + DD.MM.YYYY + True + + + + + True + False + DD-MM-YYYY + True + + + + + True + False + DD/MM/YYYY + True + + True @@ -290,7 +314,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. True False - Date of last automatic update: + Date of last automatic update: False @@ -341,13 +365,40 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - Automatic update + True - True - False - 0 - True + False + 5 + + + Automatic update + True + True + False + 0 + True + + + False + True + 0 + + + + + Check system updates at system startup + True + True + False + end + True + + + True + True + 1 + + False @@ -453,7 +504,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. False 0 - Boot Minutes Hours Days @@ -875,7 +925,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. True fixed - Reposiory + Repository end @@ -1122,6 +1172,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. True True PublicationList + + + True @@ -1332,7 +1385,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - Authtorization parameters + Authorization parameters diff --git a/ubl-settings-update_ru.po b/ubl-settings-update_ru.po index 36003fd..2d5996e 100644 --- a/ubl-settings-update_ru.po +++ b/ubl-settings-update_ru.po @@ -34,21 +34,20 @@ msgid "Empty important field!" msgstr "" #: source/ubl-strings.h:8 -#, fuzzy msgid "Add repository" -msgstr "Репозитории" +msgstr "Добавить репозиторий" #: source/ubl-strings.h:9 msgid "Are you sure want to remove repository?" -msgstr "" +msgstr "Вы точно хотите удалить репозиторий?" #: source/ubl-strings.h:10 msgid "No repositories were chosen to share" -msgstr "" +msgstr "Репозитории для публикации не были выбраны" #: source/ubl-strings.h:12 source/ubl-strings.h:37 msgid "Update" -msgstr "" +msgstr "Обновить" #: source/ubl-strings.h:13 msgid "Repositories" @@ -56,119 +55,115 @@ msgstr "Репозитории" #: source/ubl-strings.h:14 msgid "Publication" -msgstr "" +msgstr "Публикация" #: source/ubl-strings.h:15 msgid "WEB-publication" -msgstr "" +msgstr "WEB-публикация" #: source/ubl-strings.h:16 msgid "Mirror publication" -msgstr "" +msgstr "Публикация зеркала" #: source/ubl-strings.h:17 -msgid "Date of last automatic update: " -msgstr "" +msgid "Date of last automatic update:" +msgstr "Дата последнего автообновления:" #: source/ubl-strings.h:18 -#, fuzzy msgid "Automatic update" -msgstr "Обновление системы" +msgstr "Автоматическое обновление" #: source/ubl-strings.h:19 msgid "First update all modules and then the system" -msgstr "" +msgstr "Вначале обновлять все модули и после систему" #: source/ubl-strings.h:20 msgid "Update only modules" -msgstr "" +msgstr "Обновлять только модули" #: source/ubl-strings.h:21 msgid "Update everything in the order of the specified repositories" -msgstr "" +msgstr "Обновлять всё в порядке репозиториев" #: source/ubl-strings.h:22 -#, fuzzy msgid "Update mode:" -msgstr "Команда обновления: " +msgstr "Режим обновления:" #: source/ubl-strings.h:23 msgid "Update interval:" -msgstr "" +msgstr "Интервал обновлений" #: source/ubl-strings.h:24 -msgid "Boot" -msgstr "" +msgid "Check system updates at system startup" +msgstr "Проверять обновления при загрузке системы" #: source/ubl-strings.h:25 -msgid "Minutes" -msgstr "" +msgid "minutes" +msgstr "минут" #: source/ubl-strings.h:26 -msgid "Hours" -msgstr "" +msgid "hours" +msgstr "часов" #: source/ubl-strings.h:27 -msgid "Days" -msgstr "" +msgid "days" +msgstr "дней" #: source/ubl-strings.h:28 -msgid "Months" -msgstr "" +msgid "months" +msgstr "месяцев" #: source/ubl-strings.h:29 msgid "Repositories from which the update will occur" -msgstr "" +msgstr "Репозитории с которых будет происходить обновление" #: source/ubl-strings.h:30 source/ubl-strings.h:52 -#, fuzzy msgid "Repositories list:" -msgstr "Репозитории" +msgstr "Список репозиториев:" #: source/ubl-strings.h:31 msgid "Default" -msgstr "" +msgstr "По умолчанию" #: source/ubl-strings.h:32 source/ubl-strings.h:54 msgid "Choose" -msgstr "" +msgstr "Выбрать" #: source/ubl-strings.h:33 msgid "Chosen" -msgstr "" +msgstr "Выбран" #: source/ubl-strings.h:34 -#, fuzzy msgid "Repository" msgstr "Репозитории" #: source/ubl-strings.h:35 msgid "Manage repository list" -msgstr "" +msgstr "Управление списка репозиториев" #: source/ubl-strings.h:36 msgid "Disable system repositories" -msgstr "" +msgstr "Отключить системные репозитории" #: source/ubl-strings.h:38 msgid "Move up" -msgstr "" +msgstr "Переместить выше" #: source/ubl-strings.h:39 msgid "Move down" -msgstr "" +msgstr "Переместить ниже" #: source/ubl-strings.h:40 msgid "Add" -msgstr "" +msgstr "Добавить" #: source/ubl-strings.h:41 msgid "Edit" -msgstr "" +msgstr "Изменить" #: source/ubl-strings.h:42 msgid "Remove" -msgstr "" +msgstr "Удалить" #: source/ubl-strings.h:43 msgid "Enabled" @@ -176,234 +171,225 @@ msgstr "Включен" #: source/ubl-strings.h:44 msgid "Source" -msgstr "" +msgstr "Источник" #: source/ubl-strings.h:45 msgid "Signature level" -msgstr "" +msgstr "Уровень подписи" #: source/ubl-strings.h:46 msgid "Usage level" -msgstr "" +msgstr "Уровень использования" #: source/ubl-strings.h:47 source/ubl-strings.h:48 source/ubl-strings.h:56 #: source/ubl-strings.h:65 -#, fuzzy msgid "Repository connection configuration" -msgstr "Сохранить в локальную конфигурацию" +msgstr "Настройки подключения репозитория" #: source/ubl-strings.h:49 msgid "Connect and publish" -msgstr "" +msgstr "подключиться и опубликовать" #: source/ubl-strings.h:50 msgid "Recieve DB packages from shared network" -msgstr "" +msgstr "Получать БД пакетов из распределённой сети" #: source/ubl-strings.h:51 -#, fuzzy msgid "Repositories for publishing" -msgstr "Репозитории" +msgstr "Репозитории для публикации" #: source/ubl-strings.h:53 -#, fuzzy msgid "All repositories" -msgstr "Репозитории" +msgstr "Все репозитории" #: source/ubl-strings.h:55 -#, fuzzy msgid "Repository name" -msgstr "Репозитории" +msgstr "Имя репозитория" #: source/ubl-strings.h:57 source/ubl-strings.h:99 msgid "Authorization parameters" -msgstr "" +msgstr "Параметры авторизации" #: source/ubl-strings.h:58 msgid "Storage" -msgstr "" +msgstr "Хранилище" #: source/ubl-strings.h:59 -#, fuzzy msgid "Chosen repositories" -msgstr "Репозитории" +msgstr "Выбранные репозитории" #: source/ubl-strings.h:60 msgid "Reviewer" -msgstr "" +msgstr "Обозреватель" #: source/ubl-strings.h:61 msgid "Port" -msgstr "" +msgstr "Порт" #: source/ubl-strings.h:62 msgid "Name" -msgstr "" +msgstr "Имя" #: source/ubl-strings.h:63 msgid "Password/Hash type" -msgstr "" +msgstr "Пароль/Тип хэша" #: source/ubl-strings.h:64 msgid "Password/Password hash" -msgstr "" +msgstr "Пароль/Хэш пароля" #: source/ubl-strings.h:66 msgid "Publish lazy mirror" -msgstr "" +msgstr "Опубликовать ленивое зеркало" #: source/ubl-strings.h:67 msgid "Type" -msgstr "" +msgstr "Тип" #: source/ubl-strings.h:68 msgid "Resource URL" -msgstr "" +msgstr "Ресурс URL" #: source/ubl-strings.h:69 msgid "Configure" -msgstr "" +msgstr "Настроить" #: source/ubl-strings.h:70 -#, fuzzy msgid "Mirror publish configuration" -msgstr "Загрузить глобальную конфигурацию" +msgstr "Конфигурация публикации ленивого зеркала" #: source/ubl-strings.h:71 msgid "Service port:" -msgstr "" +msgstr "Порт сервиса:" #: source/ubl-strings.h:72 msgid "Cache directory:" -msgstr "" +msgstr "Каталог хэша:" #: source/ubl-strings.h:73 msgid "Duration of inactivity (in seconds):" -msgstr "" +msgstr "Продолжительность бездействия (в секундах):" #: source/ubl-strings.h:74 msgid "Timeout (in seconds) for loading internel cache:" -msgstr "" +msgstr "Таймаут (в секундах) для загрузки интернет-кэша:" #: source/ubl-strings.h:75 msgid "Work through proxy:" -msgstr "" +msgstr "Работать через прокси:" #: source/ubl-strings.h:76 msgid "User agent:" -msgstr "" +msgstr "Пользовательский агент:" #: source/ubl-strings.h:77 msgid "Standard expression for cron:" -msgstr "" +msgstr "Стандартное выражение cron:" #: source/ubl-strings.h:78 msgid "" "The number of consecutie days that systems on the network have not been " "updated:" -msgstr "" +msgstr "Количество дней подряд, в течение которых не обновляется системы в сети:" #: source/ubl-strings.h:79 msgid "The number of consecutive days wthout an update requested:" -msgstr "" +msgstr "Количество дней подряд, в течение которых не было запрошено обновление:" #: source/ubl-strings.h:80 msgid "Add mirror" -msgstr "" +msgstr "Добавить зеркало" #: source/ubl-strings.h:81 -#, fuzzy msgid "Repository name:" -msgstr "Репозитории" +msgstr "Имя репозитория:" #: source/ubl-strings.h:82 -#, fuzzy msgid "Repository type:" -msgstr "Репозитории" +msgstr "Тип репозитория:" #: source/ubl-strings.h:83 msgid "WEB link" -msgstr "" +msgstr "Вэб ссылка" #: source/ubl-strings.h:84 msgid "Proxy server" -msgstr "" +msgstr "Прокси-сервер" #: source/ubl-strings.h:85 msgid "Mirrors file" -msgstr "" +msgstr "Файл зеркал" #: source/ubl-strings.h:86 msgid "Source:" -msgstr "" +msgstr "Источник:" #: source/ubl-strings.h:87 -#, fuzzy msgid "Configuration" -msgstr "Сохранить в конфигурацию" +msgstr "Конфигурация" #: source/ubl-strings.h:88 msgid "Sign level:" -msgstr "" +msgstr "Уровень подписи:" #: source/ubl-strings.h:89 msgid "Enable repository update" -msgstr "" +msgstr "Включить обновления для этого репозитория" #: source/ubl-strings.h:90 msgid "Enable repository search" -msgstr "" +msgstr "Включать поиск этого репозитория" #: source/ubl-strings.h:91 msgid "" "Enable installation of packages from this repository during --sync operation" -msgstr "" +msgstr "Включать установку пакетов из этого репозитория во время операции --sync" #: source/ubl-strings.h:92 msgid "" "Allow this repository to be a valid source of packages when running --" "sysupgrade" -msgstr "" +msgstr "Позволять этому репозиторию быть действительным источником пакетов при выполнении --sysupgrade" #: source/ubl-strings.h:93 msgid "Add repository for publication" -msgstr "" +msgstr "Добавление репозиториев на публикацию" #: source/ubl-strings.h:94 msgid "Enable publishing of local repository as WEB resource" -msgstr "" +msgstr "Включить публикацию локального репозитория в виде WEB ресурса" #: source/ubl-strings.h:95 msgid "Path to publication directory:" -msgstr "" +msgstr "Путь до каталога побликации:" #: source/ubl-strings.h:96 msgid "Port:" -msgstr "" +msgstr "Порт:" #: source/ubl-strings.h:97 msgid "Publishing parameters" -msgstr "" +msgstr "Параметры публикации" #: source/ubl-strings.h:98 msgid "Enable WEB file browser" -msgstr "" +msgstr "Включить WEB обозреватель файлов" #: source/ubl-strings.h:100 msgid "Set" -msgstr "" +msgstr "Задать" #: source/ubl-strings.h:101 msgid "Username:" -msgstr "" +msgstr "Имя пользователя:" #: source/ubl-strings.h:102 msgid "User password:" -msgstr "" +msgstr "Пароль:" #: source/ubl-strings.h:103 msgid "Not encrypted" -msgstr "" +msgstr "Пароль не требуется" #: source/ubl-strings.h:104 msgid "Encrypted with SHA256" @@ -414,9 +400,8 @@ msgid "Encrypted with SHA512" msgstr "" #: source/ubl-strings.h:106 -#, fuzzy msgid "System" -msgstr "Обновление системы" +msgstr "Система" msgid "Cancel" msgstr "Отмена" \ No newline at end of file