=== modified file 'normal/menu_text.c' --- normal/menu_text.c 2009-11-23 20:59:24 +0000 +++ normal/menu_text.c 2009-11-25 00:02:18 +0000 @@ -39,7 +39,8 @@ static grub_uint8_t grub_color_menu_high void grub_wait_after_message (void) { - grub_printf ("\nPress any key to continue..."); + grub_putchar('\n'); + grub_printf (_("Press any key to continue...")); (void) grub_getkey (); grub_putchar ('\n'); } @@ -84,25 +85,31 @@ static void print_message (int nested, int edit) { grub_setcolorstate (GRUB_TERM_COLOR_NORMAL); - + + grub_putchar ('\n'); if (edit) { - grub_printf ("\n\ + grub_printf (_("\ Minimum Emacs-like screen editing is supported. TAB lists\n\ completions. Press Ctrl-x to boot, Ctrl-c for a command-line\n\ - or ESC to return menu."); + or ESC to return menu.")); } else { - grub_printf (_("\n\ - Use the %C and %C keys to select which entry is highlighted.\n"), + grub_printf (_("\ + Use the %C and %C keys to select which entry is highlighted."), (grub_uint32_t) GRUB_TERM_DISP_UP, (grub_uint32_t) GRUB_TERM_DISP_DOWN); - grub_printf ("\ + grub_putchar ('\n'); + + grub_printf (_("\ Press enter to boot the selected OS, \'e\' to edit the\n\ - commands before booting or \'c\' for a command-line."); + commands before booting or \'c\' for a command-line.")); if (nested) - grub_printf ("\n\ - ESC to return previous menu."); + { + grub_putchar ('\n'); + grub_printf (_("\ + ESC to return previous menu.")); + } } } @@ -263,15 +270,28 @@ get_entry_number (const char *name) } static void +print_spaces (int number_spaces) +{ + int i; + for (i = 0; i < number_spaces; i++) + grub_putchar(' '); +} + +static void print_timeout (int timeout, int offset, int second_stage) { /* NOTE: Do not remove the trailing space characters. They are required to clear the line. */ - char *msg = " The highlighted entry will be booted automatically in %ds. "; + const char *msg = _(" The highlighted entry will be booted automatically in %ds."); + const int msg_localized_len = grub_strlen (msg); + const int number_spaces = GRUB_TERM_WIDTH - msg_localized_len; + char *msg_end = grub_strchr (msg, '%'); grub_gotoxy (second_stage ? (msg_end - msg) : 0, GRUB_TERM_HEIGHT - 3); grub_printf (second_stage ? msg_end : msg, timeout); + print_spaces (second_stage ? number_spaces : 0); + grub_gotoxy (GRUB_TERM_CURSOR_X, GRUB_TERM_FIRST_ENTRY_Y + offset); grub_refresh (); }; @@ -360,8 +380,7 @@ run_menu (grub_menu_t menu, int nested, if (timeout >= 0) { grub_gotoxy (0, GRUB_TERM_HEIGHT - 3); - grub_printf ("\ - "); + print_spaces (GRUB_TERM_WIDTH - 1); grub_env_unset ("timeout"); grub_env_unset ("fallback"); grub_gotoxy (GRUB_TERM_CURSOR_X, GRUB_TERM_FIRST_ENTRY_Y + offset); @@ -517,7 +536,8 @@ static void notify_booting (grub_menu_entry_t entry, void *userdata __attribute__((unused))) { - grub_printf (" Booting \'%s\'\n\n", entry->title); + grub_printf (_(" Booting \'%s\'"), entry->title); + grub_printf ("\n\n"); } /* Callback invoked when a default menu entry executed because of a timeout @@ -527,7 +547,9 @@ static void notify_fallback (grub_menu_entry_t entry, void *userdata __attribute__((unused))) { - grub_printf ("\n Falling back to \'%s\'\n\n", entry->title); + grub_putchar('\n'); + grub_printf (_(" Falling back to \'%s\'"), entry->title); + grub_printf ("\n\n"); grub_millisleep (DEFAULT_ENTRY_ERROR_DELAY_MS); } @@ -541,7 +563,9 @@ notify_execution_failure (void *userdata grub_print_error (); grub_errno = GRUB_ERR_NONE; } - grub_printf ("\n Failed to boot default entries.\n"); + grub_putchar ('\n'); + grub_printf (_(" Failed to boot default entries.")); + grub_putchar ('\n'); grub_wait_after_message (); }