From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with archive (Exim 4.43) id 1ND5mh-0006Px-VL for mharc-grub-devel@gnu.org; Tue, 24 Nov 2009 19:31:04 -0500 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1ND5me-0006Of-93 for grub-devel@gnu.org; Tue, 24 Nov 2009 19:31:00 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1ND5mZ-0006MX-2x for grub-devel@gnu.org; Tue, 24 Nov 2009 19:30:59 -0500 Received: from [199.232.76.173] (port=58950 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1ND5mY-0006MU-SV for grub-devel@gnu.org; Tue, 24 Nov 2009 19:30:54 -0500 Received: from 197.red-80-32-81.staticip.rima-tde.net ([80.32.81.197]:51616 helo=mail.pina.cat) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1ND5mY-0002rU-52 for grub-devel@gnu.org; Tue, 24 Nov 2009 19:30:54 -0500 Received: from pinux (82-45-164-87.cable.ubr06.hari.blueyonder.co.uk [82.45.164.87]) by mail.pina.cat (Postfix) with ESMTP id 2AD7E288FBA11 for ; Wed, 25 Nov 2009 01:30:53 +0100 (CET) Received: by pinux (Postfix, from userid 1000) id 8AB926971; Wed, 25 Nov 2009 00:30:59 +0000 (GMT) Date: Wed, 25 Nov 2009 00:30:59 +0000 From: Carles Pina i Estany To: The development of GNU GRUB Message-ID: <20091125003059.GA31362@pina.cat> References: <20091122235013.GA12142@pina.cat> <20091123120412.GE25009@thorin> <20091125000812.GA30522@pina.cat> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="uAKRQypu60I7Lcqm" Content-Disposition: inline In-Reply-To: <20091125000812.GA30522@pina.cat> User-Agent: Mutt/1.5.20 (2009-06-14) X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) Subject: Re: gettextize normal/menu_text.c (print_timeout) X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Nov 2009 00:31:00 -0000 --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Hi, On Nov/25/2009, Carles Pina i Estany wrote: > > Hi, > > > > + const char *msg_localized = _(" The highlighted entry will be booted automatically in %ds."); > > > + const int msg_localized_len = grub_strlen (msg_localized); > > > + const int number_spaces = GRUB_TERM_WIDTH - msg_localized_len; > > > > Seems like the right approach. I wonder if we should do something > > about the preceding spaces too... > > find attached a patch that gettextizes menu_text.c now yes, attached BTW, I left spaces on the left of lot of strings. In my opinion I would delete it and call print_spaces(3);. Fine? (or call grub_printf (" "); ). I removed the \n from the end of strings and used grub_putchar ('\n'); or grub_printf ("\n\n"); to not bother the translators and reuse the strings. -- Carles Pina i Estany http://pinux.info --uAKRQypu60I7Lcqm Content-Type: text/x-diff; charset=us-ascii Content-Disposition: attachment; filename="gettext_menu_text.patch" === 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 (); } --uAKRQypu60I7Lcqm--