Change language of boot menu

Hello

I have another question concerning my new Leap installation.

I have installed my system in english, but using a german keyboard. How can I make the boot menu displayed in english?

cat /boot/grub2/grub.cfg

ilinux-f0te:/home/florian # cat /boot/grub2/grub.cfg
## DO NOT EDIT THIS FILE#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set btrfs_relative_path="y"
export btrfs_relative_path
if  -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif  -s $prefix/grubenv ]; then
  load_env
fi

if  "${env_block}" ] ; then
  load_env -f "${env_block}"
fi

if  "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   if  "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   fi
   set boot_once=true
else
   set default="${saved_entry}"
fi

if  x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if  "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if  -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if  x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if loadfont unicode ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_AT
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt 
insmod btrfs
set root='hd0,gpt2'
if  x$feature_platform_search_hint = xy ]; then
   search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2  --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
else
  search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
fi
insmod gfxmenu
loadfont ($root)/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/grub2/themes/openSUSE/theme.txt
export theme
if  x${boot_once} = xtrue ]; then
  set timeout=0
elif  x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=8
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=8
fi
if  -n "$extra_cmdline" ]; then
  submenu "Bootable snapshot #$snapshot_num" {
    menuentry "If OK, run 'snapper rollback' and reboot." { true; }
  }
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/10_linux ###
menuentry  'openSUSE Leap 42.1'  --class opensuse --class gnu-linux --class gnu  --class os $menuentry_id_option  'gnulinux-simple-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt 
        insmod btrfs
        set root='hd0,gpt2'
        if  x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2  --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
        else
          search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
        fi
        echo    'Linux 4.1.12-1-default wird geladen …'
         linuxefi /vmlinuz-4.1.12-1-default  root=UUID=3a37c24a-3bd1-4fe0-ac62-63ea6035b16f ro  ${extra_cmdline}  resume=/dev/system/swap splash=silent quiet showopts
        echo    'Initiale Ramdisk wird geladen …'
        initrdefi /initrd-4.1.12-1-default
}
submenu  'Erweiterte Optionen für openSUSE Leap 42.1' --hotkey=1  $menuentry_id_option  'gnulinux-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
         menuentry 'openSUSE Leap 42.1, mit Linux 4.1.12-1-default' --hotkey=2  --class opensuse --class gnu-linux --class gnu --class os  $menuentry_id_option  'gnulinux-4.1.12-1-default-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f'  {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt 
                insmod btrfs
                set root='hd0,gpt2'
                if  x$feature_platform_search_hint = xy ]; then
                   search --no-floppy --fs-uuid --set=root  --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
                else
                  search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
                fi
                echo    'Linux 4.1.12-1-default wird geladen …'
                 linuxefi /vmlinuz-4.1.12-1-default  root=UUID=3a37c24a-3bd1-4fe0-ac62-63ea6035b16f ro  ${extra_cmdline}  resume=/dev/system/swap splash=silent quiet showopts
                echo    'Initiale Ramdisk wird geladen …'
                initrdefi /initrd-4.1.12-1-default
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if  -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif  -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/80_suse_btrfs_snapshot ###
if  -f "/.snapshots/grub-snapshot.cfg" ]; then
  source "/.snapshots/grub-snapshot.cfg"
fi
### END /etc/grub.d/80_suse_btrfs_snapshot ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###


So here is the part

if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=de_AT
insmod gettext

Is it

set locale_dir=$prefix/locale

or

set lang=de_AT

which I have to change for the language?

You see here is the menu entry in german

submenu  'Erweiterte Optionen für openSUSE Leap 42.1' --hotkey=1  $menuentry_id_option  'gnulinux-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
         menuentry 'openSUSE Leap 42.1, mit Linux 4.1.12-1-default' --hotkey=2  --class opensuse --class gnu-linux --class gnu --class os  $menuentry_id_option  'gnulinux-4.1.12-1-default-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f'  {

But my grub2-mkconfig settings differ from the grub file?

linux-f0te:/home/florian # grub2-mkconfig
Generating grub configuration file ...
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
set btrfs_relative_path="y"
export btrfs_relative_path
if  -f ${config_directory}/grubenv ]; then
  load_env -f ${config_directory}/grubenv
elif  -s $prefix/grubenv ]; then
  load_env
fi

if  "${env_block}" ] ; then
  load_env -f "${env_block}"
fi

if  "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   if  "${env_block}" ] ; then
     save_env -f "${env_block}" next_entry
   fi
   set boot_once=true
else
   set default="${saved_entry}"
fi

if  x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if  "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if  -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if  x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if loadfont unicode ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=de_AT
  insmod gettext
fi
terminal_output gfxterm
Found theme: /boot/grub2/themes/openSUSE/theme.txt
insmod part_gpt 
insmod btrfs
set root='hd0,gpt2'
if  x$feature_platform_search_hint = xy ]; then
   search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2  --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
else
  search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
fi
insmod gfxmenu
loadfont ($root)/grub2/themes/openSUSE/ascii.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
insmod png
set theme=($root)/grub2/themes/openSUSE/theme.txt
export theme
if  x${boot_once} = xtrue ]; then
  set timeout=0
elif  x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=8
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=8
fi
if  -n "$extra_cmdline" ]; then
  submenu "Bootable snapshot #$snapshot_num" {
    menuentry "If OK, run 'snapper rollback' and reboot." { true; }
  }
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/00_tuned ###
set tuned_params=""
### END /etc/grub.d/00_tuned ###

### BEGIN /etc/grub.d/10_linux ###
Found linux image: /boot/vmlinuz-4.1.12-1-default
Found initrd image: /boot/initrd-4.1.12-1-default
menuentry  'openSUSE Leap 42.1'  --class opensuse --class gnu-linux --class gnu  --class os $menuentry_id_option  'gnulinux-simple-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt 
        insmod btrfs
        set root='hd0,gpt2'
        if  x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2  --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
        else
          search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
        fi
        echo    'Loading Linux 4.1.12-1-default ...'
         linuxefi /vmlinuz-4.1.12-1-default  root=UUID=3a37c24a-3bd1-4fe0-ac62-63ea6035b16f ro  ${extra_cmdline}  resume=/dev/system/swap splash=silent quiet showopts
        echo    'Loading initial ramdisk ...'
        initrdefi /initrd-4.1.12-1-default
}
submenu  'Advanced options for openSUSE Leap 42.1' --hotkey=1  $menuentry_id_option  'gnulinux-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
         menuentry 'openSUSE Leap 42.1, with Linux 4.1.12-1-default' --hotkey=2  --class opensuse --class gnu-linux --class gnu --class os  $menuentry_id_option  'gnulinux-4.1.12-1-default-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f'  {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt 
                insmod btrfs
                set root='hd0,gpt2'
                if  x$feature_platform_search_hint = xy ]; then
                   search --no-floppy --fs-uuid --set=root  --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2   adae675c-f6fd-436e-aa0b-6cf1a74c944f
                else
                  search --no-floppy --fs-uuid --set=root adae675c-f6fd-436e-aa0b-6cf1a74c944f
                fi
                echo    'Loading Linux 4.1.12-1-default ...'
                 linuxefi /vmlinuz-4.1.12-1-default  root=UUID=3a37c24a-3bd1-4fe0-ac62-63ea6035b16f ro  ${extra_cmdline}  resume=/dev/system/swap splash=silent quiet showopts
                echo    'Loading initial ramdisk ...'
                initrdefi /initrd-4.1.12-1-default
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
Found Debian GNU/Linux (8.2) on /dev/sdd2
menuentry  'Debian GNU/Linux (8.2) (on /dev/sdd2)' --class gnu-linux --class gnu  --class os $menuentry_id_option  'osprober-gnulinux-simple-0cd50fa5-8935-4e48-a181-45d0e740db5b' {
        insmod part_gpt 
        insmod ext2
        set root='hd3,gpt2'
        if  x$feature_platform_search_hint = xy ]; then
           search --no-floppy --fs-uuid --set=root --hint-bios=hd3,gpt2  --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2   0cd50fa5-8935-4e48-a181-45d0e740db5b
        else
          search --no-floppy --fs-uuid --set=root 0cd50fa5-8935-4e48-a181-45d0e740db5b
        fi
        linuxefi /boot/vmlinuz-3.16.0-4-amd64 root=UUID=0cd50fa5-8935-4e48-a181-45d0e740db5b ro quiet
        initrdefi /boot/initrd.img-3.16.0-4-amd64
}
submenu  'Advanced options for Debian GNU/Linux (8.2) (on /dev/sdd2)'  $menuentry_id_option  'osprober-gnulinux-advanced-0cd50fa5-8935-4e48-a181-45d0e740db5b' {
         menuentry 'Debian GNU/Linux (on /dev/sdd2)' --class gnu-linux  --class gnu --class os $menuentry_id_option  'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64--0cd50fa5-8935-4e48-a181-45d0e740db5b'  {
                insmod part_gpt 
                insmod ext2
                set root='hd3,gpt2'
                if  x$feature_platform_search_hint = xy ]; then
                   search --no-floppy --fs-uuid --set=root  --hint-bios=hd3,gpt2 --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2   0cd50fa5-8935-4e48-a181-45d0e740db5b
                else
                  search --no-floppy --fs-uuid --set=root 0cd50fa5-8935-4e48-a181-45d0e740db5b
                fi
                linuxefi /boot/vmlinuz-3.16.0-4-amd64 root=UUID=0cd50fa5-8935-4e48-a181-45d0e740db5b ro quiet
                initrdefi /boot/initrd.img-3.16.0-4-amd64
        }
         menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (on  /dev/sdd2)' --class gnu-linux --class gnu --class os  $menuentry_id_option  'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64--0cd50fa5-8935-4e48-a181-45d0e740db5b'  {
                insmod part_gpt 
                insmod ext2
                set root='hd3,gpt2'
                if  x$feature_platform_search_hint = xy ]; then
                   search --no-floppy --fs-uuid --set=root  --hint-bios=hd3,gpt2 --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2   0cd50fa5-8935-4e48-a181-45d0e740db5b
                else
                  search --no-floppy --fs-uuid --set=root 0cd50fa5-8935-4e48-a181-45d0e740db5b
                fi
                linuxefi /boot/vmlinuz-3.16.0-4-amd64 root=UUID=0cd50fa5-8935-4e48-a181-45d0e740db5b ro quiet
                initrdefi /boot/initrd.img-3.16.0-4-amd64
        }
         menuentry 'Debian GNU/Linux, with Linux 3.16.0-4-amd64 (recovery  mode) (on /dev/sdd2)' --class gnu-linux --class gnu --class os  $menuentry_id_option  'osprober-gnulinux-/boot/vmlinuz-3.16.0-4-amd64-root=UUID=0cd50fa5-8935-4e48-a181-45d0e740db5b  ro single-0cd50fa5-8935-4e48-a181-45d0e740db5b' {
                insmod part_gpt 
                insmod ext2
                set root='hd3,gpt2'
                if  x$feature_platform_search_hint = xy ]; then
                   search --no-floppy --fs-uuid --set=root  --hint-bios=hd3,gpt2 --hint-efi=hd3,gpt2 --hint-baremetal=ahci3,gpt2   0cd50fa5-8935-4e48-a181-45d0e740db5b
                else
                  search --no-floppy --fs-uuid --set=root 0cd50fa5-8935-4e48-a181-45d0e740db5b
                fi
                linuxefi /boot/vmlinuz-3.16.0-4-amd64 root=UUID=0cd50fa5-8935-4e48-a181-45d0e740db5b ro single
                initrdefi /boot/initrd.img-3.16.0-4-amd64
        }
}

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if  -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif  -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/80_suse_btrfs_snapshot ###
if  -f "/.snapshots/grub-snapshot.cfg" ]; then
  source "/.snapshots/grub-snapshot.cfg"
fi
### END /etc/grub.d/80_suse_btrfs_snapshot ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###
done

Where its in english

submenu  'Advanced options for openSUSE Leap 42.1' --hotkey=1  $menuentry_id_option  'gnulinux-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f' {
         menuentry 'openSUSE Leap 42.1, with Linux 4.1.12-1-default' --hotkey=2  --class opensuse --class gnu-linux --class gnu --class os  $menuentry_id_option  'gnulinux-4.1.12-1-default-advanced-3a37c24a-3bd1-4fe0-ac62-63ea6035b16f'  {

And there ist also my Debian installation?

Does anybody know how to change the language of the splash screen boot menu?

Thanks in advance

If you choose English as system language (YaST->System->Language), the boot menu should be in english.
The keyboard layout has no influence on the language.

You have to recreate the menu though after switching the language.
Enter YaST->System->Boot Loader for that and just press OK, or run “sudo grub2-mkconfig -o /boot/grub2/grub.cfg”.

If you want to change the menu’s language to something else than your system language, try something like this:

sudo LANG=en_us grub2-mkconfig -o /boot/grub2/grub.cfg

You might have to do that again after updates though, as the updates might recreate the menu in your system language.

Unfortunately I am not aware of a way to explicitly specify the language for grub2’s menu entries…

Is it

set locale_dir=$prefix/locale

or

set lang=de_AT

which I have to change for the language?

You see here is the menu entry in german

The grub.cfg does contain german strings (hardcoded), it won’t help to set locale_dir or lang to change them.

Also, you shouldn’t modify grub.cfg yourself, your changes will be overwritten.

Thank you very much. Worked perfectly for me:)