diff --git a/.gitignore b/.gitignore index e4c2d7b..e2c7ced 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ ublexec.glade~ test.cpp .vscode ublexec -nohup.out \ No newline at end of file +nohup.out +ublexec_ru.po~ \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index ab85d20..ae11d95 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -8,6 +8,20 @@ include_directories(${GTK_INCLUDE_DIRS}) link_directories(${GTK_LIBRARY_DIRS}) add_definitions(${GTK_CFLAGS_OTHER}) +find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) + +option(WEBKIT_FOUND "No" OFF) + +find_library(WEBKIT_LIBRARIES_FOUND webkit2gtk-4.0 webkit2gtk-web-extension-4.0) +if(WEBKIT_LIBRARIES_FOUND) + option(WEBKIT_FOUND "Yes" ON) + PKG_CHECK_MODULES(WEBKIT REQUIRED webkit2gtk-4.0 webkit2gtk-web-extension-4.0) + include_directories(${WEBKIT_INCLUDE_DIRS}) + link_directories(${WEBKIT_LIBRARY_DIRS}) + add_definitions(${WEBKIT_CFLAGS_OTHER}) +endif() +configure_file(ublexec.h.in ublexec-cm.h) + #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always -std=c++2a -g") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissing-declarations -fdiagnostics-color=always \ -O2 -pipe -fno-plt -fexceptions \ @@ -15,6 +29,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic -Wall -Wextra -Werror -Wmissin -fstack-clash-protection -fcf-protection") set(SOURCE_FILES + ublexec-cm.h main.cc ublexec.cc ublexec.h @@ -26,5 +41,10 @@ set(LIBRARIES pthread) add_executable(ublexec ${SOURCE_FILES}) -target_link_libraries(ublexec ${LIBRARIES}) -install(TARGETS ublexec DESTINATION bin) + +target_link_libraries(ublexec PUBLIC ${WEBKIT_LIBRARIES} ${LIBRARIES}) +target_include_directories(ublexec PUBLIC + "${PROJECT_BINARY_DIR}" + ${WEBKIT_INCLUDE_DIRS} + ) +install(TARGETS ublexec DESTINATION bin) \ No newline at end of file diff --git a/source/main.cc b/source/main.cc index 3d19d28..ab09c8b 100644 --- a/source/main.cc +++ b/source/main.cc @@ -7,9 +7,9 @@ int main(int argc, char** argv) { string str_cmd_argv = ""; setlocale(LC_ALL, ""); - bindtextdomain("ublexec", "/usr/share/locale/"); - bind_textdomain_codeset("ublexec", "UTF-8"); - textdomain("ublexec"); + bindtextdomain(app_name, "/usr/share/locale/"); + bind_textdomain_codeset(app_name, "UTF-8"); + textdomain(app_name); if (argc > 1){ str_argv = argv[1]; } @@ -66,7 +66,7 @@ void pars_flag(int index_start, int argc, char* argv[]) { exit(1); } else if (str_argv == "--version" || str_argv == "-v"){ - string version = string(gettext("ublexec version: ")) + version_application + "\n"; + string version = string(str_version) + version_application + "\n"; cout << version.c_str(); exit(1); } diff --git a/source/ublexec.cc b/source/ublexec.cc index 39e5f01..3a663f2 100644 --- a/source/ublexec.cc +++ b/source/ublexec.cc @@ -1,14 +1,10 @@ #include "ublexec.h" using namespace std; -const string path_app = "/usr/bin/"; -const string path_glade = "/usr/share/ublexec/ui/ublexec.glade"; -const string path_css = "/usr/share/ublexec/css/ublexec.css"; -const string app_name = "ublexec"; + int flag_prog_file = 0; string name_app_cmd = ""; -string version_application = "2.23"; -const string path_img_head_background = "/usr/share/ublexec/images/logo-background.png"; +string version_application = "2.24"; int socket_ext_id_I = 0; int socket_trd_id_I = 0; @@ -111,6 +107,20 @@ void MainWindow::get_builder() { builder->get_widget("btnBoxAboutDialog", btnBoxAboutDialog); builder->get_widget("boxAbout", boxAbout); builder->get_widget("cmbTerminal", cmbTerminal); + builder->get_widget("lblHeaderAboutTopic", lblHeaderAboutTopic); + + builder->get_widget("lblwebHeaderName", lblwebHeaderName); + builder->get_widget("lblhelpText", lblhelpText); + builder->get_widget("lblhelpHeader", lblhelpHeader); + builder->get_widget("chkAlwaysOpenHelp", chkAlwaysOpenHelp); + builder->get_widget("btnReadHelp", btnReadHelp); + builder->get_widget("btnCancelHelp", btnCancelHelp); + builder->get_widget("wndShowWeb", wndShowWeb); + builder->get_widget("lblHeadeWndWeb", lblHeadeWndWeb); + + #ifdef WEBKIT_FOUND + builder->get_widget("wndWeb", wndWeb); + #endif } void MainWindow::set_icon_array() { @@ -156,48 +166,61 @@ void MainWindow::localization() { time_t now = time(0); tm *ltm = localtime(&now); unsigned int year= 1900+ ltm->tm_year; - string str_authors = string(gettext("Copyright © UBSoft LLC, 2022 - ")) + to_string(year); + string str_authors = string(copyright) + to_string(year); aboutWindows->set_copyright(str_authors); - aboutWindows->set_website(gettext("https://wiki.ublinux.com")); - btnSynopsis->set_label(gettext("Help")); - btnAbout->set_label(gettext("About")); - aboutWindows->set_comments(gettext("Run as...")); - aboutWindows->set_website_label(gettext("Project Home Page")); - aboutWindows->set_version(gettext(version_application.c_str())); - aboutWindows->set_title(gettext(" Run as...")); - lblHeaderName->set_text(gettext("Run as...")); - this->set_title(gettext("Run as...")); - btnStart->set_label(gettext("Run")); - wndChooseFileWallpaper->set_title(gettext("Please select File")); - dialogStartMenu->set_title(gettext("Selecting Programs")); - lblInfoHead->set_text(gettext("Run applications as another user\nwith the specified priority")); - lblinfoCmd->set_text(gettext("Command Line")); - lblInfoTime->set_text(gettext("Team:")); - labInfoExecutTerm->set_text(gettext("Run in the terminal emulator")); - lblInfoUser->set_text(gettext("User")); - lblInfoUserOther->set_text(gettext("Run as another user:")); - lblInfoUserName->set_text(gettext("User Name:")); - lblInfoNooPriority->set_text(gettext("Priority")); - lblInfoExec->set_text(gettext("Change startup priority")); - lblInfoPriority->set_text(gettext("Priority:")); - lblMessageError->set_text(gettext("Select an executable file or program")); - messageError->set_title(gettext("Attention")); - lblGraphics->set_text(gettext("Graphics")); - lblTools->set_text(gettext("Tools")); - lblInternet->set_text(gettext("Internet")); - lblMultimedia->set_text(gettext("Multimedia")); - lblSettings->set_text(gettext("Settings")); - lblEducation->set_text(gettext("Education")); - lblOffice->set_text(gettext("Office")); - lblOther->set_text(gettext("Other")); - lblDevelopment->set_text(gettext("Development")); - lblSystem->set_text(gettext("System")); - btnListApp->set_tooltip_text(gettext("Application Overview")); - btnFilemaneg->set_tooltip_text(gettext("File Overview")); - btnMessageErrorOk->set_label(gettext("Close")); + aboutWindows->set_website(website); + btnSynopsis->set_label(str_help); + btnAbout->set_label(str_about_1); + aboutWindows->set_comments(define_name_app); + aboutWindows->set_website_label(home_page ); + aboutWindows->set_version(_(version_application.c_str())); + aboutWindows->set_title(space_name_app ); + lblHeaderAboutTopic->set_label(space_name_app ); + lblHeaderName->set_text(define_name_app); + this->set_title(define_name_app); + btnStart->set_label(str_run); + wndChooseFileWallpaper->set_title(str_please_select_file); + dialogStartMenu->set_title(str_selecting_programs); + lblInfoHead->set_text(str_run_applications_as_another); + lblinfoCmd->set_text(str_localization_cmd_line); + lblInfoTime->set_text(str_localization_team); + labInfoExecutTerm->set_text(str_run_terminal); + lblInfoUser->set_text(str_localization_user); + lblInfoUserOther->set_text(str_run_of_user); + lblInfoUserName->set_text(str_localization_username); + lblInfoNooPriority->set_text(str_localization_priority); + lblInfoExec->set_text(str_change_priority); + lblInfoPriority->set_text(string(str_localization_priority) + ":"); + lblMessageError->set_text(str_select_app_program); + messageError->set_title(str_localization_attention); + lblGraphics->set_text(str_localization_graphics); + lblTools->set_text(str_localization_tools); + lblInternet->set_text(str_localization_internet); + lblMultimedia->set_text(str_localization_multimedia); + lblSettings->set_text(str_localization_settings); + lblEducation->set_text(str_localization_education); + lblOffice->set_text(str_localization_office); + lblOther->set_text(str_localization_other); + lblDevelopment->set_text(str_localization_development); + lblSystem->set_text(str_localization_system); + btnListApp->set_tooltip_text(str_application_overview); + btnFilemaneg->set_tooltip_text(str_file_overview); + btnMessageErrorOk->set_label(str_close); + lblhelpHeader->set_text(read_documentation_web); + lblhelpText->set_text(redirected_documentation); + btnReadHelp->set_label(read_online); + btnCancelHelp->set_label(cancel); + chkAlwaysOpenHelp->set_label(always_redirect); + lblwebHeaderName->set_label(name_app_1); + lblHeadeWndWeb->set_label(define_name_app); + lblwebHeaderName->set_label(define_name_app); } void MainWindow::event() { + btnCancelHelp->signal_clicked().connect([&]() {wndShowWeb->hide();}); + chkAlwaysOpenHelp->signal_toggled().connect([&]() {flag_open_browser = true;}); + btnReadHelp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_browser)); + btnSynopsis->signal_activate().connect(sigc::mem_fun(*this, &MainWindow::synopsis_show)); btnFilemaneg->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_filemaneg)); btnListApp->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::open_list_app)); btnStart->signal_clicked().connect(sigc::mem_fun(*this, &MainWindow::entry_app)); @@ -235,6 +258,7 @@ void MainWindow::event() { } + void MainWindow::sudo_nice(){ string response = this->call("id -Gn"); if (geteuid() == 0 || cmbUser->get_active_text() == "root" ){ @@ -242,32 +266,32 @@ void MainWindow::sudo_nice(){ spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(-20, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("-20 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice__20); } else if (rbSudo->get_active() && response.find("wheel") != string::npos){ spinPriority->set_range(-20, 19); spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(-20, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("-20 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice__20); } else if (rbSu->get_active()){ spinPriority->set_range(0, 19); spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(0, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("0 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice_0); } else if (rbPkexec->get_active()){ spinPriority->set_range(0, 19); spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(0, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("0 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice_0); } this->denamic_cmd(); } @@ -281,16 +305,16 @@ void MainWindow::changed_user() { spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(-20, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("-20 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice__20); } else{ spinPriority->set_range(0, 19); spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(0, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("0 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice_0); } } @@ -323,10 +347,34 @@ bool MainWindow::focus_in_txt_cmd(GdkEventFocus* event) { } void MainWindow::synopsis_show() { - string cmd = "xdg-open " + string(gettext("https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/")) + app_name + " &"; + if (flag_open_browser == true) { + this->open_browser(); + } + else { + wndShowWeb->show_all(); + } + +} + +void MainWindow::open_browser() { + #ifdef WEBKIT_FOUND + webkit_web_view_load_uri(one, link_doc); + wndWeb->show_all(); + #else + this->template_open_browser(); + #endif +} + +void MainWindow::template_open_browser() { + string cmd = cmd_xdg + string(_(link_doc)) + " &"; + string buf = ""; if (geteuid() == 0) { string response_user = getlogin(); - cmd = "su -l " + response_user + " -c \" DISPLAY=$DISPLAY " + cmd + " \""; + int size_s = std::snprintf(nullptr, 0, cmd_execute, response_user.c_str(), cmd.c_str()) + 1; + auto size = static_cast(size_s); + std::unique_ptr buf(new char[ size ]); + std::snprintf( buf.get(), size, cmd_execute, response_user.c_str(), cmd.c_str() ); + cmd = std::string( buf.get(), buf.get() + size - 1 ); } index_error = system(cmd.c_str()); } @@ -435,8 +483,8 @@ void MainWindow::settings() { spinPriority->set_increments(1.0, -1.0); scalePriority->set_range(0, 19); scalePriority->set_value(0); - lblTimeEpriorityLow->set_text(gettext("19 (Low)")); - lblTime4EpriorityHigh->set_text(gettext("0 (High)")); + lblTimeEpriorityLow->set_text(nice_19); + lblTime4EpriorityHigh->set_text(nice_0); scalePriority->set_inverted(true); Gtk::Widget *boxWidget; builder->get_widget("boxColor", boxWidget); @@ -456,7 +504,11 @@ void MainWindow::settings() { btnBoxAboutDialog->set_visible(false); cmbTerminal->set_sensitive(false); ubl_make_plugs(boxAbout, boxAbout, socket_ext_id_I, 0); - + #ifdef WEBKIT_FOUND + one = WEBKIT_WEB_VIEW( webkit_web_view_new() ); + three = Glib::wrap(GTK_WIDGET(one)); + wndWeb->add(*three); + #endif } void MainWindow::close_entry_app() { @@ -641,7 +693,7 @@ string MainWindow::start_cmd(string user_cmd) { str_nice_cmd = "nice -n " + to_string(spinPriority->get_value_as_int()) + " "; } if (user_cmd.length() == 0 && name_app.length() == 0 && path_file.length() == 0) { - messageError->set_title(gettext("Attention")); + messageError->set_title(str_localization_attention); messageError->show(); return ""; } @@ -710,7 +762,7 @@ void MainWindow::denamic_cmd() { name_app = ""; user_cmd = ""; txtCmd->set_text(user_cmd); - messageError->set_title(gettext("Attention")); + messageError->set_title(str_localization_attention); messageError->show(); } else{ @@ -887,8 +939,8 @@ unsigned short MainWindow::read_uid_min_max(string filename, string search){ } void MainWindow::pars_users() { - unsigned short uid_min = this->read_uid_min_max("/etc/login.defs", "UID_MIN"); - unsigned short uid_max = this->read_uid_min_max("/etc/login.defs", "UID_MAX"); + unsigned short uid_min = this->read_uid_min_max(file_source_login_min_max, "UID_MIN"); + unsigned short uid_max = this->read_uid_min_max(file_source_login_min_max, "UID_MAX"); while (true) { errno = 0; passwd* entry = getpwent(); @@ -929,10 +981,10 @@ void MainWindow::pars_apps() { struct struct_App App; string file_name = ""; string str_Categories; - string path = "/usr/share/applications/"; + string path = path_all_applications; for (const auto & entry : fs::directory_iterator(path)) { file_name = entry.path().filename().string(); - path = "/usr/share/applications/"+file_name; + path = string(path_all_applications) +file_name; if (file_name.find(".desktop") != std::string::npos) { GKeyFile *gfile=g_key_file_new(); g_key_file_load_from_file(gfile, path.c_str(), G_KEY_FILE_KEEP_TRANSLATIONS, NULL); @@ -975,15 +1027,11 @@ SettingsPlug::SettingsPlug(::Window p_socketID, Glib::RefPtr build show_all_children(); } +MainWindow::~MainWindow() { +} + void help() { - string help = "GTK \"Run applications as another user with the specified priority\" for UBLinux\n\n" - "Usage: ublexec [OPTIONS...]\n" - "Options:\n" - " -h, --help Show this help\n" - " -V, --version Show package version\n" - " -x APP_NAME Running the program\n" - " -e FILE_NAME Running the file\n"; - cout << gettext(help.c_str()); + cout << str_help_h; } diff --git a/source/ublexec.h b/source/ublexec.h index 407423d..2772443 100644 --- a/source/ublexec.h +++ b/source/ublexec.h @@ -16,16 +16,84 @@ #include #include #include +#include #include "ubl-util-standard.c" +#include +#include "ublexec-cm.h" +#ifdef WEBKIT_FOUND + #include +#endif + +#define copyright _("Copyright © UBSoft LLC, 2022 - ") +#define define_name_app _("Run as...") +#define name_app_1 _("ublexec") +#define website _("https://wiki.ublinux.com") +#define home_page _("Project Home Page") +#define space_name_app _(" Run as...") +#define str_about_1 _("About") +#define str_about _("About ubl-settings-datetime") +#define str_help _("Help") +#define str_save _("Save") +#define str_load _("Load") +#define save_all _("Save to global and local configuration") +#define save_local _("Save local configuration") +#define save_global _("Save global configuration") +#define load_global _("Load global configuration") +#define load_local _("Load local configuration") +#define read_online _("Read online") +#define cancel _("Cancel") +#define always_redirect _("Always redirect") +#define nothing_save _("Nothing to save!") +#define read_documentation_web _("Would you like to read documentation in the Web?") +#define redirected_documentation _("You will be redirected to documentation site, where user help pages are ""translated and supported by community.") +#define str_help_h _("GTK \"Run applications as another user with the specified priority\" for ""UBLinux\n""\n""Usage: ublexec [OPTIONS...]\n""Options:\n"" -h, --help\t Show this help\n"" -V, --version\t Show package version\n"" -x APP_NAME Running the program\n"" -e FILE_NAME Running the file\n") +#define str_version _("ublexec version: ") +#define nice_19 _("19 (Low)") +#define nice_0 _("0 (High)") +#define nice__20 _("-20 (High)") +#define str_close _("Close") +#define str_localization_system _("System") +#define str_localization_development _("Development") +#define str_localization_other _("Other") +#define str_localization_office _("Office") +#define str_localization_education _("Education") +#define str_localization_settings _("Settings") +#define str_localization_multimedia _("Multimedia") +#define str_localization_internet _("Internet") +#define str_localization_tools _("Tools") +#define str_localization_graphics _("Graphics") +#define str_localization_attention _("Attention") +#define str_localization_priority _("Priority") +#define str_run_of_user _("Run as another user:") +#define str_select_app_program _("Select an executable file or program") +#define str_change_priority _("Change startup priority") +#define str_run_terminal _("Run in the terminal emulator") +#define str_file_overview _("File Overview") +#define str_application_overview _("Application Overview") +#define str_run_applications_as_another _("Run applications as another user\nwith the specified priority") +#define str_localization_username _("User Name:") +#define str_selecting_programs _("Selecting Programs") +#define str_please_select_file _("Please select File") +#define str_localization_cmd_line _("Command Line") +#define str_localization_user _("User") +#define str_localization_team _("Team:") +#define str_run _("Run") + +#define link_doc "https://wiki.ublinux.com/ru/Программное_обеспечение/Программы_и_утилиты/Все/ublexec" +#define cmd_xdg "xdg-open " +#define cmd_execute "su -l %s -c \" DISPLAY=$DISPLAY %s \"" +#define path_app "/usr/bin/" +#define path_glade "/usr/share/ublexec/ui/ublexec.glade" +#define path_css "/usr/share/ublexec/css/ublexec.css" +#define app_name "ublexec" +#define path_img_head_background "/usr/share/ublexec/images/logo-background.png" +#define path_all_applications "/usr/share/applications/" +#define file_source_login_min_max "/etc/login.defs" +#define no_print_cmd "nohup %s > /dev/null 2>&1" using namespace std; -extern const string path_app; -extern const string app_name; -extern const string path_glade; -extern const string path_css; extern string name_app_cmd; -extern const string path_img_head_background; extern int socket_ext_id_I; extern int socket_trd_id_I; extern int flag_prog_file; @@ -46,6 +114,7 @@ class MainWindow : public Gtk::ApplicationWindow { public: MainWindow(BaseObjectType* obj, Glib::RefPtr const& builder); MainWindow(Glib::RefPtr const& builder); + ~MainWindow(); void template_apps_obj(Gtk::IconView *icon, Glib::RefPtr >k_list_app); void get_builder(); void add_CSS(); @@ -93,6 +162,8 @@ public: void denamic_cmd(); void is_user_wheel(); void sudo_nice(); + void template_open_browser(); + void open_browser(); vector find_all(string &text, string &word); bool focus_out_txt_cmd(GdkEventFocus* event); bool focus_in_txt_cmd(GdkEventFocus* event); @@ -205,6 +276,22 @@ public: Gtk::Image *imgHeadBackground; Gtk::Overlay *overHead; Gtk::Widget *boxAbout; + Gtk::Label *lblHeaderAboutTopic; + + Gtk::Label *lblHeadeWndWeb; + Gtk::Label *lblwebHeaderName; + Gtk::Label *lblhelpText; + Gtk::Label *lblhelpHeader; + Gtk::CheckButton *chkAlwaysOpenHelp; + Gtk::Button *btnReadHelp; + Gtk::Button *btnCancelHelp; + Gtk::Window *wndShowWeb; + + #ifdef WEBKIT_FOUND + Gtk::Window *wndWeb; + Gtk::Widget *three; + WebKitWebView *one; + #endif public: string termunal_cmd[3] = {"konsole -e ", "xfce4-terminal -x ", "xterm -e "}; string cmd_old = ""; @@ -220,6 +307,7 @@ public: bool flag_pkexec = false; bool flag_su = false; bool flag_sudo = false; + bool flag_open_browser = false; string path_file_name; struct struct_App { string Name_desktop; diff --git a/source/ublexec.h.in b/source/ublexec.h.in new file mode 100644 index 0000000..17ba454 --- /dev/null +++ b/source/ublexec.h.in @@ -0,0 +1 @@ +#cmakedefine WEBKIT_FOUND \ No newline at end of file diff --git a/ublexec.glade b/ublexec.glade index 58c1d97..c78930b 100644 --- a/ublexec.glade +++ b/ublexec.glade @@ -9,18 +9,16 @@ False - О Программе False True center com.ublinux.ublexec dialog + True True - False - False ublexec 1.0 - Copyright © UBSoft LLC, 2022 - + Copyright © 2022 - 2023, UBSoft LLC ublexec https://ublinux.ru/ Project Home Page @@ -33,27 +31,19 @@ gpl-2-0 + True False vertical 2 False - 5 - 5 - 5 - 5 - 6 - 6 end - - - False False - 0 + 1 @@ -61,6 +51,28 @@ + + + True + False + True + + + True + False + 5 + 5 + 5 + 5 + 2 + ublexec + + + + + + + -20 @@ -1323,7 +1335,7 @@ with the specified priority True False start - Command Line + Command Line @@ -1550,7 +1562,7 @@ with the specified priority True False start - User + User @@ -1785,7 +1797,7 @@ with the specified priority True False start - Priority + Priority @@ -2060,4 +2072,238 @@ with the specified priority + + False + start + start + False + 450 + 250 + dialog-question-symbolic + + + True + False + vertical + + + True + False + + + True + False + start + 20 + 20 + dialog-question-symbolic + 6 + + + False + True + 0 + + + + + True + False + vertical + + + True + False + start + 10 + 5 + Would you like to read documentation in the Web? + True + 0 + + + + + + + False + True + 0 + + + + + True + False + start + start + 10 + 10 + You will be redirected to documentation website where documentation is translated and supported by community. + True + 0 + + + + True + True + 1 + + + + + Always redirect to online documentation + True + True + False + end + 10 + True + + + + False + True + 2 + + + + + + True + True + 1 + + + + + + True + True + 0 + + + + + True + False + 5 + 5 + 5 + 5 + 5 + 5 + 30 + True + + + Cancel + True + True + True + + + + True + True + 0 + + + + + Read Online + True + True + True + + + + True + True + 1 + + + + + False + True + 1 + + + + + + + True + False + True + + + True + False + ublexec + + + + + + + + True + False + 32 + dialog-question-symbolic + + + + + + + 800 + 600 + False + True + True + com.ublinux.ublexec + + + + + + True + False + True + + + True + False + ublexec + + + + + True + False + 32 + com.ublinux.ublexec + 5 + + + + + diff --git a/ublexec.pot b/ublexec.pot index 9b8de70..be39611 100644 --- a/ublexec.pot +++ b/ublexec.pot @@ -1,4 +1,4 @@ -# Language translations for ublexec package. +# Russian translations for ublexec package. # Copyright (C) 2022, UBTech LLC # This file is distributed under the same license as the ublexec package. # UBLinux Team , 2022 @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ublexec 1.0\n" "Report-Msgid-Bugs-To: info@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" +"POT-Creation-Date: 2023-04-25 15:52+0600\n" "PO-Revision-Date: 2023-01-01 00:00+0600\n" "Last-Translator: UBLinux Team \n" "Language-Team: UBLinux Team \n" @@ -17,24 +17,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -msgid "" -msgstr "" - -#: source/ublexec.cc:163 +#: source/ublexec.h:32 source/ublexec.cc:181 source/ublexec.cc:182 +#: source/ublexec.cc:180 source/ublexec.cc:163 msgid " Run as..." msgstr "" -#: source/ublexec.cc:242 source/ublexec.cc:250 source/ublexec.cc:281 -#: source/ublexec.cc:236 source/ublexec.cc:244 source/ublexec.cc:275 +#: source/ublexec.h:53 source/ublexec.cc:274 source/ublexec.cc:282 +#: source/ublexec.cc:313 source/ublexec.cc:272 source/ublexec.cc:280 +#: source/ublexec.cc:311 source/ublexec.cc:242 source/ublexec.cc:250 +#: source/ublexec.cc:281 source/ublexec.cc:236 source/ublexec.cc:244 +#: source/ublexec.cc:275 msgid "-20 (High)" msgstr "" +#: source/ublexec.h:52 source/ublexec.cc:290 source/ublexec.cc:298 +#: source/ublexec.cc:321 source/ublexec.cc:487 source/ublexec.cc:288 +#: source/ublexec.cc:296 source/ublexec.cc:319 source/ublexec.cc:485 #: source/ublexec.cc:258 source/ublexec.cc:266 source/ublexec.cc:289 #: source/ublexec.cc:426 source/ublexec.cc:252 source/ublexec.cc:260 #: source/ublexec.cc:283 source/ublexec.cc:413 msgid "0 (High)" msgstr "" +#: source/ublexec.h:51 source/ublexec.cc:273 source/ublexec.cc:281 +#: source/ublexec.cc:289 source/ublexec.cc:297 source/ublexec.cc:312 +#: source/ublexec.cc:320 source/ublexec.cc:486 source/ublexec.cc:271 +#: source/ublexec.cc:279 source/ublexec.cc:287 source/ublexec.cc:295 +#: source/ublexec.cc:310 source/ublexec.cc:318 source/ublexec.cc:484 #: source/ublexec.cc:241 source/ublexec.cc:249 source/ublexec.cc:257 #: source/ublexec.cc:265 source/ublexec.cc:280 source/ublexec.cc:288 #: source/ublexec.cc:425 source/ublexec.cc:235 source/ublexec.cc:243 @@ -43,89 +52,178 @@ msgstr "" msgid "19 (Low)" msgstr "" +#: source/ublexec.h:33 source/ublexec.cc:177 source/ublexec.cc:176 #: source/ublexec.cc:159 source/ublexec.cc:156 msgid "About" msgstr "" +#: source/ublexec.h:34 +msgid "About ubl-settings-datetime" +msgstr "" + +#: source/ublexec.h:45 source/ublexec.cc:218 source/ublexec.cc:216 +msgid "Always redirect" +msgstr "" + +#: source/ublexec.h:72 source/ublexec.cc:210 source/ublexec.cc:208 #: source/ublexec.cc:191 source/ublexec.cc:186 msgid "Application Overview" msgstr "" +#: source/ublexec.h:65 source/ublexec.cc:199 source/ublexec.cc:696 +#: source/ublexec.cc:765 source/ublexec.cc:197 source/ublexec.cc:694 +#: source/ublexec.cc:763 source/ublexec.cc:180 source/ublexec.cc:631 +#: source/ublexec.cc:700 +msgid "Attention" +msgstr "" + +#: source/ublexec.h:44 source/ublexec.cc:217 source/ublexec.cc:215 msgid "Cancel" msgstr "" +#: source/ublexec.h:69 source/ublexec.cc:196 source/ublexec.cc:194 #: source/ublexec.cc:177 source/ublexec.cc:173 msgid "Change startup priority" msgstr "" -#: source/ublexec.cc:193 -msgid "Сancel" +#: source/ublexec.h:54 source/ublexec.cc:212 source/ublexec.cc:210 +#: source/main.cc:197 +msgid "Close" msgstr "" +#: source/ublexec.h:77 source/ublexec.cc:189 source/ublexec.cc:187 #: source/ublexec.cc:170 source/ublexec.cc:166 msgid "Command Line" msgstr "" +#: source/ublexec.h:27 source/ublexec.cc:173 source/ublexec.cc:172 #: source/ublexec.cc:155 source/ublexec.cc:152 msgid "Copyright © UBSoft LLC, 2022 - " msgstr "" +#: source/ublexec.h:56 source/ublexec.cc:208 source/ublexec.cc:206 #: source/ublexec.cc:189 source/ublexec.cc:184 msgid "Development" msgstr "" +#: source/ublexec.h:59 source/ublexec.cc:205 source/ublexec.cc:203 #: source/ublexec.cc:186 source/ublexec.cc:181 msgid "Education" msgstr "" +#: source/ublexec.h:71 source/ublexec.cc:211 source/ublexec.cc:209 #: source/ublexec.cc:192 source/ublexec.cc:187 msgid "File Overview" msgstr "" +#: source/ublexec.h:49 +msgid "" +"GTK \"Run applications as another user with the specified priority\" for " +"UBLinux\n" +"\n" +"Usage: ublexec [OPTIONS...]\n" +"Options:\n" +" -h, --help\t Show this help\n" +" -V, --version\t Show package version\n" +" -x APP_NAME Running the program\n" +" -e FILE_NAME Running the file\n" +msgstr "" + +#: source/ublexec.h:49 +msgid "" +"GTK settings datetime for UBLinux\n" +"\n" +"Usage: ubl-settings-datetime [OPTIONS...]\n" +"Options:\n" +" -h, --help\t Show this help\n" +" -V, --version\t Show package version\n" +" --lock-datetime Lock date and time changes\n" +" --lock-timezone Lock time zone changes\n" +" --lock-ntp-mode Lock NTP mode selection\n" +" --lock-ntp-edit Lock editing NTP servers\n" +" --lock-sync-hwclock Lock sync hwclock mode selection\n" +" --lock-save Lock saving local and global configuration\n" +" --lock-save-local Lock save global configuration\n" +" --lock-save-global Lock load global configuration\n" +" --lock-load-global Lock load global configuration\n" +msgstr "" + +#: source/ublexec.h:64 source/ublexec.cc:200 source/ublexec.cc:198 #: source/ublexec.cc:181 source/ublexec.cc:176 msgid "Graphics" msgstr "" +#: source/ublexec.h:35 source/ublexec.cc:176 source/ublexec.cc:175 #: source/ublexec.cc:158 source/ublexec.cc:155 msgid "Help" msgstr "" +#: source/ublexec.h:62 source/ublexec.cc:202 source/ublexec.cc:200 #: source/ublexec.cc:183 source/ublexec.cc:178 msgid "Internet" msgstr "" +#: source/ublexec.h:37 +msgid "Load" +msgstr "" + +#: source/ublexec.h:41 +msgid "Load global configuration" +msgstr "" + +#: source/ublexec.h:42 +msgid "Load local configuration" +msgstr "" + +#: source/ublexec.h:61 source/ublexec.cc:203 source/ublexec.cc:201 #: source/ublexec.cc:184 source/ublexec.cc:179 msgid "Multimedia" msgstr "" +#: source/ublexec.h:46 +msgid "Nothing to save!" +msgstr "" + +#: source/ublexec.h:58 source/ublexec.cc:206 source/ublexec.cc:204 #: source/ublexec.cc:187 source/ublexec.cc:182 msgid "Office" msgstr "" +#: source/ublexec.h:57 source/ublexec.cc:207 source/ublexec.cc:205 #: source/ublexec.cc:188 source/ublexec.cc:183 msgid "Other" msgstr "" +#: source/ublexec.h:76 source/ublexec.cc:186 source/ublexec.cc:184 #: source/ublexec.cc:167 source/ublexec.cc:163 msgid "Please select File" msgstr "" +#: source/ublexec.h:66 source/ublexec.cc:195 source/ublexec.cc:193 #: source/ublexec.cc:176 source/ublexec.cc:172 msgid "Priority" msgstr "" -#: source/ublexec.cc:178 source/ublexec.cc:174 +#: source/ublexec.cc:197 source/ublexec.cc:195 source/ublexec.cc:178 +#: source/ublexec.cc:174 msgid "Priority:" msgstr "" +#: source/ublexec.h:31 source/ublexec.cc:179 source/ublexec.cc:178 #: source/ublexec.cc:161 source/ublexec.cc:158 msgid "Project Home Page" msgstr "" +#: source/ublexec.h:43 source/ublexec.cc:216 source/ublexec.cc:214 +msgid "Read online" +msgstr "" + +#: source/ublexec.h:80 source/ublexec.cc:185 source/ublexec.cc:183 #: source/ublexec.cc:162 msgid "Run" msgstr "" +#: source/ublexec.h:73 source/ublexec.cc:188 source/ublexec.cc:186 #: source/ublexec.cc:169 source/ublexec.cc:165 msgid "" "Run applications as another user\n" @@ -135,31 +233,56 @@ msgstr "" msgid "Run as another user" msgstr "" +#: source/ublexec.h:67 source/ublexec.cc:193 source/ublexec.cc:191 #: source/ublexec.cc:174 source/ublexec.cc:170 msgid "Run as another user:" msgstr "" -#: source/ublexec.cc:160 source/ublexec.cc:164 source/ublexec.cc:165 -#: source/ublexec.cc:166 +#: source/ublexec.h:28 source/ublexec.cc:178 source/ublexec.cc:183 +#: source/ublexec.cc:184 source/ublexec.cc:220 source/ublexec.cc:221 +#: source/ublexec.cc:177 source/ublexec.cc:181 source/ublexec.cc:182 +#: source/ublexec.cc:218 source/ublexec.cc:219 source/ublexec.cc:160 +#: source/ublexec.cc:164 source/ublexec.cc:165 source/ublexec.cc:166 msgid "Run as..." msgstr "" +#: source/ublexec.h:70 source/ublexec.cc:191 source/ublexec.cc:189 #: source/ublexec.cc:172 source/ublexec.cc:168 msgid "Run in the terminal emulator" msgstr "" +#: source/ublexec.h:36 +msgid "Save" +msgstr "" + +#: source/ublexec.h:40 +msgid "Save global configuration" +msgstr "" + +#: source/ublexec.h:39 +msgid "Save local configuration" +msgstr "" + +#: source/ublexec.h:38 +msgid "Save to global and local configuration" +msgstr "" + +#: source/ublexec.h:68 source/ublexec.cc:198 source/ublexec.cc:196 #: source/ublexec.cc:179 source/ublexec.cc:175 msgid "Select an executable file or program" msgstr "" +#: source/ublexec.h:75 source/ublexec.cc:187 source/ublexec.cc:185 #: source/ublexec.cc:168 source/ublexec.cc:164 msgid "Selecting Programs" msgstr "" +#: source/ublexec.h:60 source/ublexec.cc:204 source/ublexec.cc:202 #: source/ublexec.cc:185 source/ublexec.cc:180 msgid "Settings" msgstr "" +#: source/ublexec.h:55 source/ublexec.cc:209 source/ublexec.cc:207 #: source/ublexec.cc:190 source/ublexec.cc:185 msgid "System" msgstr "" @@ -167,14 +290,17 @@ msgstr "" msgid "Team" msgstr "" +#: source/ublexec.h:79 source/ublexec.cc:190 source/ublexec.cc:188 #: source/ublexec.cc:171 source/ublexec.cc:167 msgid "Team:" msgstr "" +#: source/ublexec.h:63 source/ublexec.cc:201 source/ublexec.cc:199 #: source/ublexec.cc:182 source/ublexec.cc:177 msgid "Tools" msgstr "" +#: source/ublexec.h:78 source/ublexec.cc:192 source/ublexec.cc:190 #: source/ublexec.cc:173 source/ublexec.cc:169 msgid "User" msgstr "" @@ -182,14 +308,22 @@ msgstr "" msgid "User Name" msgstr "" +#: source/ublexec.h:74 source/ublexec.cc:194 source/ublexec.cc:192 #: source/ublexec.cc:175 source/ublexec.cc:171 msgid "User Name:" msgstr "" -#: source/ublexec.cc:180 source/ublexec.cc:631 source/ublexec.cc:700 -msgid "Attention" +#: source/ublexec.h:47 source/ublexec.cc:213 source/ublexec.cc:211 +msgid "Would you like to read documentation in the Web?" msgstr "" +#: source/ublexec.h:48 source/ublexec.cc:214 source/ublexec.cc:212 +msgid "" +"You will be redirected to documentation site, where user help pages are " +"translated and supported by community." +msgstr "" + +#: source/ublexec.h:30 source/ublexec.cc:175 source/ublexec.cc:174 #: source/ublexec.cc:157 source/ublexec.cc:154 msgid "https://wiki.ublinux.com" msgstr "" @@ -208,21 +342,22 @@ msgstr "" msgid "sudo" msgstr "" -#: source/ublexec.cc:157 source/ublexec.cc:160 source/ublexec.cc:161 -msgid "ublexec" +#: source/ublexec.cc:219 source/ublexec.cc:217 +msgid "ubl-settings-bootloader" msgstr "" -msgid "ОК" +#: source/ublexec.h:29 source/ublexec.cc:157 source/ublexec.cc:160 +#: source/ublexec.cc:161 +msgid "ublexec" msgstr "" -#: source/main.cc:60 +#: source/ublexec.h:50 source/main.cc:60 source/main.cc:970 msgid "ublexec version: " msgstr "" -#: source/main.cc:970 -msgid "ublexec version: " +msgid "ОК" msgstr "" -#: source/main.cc:197 -msgid "Close" +#: source/ublexec.cc:193 +msgid "Сancel" msgstr "" diff --git a/ublexec_ru.po b/ublexec_ru.po index d069d6b..70fbb05 100644 --- a/ublexec_ru.po +++ b/ublexec_ru.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ublexec 1.0\n" "Report-Msgid-Bugs-To: info@ublinux.com\n" -"POT-Creation-Date: 2023-01-01 00:00+0600\n" +"POT-Creation-Date: 2023-04-24 11:43+0600\n" "PO-Revision-Date: 2023-01-01 00:00+0600\n" "Last-Translator: UBLinux Team \n" "Language-Team: Russian - UBLinux Team \n" @@ -17,21 +17,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/ublexec.cc:163 +#: source/ublexec.h:32 source/ublexec.cc:181 source/ublexec.cc:182 +#: source/ublexec.cc:180 source/ublexec.cc:163 msgid " Run as..." msgstr "О программе ublexec" -#: source/ublexec.cc:242 source/ublexec.cc:250 source/ublexec.cc:281 -#: source/ublexec.cc:236 source/ublexec.cc:244 source/ublexec.cc:275 +#: source/ublexec.h:53 source/ublexec.cc:274 source/ublexec.cc:282 +#: source/ublexec.cc:313 source/ublexec.cc:272 source/ublexec.cc:280 +#: source/ublexec.cc:311 source/ublexec.cc:242 source/ublexec.cc:250 +#: source/ublexec.cc:281 source/ublexec.cc:236 source/ublexec.cc:244 +#: source/ublexec.cc:275 msgid "-20 (High)" msgstr "-20 (Высокий)" +#: source/ublexec.h:52 source/ublexec.cc:290 source/ublexec.cc:298 +#: source/ublexec.cc:321 source/ublexec.cc:487 source/ublexec.cc:288 +#: source/ublexec.cc:296 source/ublexec.cc:319 source/ublexec.cc:485 #: source/ublexec.cc:258 source/ublexec.cc:266 source/ublexec.cc:289 #: source/ublexec.cc:426 source/ublexec.cc:252 source/ublexec.cc:260 #: source/ublexec.cc:283 source/ublexec.cc:413 msgid "0 (High)" msgstr "0 (Высокий)" +#: source/ublexec.h:51 source/ublexec.cc:273 source/ublexec.cc:281 +#: source/ublexec.cc:289 source/ublexec.cc:297 source/ublexec.cc:312 +#: source/ublexec.cc:320 source/ublexec.cc:486 source/ublexec.cc:271 +#: source/ublexec.cc:279 source/ublexec.cc:287 source/ublexec.cc:295 +#: source/ublexec.cc:310 source/ublexec.cc:318 source/ublexec.cc:484 #: source/ublexec.cc:241 source/ublexec.cc:249 source/ublexec.cc:257 #: source/ublexec.cc:265 source/ublexec.cc:280 source/ublexec.cc:288 #: source/ublexec.cc:425 source/ublexec.cc:235 source/ublexec.cc:243 @@ -40,89 +52,187 @@ msgstr "0 (Высокий)" msgid "19 (Low)" msgstr "19 (Низкий)" +#: source/ublexec.h:33 source/ublexec.cc:177 source/ublexec.cc:176 #: source/ublexec.cc:159 source/ublexec.cc:156 msgid "About" msgstr "О программе" +#: source/ublexec.h:34 +msgid "About ubl-settings-datetime" +msgstr "" + +#: source/ublexec.h:45 source/ublexec.cc:218 source/ublexec.cc:216 +msgid "Always redirect" +msgstr "Всегда перенаправлять" + +#: source/ublexec.h:72 source/ublexec.cc:210 source/ublexec.cc:208 #: source/ublexec.cc:191 source/ublexec.cc:186 msgid "Application Overview" msgstr "Обзор приложений" +#: source/ublexec.h:65 source/ublexec.cc:199 source/ublexec.cc:696 +#: source/ublexec.cc:765 source/ublexec.cc:197 source/ublexec.cc:694 +#: source/ublexec.cc:763 source/ublexec.cc:180 source/ublexec.cc:631 +#: source/ublexec.cc:700 +msgid "Attention" +msgstr "Внимание" + +#: source/ublexec.h:44 source/ublexec.cc:217 source/ublexec.cc:215 msgid "Cancel" -msgstr "Отмена" +msgstr "Отменить" +#: source/ublexec.h:69 source/ublexec.cc:196 source/ublexec.cc:194 #: source/ublexec.cc:177 source/ublexec.cc:173 msgid "Change startup priority" msgstr "Изменить приоритет запуска" -#: source/ublexec.cc:193 -msgid "Сancel" -msgstr "Отмена" +#: source/ublexec.h:54 source/ublexec.cc:212 source/ublexec.cc:210 +#: source/main.cc:197 +msgid "Close" +msgstr "Закрыть" +#: source/ublexec.h:77 source/ublexec.cc:189 source/ublexec.cc:187 #: source/ublexec.cc:170 source/ublexec.cc:166 msgid "Command Line" msgstr "Командная строка" +#: source/ublexec.h:27 source/ublexec.cc:173 source/ublexec.cc:172 #: source/ublexec.cc:155 source/ublexec.cc:152 msgid "Copyright © UBSoft LLC, 2022 - " msgstr "Авторские права © ООО \"Юбисофт\", 2022 - " +#: source/ublexec.h:56 source/ublexec.cc:208 source/ublexec.cc:206 #: source/ublexec.cc:189 source/ublexec.cc:184 msgid "Development" msgstr "Разработка" +#: source/ublexec.h:59 source/ublexec.cc:205 source/ublexec.cc:203 #: source/ublexec.cc:186 source/ublexec.cc:181 msgid "Education" msgstr "Образование" +#: source/ublexec.h:71 source/ublexec.cc:211 source/ublexec.cc:209 #: source/ublexec.cc:192 source/ublexec.cc:187 msgid "File Overview" msgstr "Обзор файлов" +#: source/ublexec.h:49 +msgid "" +"GTK \"Run applications as another user with the specified priority\" for " +"UBLinux\n" +"\n" +"Usage: ublexec [OPTIONS...]\n" +"Options:\n" +" -h, --help\t Show this help\n" +" -V, --version\t Show package version\n" +" -x APP_NAME Running the program\n" +" -e FILE_NAME Running the file\n" +msgstr "" +"GTK-утилита \"Запускать приложения от имени другого пользователя с указанным " +"приоритетом\" для UBLinux\n" +"\n" +"Использование: ublexec [Параметры приложения...]\n" +"Параметры приложения:\n" +" -h, --help\t Показать параметры справки\n" +" -V, --version\t Показать версию пакета\n" +" -x APP_NAME Запуск программы\n" +" -e FILE_NAME Запуск файла\n" + +#: source/ublexec.h:49 +msgid "" +"GTK settings datetime for UBLinux\n" +"\n" +"Usage: ubl-settings-datetime [OPTIONS...]\n" +"Options:\n" +" -h, --help\t Show this help\n" +" -V, --version\t Show package version\n" +" --lock-datetime Lock date and time changes\n" +" --lock-timezone Lock time zone changes\n" +" --lock-ntp-mode Lock NTP mode selection\n" +" --lock-ntp-edit Lock editing NTP servers\n" +" --lock-sync-hwclock Lock sync hwclock mode selection\n" +" --lock-save Lock saving local and global configuration\n" +" --lock-save-local Lock save global configuration\n" +" --lock-save-global Lock load global configuration\n" +" --lock-load-global Lock load global configuration\n" +msgstr "" + +#: source/ublexec.h:64 source/ublexec.cc:200 source/ublexec.cc:198 #: source/ublexec.cc:181 source/ublexec.cc:176 msgid "Graphics" msgstr "Графика" +#: source/ublexec.h:35 source/ublexec.cc:176 source/ublexec.cc:175 #: source/ublexec.cc:158 source/ublexec.cc:155 msgid "Help" msgstr "Справка" +#: source/ublexec.h:62 source/ublexec.cc:202 source/ublexec.cc:200 #: source/ublexec.cc:183 source/ublexec.cc:178 msgid "Internet" msgstr "Интернет" +#: source/ublexec.h:37 +msgid "Load" +msgstr "" + +#: source/ublexec.h:41 +msgid "Load global configuration" +msgstr "" + +#: source/ublexec.h:42 +msgid "Load local configuration" +msgstr "" + +#: source/ublexec.h:61 source/ublexec.cc:203 source/ublexec.cc:201 #: source/ublexec.cc:184 source/ublexec.cc:179 msgid "Multimedia" msgstr "Мультимедиа" +#: source/ublexec.h:46 +msgid "Nothing to save!" +msgstr "" + +#: source/ublexec.h:58 source/ublexec.cc:206 source/ublexec.cc:204 #: source/ublexec.cc:187 source/ublexec.cc:182 msgid "Office" msgstr "Офис" +#: source/ublexec.h:57 source/ublexec.cc:207 source/ublexec.cc:205 #: source/ublexec.cc:188 source/ublexec.cc:183 msgid "Other" msgstr "Прочие" +#: source/ublexec.h:76 source/ublexec.cc:186 source/ublexec.cc:184 #: source/ublexec.cc:167 source/ublexec.cc:163 msgid "Please select File" msgstr "Пожалуйста выберите Файл" +#: source/ublexec.h:66 source/ublexec.cc:195 source/ublexec.cc:193 #: source/ublexec.cc:176 source/ublexec.cc:172 msgid "Priority" msgstr "Приоритет" -#: source/ublexec.cc:178 source/ublexec.cc:174 +#: source/ublexec.cc:197 source/ublexec.cc:195 source/ublexec.cc:178 +#: source/ublexec.cc:174 msgid "Priority:" msgstr "Приоритет:" +#: source/ublexec.h:31 source/ublexec.cc:179 source/ublexec.cc:178 #: source/ublexec.cc:161 source/ublexec.cc:158 msgid "Project Home Page" msgstr "Домашняя страница проекта" +#: source/ublexec.h:43 source/ublexec.cc:216 source/ublexec.cc:214 +msgid "Read online" +msgstr "Прочитать онлайн" + +#: source/ublexec.h:80 source/ublexec.cc:185 source/ublexec.cc:183 #: source/ublexec.cc:162 msgid "Run" msgstr "Запустить" +#: source/ublexec.h:73 source/ublexec.cc:188 source/ublexec.cc:186 #: source/ublexec.cc:169 source/ublexec.cc:165 msgid "" "Run applications as another user\n" @@ -135,31 +245,56 @@ msgstr "" msgid "Run as another user" msgstr "Выполнить от имени другого пользователя:" +#: source/ublexec.h:67 source/ublexec.cc:193 source/ublexec.cc:191 #: source/ublexec.cc:174 source/ublexec.cc:170 msgid "Run as another user:" msgstr "Выполнить от имени другого пользователя:" -#: source/ublexec.cc:160 source/ublexec.cc:164 source/ublexec.cc:165 -#: source/ublexec.cc:166 +#: source/ublexec.h:28 source/ublexec.cc:178 source/ublexec.cc:183 +#: source/ublexec.cc:184 source/ublexec.cc:220 source/ublexec.cc:221 +#: source/ublexec.cc:177 source/ublexec.cc:181 source/ublexec.cc:182 +#: source/ublexec.cc:218 source/ublexec.cc:219 source/ublexec.cc:160 +#: source/ublexec.cc:164 source/ublexec.cc:165 source/ublexec.cc:166 msgid "Run as..." msgstr "Выполнить как..." +#: source/ublexec.h:70 source/ublexec.cc:191 source/ublexec.cc:189 #: source/ublexec.cc:172 source/ublexec.cc:168 msgid "Run in the terminal emulator" msgstr "Выполнить в эмуляторе терминала" +#: source/ublexec.h:36 +msgid "Save" +msgstr "" + +#: source/ublexec.h:40 +msgid "Save global configuration" +msgstr "" + +#: source/ublexec.h:39 +msgid "Save local configuration" +msgstr "" + +#: source/ublexec.h:38 +msgid "Save to global and local configuration" +msgstr "" + +#: source/ublexec.h:68 source/ublexec.cc:198 source/ublexec.cc:196 #: source/ublexec.cc:179 source/ublexec.cc:175 msgid "Select an executable file or program" msgstr "Выберите исполняемый файл или программу" +#: source/ublexec.h:75 source/ublexec.cc:187 source/ublexec.cc:185 #: source/ublexec.cc:168 source/ublexec.cc:164 msgid "Selecting Programs" msgstr "Выбор программ" +#: source/ublexec.h:60 source/ublexec.cc:204 source/ublexec.cc:202 #: source/ublexec.cc:185 source/ublexec.cc:180 msgid "Settings" msgstr "Настройки" +#: source/ublexec.h:55 source/ublexec.cc:209 source/ublexec.cc:207 #: source/ublexec.cc:190 source/ublexec.cc:185 msgid "System" msgstr "Система" @@ -168,14 +303,17 @@ msgstr "Система" msgid "Team" msgstr "Команда:" +#: source/ublexec.h:79 source/ublexec.cc:190 source/ublexec.cc:188 #: source/ublexec.cc:171 source/ublexec.cc:167 msgid "Team:" msgstr "Команда:" +#: source/ublexec.h:63 source/ublexec.cc:201 source/ublexec.cc:199 #: source/ublexec.cc:182 source/ublexec.cc:177 msgid "Tools" msgstr "Инструменты" +#: source/ublexec.h:78 source/ublexec.cc:192 source/ublexec.cc:190 #: source/ublexec.cc:173 source/ublexec.cc:169 msgid "User" msgstr "Пользователь" @@ -184,14 +322,24 @@ msgstr "Пользователь" msgid "User Name" msgstr "Имя пользователя:" +#: source/ublexec.h:74 source/ublexec.cc:194 source/ublexec.cc:192 #: source/ublexec.cc:175 source/ublexec.cc:171 msgid "User Name:" msgstr "Имя пользователя:" -#: source/ublexec.cc:180 source/ublexec.cc:631 source/ublexec.cc:700 -msgid "Attention" -msgstr "Внимание" +#: source/ublexec.h:47 source/ublexec.cc:213 source/ublexec.cc:211 +msgid "Would you like to read documentation in the Web?" +msgstr "Вы хотите прочитать справку в Сети?" +#: source/ublexec.h:48 source/ublexec.cc:214 source/ublexec.cc:212 +msgid "" +"You will be redirected to documentation site, where user help pages are " +"translated and supported by community." +msgstr "" +"Вы будете перенаправлены на сайт с документацией где страницы помощи " +"переводятся и поддерживаются сообществом." + +#: source/ublexec.h:30 source/ublexec.cc:175 source/ublexec.cc:174 #: source/ublexec.cc:157 source/ublexec.cc:154 msgid "https://wiki.ublinux.com" msgstr "https://wiki.ublinux.ru" @@ -211,35 +359,23 @@ msgstr "su" msgid "sudo" msgstr "sudo" -#: source/ublexec.cc:157 source/ublexec.cc:160 source/ublexec.cc:161 +#: source/ublexec.cc:219 source/ublexec.cc:217 +msgid "ubl-settings-bootloader" +msgstr "" + +#: source/ublexec.h:29 source/ublexec.cc:157 source/ublexec.cc:160 +#: source/ublexec.cc:161 #, fuzzy msgid "ublexec" msgstr "pkexec" -msgid "ОК" -msgstr "ОК" - -#: source/main.cc:60 source/main.cc:60 +#: source/ublexec.h:50 source/main.cc:60 source/main.cc:970 msgid "ublexec version: " msgstr "ublexec версия: " -msgid "" -"GTK \"Run applications as another user with the specified priority\" for UBLinux\n\n" -"Usage: ublexec [OPTIONS...]\n" -"Options:\n" -" -h, --help Show this help\n" -" -V, --version Show package version\n" -" -x APP_NAME Running the program\n" -" -e FILE_NAME Running the file\n" -msgstr "" -"GTK-утилита \"Запускать приложения от имени другого пользователя с указанным приоритетом\" для UBLinux\n\n" -"Использование: ublexec [Параметры приложения...]\n" -"Параметры приложения:\n" -" -h, --help\t Показать параметры справки\n" -" -V, --version\t Показать версию пакета\n" -" -x APP_NAME Запуск программы\n" -" -e FILE_NAME Запуск файла\n" +msgid "ОК" +msgstr "ОК" -#: source/main.cc:197 -msgid "Close" -msgstr "Закрыть" +#: source/ublexec.cc:193 +msgid "Сancel" +msgstr "Отмена"