]> git.ozlabs.org Git - petitboot/blobdiff - ui/ncurses/generic-main.c
ui/ncurses: Use a separate type for help text
[petitboot] / ui / ncurses / generic-main.c
index 0d0a38af4dc6d3eeefc03209eb31bbaee5e0f734..f253469f18832da67ff44102c6d3f5fbfa2616aa 100644 (file)
 #include <string.h>
 #include <limits.h>
 #include <sys/time.h>
+#include <libintl.h>
+#include <locale.h>
 
 #include "log/log.h"
 #include "talloc/talloc.h"
 #include "waiter/waiter.h"
+#include "i18n/i18n.h"
 #include "ui/common/discover-client.h"
 #include "nc-cui.h"
 
-extern const char *main_menu_help_text;
+extern const struct help_text main_menu_help_text;
 
 static void print_version(void)
 {
@@ -48,8 +51,9 @@ static void print_usage(void)
 {
        print_version();
        printf(
-"Usage: petitboot-nc [-h, --help] [-l, --log log-file]\n"
-"                    [-s, --start-daemon] [-v, --verbose] [-V, --version]\n");
+"%s: petitboot-nc [-h, --help] [-l, --log log-file]\n"
+"                    [-s, --start-daemon] [-v, --verbose] [-V, --version]\n",
+                       _("Usage"));
 }
 
 /**
@@ -198,26 +202,26 @@ static struct pmenu *pb_mm_init(struct pb_cui *pb_cui)
                "Petitboot (" PACKAGE_VERSION ")");
        m->scr.frame.rtitle = NULL;
        m->scr.frame.help = talloc_strdup(m,
-               "Enter=accept, e=edit, n=new, x=exit, h=help");
-       m->scr.frame.status = talloc_strdup(m, "Welcome to Petitboot");
+               _("Enter=accept, e=edit, n=new, x=exit, h=help"));
+       m->scr.frame.status = talloc_strdup(m, _("Welcome to Petitboot"));
 
        i = pmenu_item_create(m, " ");
        item_opts_off(i->nci, O_SELECTABLE);
        pmenu_item_insert(m, i, 0);
 
-       i = pmenu_item_create(m, "System information");
+       i = pmenu_item_create(m, _("System information"));
        i->on_execute = pmenu_sysinfo;
        pmenu_item_insert(m, i, 1);
 
-       i = pmenu_item_create(m, "System configuration");
+       i = pmenu_item_create(m, _("System configuration"));
        i->on_execute = pmenu_config;
        pmenu_item_insert(m, i, 2);
 
-       i = pmenu_item_create(m, "Rescan devices");
+       i = pmenu_item_create(m, _("Rescan devices"));
        i->on_execute = pmenu_reinit;
        pmenu_item_insert(m, i, 3);
 
-       i = pmenu_item_create(m, "Exit to shell");
+       i = pmenu_item_create(m, _("Exit to shell"));
        i->on_execute = pmenu_exit_cb;
        pmenu_item_insert(m, i, 4);
 
@@ -229,8 +233,8 @@ static struct pmenu *pb_mm_init(struct pb_cui *pb_cui)
                goto fail_setup;
        }
 
-       m->help_title = "main menu";
-       m->help_text = main_menu_help_text;
+       m->help_title = _("main menu");
+       m->help_text = &main_menu_help_text;
 
        menu_opts_off(m->ncm, O_SHOWDESC);
        set_menu_mark(m->ncm, " *");
@@ -281,6 +285,10 @@ int main(int argc, char *argv[])
 
        result = opts_parse(&opts, argc, argv);
 
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
        if (result) {
                print_usage();
                return EXIT_FAILURE;
@@ -311,7 +319,7 @@ int main(int argc, char *argv[])
 
        pb_log_init(log);
 
-       if (opts.verbose)
+       if (opts.verbose == opt_yes)
                pb_log_set_debug(true);
 
        pb_log("--- petitboot-nc ---\n");